51单片机的串口中断设置

   日期:2024-10-04     来源:建材之家    浏览:83    评论:0    
核心提示:首先,你要用软件允许中断,即C语言中EA = 1; 允许总中断ES = 1;//允许串口中断汇编中可用SETB EA ;允许总中断SETB ES ;允许串口中断当单片机接收到一帧数据后,RI会置1,向CPU申请中断,若之前有中断允许,则产生了中断,进入中断服务程序。当然,单片机发送完一帧数据,TI也会置1,同样会产生中断!一般我们在发送数据时要关中断,因为一般你不用在发送时不用

水电技术|污水处理设备篇:最新整理格栅知识大全

推荐简介:格栅的主要工艺参数有哪些?(1)格栅的主要工艺参数有栅距、过栅流速和水头损失。栅距即相邻两根栅条间的距离,栅距大于40mm的为粗格栅,栅距在20~40mm之间的为中格栅,栅距小于20mm的为细格栅。(2)过栅流速是指污水流过栅条和格栅渠道的速度。过栅流速不能太大,否则有可能将本应拦截下来的软性杂物冲过去,过栅流速太小,又可能使污水中粒径较大的砂粒在栅前渠道中沉积下来。(3)污水......

首先,你要用软件允许中断,

即C语言中EA = 1; 允许总中断ES = 1;

//允许串口中断汇编中可用

SETB EA ;允许总中断

SETB ES ;允许串口中断

当单片机接收到一帧数据后,RI会置1,向CPU申请中断,若之前有中断允许,则产生了中断,进入中断服务程序。

当然,单片机发送完一帧数据,TI也会置1,同样会产生中断!

一般我们在发送数据时要关中断,因为一般你不用在发送时不用处理数据;

接收数据时要开中断,以便你在中断服务程序中将接收到的数据进行存储并处理。

补充:其实,不管你有没有允许中断,上位机(此时即给单片机发送信息的机器)只要给单片机发送数据,单片机就会自动接收数据,并把它放在数据缓冲器SBUF中,如果你之前有允许串行口中断,RI就会置1,向单片机CPU申请中断,并进入中断服务程序,做完中断函数后就会自动返回断点。如果你没有允许中断,便不会产生串行中断。其实,别的中断都是某个I/O口电平变化产生。这只是外部中断产生条件,不过,你之前也需要用软件允许外部中断。

另外,常见的51系列单片机有5个中断源三种中断5:

1、外部中断0和1;

2、定时器/计数器溢出中断0和1;

3、串行口中断。

另外,STC51系列还有定时器/计数器T2中断,A/D转换中断,PWM中断,串行中断2等等。你还有什么不懂的可以自己多翻一翻书,学到后面去了你就明白了。

中断服务程序中,那条 RI=0;是不可少的,这是用软件清零RI,准备再次接受一帧数据产生中断,如果你没有这条语句,就会进入死循环,出不来了。

void serial() interrupt 4

{ P1=SBUF;

RI=0;

}

广告
 
打赏
 
更多>文章标签:水电 电工维修 ;相关产品:
更多>同类头条资讯
0相关评论

推荐图文更多...
点击排行更多...
水电商圈内事更多...
最新视频更多...
推荐产品更多...
陶瓷头条 | 空调头条 | 卫浴头条 | 洁具头条 | 油漆头条 | 涂料头条 | 地板头条 | 吊顶头条 | 衣柜头条 | 家居头条 | 博一建材 | 博一建材 | 建材群站 | 建材资讯 | 建材商机 | 建材产品 | 水泥头条 | 楼梯之家 | 门窗之家 | 老姚之家 | 灯饰之家 | 电气之家 | 全景头条 | 照明之家 | 防水之家 | 防盗之家 | 区快洞察 | 漳州建材 | 泉州建材 | 三明建材 | 莆田建材 | 合肥建材 | 宣城建材 | 池州建材 | 亳州建材 | 六安建材 | 巢湖建材 | 宿州建材 | 阜阳建材 | 滁州建材 | 黄山建材 | 安庆建材 | 铜陵建材 | 淮北建材 | 马鞍山建材 |
建材 |  区快洞察 |  企业之家 |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图 | 排名推广 | 广告服务 | 积分换礼 | RSS订阅 | sitemap |
(c)2015-2017 Bybc.cn SYSTEM All Rights Reserved
Powered by 水电头条