单片机中断控制、定时及计数器与串行口.ppt
《单片机中断控制、定时及计数器与串行口.ppt》由会员分享,可在线阅读,更多相关《单片机中断控制、定时及计数器与串行口.ppt(96页珍藏版)》请在三一办公上搜索。
1、2023/10/22,第4章 中断控制、定时/计数器与串行口,4.1 CPU与外设通信方式概述4.2 增强型MCS-51中断控制系统4.3 增强型MCS-51定时/计数器4.4 串行通信系统4.5 增强型MCS-51芯片识别与仿真,2023/10/22,4.1 CPU与外设通信方式概述,外围设备与CPU之间常用的通信方式有:查询方式中断传输方式直接存储器存取(简称DMA)由于在单片机控制系统中,外设与CPU之间需要传送的数据量较少,对传输率要求不高,一般不用DMA方式,这里也就不介绍。,2023/10/22,4.1.1 查询方式,查询方式包括查询输出方式和查询输入方式。所谓查询输入方式,是指C
2、PU读外设数据前,先查询外设是否处于准备就绪状态(即外设是否已将数据输出到CPU的数据总线上);查询输出方式是指CPU向外设输出数据前,先查询外设是否处于空闲状态(即外设是否可以接收CPU输出的数据)。,下面以CPU向外设输出数据为例,简要介绍查询传输方式的工作过程:当CPU需要向外设输出数据时,先将控制命令(如外设的启动命令)写入外设的控制端口,然后不断读外设的状态口,当发现外设处于空闲状态后,就将数据写入外设的数据口,完成数据的输出过程。,2023/10/22,下面以CPU向外设输出数据为例,简要介绍查询传输方式的工作过程:当CPU需要向外设输出数据时,先将控制命令(如外设的启动命令)写入
3、外设的控制端口,然后不断读外设的状态口,当发现外设处于空闲状态后,就将数据写入外设的数据口,完成数据的输出过程。,查询方式优缺点:硬件开销少、传输程序简单,但缺点是CPU占用率高,因为在外设未准备就绪或处于非空闲状态前,CPU一直处于查询状态,不能执行其他操作,任何时候也只能与一个外设进行数据交换。,4.1.2 中断通信方式,采用中断传输方式就可以克服查询传输方式存在的缺陷:当CPU需要向外设输出数据时,将启动命令写入外设控制口后,就继续执行随后的指令序列,而不是被动等待;当外设处于空闲状态,可以接收数据时,由外设向CPU发出允许数据传送的请求信号即中断请求信号,如果满足中断响应条件,CPU将
4、暂停执行随后的指令序列,转去执行预先安排好的数据传送程序称为中断服务程序,CPU响应外设中断请求的过程简称为中断响应;待完成了数据传送后,再返回断点处继续执行被中断了的程序这一过程称为中断返回。可见,在这种方式中,CPU发出控制命令后,将继续执行控制命令后的指令序列,而不是通过检测外设的状态来确定外设是否处于空闲状态,这不仅提高了CPU的利用率,而且能同时与多个外设进行数据交换只要合理安排相应中断的优先级以及同优先级中断的查询顺序即可。因此,中断传输方式是CPU与外设之间最常见的一种数据传输方式。,2023/10/22,1.中断源,在计算机控制系统中,把引起中断的事件称为中断源。在单片机控制系
5、统中,常见的中断源有:l外部中断,如CPU某些特定引脚电平变化引起的中断。l各类定时/计数器溢出中断(即定时时间到或计数器满中断)。l 串行发送结束中断。l 串行接收有效中断。l电源掉电中断。,2023/10/22,2.中断优先级,当多个外设以中断方式与CPU进行数据交换时,可能遇到两个或两个以上外设中断请求同时有效的情形。在这种情况下,CPU先响应哪一外设的中断请求?这就涉及到中断优先级问题。一般说来,为了能够处理多个中断请求,中断控制系统均提供中断优先级控制。有了中断优先级控制后,就可以解决多个中断请求同时有效时,先响应哪一请求中断问题,以及高优先级中断请求可中断低优先级中断处理进程,实现
6、中断嵌套。,2023/10/22,3.中断开关,有时为避免某一处理过程被中断,中断控制器给每一个中断源都设置了一个中断请求屏蔽位,用于屏蔽(即禁止)相应中断源的中断请求,当某一中断源的中断请求处于禁止状态时,即使该中断请求有效,CPU也不响应,相当于中断源的中断开关。此外,还设一个总的中断请求屏蔽位,当该位处于禁止状态时,CPU忽略所有中断源的中断请求,相当于中断源总开关。,2023/10/22,4.中断处理过程,中断处理过程涉及中断查询和响应两个方面,即当某一事件发生时,对应的中断标志,即中断请求何时有效?CPU什么时候查询中断标志?什么时候?在什么情况下会响应中断请求?下面结合增强型MCS
7、-51中断控制系统逐一介绍。,2023/10/22,4.2 增强型MCS-51中断控制系统,增强型MCS-51系列内嵌的中断控制器可以管理具有4个中断优先级的6个中断源(增强型MCS-51 CPU中断源的个数与标准MCS-52子系列相同),其结构如图4-1所示。在增强型MCS-51系列中,6个中断源对应8个中断请求标志(串行发送结束中断标志TI和串行接收有效中断标志RI相“或”后作为一个中断源串行口中断,共用一个中断开关;定时器T2溢出中断TF2和外部触发中断EXF2相“或”后作为一个中断源定时器T2中断,也共用一个中断开关)。,图4-1 增强型MCS-51中断系统结构,2023/10/22,
8、4.2.1 中断源及标志,增强型MCS-51 CPU在每个机器周期的S5P2时刻顺序采样各中断源,当发现某一中断有效(出现)时,对应中断标志置1,表明相应事件发生了。,图4-2 与中断功能有关的TCON寄存器位,2023/10/22,4.2.2 中断控制,1.中断允许控制寄存器IE,当某一中断(事件)出现时,相应的中断请求标志位置1(即中断有效),但该中断请求能否被CPU查询,由中断控制寄存器IE相应位决定(MCS-51 CPU在每个机器周期的S6状态查询处于允许状态的中断请求标志),中断控制寄存器IE各位含义如图4-3所示。,2023/10/22,图4-3 中断控制寄存器IE各位含义,202
9、3/10/22,2.中断优先级控制寄存器IP,标准MCS-51内核只有两个中断优先级,各中断源优先级由IP寄存器控制(0为低优先级;1为高优先级),中断优先级控制寄存器IP各位含义如图4-4(a)所示。增强型MCS-51内核具有四个中断优先级,除了标准MCS-51 CPU的中断优先级控制寄存器IP外,还增加了一个中断优先级控制寄存器IPH(字节地址为0B7H,但IPH没有按位寻址功能),IPH寄存器各位含义如图4-4(b)所示,即中断源的优先级由IPH、IP对应位编码决定,具体情况如下:IPH.X位IP.X位优先级00 0级(优先级最低)01 1级10 2级11 3级(优先级最高),图4-4
10、中断优先级控制寄存器,4.2.3 中断响应过程及中断服务程序入口地址,对于外中断来说,MCS-51 CPU在每个机器周期的S5P2相锁存引脚的电平状态,设置中断请求标志(若中断有效,相应中断标志位置1;中断无效,标志位为0),如图4-5中的M1周期,并在下一机器周期(如图4-5中的M2周期)的S6状态按优先级顺序查询所有没有被禁止的中断请求标志,如果满足下列中断响应条件,则在下一机器周期(如图4-5中的M3周期)的S1状态,响应优先级最高的中断请求,执行相应的中断服务程序,否则继续执行当前程序。,图4-5 中断响应时序,2023/10/22,MCS-51中断响应条件为:(1)当前不处于同级或更
11、高级中断响应中。这是为了防止同级或低级中断请求中断同级或更高级中断。(2)当前机器周期必须是当前指令的最后一个机器周期,否则等待。执行某些指令需要两个或两个以上机器周期,如果当前机器周期不是指令的最后一个机器周期,则不响应中断请求,即不允许中断一条指令的执行过程,这是为了保证指令执行过程的完整性。(3)如果当前指令是中断返回指令RETI,或读写中断控制寄存器IE、优先级寄存器IP或IPH,则必须再执行一条指令后才能响应中断请求,即中断控制器各状态位尚未稳定前,不响应中断,以免出现不确定后果。,1.中断响应条件,如果满足中断响应条件,将进入中断响应过程:(1)CPU先将对应中断的优先级触发器置1
12、(每一中断源对应一个中断优先级触发器,不过图4-1中没画出该触发器),阻止CPU再响应同级或更低级中断请求。(2)将程序计数器PC当前值压入堆栈,以保证执行完中断服务程序后正确返回;将中断源入口地址装入PC,以便执行相应的中断服务程序。这一过程由硬件完成,相当于执行了一条长调用指令“LCALL XXXX”,中断服务程序入口地址如下:中断源 入口地址(即LCALL指令的XXXX地址)外中断0003H定时/计数器T0溢出中断000BH外中断0013H定时/计数器T1溢出中断001BH串行口中断0023H定时/计数器T2溢出中断002BH,2.中断响应过程及中断服务程序入口地址,2023/10/22
13、,由于各中断服务程序入口地址仅相隔8个字节,难以容纳中断服务程序,为此可在中断程序入口处放置一条长跳转指令,这样实际的中断服务程序就可以放在存储器区内的任意位置(一般放在主程序后),如下所示:ORG 0003HLJMP INT0;在外中断 入口处放一条长跳转指令ORG 0100HMAIN:;主程序INT0:;外中断 的中断服务程序。,2023/10/22,(3)清除中断请求标志,(4)返回。中断服务程序最后一条指令是中断返回指令“RETI”,执行了中断返回指令RETI后,先将对应中断的优先级触发器清0(以便返回后CPU能够响应同级或更低级的中断请求),并将堆栈内的两个字节弹到程序计数器PC,以
14、便从断点处继续执行被中断程序的后续指令。,4.2.4 中断初始化及中断服务程序结构,中断初始化是指通过设置TCON、IE及IP、IPH寄存器内容,确定外中断触发方式(低电平触发还是下降沿触发)、开中断、设置中断优先级等,例如可通过如下指令将 定义为下降沿触发,优先级为3(最高),并允许 中断:SETB IT0;外中断 采用下降沿触发。ORL IPH,#01H;由于IPH寄存器没有位寻址功能,只能通过或指令,将IPH的PX0H位置1。SETB PX0;IP寄存器具有位寻址功能,可通过SETB指令将指定位置1。SETB EX0;允许 中断。SETB EA;开中断。,中断服务程序结构与子程序类似,大
15、致包含以下几部分:;必要时保护现场PUSH PSWPUSH AccSETB RS0;切换工作寄存器区,根据需要可使用0-3区中的任一区。CLR RS1;由于中断出现的不确定性,因此只要中断服务程序中使用;了寄存器组R0R7,就需要切换工作区。;中断服务程序体(略)。CLR 中断请求标志;对于不能自动清除中断请求标志的中断响应过程,需要通过;“CLR 中断请求标志位”指令清除中断请求标志,防止同一请;求被多次响应。POP AccPOP PSW;恢复现场。RETI;中断返回指令。,2023/10/22,中断源及中断标志。即什么事件发生时,对应中断标志置1。如何控制该中断。即中断允许由中断控制寄存器
16、IE哪一位控制;优先级由IPH、IP寄存器哪一位控制,以及同优先级硬件查询顺序。中断入口地址。即中断服务程序放在何处。CPU响应该中断请求后,能否自动清除对应的中断标志。在单片机中,还要了解该中断源能否唤醒处于掉电状态下的CPU。,可见对于一个中断来说,我们需要了解下列问题:,2023/10/22,4.3 增强型MCS-51定时/计数器,在单片机控制系统中,常需要对外部脉冲进行计数或每隔特定时间执行某一操作,因此定时/计数器是单片机控制系统中重要的外设部件之一,几乎所有单片机芯片均内置一个到数个定时/计数器。增强型MCS-51系列单片机芯片内置了三个16位的定时/计数器,分别称为T0、T1和T
17、2。,2023/10/22,4.3.1 定时/计数功能概述,定时/计数器的核心部件是一个加法(或减法)计数器,可工作在定时方式或计数方式,因此称为定时/计数器。不过这两种工作方式并没有本质的区别,只是计数脉冲来源不同而已:如果计数脉冲是频率相对稳定的系统时钟信号(一般是系统时钟的分频信号)时,则称为定时方式;反之,当计数脉冲取自CPU I/O引脚的外部信号时,称为计数方式。,单片机内定时/计数器属于可编程部件,除了加法计数器(部分单片机芯片采用减法计数器)外,尚有工作方式控制寄存器,一般具有如下特点:(1)工作方式寄存器。定时/计数器有多种定时或计数方式,使用前必须初始化工作方式寄存器,设置定
18、时/计数器的工作方式(定时还是计数;硬件启动还是软件启动;计数长度即作16位计数器,还是8位计数器使用;溢出后重装初值,还是从0开始计数等)。(2)可以从0开始计数,也可以从特定值开始计数,因此定时/计数器是一个可读写的寄存器,使用前一般需要设置定时/计数器的初值。(3)每来一个脉冲,计数器加1(或减1)。当计数器溢出时,定时/计数器中断标志有效(定时时间到),向CPU发出中断请求,如果中断处于开放状态,则CPU将响应定时/计数器的中断请求。,2023/10/22,定时/计数器T0、T1结构及控制,增强型MCS-51芯片中的定时/计数器T0、T1的结构及功能与标准MCS-51芯片16位定时/计
19、数器T0(高8位是TH0,低8位是TL0)、T1(高8位是TH1,低8位是TL1)完全相同。T0、T1采用加法计数方式,即每输入一个计数脉冲,计数器加1;在定时方式下,计数脉冲是系统时钟信号的12分频。由于MCS-51单片机一个机器周期包含12个时钟周期,因此在定时方式下,定时/计数器实际上就是机器周期的计数器(对于“6时钟/机器周期”芯片来说,在定时方式下,计数脉冲是系统时钟信号的6分频,还是机器周期计数器)。在计数方式下,定时/计数器T0的计数脉冲来自P3.4引脚,定时/计数器T1的计数脉冲来自P3.5引脚。MCS-51 CPU在每个机器周期的S5P2相检测P3.4、P3.5引脚的电平状态
20、,如果前一个机器周期采样值为高电平,而后一个机器周期采样值为低电平,则计数器加1,在下一机器周期的S3P1相后,更新定时/计数器TH、TL的值。,在MCS-51中,与定时/计数器T0、T1工作方式有关的寄存器为TMOD和TCON。其中TMOD控制定时/计数器T0、T1的工作方式,而TCON控制定时/计数器的启动方式、禁止/允许定时中断。,(1)(1)工作方式寄存器TMOD 定时/计数器工作方式控制字寄存器TMOD各位含义如图4-6所示。,图4-6 TMOD寄存器各位含义,1.定时/计数器的控制,2023/10/22,l 定时/计数方式选择。当 位为0时,计数脉冲来自CPU内,计数脉冲频率是系统
21、时钟信号的12分频(对于“6时钟/机器周期”芯片来说,计数脉冲是系统时钟信号的6分频),即处于定时方式;当 位为1时,计数脉冲来自P3.4引脚,即处于计数方式。l GATE定时/计数器启动方式控制位。,2023/10/22,定时/计数器启动控制位,以及定时/计数器溢出中断标志存放在特殊功能寄存器TCON的高4位,各位含义如图4-7所示。,图4-7 TCON寄存器中与定时/计数器控制有关的位,(1)(2)控制字寄存器TCON,2023/10/22,2.工作方式,定时/计数器T0有四种工作方式(即方式0、方式1、方式2和方式3),主要用于定时和计数;定时/计数器T1有三种工作方式(即方式0、方式1
22、和方式2),除了定时、计数外,T1还可作为串行异步通信口的波特率发生器。值得注意的是初始化时如果错将定时/计数器T1置为方式3,则T1将停止工作。,当M1M0初始化为01时,定时/计数器工作于方式1,即计数长度为16位。定时/计数器T0方式1结构如图4-8所示,计数器长度为16位,分别由TL0和TH0组成。,图4-8 定时/计数器T0(T1)方式1结构,(1)方式1(16位定时/计数器),如果定时器初值为M,则方式1的定时时间t为:,当M1M0初始化为10时,定时/计数器工作于方式2,是一种自动重装初值的8位定时/计数器。定时/计数器T0方式2结构如图4-9所示,除了计数长度(8位)、自动重装
23、初值功能外,其他情况与方式1相同。,图4-9 定时/计数器T0(T1)方式2结构,(2)方式2,2023/10/22,由于方式2的计数长度为8位,因此定时时间T与初值M之间关系为:M=(“12时钟/机器周期”模式)(4-5)M=(“6时钟/机器周期”模式)(4-6),定时/计数器T0工作于方式3的结构如图4-10所示。可见,方式3将定时/计数器T0分成两个独立的8位定时/计数器(但只有TL0具有定时和计数功能,而TH0计数脉冲来自CPU内分频器,不可选择,只能作为8位定时器使用)。,图4-10 定时/计数器T0方式3结构,(3)方式3,2023/10/22,4.3.3 定时/计数器T2结构及控
24、制,增强型MCS-51定时/计数器T2的功能比标准MCS-52系列CPU内定时/计数器T2更强,除了具有下降沿触发自动重装、捕捉、串行口波特率发生器三种工作方式外,还增加了可编程时钟输出、外电平控制向上或向下计数自动重装两种工作模式,即增强型MCS-51芯片内的T2具有5种工作方式。,2023/10/22,在增强型MCS-51中,与T2定时/计数器有关的寄存器有:T2CON(定时器T2控制寄存器)、T2MOD(增强型MCS-51新增的定时器T2工作模式寄存器)、TH2、TL2、RCAP2H、RCAP2L(各寄存器字节地址可参阅第2章“特殊功能寄存器列表”)。其中TH2、TL2分别是定时/计数器
25、T2的高8位和低8位,TH2和TL2构成了16位计数器;而RCAP2H和RCAP2L构成了一个16位寄存器,在自动重装初值方式下,RCAP2H、RCAP2L分别存放TH2和TL2的重装初值;在捕捉方式下,当P1.1引脚出现负跳变()时,T2计数器高8位TH2、低8位TL2分别被捕捉到CAP2H、RCAP2L寄存器中。,2023/10/22,1.定时/计数器T2的控制,在标准MCS-52系列中,定时/计数器T2的工作方式、用途由T2CON寄存器内容决定,各位含义如图4-12所示:,图4-12 T2CON寄存器各位含义,2023/10/22,在增强型MCS-51中,T2工作方式还与T2MOD寄存器
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 中断 控制 定时 计数器 串行口
链接地址:https://www.31ppt.com/p-6380308.html