收藏 分销(赏)

串口通信之中断法与查询法.doc

上传人:精**** 文档编号:1266095 上传时间:2024-04-19 格式:DOC 页数:3 大小:32.01KB
下载 相关 举报
串口通信之中断法与查询法.doc_第1页
第1页 / 共3页
串口通信之中断法与查询法.doc_第2页
第2页 / 共3页
串口通信之中断法与查询法.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、串口通信示例程序:该程序是用查询法控制串口,显示的结果为,通过串口发送一个数据,对应的发光二极管点亮。如发送数据0xfe,第一个二极管亮。查询法#includevoid main() REN=1;/串口允许接收 TMOD=0x20;/设置定时器1为工作方式2 TH1=0xfd;/给T1 赋初值 TL1=0xfd; TR1=1;/TCON中的TR1位置1 SM0=0;/设置SCON寄存器,设为方式1 SM1=1; while(1) if(RI=1) /查询法,看是否收到数据了 RI=0;/一旦收到数据了,清零RI必须软件清零 /P1=0x00; P1=SBUF;/从串口读入数据 中断法通过中断方

2、式控制串口#includevoid main() REN=1;/串口允许接收 TMOD=0x20;/设置定时器1为工作方式2 TH1=0xfd;/给T1 赋初值 TL1=0xfd; TR1=1;/TCON中的TR1位置1 SM0=0;/设置SCON寄存器,设为方式1 SM1=1; EA=1;/开总中断ES=1;/开串口中断while(1)/加上中断函数变为中断方式void ser() interrupt 4 RI=0;/一旦收到数据了,清零RI必须软件清零 P1=SBUF;/从串口读入数据修改程序,让串口发给单片机数据,然后让单片机再发回来:#includeunsigned char a,fl

3、ag;void main() REN=1;/串口允许接收 TMOD=0x20;/设置定时器1为工作方式2 TH1=0xfd;/给T1 赋初值 TL1=0xfd; TR1=1;/TCON中的TR1位置1 SM0=0;/设置SCON寄存器,设为方式1 SM1=1; EA=1;/开总中断 ES=1;/开串口中断 while(1) if(flag=1) flag=0; SBUF=a;/把a送给SBUF,调用接收缓存器,两个SBUF物理地址 /相同,但是意义不同 while(!TI); /发送完TI会置1,要手动清零 TI=0; /TI发送中断标志位 void ser() interrupt 4 RI=

4、0;/一旦收到数据了,清零RI(接收中断标志位),必须软件清零 P1=SBUF;/从串口读入数据 SBUF赋给P1口 a=SBUF;/使用发送缓存器 flag=1;这种情况的结果是单片机不停的在发数,串口一直收到数据。要在收数时关闭中断,让单片机停止发数。将程序做如下修改#includeunsigned char a,flag;void main() REN=1;/串口允许接收 TMOD=0x20;/设置定时器1为工作方式2 TH1=0xfd;/给T1 赋初值 TL1=0xfd; TR1=1;/TCON中的TR1位置1 SM0=0;/设置SCON寄存器,设为方式1 SM1=1; EA=1;/开总中断 ES=1;/开串口中断 while(1) if(flag=1) ES=0; /发送数据时关掉串口 flag=0; SBUF=a;/把a送给SBUF,调用接收缓存器,两个SBUF物理地址相同,但是意义不同。可以发字符串,比如SBUF=b; while(!TI); /发送完TI会置1,要手动清零 TI=0; ES=1;/ 发送完数据时打开串口 /加上中断函数变为中断方式void ser() interrupt 4 RI=0;/一旦收到数据了,清零RI(接收中断标志位),必须软件清零 P1=SBUF;/从串口读入数据 SBUF赋给P1口 a=SBUF;/使用发送缓存器 flag=1;

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服