水电电工知识
51单片机的串口中断设置
2024-10-04  浏览:83

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

即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;

}

更多»您可能感兴趣的文章:
更多»有关 水电 电工维修 的产品:
低价出售发动机故障诊断仪

低价出售发动机故障诊断仪

价格:到店咨询

碳平衡油耗仪厂家直销

碳平衡油耗仪厂家直销

价格:到店咨询

供应逆反射标志测试仪质量好

供应逆反射标志测试仪质量好

价格:到店咨询

浙江砂尘试验机品牌厂家→林频仪器

浙江砂尘试验机品牌厂家→林频仪器

价格:66.00/台

紫外线老化试验箱雅士林官方网站

紫外线老化试验箱雅士林官方网站

价格:到店咨询

北京高低温试验箱厂_性价比最好的是谁

北京高低温试验箱厂_性价比最好的是谁

价格:到店咨询

  • 水电电工资讯
  • 发表评论 | 0评
  • 评论登陆
  • 移动社区 天花之家 木门之家 灯具之家 铁艺之家 幕墙之家 五金头条 楼梯头条 墙纸头条 壁纸头条 玻璃头条 老姚之家 灯饰之家 电气之家 全景头条 陶瓷之家 照明之家 防水之家 防盗之家 博一建材 卫浴之家 区快洞察 建材 枣庄建材 临沂建材 南昌建材 上饶建材 抚州建材 宜春建材 吉安建材 赣州建材 鹰潭建材 新余建材 九江建材 萍乡建材 景德镇陶瓷 石家庄建材 衡水建材 廊坊建材 沧州建材 承德建材 建材之家 企业之家 720全景
    (c)2015-2017 BO-YI.COM SYSTEM All Rights Reserved