
分别以轮询方式和中断处理方式实现8051的串口通信
发布日期:2021-05-08 01:17:41
浏览次数:22
分类:精选文章
本文共 710 字,大约阅读时间需要 2 分钟。
#include <STC89C5xRC.H>
//之前用轮询方式实现了串口的通讯,这里使用前后台系统结架构实现功能
int s;
void UART_INT() interrupt 4//UART中断处理程序
{ if(RI == 1)//如果收到数据 { RI = 0; s = SBUF;//将收到的数据读取出来 SBUF = s;//将读取到的数据发送回PC端 } else if(TI == 1)//如果数据发送完毕 { TI = 0; } }void UART_Communication_A()//前后台系统结构实现串行通信
{ TI = 0; RI = 0; IE = 0x90;//10010000 总开关开 + UART中断开 TMOD = 0x21; SCON = 0x50; TH1 = 0xe6; TL1 = 0xe6; TR1 = 1;//开启定时器1 while(1) { ; } }void UART_Communication_B()//轮询系统结构实现串行通信
{ TI = 0; RI = 0; TMOD = 0x21; SCON = 0x50; TH1 = 0xe6; TL1 = 0xe6; TR1 = 1; while(1) { if(RI == 1)//接收到数据 { RI = 0; s = SBUF;//将接收到的数据接收下来 SBUF = s;//将接收到的数据发送回PC端 while(TI == 0);//等待数据发送 } } }int main()
{ UART_Communication_A(); //UART_Communication_B(); }
发表评论
最新留言
很好
[***.229.124.182]2025年04月15日 07时05分08秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
上周热点回顾(12.31-1.6)
2021-05-09
上周热点回顾(1.21-1.27)
2021-05-09
上周热点回顾(6.3-6.9)
2021-05-09
上周热点回顾(8.12-8.18)
2021-05-09
【故障公告】升级阿里云 RDS SQL Server 实例故障经过
2021-05-09
蹒跚来迟:新版博客后台上线公测
2021-05-09
上周热点回顾(9.16-9.22)
2021-05-09
上周热点回顾(11.4-11.10)
2021-05-09
[网站公告]11月26日00:00-04:00阿里云RDS升级
2021-05-09
[网站公告]又拍云API故障造成图片无法上传(已恢复)
2021-05-09
上周热点回顾(12.16-12.22)
2021-05-09
云计算之路-阿里云上:对“黑色30秒”问题的猜想
2021-05-09
云计算之路-阿里云上:“黑色30秒”走了,“黑色1秒”来了,真相也许大白了
2021-05-09
云计算之路-阿里云上:奇怪的CPU 100%问题
2021-05-09
云计算之路-阿里云上:2014年6月12日12点IIS请求到达量突降
2021-05-09
上周热点回顾(6.9-6.15)
2021-05-09
上周热点回顾(6.16-6.22)
2021-05-09
上周热点回顾(6.23-6.29)
2021-05-09
上周热点回顾(10.20-10.26)
2021-05-09
上周热点回顾(2.16-2.22)
2021-05-09