MCS-51单片机的中断系统和定时计数器.doc
《MCS-51单片机的中断系统和定时计数器.doc》由会员分享,可在线阅读,更多相关《MCS-51单片机的中断系统和定时计数器.doc(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流MCS-51单片机的中断系统和定时计数器.精品文档.MCS-51单片机的中断系统和定时/计数器中断系统在计算机应用系统中起着十分重要的作用,良好的中断系统能提高计算机对外界异步事件的处理能力和响应速度,从而扩大计算机的应用范围。本章介绍MCS-51的单片机的中断系统和定时器/计数器。 1.1中断系统结构1.1.1 MCS-51中断系统的总体结构 在单片机中,为了实现中断功能而配置的软件和硬件,称为中断系统。中断系统的处理过程包括中断请求、中断响应、中断处理和中断返回。如图5.1所示,MCS-51中断系统的总统结构,图中包括:5个中断请求源,4
2、个用于中断控制和管理的可编程和可位寻址的特殊功能寄存器(中断请求源标志寄存器TCON及SCON,中断允许控制寄存器IE和中断优先级控制寄存器IP),提供两个中断优先级,可实现二级中断嵌套,且每一个中断源可编程为开放或屏蔽。图5.1 中断系统总体结构1.1.2 中断请求源及相关的特殊功能寄存器TCON和SCON 所谓中断源就是引起中断的原因或发出中断请求的中断来源。在51子系列中有五个中断源(52子系列为6个)它们是:外部中断0请求,低电平或脉冲下降沿有效。由P3.2引脚输入。外部中断1请求,低电平或脉冲下降沿有效。由p3.3引脚输入。T0定时器/计数器0溢出中断请求。外部计数脉冲由P3.4引脚
3、输入。T1定时器/计数器1溢出中断请求。外部计数脉冲由P3.5引脚输入。TX/RX串行中断请求。当串行口完成一帧发送或接受时,请求中断。每一个中断源都对应有一个中断请求标志位来反映中断请求状态,这些标志位分布在特殊功能寄存器TCON和SCON中。1. 定时器/计数器控制寄存器TCONTCON为定时器/计数器的控制寄存器,它同时也锁存T0、T1溢出中断源标志、外部中断请求标志,与这些中断请求源相关的位含义如下:TCON(88H): D7 D6 D5 D4 D3 D2 D1 D0 TF1 TF0 IE1 IT1 IE0 IT0 IT0(TCON.0):选择外部中断请求0()为边沿触发或电平触发方式
4、的控制位。IT0=0,为电平触发方式, 引脚位低电平时向CPU申请中断;IT0=1,为边沿触发方式,输入脚上的高到低的负跳变时向CPU申请中断。IT0可由软件置“1”或清“0”。 IE0(TCON.1):外部中断0的中断申请标志。当IT0=0即电平触发方式时,每个机器周期的S5P2采样INT0,若INT0为低电平,则置“0”IE0。当IT0=1,即INT0程控为边沿触发方式时,则置“1”IE0。IE0为1表示外部中断0正在向CPU申请中断。当CPU响应该中断,转向中断服务程序时,由硬件清“0”IE0。 IT1(TCON.2):选择外部中断请求1()为边沿触发方式或电平触发方式的控制位,其作用和
5、IT0类似。 IE1(TCON.3):外部中断1的中断申请标志。其意义和IE0相同。TF0(TCON.5):8031片内定时器/计数器0溢出中断申请标志。当启动T0计数后,定时器/计数器0从初始值开始1计数,当最高位产生溢出时,由硬件置“1”TF0,向CPU申请中断,CPU 响应TF0中断时,会自动清“0”TF0。TF1(TCON.7):8031片内定时器/计数器1溢出中断申请标志,功能和TF0类似。 当MCS-51系统复位后,TCON各位被清0。2. 串行口控制寄存器SCONSCON为串行口控制寄存器,SCON的低二位,锁存串行口的接收中断和发送中断标志,其格式如下:SCON(98H) D7
6、 D6 D5 D4 D3 D2 D1 D0 TI RI TI(SCON.1):8031串行口的发送中断标志,TI=1表示串行口发送器正在向CPU申请中断,向串行口的数据缓冲器SBUF写入一个数据后,就立即启动发送器继续发送。值得注意的是,CPU响应发生器中断请求,转向执行中断服务程序时,并不清“0”TI,TI必须由用户的中断服务程序清“0”。RI(SCON.0):串行口接收中断标志,RI为1表示串行口接收器正在向CPU申请中断,同样RI必须由用户的中断服务程序清“0”。一般情况,以上五个中断源的中断请求标志是由中断机构硬件电路自动置位的,但也可以人为的通过指令(SETB BIT),对以上两个控
7、制寄存器的中断标志位置位,即“软件代请中断”,这是单片机中断系统的一大特点。1.2 中断控制1.2.1中断允许寄存器IEMCS-51单片机对中断的开放或屏蔽,是由片内的中断允许寄存器IE控制的。IE的格式如下图所示:IE(0A8H) D7 D6 D5 D4 D3 D2 D1 D0 EA - - ES ET1 EX1 ET0 EX0IE寄存器各位功能如下:EA(IE7):CPU的中断开放/禁止总控制位。 EA=0时禁止所有中断;EA=1时,开放中断,但每个中断还受各自的控制位控制。ES(IE4)允许或禁止串行口中断。ES=0时,禁止中断;ES=1时,允许中断。ES(IE3):允许或禁止定时/计数
8、器1溢出中断。ET1=0时,禁止中断;EX1=1时,允许中断。ET1(IE2):允许或禁止外部中断1()中断。 EX1=0时,禁止中断;EX1=1时,允许中断。EX1(IE1):允许或禁止定时器/计数器0溢出中断。 ET0=0时,禁止中断,ET0=1时允许中断。EX0(IE0):允许或禁止外部中断0()中断。EX0=0时,禁止中断;EX0=1时,允许中断。当MCS-51系统复位后,IE各位均被清0,所有中断被禁止。1.2.2 中断优先级寄存器IP MCS-51单片机设有两级优先级,高优先级中断和低优先级中断。中断源的中断优先级分别由中断控制寄存器IP的各位来设定。IP的格式如下:IP (0B8
9、H): D7 D6 D5 D4 D3 D2 D1 D0 - - - PS PT1 PX1 PT0 PX01 IP 寄存器各位功能如下:PS(IP.4):串行口中断优先级控制位。 PS=1,为高优先级中断,PS=0,为低优先级中断。PT1(IP3):定时/计数器T1中断优先级控制位。 PT1=1,为高优先级中断,PT1=0,为低优先级中断。PX1(IP2):外部中断1中断优先级控制位。 PX1=1,为高优先级中断,PX1=0,为低优先级中断。PT0(IP1):定时器/计数器T0中断优先级控制位。 PT0=1,为高优先级中断,PT1=0,为低优先级中断。PX0(IP0):外部中断0中断优先级控制位
10、。 PX0=1,为高优先级中断,PX0=0,为低优先级中断。 中断申请源的中断优先级的高低,由中断优先级控制寄存器IP的各位控制,IP的各位由用户用指令来设定。复位操作后,IP= 000000B,即各中断源均设为低优先级中断。2中断系统规定(1)若CPU正在对某一个中断服务。则级别低的或同级中断申请不能打断正在进行的服务。而级别高的中断申请则能中止正在进行的服务,使CPU转去更高级的中断服务,待服务处理完毕后,CPU再返回原中断服务程序继续执行。(2)若多个中断源同时申请中断,则级别高的优先级先服务。(3)若同时收到几个同一级别的中断请求时,中断服务取决于系统内部辅助优先顺序。在每个优先级内,
11、存在着一个辅助优先级,其优先顺序如下: 中断源 中断级别 IE0 外部中断0 最高级别 TF0 定时/计数器0溢出中断 IE1 外部中断1 TF1 定时器/计数器1溢出中断 RI,TI 串行口中断 最低优先级 综上所述,可对中断系统的规定概括为以下两条基本规则: 低优先级中断系统的规定被高级中断系统中断,反之不能; 当多个中断源同时发出申请时,级别高的优先级先服务(先按高低优先级区分,再按辅助优先级区分)。1.3中断响应1.3.1 CPU响应中断的条件及过程1. 响应条件 MCS-51单片机在每个机器周期的S5P2期间顺序采样各中断请求标志位,如有置位,且下列三种情况都不存在,那么,在下一周期
12、的S1期间响应中断。否则,采样的结果被取消,CPU不能立即响应中断。CPU不响应中断的三种情况是:(1) CPU正在处理同级或高优先级的中断。(2) 现行的机器周期不是所执行指令的最后一个机器周期。(3) 正在执行的指令是RETI或访问IE、IP的指令。CPU在执行RETI或访问IE、IP的指令后,至少需要再执行一条其他指令后才会响应中断请求。2中断响应过程CPU响应中断后,由硬件执行下列操作序列:(1) 根据中断请求源的优先级高低,使相应的优先级状态触发器置1。(2) 保留断点,即把程序计数器PC的内容推入堆栈保存。(3) 清相应的中断请求标志位IE0、IE1、TF0或TF1。(4) 把被响
13、应的中断服务程序的入口地址送入PC,从而转入相应的中断服务程序。 各中断源所对应的中断服务程序的入口地址如下:中断源 入口地址外部中断0 0003H定时器/计数器TO 000BH外部中断1 0013H定时器/计数器T1 001BH串行口中断 0023H从上述地址开始执行中断服务程序,中断服务程序的最后一条指令必须是中断返回指令RETI。CPU执行该指令时,先将相应的优先级状态触发器清零,然后从堆栈中弹出的两个字节到PC,从而返回到主程序断点处。保护现场及恢复现场的工作必须由用户设计的中断服务程序处理。 5.3.2 中断请求的撤除CPU响应中断的同时,该中断请求标志应被清除,否则将会引起另一次中
14、断。中断标志的清除分为三种情况:1 对于定时器溢出的中断标志TF0(或TF1)及负跳变触发的外部中断标志IE0(或IE1),中断响应后,中断标志由硬件自动清除。2 对于电平触发的外部中断请求,中断请求标志不由CPU控制,在中断结束前必须由中断源撤消中断请求信号。3 串行口中断标志TI和RI在中断响应后不能由硬件自动清除,这就需要在中断服务程序中,由软件清除中断请求标志。 5.3.3 外部中断的响应时间 外部中断和的电平在每一个机器周期都被采样,并锁存在IE0和IE1中,这个置入的IE0和IE1的状态到下一个机器周期才被查询,如果中断被激活,并且满足响应条件,CPU接着执行一条硬件子程序调用指令
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MCS 51 单片机 中断 系统 定时 计数器
限制150内