求一个单片机程序(C语言),我想通过串口远程控制一个小灯的亮灭。 50
比如我在电脑的串口调试助手上输入“open”,我的单片机系统上的p0^0引脚处的小灯就亮,输入close,就灭。求助,单片机小白。...
比如我在电脑的串口调试助手上输入“open”,我的单片机系统上的p0^0引脚处的小灯就亮,输入close,就灭。求助,单片机小白。
展开
2016-06-19
展开全部
如果只是一个按键和一个LED,那就简单多了分别把这两个程序下载到两个单片机中程序如下,若满意请记得采纳下,谢谢!/***************************************************************************/#include//通用89C52头文件sbitKEY=P2^2;//端口定义//发送/***************************************************************************/voidmain(void)//主函数{ TMOD=0x20; //定时器1和2工作方式2(8位定时/计数) PCON=0x00; //SMOD=0,不加倍 SCON=0x50; //串口工作方式1,允许接收 TH1=0xfd; //定时器1设置初值,波特率9600bit/s, TL1=0xff; TR1=1; //启动定时器T1 EA=1;//打开总中断 ES=1;//打开串口中断 while(1)//主循环 { SBUF=KEY;//发送数据 while(!TI);//等待发送完成 TI=0;//清空发送标志位 }}/***************************************************************************//***************************************************************************/#include//通用89C52头文件sbitLED=P2^2;//端口定义charfe;//接收/***************************************************************************/voidmain(void)//主函数{ TMOD=0x20; //定时器1和2工作方式2(8位定时/计数) PCON=0x00; //SMOD=0,不加倍 SCON=0x50; //串口工作方式1,允许接收 TH1=0xfd; //定时器1设置初值,波特率9600bit/s, TL1=0xff; TR1=1; //启动定时器T1 EA=1;//打开总中断 ES=1;//打开串口中断 fe=1;//初始化变量 while(1)//主循环 { LED=fe;//输出 }}/***************************************************************************/voidser()interrupt4//串口接收,中断方式{ fe=SBUF;//接收数据 while(!RI);//等待接收完成 RI=0;//清空接收标志位}/***************************************************************************/
追问
为啥两个单片机?我就一个单片机
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询