中断系统与定时器课件.ppt

上传人(卖家):三亚风情 文档编号:3358951 上传时间:2022-08-23 格式:PPT 页数:43 大小:833.50KB
下载 相关 举报
中断系统与定时器课件.ppt_第1页
第1页 / 共43页
中断系统与定时器课件.ppt_第2页
第2页 / 共43页
中断系统与定时器课件.ppt_第3页
第3页 / 共43页
中断系统与定时器课件.ppt_第4页
第4页 / 共43页
中断系统与定时器课件.ppt_第5页
第5页 / 共43页
点击查看更多>>
资源描述

1、12022-8-105.1 80C51的中断系统 一、中断的概念一、中断的概念 CPU在处理某一事件在处理某一事件A时,发生了另一时,发生了另一事件事件B请求请求 CPU迅速去处理(迅速去处理(中断发中断发生生););CPU暂时中断当前的工作,转去处理事暂时中断当前的工作,转去处理事件件B(中断响应和中断服务中断响应和中断服务););待待CPU将事件将事件B处理完毕后,再回到原处理完毕后,再回到原来事件来事件A被中断的地方继续处理事件被中断的地方继续处理事件A(中断返回中断返回),这一过程称为),这一过程称为中断中断。5.1.1 80C51的中断系统结构的中断系统结构22022-8-105.1

2、.1 80C51的中断系统结构的中断系统结构 引起引起CPU中断的根源,称为中断的根源,称为中断源中断源。中断源向。中断源向CPU提出的中断请求。提出的中断请求。CPU暂时中断原来的事务暂时中断原来的事务A,转去处理事件,转去处理事件B。对事件。对事件B处理完毕后,再处理完毕后,再回到原来被中断的地方(即回到原来被中断的地方(即断点断点),称为中断返回。实现上述中断功能),称为中断返回。实现上述中断功能的部件称为的部件称为中断系统中断系统(中断机构)。(中断机构)。32022-8-105.1.1 80C51的中断系统结构的中断系统结构随着计算机技术的应用,人们发现中断技术不仅解决了快速主随着计

3、算机技术的应用,人们发现中断技术不仅解决了快速主机与慢速机与慢速I/O设备的数据传送问题,而且还具有如下优点:设备的数据传送问题,而且还具有如下优点:v分时操作分时操作 CPU可以分时为多个可以分时为多个I/O设备服务,提高了计算机的利用率;设备服务,提高了计算机的利用率;v实时响应实时响应 CPU能够及时处理应用系统的随机事件,系统的实时性大大能够及时处理应用系统的随机事件,系统的实时性大大增强;增强;v可靠性高可靠性高 CPU具有处理设备故障及掉电等突发性事件能力,从而使系具有处理设备故障及掉电等突发性事件能力,从而使系统可靠性提高。统可靠性提高。42022-8-105.1.1 80C51

4、的中断系统结构的中断系统结构二、二、80C51中断系统的结构中断系统的结构 80C51的中的中断系统有断系统有5个中断源,个中断源,2个优先级,可实个优先级,可实现二级中断嵌套现二级中断嵌套。52022-8-105.1.2 80C51的中断源的中断源 一、中断源一、中断源 1、/INT0(P3.2)。可由)。可由IT0(TCON.0)选择其为低电平有效还是下降沿有效。当选择其为低电平有效还是下降沿有效。当CPU检测到检测到P3.2引脚上出现有效的中断信号时,中断标志引脚上出现有效的中断信号时,中断标志IE0(TCON.1)置置1,向,向CPU申请中断申请中断2、/INT1(P3.3)。可由)。

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

6、标志。当定时溢出中断请求标志。当定时/计数器计数器T1发生溢出时,置位发生溢出时,置位TF1,并向,并向CPU申请中断。申请中断。5、RI(SCON.0)或)或TI(SCON.1),串行口中断请求标志。当串行),串行口中断请求标志。当串行口接收完一帧串行数据时置位口接收完一帧串行数据时置位RI或当串行口发送完一帧串行数据时或当串行口发送完一帧串行数据时置位置位TI,向,向CPU申请中断。申请中断。72022-8-105.1.2 80C51的中断源的中断源vIT0(TCON.0),外部中断),外部中断0触发方式控制位。触发方式控制位。当当IT0=0时,为电平触发方式。时,为电平触发方式。当当IT

7、0=1时,为边沿触发方式(下降沿有效)。时,为边沿触发方式(下降沿有效)。vIE0(TCON.1),外部中断),外部中断0中断请求标志位。中断请求标志位。vIT1(TCON.2),外部中断),外部中断1触发方式控制位。触发方式控制位。vIE1(TCON.3),外部中断),外部中断1中断请求标志位。中断请求标志位。vTF0(TCON.5),定时),定时/计数器计数器T0溢出中断请求标志位。溢出中断请求标志位。vTF1(TCON.7),定时),定时/计数器计数器T1溢出中断请求标志位。溢出中断请求标志位。1、TCON的中断标志的中断标志 二、中断请求标志二、中断请求标志 82022-8-105.1

8、.2 80C51的中断源的中断源vRI(SCON.0),串行口接收中断标志位。当允许串行口接收数),串行口接收中断标志位。当允许串行口接收数据时,每接收完一个串行帧,由硬件置位据时,每接收完一个串行帧,由硬件置位RI。同样,。同样,RI必须由软必须由软件清除。件清除。vTI(SCON.1),串行口发送中断标志位。当),串行口发送中断标志位。当CPU将一个发送数将一个发送数据写入串行口发送缓冲器时,就启动了发送过程。每发送完一个据写入串行口发送缓冲器时,就启动了发送过程。每发送完一个串行帧,由硬件置位串行帧,由硬件置位TI。CPU响应中断时,不能自动清除响应中断时,不能自动清除TI,TI必须由软

9、件清除。必须由软件清除。2、SCON的中断标志的中断标志 92022-8-105.1.3 80C51中断的控制中断的控制 CPU对中断系统所有中断以及某个中断对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器源的开放和屏蔽是由中断允许寄存器IE控制的。控制的。一、中断允许控制一、中断允许控制EX0(IE.0),外部中断,外部中断0允许位;允许位;ET0(IE.1),定时,定时/计数器计数器T0中断允许位;中断允许位;EX1(IE.2),外部中断,外部中断0允许位;允许位;ET1(IE.3),定时,定时/计数器计数器T1中断允许位;中断允许位;ES(IE.4),串行口中断允许位;,串

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

11、),外部中断),外部中断0优先级设定位;优先级设定位;PT1(IP.3),定时),定时/计数器计数器T1优先级设定位;优先级设定位;PS(IP.4),串行口优先级设定位。),串行口优先级设定位。112022-8-105.1.3 80C51中断的控制中断的控制同一优先级中的中断申请不止一个时,则有中断优先权排队问题。同一优先级的中断优先权排队,由中断系统硬件确定的自然优先级形成,其排列如所示:同一优先级中的中断申请不止一个时,则有中断优先权排队问题。同一优先级的中断优先权排队,由中断系统硬件确定的自然优先级形成,其排列如所示:中断源优先级和中断程序入口 122022-8-105.1.3 80C5

12、1中断的控制中断的控制80C51单片机的中断优先级有三条原则:单片机的中断优先级有三条原则:lCPU同时接收到几个中断时,同时接收到几个中断时,首先响应优先级别最高的中断请求首先响应优先级别最高的中断请求。l正在进行的中断过程正在进行的中断过程不能被新的同级或低优先级的中断请求所中断不能被新的同级或低优先级的中断请求所中断。l正在进行的低优先级中断服务,正在进行的低优先级中断服务,能被高优先级中断请求所中断能被高优先级中断请求所中断。为了实现上述后两条原则,为了实现上述后两条原则,中断系统内部设有两个用户不能寻址的优中断系统内部设有两个用户不能寻址的优先级状态触发器先级状态触发器。其中一个置其

13、中一个置1,表示正在响应高优先级的中断,它将阻,表示正在响应高优先级的中断,它将阻断后来所有的中断请求;另一个置断后来所有的中断请求;另一个置1,表示正在响应低优先级中断,它将,表示正在响应低优先级中断,它将阻断后来所有的低优先级中断请求。阻断后来所有的低优先级中断请求。132022-8-105.2 80C51单片机中断处理过程 5.2.1 中断响应条件和时间中断响应条件和时间 一、中断响应条件一、中断响应条件 l 中断源有中断请求中断源有中断请求l此中断源的中断允许位为此中断源的中断允许位为1l CPU开中断(即开中断(即EA=1)同时满足时,同时满足时,CPU才有可能响应中断。才有可能响应

14、中断。142022-8-105.2.1 中断响应条件和时间中断响应条件和时间中断服务的进入:中断服务的进入:CPU执行程序过程中,在每个机器周期的执行程序过程中,在每个机器周期的S5P2期间,中断系统对各个中断源进行采样。期间,中断系统对各个中断源进行采样。这些采样值在下一个机器周期内按优先级和内部顺序被依次查询。这些采样值在下一个机器周期内按优先级和内部顺序被依次查询。如果某个中断标志在上一个机器周期的如果某个中断标志在上一个机器周期的S5P2时被置成了时被置成了1,那么它将于现在的查询周期中及时被发现。接着,那么它将于现在的查询周期中及时被发现。接着CPU便执行一条由中断系统提供的硬件便执

15、行一条由中断系统提供的硬件LCALL指令,转向被称作中断向量的特定地址单元,进入相应的中断服务程序。指令,转向被称作中断向量的特定地址单元,进入相应的中断服务程序。152022-8-105.2.1 中断响应条件和时间中断响应条件和时间遇以下任一条件,硬件将受阻,不产生遇以下任一条件,硬件将受阻,不产生LCALL指令:指令:CPU正在处理同级或高正在处理同级或高优先级中断;优先级中断;当前查询当前查询的机器周期的机器周期不是所执行指令的最后一个机器周期不是所执行指令的最后一个机器周期。即在完成所执行指令前,不会响应中断,从而保证指令在执行过程中不被打断;。即在完成所执行指令前,不会响应中断,从而

16、保证指令在执行过程中不被打断;正在执行正在执行的指令为的指令为RET、RETI或任何访问或任何访问IE或或IP寄存器的指令。即只有在这些指令后面至少再执行一条指令时才能接受中断请求。寄存器的指令。即只有在这些指令后面至少再执行一条指令时才能接受中断请求。若由于上述条件的阻碍中断未能得到响应,当条件消失时该中断标志却已不再有效,那么该中断将不被响应。就是说,中断标志曾经有效,但未获响应,查询过程在下个机器周期将重新进行。若由于上述条件的阻碍中断未能得到响应,当条件消失时该中断标志却已不再有效,那么该中断将不被响应。就是说,中断标志曾经有效,但未获响应,查询过程在下个机器周期将重新进行。16202

17、2-8-105.2.1 中断响应条件和时间中断响应条件和时间二、中断响应时间二、中断响应时间 若若M1周期的周期的S5P2前某中断生效,在前某中断生效,在S5P2期间其中断请求被锁存到相应的期间其中断请求被锁存到相应的标志位中去;标志位中去;M2恰逢指令的最后一个机器周期,且该指令不是恰逢指令的最后一个机器周期,且该指令不是RETI或访或访问问IE、IP的指令。于是,的指令。于是,M3和和M4便可以执行硬件便可以执行硬件LCALL指令,指令,M5周期周期将进入了中断服务程序。将进入了中断服务程序。80C51的中断响应时间(从标志置的中断响应时间(从标志置1到进入相应的中断服务),至少要到进入相

18、应的中断服务),至少要3个个完整的机器周期。完整的机器周期。172022-8-105.2.2 中断响应过程中断响应过程 v将相应的优先级状态触发器置将相应的优先级状态触发器置1(以阻断(以阻断后来的同级或低级的中断请求)。后来的同级或低级的中断请求)。v执行一条硬件执行一条硬件LCALL指令,即把程序计指令,即把程序计数器数器PC的内容压入堆栈保存,再将相应的内容压入堆栈保存,再将相应的中断服务程序的入口地址送入的中断服务程序的入口地址送入PC。v执行中断服务程序。执行中断服务程序。中断响应过程的前两步是由中断系统内部自动完成的,而中断服务程序则要由用户编写程序来完成。中断响应过程的前两步是由

19、中断系统内部自动完成的,而中断服务程序则要由用户编写程序来完成。182022-8-105.2.3 中断返回中断返回 v将中断响应时压入堆栈保存的断点地址将中断响应时压入堆栈保存的断点地址从栈顶弹出送回从栈顶弹出送回PC,CPU从原来中断的从原来中断的地方继续执行程序;地方继续执行程序;v 将相应中断优先级状态触发器清将相应中断优先级状态触发器清0,通,通知中断系统,中断服务程序已执行完毕。知中断系统,中断服务程序已执行完毕。RETI指令的具体功能是:指令的具体功能是:注意,不能用注意,不能用RET指令代替指令代替RETI指令。在中断服务程序中指令。在中断服务程序中PUSH指令与指令与POP指令

20、必须成对使用,否则不能正确返回断点指令必须成对使用,否则不能正确返回断点 。192022-8-105.2.3 中断返回中断返回若外部中断定义为若外部中断定义为电平触发方式电平触发方式,中断标志位的状态随,中断标志位的状态随CPU在每个机器周期采样到的外部中断输入引脚的电平变化而变化,这样能提高在每个机器周期采样到的外部中断输入引脚的电平变化而变化,这样能提高CPU对外部中断请求的响应速度。但外部中断源若有请求,必须把有效的对外部中断请求的响应速度。但外部中断源若有请求,必须把有效的低电平保持到请求获得响应时为止低电平保持到请求获得响应时为止,不然就会漏掉;,不然就会漏掉;而在中断服务程序结束之

21、前,中断源又必须撤消其有效的低电平而在中断服务程序结束之前,中断源又必须撤消其有效的低电平,否则中断返回之后将再次产生中断。,否则中断返回之后将再次产生中断。电平触发方式适合于外部中断输入以低电平输入且中断服务程序能清除外部中断请求源的情况。例如,并行接口芯片电平触发方式适合于外部中断输入以低电平输入且中断服务程序能清除外部中断请求源的情况。例如,并行接口芯片8255的中断请求线在接受读或写操作后即被复位,因此,以其去请求电平触发方式的中断比较方便。的中断请求线在接受读或写操作后即被复位,因此,以其去请求电平触发方式的中断比较方便。202022-8-105.2.3 中断返回中断返回若外部中断定

22、义为若外部中断定义为边沿触发边沿触发方式,在相继连续的两次采样中,一个周期采样到外部中断输入为高电平,下一个周期采样到为低电平,则在方式,在相继连续的两次采样中,一个周期采样到外部中断输入为高电平,下一个周期采样到为低电平,则在IE0或或IE1中将锁存一个逻辑中将锁存一个逻辑1。即便是。即便是CPU暂时不能响应,中断申请标志也不会丢失,直到暂时不能响应,中断申请标志也不会丢失,直到CPU响应此中断时才清零。这样,为保证下降沿能被可靠地采样到,响应此中断时才清零。这样,为保证下降沿能被可靠地采样到,外中断引脚上的高低电平(负脉冲的宽度)均至少要保持一个机器周期外中断引脚上的高低电平(负脉冲的宽度

23、)均至少要保持一个机器周期(若晶振为(若晶振为12MHz时,为时,为1微秒)。微秒)。边沿触发方式适合于以负脉冲形式输入的外部中断请求,如边沿触发方式适合于以负脉冲形式输入的外部中断请求,如ADC0809的转换结束标志信号的转换结束标志信号EOC为正脉冲,经反相后就可以作为为正脉冲,经反相后就可以作为80C51的中断输入。的中断输入。212022-8-105.2.4 中断程序举例中断程序举例 222022-8-105.2.4 中断程序举例中断程序举例ORG 0000H START:LJMP MAIN ;跳转到主程序;跳转到主程序 ORG 0003H LJMP INTO ;转向中断服务程序;转向

24、中断服务程序 ORG 0030H ;主程序;主程序 MAIN:CLR IT0 ;设为电平触发方式;设为电平触发方式 SETB EA ;CPU开放中断开放中断 SETB EX0 ;允许中断;允许中断 MOV DPTR,#1000H;设置数据区地址指针;设置数据区地址指针 ORG 0200H ;中断服务程序;中断服务程序 INT0:PUSH PSW ;保护现场;保护现场 PUSH ACC CLR P3.0 ;由;由P3.0输出输出0 NOP NOP SETB P3.0 ;由;由P3.0输出输出1,撤除,撤除 MOV A,P1 ;输入数据;输入数据 MOVX DPTR,A ;存入数据存储器;存入数据

25、存储器 INC DPTR ;修改数据指针,指向下一个单元;修改数据指针,指向下一个单元 POP ACC ;恢复现场;恢复现场 POP PSW RETI ;中断返回;中断返回232022-8-105.2.4 中断程序举例中断程序举例#include“reg51.h”sbit P3_0=P30;#define datBuf XBYTE0 x1000unsigned char point;void myfun(void)interrupt 0 using 2 P3_0=0;P3_0=1;datBufpoint+=P1;main()IT0=0;/设为电平触发方式 EA=1;/CPU开放中断 EX0=1

26、;/允许中断point=0;for(;);242022-8-105.2.4 中断程序举例中断程序举例例例 多外部中断源的系统示例。多外部中断源的系统示例。设有设有5个外部中断源,中断优先级排队顺序为:个外部中断源,中断优先级排队顺序为:XI0、XI1、XI2、XI3、XI4。试设计它们与。试设计它们与80C51单片机的接口。单片机的接口。252022-8-105.2.4 中断程序举例中断程序举例#include“reg51.h”sbit XI1=P10;sbit XI2=P11;sbit XI3=P12;sbit XI4=P13;void myfun1(void)interrupt 0 usi

27、ng 2void myfun2(void)interrupt 2 using 3If(XI1);else if(XI2);else if(XI3);else if(XI4);262022-8-105.3 80C51的定时/计数器 实现定时功能,比较方便的办法是利用单片机内部的定时实现定时功能,比较方便的办法是利用单片机内部的定时/计数器。也可以采用下计数器。也可以采用下面三种方法:面三种方法:软件定时软件定时 软件定时不占用硬件资源,但占用了软件定时不占用硬件资源,但占用了CPU时间,降低了时间,降低了CPU的利用率。的利用率。采用时基电路定时采用时基电路定时 例如采用例如采用555电路,外接

28、必要的元器件(电阻和电容),即可构成硬件定时电路。但电路,外接必要的元器件(电阻和电容),即可构成硬件定时电路。但在硬件连接好以后,定时值与定时范围不能由软件进行控制和修改,即不可编程。在硬件连接好以后,定时值与定时范围不能由软件进行控制和修改,即不可编程。采用可编程芯片定时采用可编程芯片定时 这种定时芯片的定时值及定时范围很容易用软件来确定和修改,此种芯片定时功能强,这种定时芯片的定时值及定时范围很容易用软件来确定和修改,此种芯片定时功能强,使用灵活。在单片机的定时使用灵活。在单片机的定时/计数器不够用时,可以考虑进行扩展。计数器不够用时,可以考虑进行扩展。272022-8-105.3.1

29、定时定时/计数器的结构和工作原理计数器的结构和工作原理一、定时一、定时/计数器的结构计数器的结构 定时定时/计数器的实质是加计数器的实质是加1计数器(计数器(16位),由高位),由高8位和低位和低8位两个寄存器位两个寄存器组成。组成。TMOD是定时是定时/计数器的工作方式寄存器,确定工作方式和功能;计数器的工作方式寄存器,确定工作方式和功能;TCON是控制寄存器,控制是控制寄存器,控制T0、T1的启动和停止及设置溢出标志的启动和停止及设置溢出标志。282022-8-105.3.1 定时定时/计数器的结构和工作原理计数器的结构和工作原理 加1计数器输入的计数脉冲有两个来源,一个是由系统的时钟振荡

30、器输出脉冲经12分频后送来;一个是T0或T1引脚输入的外部脉冲源。每来一个脉冲计数器加1,当加到计数器为全1时,再输入一个脉冲就使计数器回零,且计数器的溢出使TCON中TF0或TF1置1,向CPU发出中断请求(定时/计数器中断允许时)。如果定时/计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示计数值已满。可见,由溢出时计数器的值减去计数初值才是加1计数器的计数值。二、定时二、定时/计数器的工作原理计数器的工作原理 292022-8-10v设置为定时器模式时设置为定时器模式时,加,加1计数器是对内部机器周期计数计数器是对内部机器周期计数(1个机器周期等于个机器周期等于12个振

31、荡周期,即计数频率为晶振频个振荡周期,即计数频率为晶振频率的率的1/12)。)。计数值计数值N乘以机器周期乘以机器周期Tcy就是定时时间就是定时时间t。v设置为设置为计数器模式计数器模式时,外部事件计数脉冲由时,外部事件计数脉冲由T0或或T1引脚输引脚输入到计数器。在每个机器周期的入到计数器。在每个机器周期的S5P2期间采样期间采样T0、T1引引脚电平。当某周期采样到一高电平输入,而下一周期又采脚电平。当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加样到一低电平时,则计数器加1,更新的计数值在下一个机,更新的计数值在下一个机器周期的器周期的S3P1期间装入计数器。由于检测一

32、个从期间装入计数器。由于检测一个从1到到0的下的下降沿需要降沿需要2个机器周期,因此要求被采样的电平至少要维持个机器周期,因此要求被采样的电平至少要维持一个机器周期。当晶振频率为一个机器周期。当晶振频率为12MHz时,最高计数频率不时,最高计数频率不超过超过1/2MHz,即计数脉冲的周期要大于,即计数脉冲的周期要大于2 s。302022-8-105.3.2 定时定时/计数器的控制计数器的控制 80C51单片机定时单片机定时/计数器的工作由两个特殊功能寄存器控制。计数器的工作由两个特殊功能寄存器控制。TMOD用于设置其工作方式;用于设置其工作方式;TCON用于控制其启动和中断申请。用于控制其启动

33、和中断申请。一、工作方式寄存器一、工作方式寄存器TMOD 工作方式寄存器工作方式寄存器TMOD用于设置定时用于设置定时/计数器的工作方式,低四位用于计数器的工作方式,低四位用于T0,高四位用于,高四位用于T1。其格式如下:。其格式如下:312022-8-105.3.2 定时定时/计数器的控制计数器的控制 GATE:门控位。GATE0时,只要用软件使TCON中的TR0或TR1为1,就可以启动定时/计数器工作;GATA1时,要用软件使TR0或TR1为1,同时外部中断引脚或也为高电平时,才能启动定时/计数器工作。即此时定时器的启动条件,加上了或引脚为高电平这一条件。:定时定时/计数模式选择位。计数模

34、式选择位。=0为定时模式为定时模式=1为计数模式。为计数模式。M1M0:工作方式设置位。定时/计数器有四种工作方式,由M1M0进行设置。322022-8-105.3.2 定时定时/计数器的控制计数器的控制vTF1(TCON.7):):T1溢出中断请求标志位。溢出中断请求标志位。T1计数溢出时由硬件自动计数溢出时由硬件自动置置TF1为为1。CPU响应中断后响应中断后TF1由硬件自动清由硬件自动清0。T1工作时,工作时,CPU可随可随时查询时查询TF1的状态。所以,的状态。所以,TF1可用作查询测试的标志。可用作查询测试的标志。TF1也可以用软也可以用软件置件置1或清或清0,同硬件置,同硬件置1或

35、清或清0的效果一样。的效果一样。vTR1(TCON.6):):T1运行控制位。运行控制位。TR1置置1时,时,T1开始工作;开始工作;TR1置置0时,时,T1停止工作。停止工作。TR1由软件置由软件置1或清或清0。所以,用软件可控制定时。所以,用软件可控制定时/计数计数器的启动与停止。器的启动与停止。vTF0(TCON.5):):T0溢出中断请求标志位,其功能与溢出中断请求标志位,其功能与TF1类同。类同。vTR0(TCON.4):):T0运行控制位,其功能与运行控制位,其功能与TR1类同。类同。二、控制寄存器二、控制寄存器TCON TCON的低的低4位用于控制外部中断位用于控制外部中断,已在

36、前面介绍。已在前面介绍。TCON的高的高4位用位用于控制定时于控制定时/计数器的启动和中断申请。其格式如下:计数器的启动和中断申请。其格式如下:332022-8-105.3.3 定时定时/计数器的工作方式计数器的工作方式 方式方式0为为13位计数,由位计数,由TL0的低的低5位(高位(高3位未用)和位未用)和TH0的的8位组成。位组成。TL0的低的低5位溢出时向位溢出时向TH0进位,进位,TH0溢出时,置位溢出时,置位TCON中的中的TF0标志,向标志,向CPU发出中断请求。发出中断请求。一、方式一、方式0 342022-8-105.3.3 定时定时/计数器的工作方式计数器的工作方式v定时器模

37、式时有定时器模式时有:Nt/Tcy v计数初值计算的公式为:计数初值计算的公式为:定时器的初值还可以采用计数个数直接取补法获得。定时器的初值还可以采用计数个数直接取补法获得。计数模式时,计数脉冲是计数模式时,计数脉冲是T0引脚上的外部脉冲。引脚上的外部脉冲。门控位门控位GATE具有特殊的作用。当具有特殊的作用。当GATE=0时,经反相后使时,经反相后使 或门输或门输出为出为1,此时仅由,此时仅由TR0控制与门的开启,与门输出控制与门的开启,与门输出1 时,控制开关接时,控制开关接通,计数开始;当通,计数开始;当GATE=1时,由外中断引脚信号控制或门的输出,时,由外中断引脚信号控制或门的输出,

38、此时控制与门的开启由外中断引脚信号和此时控制与门的开启由外中断引脚信号和TR0共同控制。当共同控制。当TR0=1时,外中断引脚信号引脚的高电平启动计数,外中断引脚信号引脚时,外中断引脚信号引脚的高电平启动计数,外中断引脚信号引脚的低电平停止计数。这种方式常用来测量外中断引脚上正脉冲的宽的低电平停止计数。这种方式常用来测量外中断引脚上正脉冲的宽度。度。352022-8-105.3.3 定时定时/计数器的工作方式计数器的工作方式 方式方式1的计数位数是的计数位数是16位,由位,由TL0作为低作为低8位、位、TH0作为高作为高8位,组成了位,组成了16位加位加1计数器计数器。计数个数与计数初值的关系

39、为:计数个数与计数初值的关系为:二、方式二、方式1 362022-8-105.3.3 定时定时/计数器的工作方式计数器的工作方式方式方式2为自动重装初值的为自动重装初值的8位计数方式。位计数方式。计数个数与计数初值的关系为:计数个数与计数初值的关系为:三、方式三、方式2 工作方式2特别适合于用作较精确的脉冲信号发生器。372022-8-105.3.3 定时定时/计数器的工作方式计数器的工作方式 方式方式3只适用于定时只适用于定时/计数器计数器T0,定时器,定时器T1处于方式处于方式3时相当于时相当于TR1=0,停止计数。停止计数。四、方式四、方式3 工作方式工作方式3将将T0分成为两个独立的分

40、成为两个独立的8位计数器位计数器TL0和和TH0。382022-8-105.3.4 定时定时/计数器用于外部中断扩展计数器用于外部中断扩展 v扩展方法是,将定时扩展方法是,将定时/计数器设置为计数器方式,计数初值设定为满程,计数器设置为计数器方式,计数初值设定为满程,将待扩展的外部中断源接到定时将待扩展的外部中断源接到定时/计数器的外部计数引脚。从该引脚输入计数器的外部计数引脚。从该引脚输入一个下降沿信号,计数器加一个下降沿信号,计数器加1后便产生定时后便产生定时/计数器溢出中断。计数器溢出中断。例如,利用例如,利用T0扩展一个外部中断源。将扩展一个外部中断源。将T0设置为计数器方式,按方式设

41、置为计数器方式,按方式2工作,工作,TH0、TL0的初值均为的初值均为0FFH,T0允许中断,允许中断,CPU开放中断。其初始化程序如下:开放中断。其初始化程序如下:MOV TMOD,#06H ;置;置T0为计数器方式为计数器方式2 MOV TL0,#0FFH ;置计数初值;置计数初值 MOV TH0,#0FFH SETB TR0 ;启动;启动T0工作工作 SETB EA ;CPU开中断开中断 SETB ET0 ;允许;允许T0中断中断392022-8-105.3.5 定时定时/计数器应用举例计数器应用举例 初始化程序应完成如下工作:初始化程序应完成如下工作:v对对TMOD赋值,以确定赋值,以

42、确定T0和和T1的工作方式。的工作方式。v计算初值计算初值,并将其写入并将其写入TH0、TL0或或TH1、TL1。v中断方式时,则对中断方式时,则对IE赋值,开放中断。赋值,开放中断。v使使TR0或或TR1置位,启动定时置位,启动定时/计数器定时或计数器定时或计数。计数。402022-8-105.3.5 定时定时/计数器应用举例计数器应用举例例例 利用定时利用定时/计数器计数器T0的方式的方式1,产生,产生10ms的的定时,并使定时,并使P1.0引脚上输出周期为引脚上输出周期为20ms的方的方波,采用中断方式,设系统时钟频率为波,采用中断方式,设系统时钟频率为12 MHz。解:解:1、计算计数

43、初值、计算计数初值X:由于晶振为由于晶振为12 MHz,所以机器周期,所以机器周期Tcy为为1 s。所以:所以:Nt/Tcy 10103/110610000 X655361000055536D8F0H 即应将即应将D8H送入送入TH0中,中,F0H送入送入TL0中中 2、求、求T0的方式控制字的方式控制字TMOD:M1M0=01,GATE=0,C/T=0,可取方式控制字为,可取方式控制字为01H;412022-8-105.3.5 定时定时/计数器应用举例计数器应用举例ORG 0000H LJMP MAIN ;跳转到主程序 ORG 000BH ;T0的中断入口地址 LJMP DVT0 ;转向中断

44、服务程序 ORG 0100H MAIN:MOV TMOD,#01H;置T0工作于方式1 MOV TH0,#0D8H ;装入计数初值 MOV TL0,#0F0H SETB ET0 ;T0开中断 SETB EA ;CPU开中断 SETB TR0 ;启动T0 SJMP$;等待中断 DVT0:CPL P1.0 ;P1.0取反输出 MOV TH0,#0D8H ;重新装入计数值 MOV TL0,#0F0H RETI ;中断返回 ENDsbit P1_0=P10;main()TMOD=0 x01;/置T0工作于方式1 TH0=0 xD8;/装入计数初值 TL0=0 xF0;ET0=1;/T0开中断 EA=1

45、;/CPU开中断 TR0=1;/启动T0 for(;);void timer0(void)interrupt 1 using 1 P1_0=P1_0;/P1.0取反输出 TH0=0 xD8;/重新装入计数值 TL0=0 xF0;422022-8-10思考题及习题思考题及习题 v1、80C51有几个中断源?各中断标志是如何产生的?又是如何复位的?有几个中断源?各中断标志是如何产生的?又是如何复位的?CPU响响应各中断时,其中断入口地址是多少?应各中断时,其中断入口地址是多少?v2、某系统有三个外部中断源、某系统有三个外部中断源1、2、3,当某一中断源变低电平时便要求,当某一中断源变低电平时便要求

46、CPU处处理,它们的优先处理次序由高到低为理,它们的优先处理次序由高到低为3、2、1,处理程序的入口地址分别为,处理程序的入口地址分别为2000H、2100H、2200H。试编写主程序及中断服务程序(转至相应的入口即。试编写主程序及中断服务程序(转至相应的入口即可)。可)。v3、外部中断源有电平触发和边沿触发两种触发方式,这两种触发方式所产生的、外部中断源有电平触发和边沿触发两种触发方式,这两种触发方式所产生的中断过程有何不同?怎样设定?中断过程有何不同?怎样设定?v4、定时、定时/计数器工作于定时和计数方式时有何异同点?计数器工作于定时和计数方式时有何异同点?v5、定时、定时/计数器的计数器

47、的4种工作方式各有何特点?种工作方式各有何特点?v6、要求定时、要求定时/计数器的运行控制完全由计数器的运行控制完全由TR1、TR0确定和完全由、高低电平控制确定和完全由、高低电平控制时,其初始化编程应作何处理?时,其初始化编程应作何处理?432022-8-10思考题及习题思考题及习题v7、当定时、当定时/计数器计数器T0用作方式用作方式3时,定时时,定时/计数器计数器T1可以工作在何种方式可以工作在何种方式下?如何控制下?如何控制T1的开启和关闭?的开启和关闭?v8、利用定时、利用定时/计数器计数器T0从从P1.0输出周期为输出周期为1s,脉宽为,脉宽为20ms的正脉冲信的正脉冲信号,晶振频

48、率为号,晶振频率为12MHz。试设计程序。试设计程序。v9、要求从、要求从P1.1引脚输出引脚输出1000Hz方波,晶振频率为方波,晶振频率为12MHz。试设计程序。试设计程序。v10、试用定时、试用定时/计数器计数器T1对外部事件计数。要求每计数对外部事件计数。要求每计数100,就将,就将T1改成改成定时方式,控制定时方式,控制P1.7输出一个脉宽为输出一个脉宽为10ms的正脉冲,然后又转为计数的正脉冲,然后又转为计数方式,如此反复循环。设晶振频率为方式,如此反复循环。设晶振频率为12MHz。v11、利用定时、利用定时/计数器计数器T0产生定时时钟产生定时时钟,由由P1口控制口控制8个指示灯。编一个个指示灯。编一个程序程序,使使8个指示灯依次一个一个闪动,闪动频率为个指示灯依次一个一个闪动,闪动频率为20次次/秒秒(8个灯依次亮个灯依次亮一遍为一个周期一遍为一个周期)。v12、若晶振频率为、若晶振频率为12MHz,如何用,如何用T0来测量来测量201s之间的方波周期?之间的方波周期?又如何测量频率为又如何测量频率为0.5MHz左右的脉冲频率?左右的脉冲频率?

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(中断系统与定时器课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|