中断系统和定时计数器

上传人:bin****86 文档编号:57512482 上传时间:2018-10-22 格式:PPT 页数:41 大小:970KB
返回 下载 相关 举报
中断系统和定时计数器_第1页
第1页 / 共41页
中断系统和定时计数器_第2页
第2页 / 共41页
中断系统和定时计数器_第3页
第3页 / 共41页
中断系统和定时计数器_第4页
第4页 / 共41页
中断系统和定时计数器_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《中断系统和定时计数器》由会员分享,可在线阅读,更多相关《中断系统和定时计数器(41页珍藏版)》请在金锄头文库上搜索。

1、中断系统和定时计数器,5.1 80C51的中断系统 P158,5.1.1 80C51的中断系统结构,一、中断的概念CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生);CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务);待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回),这一过程称为中断 。,MCS-51单片机的中断系统结构,执行主程序,主程序,继续执行主程序,断点,中断请求,中断响应,执行中断处理程序,中断返回,引起CPU中断的根源,称为中断源。中断源向CPU提出的中断请求。CPU暂时中断原来的事务A,转去处理事件B。对事件B

2、处理完毕后,再回到原来被中断的地方(即断点),称为中断返回。实现上述中断功能的部件称为中断系统(中断机构)。,随着计算机技术的应用,人们发现中断技术不仅解决了快速主机与慢速I/O设备的数据传送问题,而且还具有如下优点:,分时操作。CPU可以分时为多个I/O设备服务,提高了计算机的利用率;,实时响应。CPU能够及时处理应用系统的随机事件,系统的实时性大大增强;,可靠性高。CPU具有处理设备故障及掉电等突发性事件能力,从而使系统可靠性提高。,80C51中断系统的结构 P16380C51的中断系统有5个中断源(8052有 6个) ,2个优先级,可实现二级中断嵌套 。,1、(P3.2)可由IT0(TC

3、ON.0)选择其为低电平有效还是下降沿有效。当CPU检测到P3.2引脚上出现有效的中断信号时,中断标志IE0(TCON.1)置1,向CPU申请中断。,2、(P3.3)可由IT1(TCON.2)选择其为低电平有效还是下降沿有效。当CPU检测到P3.3引脚上出现有效的中断信号时,中断标志IE1(TCON.3)置1,向CPU申请中断。,3、TF0(TCON.5),片内定时/计数器T0溢出中断请求标志。当定时/计数器T0发生溢出时,置位TF0,并向CPU申请中断。,4、TF1(TCON.7),片内定时/计数器T1溢出中断请求标志。当定时/计数器T1发生溢出时,置位TF1,并向CPU申请中断。,5、RI

4、(SCON.0)或TI(SCON.1),串行口中断请求标志。当串行口接收完一帧串行数据时置位RI或当串行口发送完一帧串行数据时置位TI,向CPU申请中断。,二、中断请求标志 1、TCON的中断标志,IT0(TCON.0),外部中断0触发方式控制位。 当IT0=0时,为电平触发方式。 当IT0=1时,为边沿触发方式(下降沿有效)。 IE0(TCON.1),外部中断0中断请求标志位。 IT1(TCON.2),外部中断1触发方式控制位。 IE1(TCON.3),外部中断1中断请求标志位。 TF0(TCON.5),定时/计数器T0溢出中断请求标志位。 TF1(TCON.7),定时/计数器T1溢出中断请

5、求标志位。,2、SCON的中断标志,RI(SCON.0),串行口接收中断标志位。当允许串行口接收数据时,每接收完一个串行帧,由硬件置位RI。注意,RI必须由软件清除。 TI(SCON.1),串行口发送中断标志位。当CPU将一个发送数据写入串行口发送缓冲器时,就启动了发送过程。每发送完一个串行帧,由硬件置位TI。CPU响应中断时,不能自动清除TI,TI必须由软件清除。,一、中断允许控制CPU对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器IE控制的。,5.1.3 80C51中断的控制,EX0(IE.0),外部中断0允许位; ET0(IE.1),定时/计数器T0中断允许位; EX1(

6、IE.2),外部中断0允许位; ET1(IE.3),定时/计数器T1中断允许位; ES(IE.4),串行口中断允许位; EA (IE.7), CPU中断允许(总允许)位。,二、中断优先级控制80C51单片机有两个中断优先级,即可实现二级中断服务嵌套。每个中断源的中断优先级都是由中断优先级寄存器IP中的相应位的状态来规定的 。,PX0(IP.0),外部中断0优先级设定位; PT0(IP.1),定时/计数器T0优先级设定位; PX1(IP.2),外部中断0优先级设定位; PT1(IP.3),定时/计数器T1优先级设定位; PS (IP.4),串行口优先级设定位; PT2 (IP.5) ,定时/计数

7、器T2优先级设定位。,PX0(IPH.0),外部中断0优先级设定位; PT0(IPH.1),定时/计数器T0优先级设定位; PX1(IPH.2),外部中断0优先级设定位; PT1(IPH.3),定时/计数器T1优先级设定位; PS (IPH.4),串行口优先级设定位; PT2 (IPH.5) ,定时/计数器T2优先级设定位。,而80C52单片机有四个中断优先级,即可实现四级中断服务嵌套。每个中断源的中断优先级由中断优先级寄存器IP和IPH中的相应位的状态来规定的 。,同一优先级中的中断申请不止一个时,则有中断优先权排队问题。同一优先级的中断优先权排队,由中断系统硬件确定的自然优先级形成,其排列

8、如所示:,设置52单片机的4个中断源,使他们的优顺序为T1,INT1,INT0,T0.,IPH = 0X08; PT1 = 1;,IP = 0X40; PX1 = 1;,80C51单片机的中断优先级有三条原则:,CPU同时接收到几个中断时,首先响应优先级别最高的中断请求。 正在进行的中断过程不能被新的同级或低优先级的中断请求所中断。 正在进行的低优先级中断服务,能被高优先级中断请求所中断。,为了实现上述后两条原则,中断系统内部设有两个用户不能寻址的优先级状态触发器。其中一个置1,表示正在响应高优先级的中断,它将阻断后来所有的中断请求;另一个置1,表示正在响应低优先级中断,它将阻断后来所有的低优

9、先级中断请求。,5.2 80C51单片机中断处理过程 P162,中断响应条件中断源有中断请求;此中断源的中断允许位为1;CPU开中断(即EA=1)。 以上三条同时满足时,CPU才有可能响应中断。,5.2.1 中断响应条件和时间,中断服务程序 P98,函数名()interrupt n using m 函数内部实现 . ,I/O口定义,n:5个中断号 using m:单片机的4组寄存器:可省,5.3 80C51的定时/计数器 P127,实现定时功能,比较方便的办法是利用单片机内部的定时/计数器。也可以采用下面三种方法:,软件定时:软件定时不占用硬件资源,但占用了CPU时间,降低了CPU的利用率。

10、采用时基电路定时:例如采用555电路,外接必要的元器件(电阻和电容),即可构成硬件定时电路。但在硬件连接好以后,定时值与定时范围不能由软件进行控制和修改,即不可编程。 采用可编程芯片定时:这种定时芯片的定时值及定时范围很容易用软件来确定和修改,此种芯片定时功能强,使用灵活。在单片机的定时/计数器不够用时,可以考虑进行扩展。,一、定时/计数器的功能,在特殊功能寄存器TMOD中,有一个控制位(CT),分别用于控制定时/计数器工作在定时器方式还是计数器方式。,1. 定时功能-计数输入信号是内部时钟脉冲,每个机器周期使技数器的值加1。,2. 计数功能-计数脉冲来自相应的外部输入引脚,T0为P3.4,T

11、1为P3.5。,定时/计数器的核心部件是二进制加1计数器(TH0、TL0或TH1、TL1) 。,设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。计数值N乘以机器周期Tcy就是定时时间t 。,设置为计数器模式时,外部事件计数脉冲由T0或T1引脚输入到计数器。在每个机器周期的S5P2期间采样T0、T1引脚电平。当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器。由于检测一个从1到0的下降沿需要2个机器周期,因此要求被采样的电平至少要维持一个机器周期。当晶振

12、频率为12MHz时,最高计数频率不超过1/2MHz,即计数脉冲的周期要大于2 s。,定时器/计数器的控制主要是通过以下几个寄存器实现的: TCON-定时器/计数器控制寄存器 TMOD-定时器/计数器工作方式控制寄存器 IE -中断允许控制寄存器,5.3.2 定时/计数器的控制,TMOD用于设置其工作方式;TCON用于控制其启动和中断申请。 一、工作方式寄存器TMOD工作方式寄存器TMOD用于设置定时/计数器的工作方式,低四位用于T0,高四位用于T1。其格式如下:,GATE:门控位。GATE0时,只要用软件使TCON中的TR0或TR1为1,就可以启动定时/计数器工作;GATA1时,要用软件使TR

13、0或TR1为1,同时外部中断引脚或也为高电平时,才能启动定时/计数器工作。即此时定时器的启动多了一条件。:定时/计数模式选择位。 0为定时模式; =1为计数模式。 M1M0:工作方式设置位。定时/计数器有四种工作方式,由M1M0进行设置。,二、控制寄存器TCON,中断请求标志,触发方式选择,启动定时/计数器,0 低电平1 下降沿,0 停止 1 启动,TCON的低4位用于控制外部中断,已在前面介绍。TCON的高4位用于控制定时/计数器的启动和中断申请。其格式如下:,TF1(TCON.7):T1溢出中断请求标志位。T1计数溢出时由硬件自动置TF1为1。CPU响应中断后TF1由硬件自动清0。T1工作

14、时,CPU可随时查询TF1的状态。所以,TF1可用作查询测试的标志。TF1也可以用软件置1或清0,同硬件置1或清0的效果一样。 TR1(TCON.6):T1运行控制位。TR1置1时,T1开始工作;TR1置0时,T1停止工作。TR1由软件置1或清0。所以,用软件可控制定时/计数器的启动与停止。 TF0(TCON.5):T0溢出中断请求标志位,其功能与TF1类同。 TR0(TCON.4):T0运行控制位,其功能与TR1类同。,定时/计数器的4种工作方式,M1M0 (TMOD)工作模式选择位(编程可决定四种工作模式) 0 0 13位定时/计数器 模式0 0 1 16位定时/计数器 模式10 8 位定

15、时/计数器(自动重装初值) 模式2 1 1 T0 8位定时/计数 模式3 1 1 T1 停止工作 模式3,1)工作方式0-13位方式,T0的等效逻辑结构,计数脉冲输入,13位计数器,定时器,计数器,计数个数与计数初值的关系为:X=213-N,在计数工作方式下,计数器的计数值范围是:18192(2的13方)当为定时工作方式时,定时时间的计算公式为:( 8192 -计数初值)晶振周期12 或 ( 8192 -计数初值)机器周期 其时间单位与晶振周期或机器周期相同。如果单片机的晶振选为12.000MHz,则最小定时时间为:8192(81921)1/1210-612=210-6(s)=1(us) 最长

16、定时时间为:(81920)1/1210-612=1638410-6(s)=8192(us)。,二、方式1 -16位方式 方式1的计数位数是16位,由TL0作为低8位、TH0作为高8位,组成了16位加1计数器 。,计数个数与计数初值的关系为:,在工作方式1下,计数器的计数值范围是:165536(2的16方)当为定时工作方式1时,定时时间的计算公式为:(65536计数初值) 晶振周期12 或 (65536计数初值) 机器周期 其时间单位与晶振周期或机器周期相同。如果单片机的晶振选为12.000MHz,则最小定时时间为:65536(655361)1/1210-612=110-6(s)=1(us) 最长定时时间为:(655360)1/1210-612=13107210-6(s)=65536(us)。,

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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