单片机用串口通信控制led灯的点亮(单片机控制led灯点亮汇编)
单片机串口通信,实现接收到数据后,灯亮。
看你这程序编的,ha
查询RI
不是等于
1,而是0
只有当数据传送过来的时候,RI才会由1变为0,所以需要查询的状态是
0,不是1
当接收完数据后,再进行对RI的清零
还是不多说了,上程序,若满意请记得采纳一下,谢谢!
这是一个由串口助手发送十六进制码来控制单片机的8个LED亮灭的简单小程序
/***************************************************************************/
#include
REG52.h//通用89C52头文件
/***************************************************************************/
void
main(void)//主函数
{
TMOD=0x20;
//定时器1和2工作方式2(8位定时/计数)
TH1=0xfd;
//定时器1设置初值,波特率9600bit/s,
TL1=0xff;
TR1=1;
//启动定时器T1
PCON=0x00;
//SMOD=0,不加倍
SCON=0x50;
//串口工作方式1,允许接收
IE=0x00;
//关闭所有中断
while(1)
{
if(RI==0)//如果有数据
{
P2=SBUF;
//接收数据并输出至LED上显示
while(!RI);
//等待接收完成
RI=0;
//清空标识
}
}
}
/***************************************************************************/
有关单片机串口通信控制led灯的问题
pc通过串口和单片机交换数据,从而控制LED灯。 pc程序用labview 调用Visa 进行串口通讯。单片机接受到串口命令后控制I/O口的高低电平实现led灯亮灭控制
求新手51单片机串口控制led灯
unsigned char tmp;
sbit led=P1^0;
void main(void)
{
TMOD = 0x20; // 定时器1工作于8位自动重载模式, 用于产生波特率
TH1 = 0xFD; // 波特率9600
TL1 = 0xFD;
SCON = 0x50; // 设定串行口工作方式
PCON = 0xef; // 波特率不倍增
TR1 = 1; // 启动定时器1
IE = 0x0; // 禁止任何中断
while(1)
{
if(RI) // 是否有数据到来
{
RI = 0;
tmp = SBUF; // 暂存接收到的数据
switch(tmp )
{
case 0x03:led=1;break;//收到0x03,LED灯亮
case 0x33:led=0;break;//收到0x03,LED灯灭
}
}
}
}
单片机用串口通信控制led灯
单片机用串口线控制LED灯也是可以的,还有一些大神可以用plc进行le灯的控制,只要操作熟悉这两者都是可以的
单片机用串口通信控制led灯的点亮的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于单片机控制led灯点亮汇编、单片机用串口通信控制led灯的点亮的信息别忘了在本站进行查找喔。微信号:ymsc_2016
相关文章
发表评论
评论列表
- 这篇文章还没有收到评论,赶紧来抢沙发吧~