单片机串口通信,实现接收到数据后,灯亮。

单片机串口通信,实现接收到数据后,灯亮。,第1张

看你这程序编的,ha
查询RI
不是等于
1,而是0
只有当数据传送过来的时候,RI才会由1变为0,所以需要查询的状态是
0,不是1
当接收完数据后,再进行对RI的清零
还是不多说了,上程序,若满意请记得采纳一下,谢谢!
这是一个由串口助手发送十六进制码来控制单片机的8个LED亮灭的简单小程序
//
#include
<REG52h>//通用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;
//清空标识
        
}
    
}
}
//

以上就是关于单片机串口通信,实现接收到数据后,灯亮。全部的内容,包括:单片机串口通信,实现接收到数据后,灯亮。、、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zz/9759744.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存