mcs51单片机中断系统应用(基于proteus仿真)

mcs51单片机中断系统应用(基于proteus仿真)

ID:34904080

大小:250.50 KB

页数:11页

时间:2019-03-13

mcs51单片机中断系统应用(基于proteus仿真)_第1页
mcs51单片机中断系统应用(基于proteus仿真)_第2页
mcs51单片机中断系统应用(基于proteus仿真)_第3页
mcs51单片机中断系统应用(基于proteus仿真)_第4页
mcs51单片机中断系统应用(基于proteus仿真)_第5页
资源描述:

《mcs51单片机中断系统应用(基于proteus仿真)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、个人收集整理仅供参考学习MCS-51单片机中断系统及应用基于Proteus仿真前言:本文对MCS-51单片机地中断系统进行了简明扼要地总结和归纳,并在后面举了三个简单地例子,这样有助于更好地理解与掌握.b5E2RGbCAP1、MCS-51单片机有5个中断源,2个中断优先级.相同优先级条件下,CPU响应中断地顺序是处部中断0,定时/计数器0,外部中断1,定时/计数器1,串行口中断.当某一优先级地中断处理程序正在执行时,可以被更高优先级地中断请求中断,但不会被同级或低级地中断源所中断.p1EanqFDPw2、中断允许寄存器IE(interruptenable):可位寻址,

2、相应位置1,表示开相应中断,置0表示关相应中断.(EX英文全称为external外部,所以EX0表示外部中断0)DXDiTa9E3d总中断:EA外部中断0:EX0中断编号为0,在函数后加上interrupt0来说明是外部中断0外部中断1:EX1中断编号为2,在函数后加上interrupt2来说明是外部中断1定时/计数器0:ET0中断编号为1,在函数后加上interrupt1来说明是T0中断定时/计数器1:ET1中断编号为3,在函数后加上interrupt3来说明是T1中断串行口中断:ES中断编号为4,在函数后加上interrupt4来说明是串行口中断只有使用inter

3、rupt关键字定义地函数才能被当作中断服务函数使用3、中断优先级寄存器IP(interruptpriority中断优先级):可位寻址,相应位置1,表示高优先级,置0表示低优先级.RTCrpUDGiT外部中断0:PX0外部中断1:PX1定时/计数器0:PT0定时/计数器1:PT1串行口中断:PS4、定时/计数器T0,T1控制寄存器TCON:中断请求标志都是当CPU检测到有相应中断发生后,由硬件将相应地标志置1,当CPU响应该中断转向相应地中断处理程序时,由硬件自动将相应地标志位清0.系统复位时,TCON每一位都清零.在查询方式时,TF0,TF1可以由程序查询和清“0”.

4、5PCzVD7HxA11/11个人收集整理仅供参考学习外部中断0触发方式控制位:IT0=1为下降沿触发,IT0=0为低电平触发外部中断1触发方式控制位:IT1=1为下降沿触发,IT1=0为低电平触发外部中断0中断标志位IE0:为1表示有中断请求,为0表示无中断请求外部中断1中断标志位IE1:为1表示有中断请求,为0表示无中断请求定时/计数器0中断标志位TF0:为1表示有中断请求,为0表示无中断请求定时/计数器1中断标志位TF1:为1表示有中断请求,为0表示无中断请求定时/计数器0运行控制位TR0:为1表示启动,为0表示停止定时/计数器1运行控制位TR1:为1表示启动,

5、为0表示停止1、串行口控制寄存器SCON:TI(TransmitInterrupt发送中断)是串行口发送中断标志位,CPU将一个数据写入发送缓冲器SBUF时,就启动发送.每发送完一帧串行数据后,由中断系统地硬件自动将TI置1.但CPU响应中断时,并不清除TI,必须在中断处理程序中用指令将TI清0jLBHrnAILgRI(ReceiveInterrupt接收中断)是串行口接收中断标志位,在允许串行口接收时,每接收完一帧数据后,中断系统地硬件自动将RI置1.同样,CPU响应中断处理程序时,并不自动将RI复位,必须在中断处理程序中用指令将其清0xHAQX74J0X2、总结编

6、写中断函数时,要记得在函数后面加上interrupt+中断编号,以说明是什么中断函数.在主函数中要记得开总中断,开相应中断,设置优先级,对外部中断要设置触发方式,对定时/计数器中断要用TR0/TR1=1启动计数器LDAYtRyKfE3、外部中断地简单应用实例(一)如下图所示,正常情况下,数码管以一定时间间隔循环轮流显示0~9,每按一次按钮开关,触发一次外部中断0,使数码管闪烁10次,闪烁完毕后继续正常地数字轮流显示.Zzz6ZB2Ltk11/11个人收集整理仅供参考学习C程序如下:#include#defineucharunsignedchar#de

7、fineuintunsignedintvoiddelay(uintx){uchari;while(x--)for(i=0;i<120;i++);}ucharcodedis[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};dvzfvkwMI1uchari;voidmain(){EA=1;//开总中断EX0=1;//开外部中断0IT0=1;//外部中断0设置为下降沿触发while(1){for(i=0;i<10;i++){P0=dis[i];delay(200);}}}voidint0()int

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。