编辑: 飞翔的荷兰人 | 2019-07-06 |
第二章 51系列单片机的结构原理 2.
1 概述2.2 存储器配置2.3 输入/输出端口2.4 定时/计数器 2.5 串行口 2.6 中断系统 2.7 振荡器,时钟电路,MCU时序及复位电路 2.8 80C51的节电运行 2.6 中断系统 中断:当机器在执行程序的过程中,一旦遇到一些异常情况或特殊请求时,就暂时停止正在执行的程序,而转入必要的处理(叫做中断处理或中断服务),并且在处理完毕后,立即返回原来被停止程序的间断点(叫做断点),继续执行原来被中断的程序,这一过程叫做中断. 中断源:中断请求的来源,或引起中断的原因. 中断判优:当多个中断源同时发出中断请求时,CPU通过判断中断的优先级而响应优先权最高的中断,这种判断过程叫中断判优. 中断嵌套:当一个低级别的中断服务时,有高级别的中断到来,则高级别中断源中断低级别中断.高级别的中断执行后再执行低级别的中断,从而形成中断嵌套.中断响应的条件:CPU允许中断和CPU必须执行完一条指令. 中断响应:CPU响应中断,停止现行程序,通过查询到相应的中断入口(对应中断向量)执行中断处理,之后自动从中断处返回. 注意:在响应中断过程中,有两个过程是CPU自动完成的. 在转入中断处理前,自动完成 保留断点,即被中断程序的下一条指令的地址(PC)入栈,以备返回用.把程序转向中断服务程序的入口地址 在中断处理后(RETI) 中断返回,PC出栈,返回中断处. 51单片机的中断系统 51单片机有5个中断源/INT0,/INT1,T0,T1,UART.它们在允许中断寄存器中对应着相应的控制允许位,并由IE中EA总控制.它们可以通过中断优先级寄存器设为高级或低级两个级(IP). 不同的中断源对应不同的中断向量. 注:除与IE、IP有关外,还与串行控制SCON,定时/计数控制TCON有关.尤其是TCON的后四位IE1,IT1,IE0,IT0.TI和RI由软件清除,其他由硬件清除. TCON:定时/计数控制寄存器 IE1:外部中断1请求标志.中断到来时由硬件置位,请求中断;
进入中断服务后硬件清除. IT1:外部中断1类型控制位,靠软件来置位或清除,来控制触发类型.IT1=1时,下降沿触发;
IT1=0时,低电平触发. IE0:外部中断0请求标志 .IT0:外部中断0类型控制位 . IE:中断允许寄存器 EA:中断总允许位.=0,禁止所有中断;
=1,又相应的源允许=1则可中断.ES:串口中断允许位.ET1:T1中断允许位.EX1:外部中断1允许位.ET0:T0中断允许位.EX0:外部中断0允许位.以上5位=1时,中断允许;
=0时中断禁止. 中断优先级寄存器IP及中断优先级 PS:串口中断优先级设定位,=1时为高级.PT1:T1中断优先级设定位,=1时为高级.PX1:外部中断1优先级设定位,=1时为高级.PT0:T0中断优先级设定位,=1时为高级.PX0:外部中断0优先级设定位,=1时为高级.IP寄存器把各个中断源的优先级分为高低两级,中断嵌套时:低优先级中断可被高优先级中断所中断,反之不能. 一种中断得到响应后,与它同级的中断不能再中断它.当同一级的中断同时到来时,响应的前后顺序为:中断源中断向量单元外部中断00003H定时器0溢出000BH外部中断10013H定时器1溢出001BH串行口中断0023H 外部中断0,1 外部中断有下降沿触发和电平触发之分.由TCON中的两位控制. 当下降沿触发方式时(ITX=1),若/INTX在相继的两个机器周期中,采样分别为高和低,则IEX被置1,请求中断,所以高和低都要有一个机器周期以上,中断服务时,IEX被硬件自动清除. 当电平触发方式时(ITX=0),检测到低电平则IEX被置1,请求中断,中断服务时IEX被清除,中断服务中应有针对/INTX变高的设计,硬件上也要有相应的电路. 中断服务程序举例 定时器中断实验:单片机晶振为6Mhz,编程设定6秒定时,定时中断到来时,通过P1.0口发出信号,按规律点亮发光二极管. 定时器0中断服务子程序程序 #include char data flag;