单片机技术应用教程 第5章 中断系统及定时 计数器

上传人:知** 文档编号:252195216 上传时间:2022-02-10 格式:PPTX 页数:83 大小:573.59KB
返回 下载 相关 举报
单片机技术应用教程 第5章 中断系统及定时 计数器_第1页
第1页 / 共83页
单片机技术应用教程 第5章 中断系统及定时 计数器_第2页
第2页 / 共83页
单片机技术应用教程 第5章 中断系统及定时 计数器_第3页
第3页 / 共83页
单片机技术应用教程 第5章 中断系统及定时 计数器_第4页
第4页 / 共83页
单片机技术应用教程 第5章 中断系统及定时 计数器_第5页
第5页 / 共83页
点击查看更多>>
资源描述

《单片机技术应用教程 第5章 中断系统及定时 计数器》由会员分享,可在线阅读,更多相关《单片机技术应用教程 第5章 中断系统及定时 计数器(83页珍藏版)》请在金锄头文库上搜索。

1、第5章 中断系统及定时/计数器第5章 中断系统及定时/计数器 中断系统和定时/计数器是单片机应用系统中非常重要的组成部分。MCS-51系列中中断源略有不同,下面以80C51为例进行介绍,80C51有5个中断源和2个16位定时/计数器。第5章 中断系统及定时/计数器5.1 80C51中断系统 由于早期计算机与外设交换信息时,慢速工作的外设与快速工作的CPU之间会出现速度不匹配的问题,例如,CPU处理和传送字符的速度远远比打印机打印字符的速度要快得多。如果采用查询法,CPU就不得不花费大量的时间等待和查询打印机打印字符的过程,而采用中断技术后的计算机,可以解决CPU与外设之间速度匹配的问题,使计算

2、机可以及时处理系统中许多随机的参数和信息,同时它也提高了计算机处理故障与应变的能力。第5章 中断系统及定时/计数器5.1.1 中断概述1什么是中断在日常生活中就有中断现象,比如:你正在看书,电话铃响了你在书上做个记号,走到电话旁,你拿起电话和对方通话这时,门铃又响了你让打电话的对方稍等一下,你去开门,并在门旁与来访者交谈片刻谈话结束,关门回到电话机旁,拿起电话,继续通话通话完毕,挂上电话从做记号的地方起继续看书。第5章 中断系统及定时/计数器结合这个日常生活中的例子,我们可以知道什么是中断:计算机在执行程序的过程中,当出现CPU以外的某种情况时,由服务对象向CPU发出中断请求信号,要求CPU暂

3、时中断当前程序的执行而转去执行相应的处理程序,待处理程序执行完毕后,再继续执行原来被中断的程序。这种程序在执行过程中由于某种原因而被中间打断的情况称为“中断”,其运行过程如图5-1所示。图5-1 中断示意图第5章 中断系统及定时/计数器 “中断”之后所执行的相应的处理程序通常称为中断服务或中断处理子程序,原来正常运行的程序称为主程序。主程序被断开的位置(或地址)称为“断点”。引起中断的原因或能发出中断申请的来源,称为“中断源”。调用中断服务程序的过程类似于调用子程序,其区别在于调用子程序在程序中是事先安排好的,而何时调用中断服务程序事先却无法确定,因为“中断”的发生是由外部因素决定的,程序中无

4、法事先安排调用指令,因此,调用中断服务程序的过程是由硬件自动完成的。第5章 中断系统及定时/计数器2中断功能(1)实现CPU与外设的速度配合由于许多外部设备的速度较慢,无法与CPU直接进行直接的同步数据交换,因此可通过中断方法来实现CPU和外设的协调工作,在CPU执行程序过程中,如需进行数据输入/输出时,可先启动外设,然后CPU继续执行程序。与此同时,外设在为数据输入/输出传送做准备。当准备完成后,外设发出中断请求,请求CPU暂停正在执行的程序,转去完成数据的输入/输出传送。传送结束后,CPU再返回继续执行原程序,而外设则为下次数据传送做准备。这种以中断方法完成数据的输入/输出操作,从宏观上看

5、,似乎是CPU与外设在同时工作。采用中断技术,不但能够实现主机和一台外设并行工作,而且还可以实现主机和多台外设并行工作。这样不但提高了CPU的利用率,而且也提高了数据的输入/输出效率。第5章 中断系统及定时/计数器(2)实现实时控制实时处理是自动控制系统对计算机提出的要求。所谓实时处理就是计算机能够及时完成被控对象随机提出的分析和计算任务,以便使被控对象能保持在最佳工作状态,达到预定的控制要求。在自动控制系统中,各控制参量可能随机地在任何时刻向计算机发出请求,要求进行某种处理。对此,CPU必须作出快速响应和及时处理。这种实时处理功能只能靠中断技术才能实现。(3)故障处理针对难以预料的情况或故障

6、,如掉电、存储出错、运算溢出等,可通过中断系统由故障源向CPU发出中断请求,再由CPU转到相应的故障处理程序进行处理。第5章 中断系统及定时/计数器(4)实现分时操作单片机应用系统通常需要控制多个外设同时工作。例如键盘、打印机、显示器、A/D转换器、D/A转换器等,这些设备工作有些是随机的,有些是定时的,对于一些定时工作的外设,可以利用定时器,到一定时间产生中断,在中断服务程序中控制这些外设。例如动态扫描显示,每隔一定的时间就更换显示子位码和字段码。此外,中断系统还能用于程序调试和多机连接等方面。因此,中断系统是计算机系统中的重要组成部分。第5章 中断系统及定时/计数器5.1.2 中断源和中断

7、控制器1中断源80C51单片机的中断源共有5个,其中2个为外部中断源,3个为内部中断源。(1):外部中断0,中断请求信号由P3.2输入。(2):外部中断1,中断请求信号由P3.3输入。(3)T0:定时/计数器0溢出中断,对外部脉冲计数,由P3.4输入。(4)T1:定时/计数器1溢出中断,对外部脉冲计数,由P3.5输入。(5)串行中断:包括串行接收中断RI和串行发送中断TI。第5章 中断系统及定时/计数器2中断控制寄存器80C51单片机中涉及中断控制的有3个方面4个特殊功能寄存器。(1)中断请求:定时和外中断控制寄存器TCON;串行控制寄存器SCON。(2)中断允许控制寄存器IE。(3)中断优先

8、级控制寄存器IP。在整个中断系统结构中,这4个寄存器的作用如图5-2所示。第5章 中断系统及定时/计数器图5-2 中断系统结构第5章 中断系统及定时/计数器具体说明如下。(1)中断请求控制寄存器、T0、T1中断请求标志存放在TCON中,串行中断请求标志存放在SCON中。TCON的结构、位名称、位地址和功能如表5-1所示。TCON位D7D6D5D4D3D2D1D0位名称TF1TR1TF0TR0IE1IT1IE0IT0位地址8FH8EH8DH8CH8BH8AH89H88H功能T1中断标志T1启动控制T0中断标志T0启动控制中断标志触发方式中断标志触发方式表5-1 第5章 中断系统及定时/计数器 T

9、F1:定时器1的溢出中断标志。T1被启动计数后,从初值开始做加1计数,计满溢出后由硬件置位TF1,同时向CPU发出中断请求,此标志一直保持到CPU响应中断后才由硬件自动清零。也可由软件查询该标志,并由软件清零。 TR1:定时器1启动控制位。由软件置1或清零来启动或关闭定时器1。具体在5.2.3节中具体介绍。 TF0:定时器0溢出标志位。其功能及操作情况同TF1。 TR0:定时器0启动控制位。其功能及操作同TR1。将在5.2.3节中介绍。 IE1:中断标志。IE1 = 1,说明外部中断1向CPU申请中断。第5章 中断系统及定时/计数器 IT1:中断触发方式控制位。当IT1 = 0时,外部中断1控

10、制为电平触发方式。在这种方式下,若为P3.3低电平,则产生中断申请,随即使IE1标志置位;因为在电平触发方式中,CPU响应中断后不能由硬件自动清除IE1标志,也不能由软件清除IE1标志,所以在中断返回之前必须撤销引脚上的低电平,否则将再次中断导致出错。当IT1=1时,中断方式为边沿触发方式,当P3.3引脚出现下降沿脉冲信号时产生中断申请,进入中断响应后,IE1由硬件自动清零。 IE0:中断标志。IE0 = 1,其操作功能与IE1相同。 IT0:中断触发方式控制位。其操作功能与IT1相同。SCON的结构、位名称、位地址和功能如表5-2所示。第5章 中断系统及定时/计数器表5-2 SCON的结构、

11、位名称、位地址和功能 SCON位D7D6D5D4D3D2D1D0位名称TIRI位地址99H98H功能串行发送中断标志串行接收中断标志第5章 中断系统及定时/计数器 TI:串行口发送中断请求标志。CPU将数据写入发送缓冲器SBUF时,就启动发送,每发送完一个串行帧,硬件将使TI置位。 RI:串行口接收中断请求标志。在串行口允许接收时,每接收完一个串行帧,硬件将使RI置位。CPU在响应串行发送、接收中断后,TI、RI不能自动清零,必须由软件清零,具体将在第6章介绍。第5章 中断系统及定时/计数器(2)中断允许控制寄存器计算机中断系统有两种不同类型的中断:一类称为非屏蔽中断,另一类称为可屏蔽中断。对

12、于非屏蔽中断,用户不能用软件的方法加以禁止,一旦有中断申请,CPU必须予以响应。对于可屏蔽中断,用户可以通过软件方法来控制是否允许某中断源的中断,允许中断称为中断开放,不允许中断称为中断屏蔽。80C51系列单片机的5个中断源都是可屏蔽中断,其中断系统内部设有一个专用寄存器IE,用于控制CPU对各中断源的开放或屏蔽。IE的结构、位名称、位地址和功能如表5-3所示。第5章 中断系统及定时/计数器表5-3 IE的结构、位名称、位地址和功能 开 开IE位D7D6D5D4D3D2D1D0位名称EAESET1EX1ET0EX0位地址AFHACHABHAAHA9HA8H功能总控位开串行口中断开T1中断中断开

13、T0中断中断第5章 中断系统及定时/计数器 EA:总中断允许控制位。EA = 1,开放所有中断,各中断源的允许和禁止可通过相应的中断允许位单独加以控制;EA = 0,禁止所有中断。 ES:串行口中断允许位。ES = 1,允许串行口中断;ES = 0,禁止串行口中断。 ET1:定时器1中断允许位。ET1 = 1,允许定时器1中断;ET1 = 0,禁止定时器1中断。 EX1:外部中断1中断允许位。EX1 = 1,允许外部中断1中断;EX1 = 0,禁止外部中断1中断。 ET0:定时器0中断允许位。ET0 = 1,允许定时器0中断;ET0 = 0,禁止定时器0中断。 EX0:外部中断0中断允许位。E

14、X0 = 1,允许外部中断0中断;EX0 = 0,禁止外部中断0中断。 第5章 中断系统及定时/计数器8051单片机系统复位后,IE中各中断允许位均被清零,即禁止所有中断。开T1中断过程是:首先开总中断(SETB EA),然后,开T1中断(SETB ET1),这两条位操作指令也可合并为一条字节指令(MOV IE,#88H)。(3)中断优先级控制寄存器80C51有5个中断源,划分为两个中断优先级:高优先级和低优先级。若CPU在执行低优先级中断时,又发生高优先级中断请求,则CPU会中断正在执行的低优先级中断,转而响应高优先级中断。中断优先级的设定是可编程的。控制80C51中断优先级的寄存器为IP,

15、只要对IP各位设置“1”或“0”,就可以对各中断源设置高优先级或低优先级。IP的结构、位名称、位地址和功能如表5-4所示。第5章 中断系统及定时/计数器表5-4 IP的结构、位名称、位地址和功能 IP位D7D6D5D4D3D2D1D0位名称PSPT1PX1PT0PX0位地址BCHBBHBAHB9HB8H中断源串行口T1T0第5章 中断系统及定时/计数器 PS:串行口中断优先控制位。PS = 1,设定串行口为高优先级中断;PS = 0,设定串行口为低优先级中断。 PT1:定时器T1中断优先控制位。PT1 = 1,设定定时器T1中断为高优先级中断;PT1 = 0,设定定时器T1中断为低优先级中断。

16、 PX1:外部中断1中断优先控制位。PX1 = 1,设定外部中断1为高优先级中断;PX1 = 0,设定外部中断1为低优先级中断。 PT0:定时器T0中断优先控制位。PT0 = 1,设定定时器T0中断为高优先级中断;PT0 = 0,设定定时器T0中断为低优先级中断。 PX0:外部中断0中断优先控制位。PX0 = 1,设定外部中断0为高优先级中断;PX0 = 0,设定外部中断0为低优先级中断。第5章 中断系统及定时/计数器当系统复位后,IP低5位全部清零,所有中断源均设定为低优先级中断。如果几个同一优先级的中断源同时向CPU申请中断,CPU就通过内部硬件查询逻辑,按自然优先权顺序确定先响应哪个中断请求。自然优先权由硬件形成,排列如下:中断源同级自然优先权外部中断0高优先权 定时器T0中断 外部中断1 定时器T1中断 串行口中断 低优先权第5章 中断系统及定时/计数器 若只有一个中断源,则没有必要设置优先级。如果程序中没有中断优先级设置指令,则中断源按自然优先级进行排列。实际应用中常把IP寄存器和自然优先权相结合,使中断的使用更加方便、灵活。例如,要将T0、串行口设置为高优先级,其余中断源设

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号