第5章 中断系统、定时器/计数器、串行口 5.1 单片机的中断系统 5.1.1 中断的概念 所谓中断,是指当计算机正在执行正常程序时,系统中出现了某些急需处理的异常情况和特殊请求。计算机停止正在执行的正常程序,转而去处理异常情况,处理完异常情况后,再回到正常程序的过程。 5.1.2 中断源 中断源就是能向CPU提出申请的部件。 注:MCS-51单片机(51子系列)有五个中断源,其中两个外中断,三个内中断,具有两个中断优先级,可以实现二级中断嵌套。 内部结构如下: 5.1.3 中断的控制 1. 定时/计数器控制寄存器(TCON) TCON 为定时/计数器的控制器,单元地址为88H,位地址为88H~8FH,其格式如表5-2所示。 IT0:外中断0的触发方式选择位,为“0”低电平触发,为“1”下降沿触发,由用户设定。 IE0:外中断0中断申请标志位,当满足触发条件时,IE0为“1”,否则为“0”,由硬件完成。 IT1:外中断1的触发方式选择位,为“0”低电平触发,为“1”下降沿触发,由用户设定。 IE1:外中断1中断申请标志位,当满足触发条件时,IE1为“1”,否则为“0”,由硬件完成。 TR0:为T0的启动位,为“1”时T0开始计数,为“0”时T0停止计数,由用户设定。 TF0:为T0的溢出标志位,当T0计满数后,TF0为“1”,在中断系统中也称之为中断申请标志位,由硬件完成。 TR1:为T1的启动位,为“1”时T1开始计数,为“0”时T1停止计数,由用户设定。 TF1:为T1的溢出标志位,当T1计满数后,TF1为“1”,在中断系统中也称之为中断申请标志位,由硬件完成。 2. 串行口控制寄存器(SCON) SCON 为串行接口的控制器, 单元地址为98H, 位地址为98H ~9FH, 其格式如表5 -3所示。 RI:为串行口的接收标志位,当接收完一帧数据后,由硬件置“1”。 TI:为串行口的发送标志位,当发送完一帧数据后,由硬件置“1”。 注:其余的6位,在串行口中给大家讲解。 注:1、工作在中断方式时: 这5个申请标志位都是在满足条件的情况下,由硬件置“1”。其中IE0、IE1、TF0、TF1,在系统响应中断后,由硬件清“0”;RI、TI是由软件清“0”。是因为这两个标志位共用一个入口地址。 2、工作在查询方式时: 这5个申请标志位都是在满足条件的情况下,由硬件置“1”,查询后由软件清“0”。 3. 中断允许控制寄存器IE 由于80C51单片机没有专门的开中断和关 中断指令,5个中断源中断的开放和关闭是通过中断 允许寄存器IE 进行两级控制的。所谓两级控制,是 指有一个中断允许总控制位EA,配合各中断源的中 断允许控制位共同实现对中断请求的控制。IE 的单 元地址为A8H,位地址为A8H~AFH,其内容 及位地址如表5 -4所示。 EA:总的中断允许,为“0”时禁止中断,为“1”时允许中断(所有的中断源)。 EX0:外中断0(INT0)中断允许,为“0”时禁止中断,为“1”时允许中断。 ET0:定时/计数器T0中断允许,为“0”时禁止中断,为“1”时允许中断。 EX1:外中断1(INT1)中断允许,为“0”时禁止中断,为“1”时允许中断。 ET1:定时/计数器T1中断允许,为“0”时禁止中断,为“1”时允许中断。 ES:串行口S中断允许,为“0”时禁止中断,为“1”时允许中断。 注:都是由用户设定。 4. 中断优先级控制寄存器IP 中断优先级寄存器IP字节地址为B8H,位地址为B8H~BFH,其内容及位地址如表5 -5所示。 PX0:外中断INT0优先级设置,为“0”时低优先级,为“1”时高优先级,由用户设置。 PT0:定时/计数器T0优先级设置,为“0”时低优先级,为“1”时高优先级,由用户设置。 PX1:外中断INT1优先级设置,为“0”时低优先级,为“1”时高优先级,由用户设置。 PT1:定时/计数器T1优先级设置,为“0”时低优先级,为“1”时高优先级,由用户设置。 PS:串行口S优先级设置,为“0”时低优先级,为“1”时高优先级,由用户设置。 注:都是有用户设定。 注:高优先级中断源可以中断正在执行的低优先级中断服务程序,同级或低优先级中断源不能中断正在执行的中断服务程序。 5.1.4 中断的处理过程 1. 中断响应 某一中断源向CPU 发出中断请求,只有满足下面条件后,才能得到CPU 的响应: ① 有中断源发出中断请求; ② 中断总允许位EA=1,即CPU 开中断; ③ 申请中断的中断
原创力文档

文档评论(0)