1、2023-5-181 中断系统中断系统2023-5-1825.1 80C51的中断系统的中断系统 5.1.1 80C515.1.1 80C51的中断系统结构的中断系统结构一、中断的概念一、中断的概念 CPUCPU在处理某一事件在处理某一事件A A时,发生了另一事件时,发生了另一事件B B请请求求CPUCPU迅速去处理(迅速去处理(中断发生中断发生););CPUCPU暂时中断当前的工作,转去处理事件暂时中断当前的工作,转去处理事件B B(中中断响应和中断服务断响应和中断服务););待待CPUCPU将事件将事件B B处理完毕后,再回到原来事件处理完毕后,再回到原来事件A A被被中断的地方继续处理事
2、件中断的地方继续处理事件A A(中断返回中断返回),这一过),这一过程称为程称为中断中断 。2023-5-183MCS-51单片机的中断系统结构执行主程序主程序继续执行主程序断点中断请求中断响应执行中断处理程序中断返回2023-5-184引起引起CPU中断的根源,称为中断的根源,称为中断源中断源。中断源向。中断源向CPU提出提出的中断请求。的中断请求。CPU暂时中断原来的事务暂时中断原来的事务A,转去处理事件,转去处理事件B。对事件对事件B处理完毕后,再回到原来被中断的地方(即处理完毕后,再回到原来被中断的地方(即断点断点),),称为中断返回。实现上述中断功能的部件称为称为中断返回。实现上述中
3、断功能的部件称为中断系统中断系统(中(中断机构)。断机构)。2023-5-185 随着计算机技术的应用,人们发现中断技随着计算机技术的应用,人们发现中断技术不仅解决了快速主机与慢速术不仅解决了快速主机与慢速I/O设备的数据设备的数据传送问题,而且还具有如下优点:传送问题,而且还具有如下优点:v 分时操作分时操作。CPU可以分时为多个可以分时为多个I/O设备设备服务,提高了计算机的利用率;服务,提高了计算机的利用率;v实时响应实时响应。CPU能够及时处理应用系统的能够及时处理应用系统的随机事件,系统的实时性大大增强;随机事件,系统的实时性大大增强;v可靠性高可靠性高。CPU具有处理设备故障及掉电
4、具有处理设备故障及掉电等突发性事件能力,从而使系统可靠性提高。等突发性事件能力,从而使系统可靠性提高。2023-5-186二、二、80C51中断系统的结构中断系统的结构 80C51的中断系统有的中断系统有5个中断源个中断源(8052有 6个),2个优先级,可实现二级中断嵌套个优先级,可实现二级中断嵌套。2023-5-1875.1.2 80C515.1.2 80C51的中断源的中断源 一、中断源一、中断源2023-5-188 1 1、(P3.2P3.2)。可由)。可由IT0(TCON.0)IT0(TCON.0)选择其为选择其为低电平有效还是下降沿有效。当低电平有效还是下降沿有效。当CPUCPU检
5、测到检测到P3.2P3.2引脚上出现有效的中断信号 时,中 断 标 志引脚上出现有效的中断信号 时,中 断 标 志IE0(TCON.1)IE0(TCON.1)置置1 1,向,向CPUCPU申请中断。申请中断。2023-5-189 2 2、(P3.3(P3.3)。可由)。可由IT1(TCON.2)IT1(TCON.2)选择其为低电选择其为低电平有效还是下降沿有效。当平有效还是下降沿有效。当CPUCPU检测到检测到P3.3P3.3引脚引脚上出现有效的中断信号时,中断标志上出现有效的中断信号时,中断标志IE1(TCON.3)IE1(TCON.3)置置1,1,向向CPUCPU申请中断。申请中断。202
6、3-5-1810 3 3、TF0TF0(TCON.5TCON.5),片内定时),片内定时/计数器计数器T0T0溢出中断请求标志。当定时溢出中断请求标志。当定时/计数器计数器T0T0发生发生溢出时,置位溢出时,置位TF0TF0,并向,并向CPUCPU申请中断。申请中断。2023-5-1811 4 4、TF1TF1(TCON.7TCON.7),片内定时),片内定时/计数器计数器T1T1溢出中断请求标志。当定时溢出中断请求标志。当定时/计数器计数器T1T1发生发生溢出时,置位溢出时,置位TF1TF1,并向,并向CPUCPU申请中断。申请中断。2023-5-1812 5 5、RIRI(SCON.0SC
7、ON.0)或)或TITI(SCON.1SCON.1),串行口),串行口中断请求标志。当串行口接收完一帧串行数中断请求标志。当串行口接收完一帧串行数据时置位据时置位RIRI或当串行口发送完一帧串行数据或当串行口发送完一帧串行数据时置位时置位TITI,向,向CPUCPU申请中断。申请中断。2023-5-1813二、中断请求标志二、中断请求标志1、TCON的中断标志的中断标志IT0(TCON.0),外部中断),外部中断0触发方式控制位。触发方式控制位。当当IT0=0时,为电平触发方式。时,为电平触发方式。当当IT0=1时,为边沿触发方式(下降沿有效)。时,为边沿触发方式(下降沿有效)。IE0(TCO
8、N.1),外部中断),外部中断0中断请求标志位。中断请求标志位。IT1(TCON.2),外部中断),外部中断1触发方式控制位。触发方式控制位。IE1(TCON.3),外部中断),外部中断1中断请求标志位。中断请求标志位。TF0(TCON.5),定时),定时/计数器计数器T0溢出中断请求标志位。溢出中断请求标志位。TF1(TCON.7),定时),定时/计数器计数器T1溢出中断请求标志位。溢出中断请求标志位。2023-5-18142、SCON的中断标志的中断标志vRI(SCON.0),串行口接收中断标志位。当允),串行口接收中断标志位。当允许串行口接收数据时,每接收完一个串行帧,由许串行口接收数据
9、时,每接收完一个串行帧,由硬件置位硬件置位RI。同样,。同样,RI必须由软件清除。必须由软件清除。vTI(SCON.1),串行口发送中断标志位。当),串行口发送中断标志位。当CPU将一个发送数据写入串行口发送缓冲器时,将一个发送数据写入串行口发送缓冲器时,就启动了发送过程。每发送完一个串行帧,由硬就启动了发送过程。每发送完一个串行帧,由硬件置位件置位TI。CPU响应中断时,不能自动清除响应中断时,不能自动清除TI,TI必须由软件清除。必须由软件清除。2023-5-1815一、中断允许控制一、中断允许控制 CPU对中断系统所有中断以及某个中断源的开放和屏对中断系统所有中断以及某个中断源的开放和屏
10、蔽是由中断允许寄存器蔽是由中断允许寄存器IE控制的。控制的。5.1.3 80C515.1.3 80C51中断的控制中断的控制 vEX0(IE.0),外部中断,外部中断0允许位;允许位;vET0(IE.1),定时,定时/计数器计数器T0中断允许位;中断允许位;vEX1(IE.2),外部中断,外部中断0允许位;允许位;vET1(IE.3),定时,定时/计数器计数器T1中断允许位;中断允许位;vES(IE.4),串行口中断允许位;,串行口中断允许位;vEA(IE.7),CPU中断允许(总允许)位。中断允许(总允许)位。2023-5-1816二、中断优先级控制二、中断优先级控制 80C51单片机有两个
11、中断优先级,即可实现二级单片机有两个中断优先级,即可实现二级中断服务嵌套。每个中断源的中断优先级都是由中断中断服务嵌套。每个中断源的中断优先级都是由中断优先级寄存器优先级寄存器IP中的相应位的状态来规定的中的相应位的状态来规定的。vPX0(IP.0),外部中断),外部中断0优先级设定位;优先级设定位;vPT0(IP.1),定时),定时/计数器计数器T0优先级设定位;优先级设定位;vPX1(IP.2),外部中断),外部中断0优先级设定位;优先级设定位;vPT1(IP.3),定时),定时/计数器计数器T1优先级设定位;优先级设定位;vPS (IP.4),串行口优先级设定位;),串行口优先级设定位;
12、vPT2(IP.5),定时,定时/计数器计数器T2优先级设定位。优先级设定位。2023-5-1817vPX0(IPH.0),外部中断),外部中断0优先级设定位;优先级设定位;vPT0(IPH.1),定时),定时/计数器计数器T0优先级设定位;优先级设定位;vPX1(IPH.2),外部中断),外部中断0优先级设定位;优先级设定位;vPT1(IPH.3),定时),定时/计数器计数器T1优先级设定位;优先级设定位;vPS (IPH.4),串行口优先级设定位;),串行口优先级设定位;vPT2 (IPH.5),定时,定时/计数器计数器T2优先级设定位。优先级设定位。而而80C52单片机有四个中断优先级,
13、即可实现四级单片机有四个中断优先级,即可实现四级中断服务嵌套。每个中断源的中断优先级由中断优中断服务嵌套。每个中断源的中断优先级由中断优先级寄存器先级寄存器IP和和IPH中的相应位的状态来规定的中的相应位的状态来规定的。2023-5-1818 同一优先级中的中断申请不止一个时,则有中同一优先级中的中断申请不止一个时,则有中断优先权排队问题。同一优先级的中断优先权排队,断优先权排队问题。同一优先级的中断优先权排队,由中断系统硬件确定的自然优先级形成,其排列如由中断系统硬件确定的自然优先级形成,其排列如所示:所示:2023-5-1819v设置设置52单片机的单片机的4个中断源个中断源,使他们的优顺
14、使他们的优顺序为序为T1,INT1,INT0,T0.IPH=0X08;PT1=1;IP =0X40;PX1=1;2023-5-182080C51单片机的中断优先级有三条原则:单片机的中断优先级有三条原则:vCPU同时接收到几个中断时,同时接收到几个中断时,首先响应优先级别最首先响应优先级别最高的中断请求高的中断请求。v正在进行的中断过程正在进行的中断过程不能被新的同级或低优先级的不能被新的同级或低优先级的中断请求所中断中断请求所中断。v正在进行的低优先级中断服务,正在进行的低优先级中断服务,能被高优先级中断能被高优先级中断请求所中断请求所中断。为了实现上述后两条原则,为了实现上述后两条原则,中
15、断系统内部设有两中断系统内部设有两个用户不能寻址的优先级状态触发器。个用户不能寻址的优先级状态触发器。其中一个置其中一个置1,表示正在响应高优先级的中断,它将阻断后来所有表示正在响应高优先级的中断,它将阻断后来所有的中断请求;另一个置的中断请求;另一个置1,表示正在响应低优先级中,表示正在响应低优先级中断,它将阻断后来所有的低优先级中断请求。断,它将阻断后来所有的低优先级中断请求。2023-5-18215.2 80C51单片机中断处理过程单片机中断处理过程 一、中断响应条件一、中断响应条件v 中断源有中断请求;中断源有中断请求;v 此中断源的中断允许位为此中断源的中断允许位为1;v CPU开中
16、断(即开中断(即EA=1)。)。vp115同时满足时,同时满足时,CPU才有可能响应中断才有可能响应中断。5.2.1 5.2.1 中断响应条件和时间中断响应条件和时间 2023-5-1822中断服务的进入:中断服务的进入:CPU执行程序过程中,在每个机器周期执行程序过程中,在每个机器周期的的S5P2期间,中断系统对各个中断源进行期间,中断系统对各个中断源进行采样采样。这些采样值在下一个机器周期内按。这些采样值在下一个机器周期内按优先级和内部顺序被依次查询。优先级和内部顺序被依次查询。如果某个中断标志在上一个机器周期的如果某个中断标志在上一个机器周期的S5P2时被置成了时被置成了1,那么它将于现
17、在的查,那么它将于现在的查询周期中及时被发现。接着询周期中及时被发现。接着CPU便执行一便执行一条由中断系统提供的硬件条由中断系统提供的硬件LCALL指令,转指令,转向被称作中断向量的特定地址单元,进入向被称作中断向量的特定地址单元,进入相应的中断服务程序。相应的中断服务程序。2023-5-1823遇以下任一条件,硬件将受阻,不产生遇以下任一条件,硬件将受阻,不产生LCALL指令:指令:vCPU正在处理同级或高正在处理同级或高优先级中断;优先级中断;v当前查询当前查询的机器周期的机器周期不是所执行指令的最后一个机不是所执行指令的最后一个机器周期器周期。即在完成所执行指令前,不会响应中断,从。即
18、在完成所执行指令前,不会响应中断,从而保证指令在执行过程中不被打断;而保证指令在执行过程中不被打断;v正在执行正在执行的指令为的指令为RET、RETI或任何访问或任何访问IE或或IP寄寄存器的指令。即只有在这些指令后面至少再执行一条存器的指令。即只有在这些指令后面至少再执行一条指令时才能接受中断请求。指令时才能接受中断请求。若由于上述条件的阻碍中断未能得到响应,当条件若由于上述条件的阻碍中断未能得到响应,当条件消失时该中断标志却已不再有效,那么该中断将不被消失时该中断标志却已不再有效,那么该中断将不被响应。就是说,中断标志曾经有效,但未获响应,查响应。就是说,中断标志曾经有效,但未获响应,查询
19、过程在下个机器周期将重新进行。询过程在下个机器周期将重新进行。2023-5-1824二、中断响应时间二、中断响应时间5.2.1 响应时间响应时间-从查询中断请求标志位到转向中断从查询中断请求标志位到转向中断服务入口地址所需的机器周期数。服务入口地址所需的机器周期数。(1)最快响应时间最快响应时间以外部中断的电平触发为最快。以外部中断的电平触发为最快。从查询中断请求信号到中断服务程序需要三个机器周从查询中断请求信号到中断服务程序需要三个机器周期:期:1个周期(查询)个周期(查询)2个周期(长调用个周期(长调用LCALL)(2)最长时间最长时间若当前指令是若当前指令是RET、RETI和和IP、IE
20、指令,紧接着下一指令,紧接着下一条是乘除指令发生,则最长为条是乘除指令发生,则最长为8个周期:个周期:2个周期执行当前指令(其中含有个周期执行当前指令(其中含有1个周期查询)个周期查询)4个周期乘除指令个周期乘除指令2个周期长调用个周期长调用8个周期。个周期。2023-5-1825v将相应的优先级状态触发器置将相应的优先级状态触发器置1(以阻断(以阻断后来的同级或低级的中断请求)。后来的同级或低级的中断请求)。v执行一条硬件执行一条硬件LCALL指令,即把程序计指令,即把程序计数器数器PC的内容压入堆栈保存,再将相应的的内容压入堆栈保存,再将相应的中断服务程序的入口地址送入中断服务程序的入口地
21、址送入PC。(P116)v执行中断服务程序。执行中断服务程序。5.2.2 5.2.2 中断响应过程中断响应过程 中断响应过程的前两步是由中断系统内中断响应过程的前两步是由中断系统内部自动完成的,而中断服务程序则要由用部自动完成的,而中断服务程序则要由用户编写程序来完成。户编写程序来完成。2023-5-1826 5.2.3 5.2.3 中断返回中断返回RETI指令的具体功能是:指令的具体功能是:v将中断响应时压入堆栈保存的断点地址从栈将中断响应时压入堆栈保存的断点地址从栈顶弹出送回顶弹出送回PC,CPU从原来中断的地方继续从原来中断的地方继续执行程序;执行程序;v 将相应中断优先级状态触发器清将
22、相应中断优先级状态触发器清0,通知中,通知中断系统,中断服务程序已执行完毕。断系统,中断服务程序已执行完毕。注意,不能用注意,不能用RET指令代替指令代替RETI指令。在中指令。在中断服务程序中断服务程序中PUSH指令与指令与POP指令必须成对指令必须成对使用,否则不能正确返回断点使用,否则不能正确返回断点 。2023-5-1827 若外部中断定义为若外部中断定义为电平触发方式电平触发方式,中断标志位,中断标志位的状态随的状态随CPU在每个机器周期采样到的外部中断在每个机器周期采样到的外部中断输入引脚的电平变化而变化,这样能提高输入引脚的电平变化而变化,这样能提高CPU对对外部中断请求的响应速
23、度。但外部中断源若有请外部中断请求的响应速度。但外部中断源若有请求,必须把有效的求,必须把有效的低电平保持到请求获得响应时低电平保持到请求获得响应时为止为止,不然就会漏掉;,不然就会漏掉;而在中断服务程序结束之而在中断服务程序结束之前,中断源又必须撤消其有效的低电平前,中断源又必须撤消其有效的低电平,否则中,否则中断返回之后将再次产生中断。断返回之后将再次产生中断。电平触发方式适合于外部中断输入以低电平输电平触发方式适合于外部中断输入以低电平输入且中断服务程序能清除外部中断请求源的情况。入且中断服务程序能清除外部中断请求源的情况。例如,并行接口芯片例如,并行接口芯片8255的中断请求线在接受读
24、的中断请求线在接受读或写操作后即被复位,因此,以其去请求电平触发或写操作后即被复位,因此,以其去请求电平触发方式的中断比较方便。方式的中断比较方便。2023-5-1828 若外部中断定义为若外部中断定义为边沿触发方式边沿触发方式,在相继连续的,在相继连续的两次采样中,一个周期采样到外部中断输入为高电两次采样中,一个周期采样到外部中断输入为高电平,下一个周期采样到为低电平,则在平,下一个周期采样到为低电平,则在IE0或或IE1中中将锁存一个逻辑将锁存一个逻辑1。即便是。即便是CPU暂时不能响应,中暂时不能响应,中断申请标志也不会丢失,直到断申请标志也不会丢失,直到CPU响应此中断时才响应此中断时
25、才清零。这样,为保证下降沿能被可靠地采样到,清零。这样,为保证下降沿能被可靠地采样到,外外中断引脚上的高低电平(负脉冲的宽度)均至少要中断引脚上的高低电平(负脉冲的宽度)均至少要保持一个机器周期保持一个机器周期(若晶振为(若晶振为12MHz时,为时,为1微微秒)。秒)。边沿触发方式适合于以负脉冲形式输入的外部中边沿触发方式适合于以负脉冲形式输入的外部中断请求,如断请求,如ADC0809的转换结束标志信号的转换结束标志信号EOC为为正脉冲,经反相后就可以作为正脉冲,经反相后就可以作为80C51的中断输入。的中断输入。2023-5-18295.3 80C51的定时的定时/计数器计数器 实现定时功能
26、,实现定时功能,比较方便的办法是利用单比较方便的办法是利用单片机内部的定时片机内部的定时/计数器计数器。也可以采用下面三。也可以采用下面三种方法:种方法:v软件定时软件定时:软件定时不占用硬件资源,但占用了:软件定时不占用硬件资源,但占用了CPU时间,降低了时间,降低了CPU的利用率。的利用率。v采用时基电路定时采用时基电路定时:例如采用:例如采用555电路,外接必要电路,外接必要的元器件(电阻和电容),即可构成硬件定时电路。的元器件(电阻和电容),即可构成硬件定时电路。但在硬件连接好以后,定时值与定时范围不能由软但在硬件连接好以后,定时值与定时范围不能由软件进行控制和修改,即不可编程。件进行
27、控制和修改,即不可编程。v采用可编程芯片定时采用可编程芯片定时:这种定时芯片的定时值及:这种定时芯片的定时值及定时范围很容易用软件来确定和修改,此种芯片定定时范围很容易用软件来确定和修改,此种芯片定时功能强,使用灵活。在单片机的定时时功能强,使用灵活。在单片机的定时/计数器不够计数器不够用时,可以考虑进行扩展。用时,可以考虑进行扩展。2023-5-18305.3.1 5.3.1 定时定时/计数器的结构和工作原理计数器的结构和工作原理 一、定时一、定时/计数器的结构计数器的结构 定时定时/计数器的实质是加计数器的实质是加1计数器(计数器(16位),由高位),由高8位和低位和低8位两个寄存器组成。
28、位两个寄存器组成。TMOD是定时是定时/计数器的工作方式寄存计数器的工作方式寄存器,确定工作方式和功能;器,确定工作方式和功能;TCON是控制寄存器,控制是控制寄存器,控制T0、T1的启动和停止及设置溢出标志的启动和停止及设置溢出标志。2023-5-1831二、定时二、定时/计数器的工作原理计数器的工作原理 加加1计数器计数器输入的计数脉冲有两个来源输入的计数脉冲有两个来源,一个是由一个是由系统的时钟振荡器输出脉冲经系统的时钟振荡器输出脉冲经12分频后送来;一个分频后送来;一个是是T0或或T1引脚输入的外部脉冲源。每来一个脉冲引脚输入的外部脉冲源。每来一个脉冲计数器加计数器加1,当加到计数器为
29、全,当加到计数器为全1时,再输入一个脉时,再输入一个脉冲就使计数器回零,且计数器的溢出使冲就使计数器回零,且计数器的溢出使TCON中中TF0或或TF1置置1,向,向CPU发出中断请求(定时发出中断请求(定时/计数计数器中断允许时)。如果定时器中断允许时)。如果定时/计数器工作于定时模计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,式,则表示定时时间已到;如果工作于计数模式,则表示计数值已满。则表示计数值已满。可见,由溢出时计数器的值减去计数初值才是加可见,由溢出时计数器的值减去计数初值才是加1计数器的计数值计数器的计数值。2023-5-1832v设置为定时器模式时设置为定时器模式
30、时,加,加1计数器是对内部机器周期计数器是对内部机器周期计数(计数(1个机器周期等于个机器周期等于12个振荡周期,即计数频率个振荡周期,即计数频率为晶振频率的为晶振频率的1/12)。)。计数值计数值N乘以机器周期乘以机器周期Tcy就就是定时时间是定时时间t。v设置为设置为计数器模式时计数器模式时,外部事件计数脉冲由,外部事件计数脉冲由T0或或T1引脚输入到计数器。在每个机器周期的引脚输入到计数器。在每个机器周期的S5P2期间采期间采样样T0、T1引脚电平。当某周期采样到一高电平输入,引脚电平。当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加而下一周期又采样到一低电平时,则计
31、数器加1,更,更新的计数值在下一个机器周期的新的计数值在下一个机器周期的S3P1期间装入计数期间装入计数器。由于检测一个从器。由于检测一个从1到到0的下降沿需要的下降沿需要2个机器周期,个机器周期,因此要求被采样的电平至少要维持一个机器周期。当因此要求被采样的电平至少要维持一个机器周期。当晶振频率为晶振频率为12MHz时时,最高计数频率不超过,最高计数频率不超过1/2MHz,即计数脉冲的周期要大于即计数脉冲的周期要大于2 s。2023-5-1833 5.3.2 定时定时/计数器的控制计数器的控制 80C51单片机定时单片机定时/计数器的工作由两个特殊功计数器的工作由两个特殊功能寄存器控制。能寄
32、存器控制。TMOD用于设置其工作方式;用于设置其工作方式;TCON用于控制其启动和中断申请。用于控制其启动和中断申请。一、工作方式寄存器一、工作方式寄存器TMOD 工作方式寄存器工作方式寄存器TMOD用于设置定时用于设置定时/计数器的计数器的工作方式,低四位用于工作方式,低四位用于T0,高四位用于,高四位用于T1。其格式。其格式如下:如下:2023-5-1834GATE:门控位。:门控位。GATE0时,只要用软件使时,只要用软件使TCON中的中的TR0或或TR1为为1,就可以启动定时,就可以启动定时/计数器工作;计数器工作;GATA1时,时,要用软件使要用软件使TR0或或TR1为为1,同时外部
33、中断引脚或也为高电,同时外部中断引脚或也为高电平时,才能启动定时平时,才能启动定时/计数器工作。即此时定时器的启动条计数器工作。即此时定时器的启动条件,加上了或引脚为高电平这一条件。件,加上了或引脚为高电平这一条件。:定时定时/计数模式选择位。计数模式选择位。0为定时模式;为定时模式;=1为计数模式。为计数模式。M1M0:工作方式设置位。定时:工作方式设置位。定时/计数器有四种工作方式,计数器有四种工作方式,由由M1M0进行设置。进行设置。C/TC/TC/T2023-5-1835 二、控制寄存器二、控制寄存器TCON TCON的低的低4位用于控制外部中断位用于控制外部中断,已在前面介绍。已在前
34、面介绍。TCON的高的高4位用于位用于控制定时控制定时/计数器的启动和中断申请。其格式如下:计数器的启动和中断申请。其格式如下:vTF1(TCON.7):):T1溢出中断请求标志位。溢出中断请求标志位。T1计数溢出时由硬件自计数溢出时由硬件自动置动置TF1为为1。CPU响应中断后响应中断后TF1由硬件自动清由硬件自动清0。T1工作时,工作时,CPU可随时查询可随时查询TF1的状态。所以,的状态。所以,TF1可用作查询测试的标志。可用作查询测试的标志。TF1也可也可以用软件置以用软件置1或清或清0,同硬件置,同硬件置1或清或清0的效果一样。的效果一样。vTR1(TCON.6):):T1运行控制位
35、。运行控制位。TR1置置1时,时,T1开始工作;开始工作;TR1置置0时,时,T1停止工作。停止工作。TR1由软件置由软件置1或清或清0。所以,用软件可控制定时。所以,用软件可控制定时/计数器的启动与停止。计数器的启动与停止。vTF0(TCON.5):):T0溢出中断请求标志位,其功能与溢出中断请求标志位,其功能与TF1类同。类同。vTR0(TCON.4):):T0运行控制位,其功能与运行控制位,其功能与TR1类同。类同。2023-5-1836 5.3.3 定时定时/计数器的工作方式计数器的工作方式 一、方式一、方式0 方式方式0为为13位计数位计数,由,由TL0的低的低5位(高位(高3位未用
36、)和位未用)和TH0的的8位组成。位组成。TL0的低的低5位溢出时向位溢出时向TH0进位,进位,TH0溢出时,溢出时,置位置位TCON中的中的TF0标志,向标志,向CPU发出中断请求。发出中断请求。2023-5-1837定时器模式时定时器模式时有有:Nt/Tcy 计数初值计算的公式为:计数初值计算的公式为:定时器的初值还可以采用计数个数直接取补法获得定时器的初值还可以采用计数个数直接取补法获得。计数模式时,计数脉冲是计数模式时,计数脉冲是T0引脚上的外部脉冲。引脚上的外部脉冲。13X=2-N门控位门控位GATE具有特殊的作用。当具有特殊的作用。当GATE=0时,经反相后使时,经反相后使或门输出
37、为或门输出为1,此时仅由,此时仅由TR0控制与门的开启,与门输出控制与门的开启,与门输出1时,控制开关接通,计数开始;时,控制开关接通,计数开始;当当GATE=1时时,由外中断引,由外中断引脚信号控制或门的输出,此时控制脚信号控制或门的输出,此时控制与门的开启由外中断引与门的开启由外中断引脚信号和脚信号和TR0共同控制共同控制。当。当TR0=1时,外中断引脚信号引脚时,外中断引脚信号引脚的的高电平启动计数高电平启动计数,外中断引脚信号引脚的,外中断引脚信号引脚的低电平停止计低电平停止计数数。这种方式常用来测量外中断引脚上正脉冲的宽度。这种方式常用来测量外中断引脚上正脉冲的宽度。2023-5-1
38、838 16X=2-N二、方式二、方式1 方式方式1的计数位数是的计数位数是16位,由位,由TL0作为低作为低8位、位、TH0作为高作为高8位,组成了位,组成了16位加位加1计数器计数器。计数个数与计数初值的关系为:计数个数与计数初值的关系为:2023-5-1839 8X=2-N三、方式三、方式2 方式方式2为自动重装初值的为自动重装初值的8位计数方式。位计数方式。工作方式2特别适合于用作较精确的脉冲信号发生器。计数个数与计数初值的关系为计数个数与计数初值的关系为:2023-5-1840 四、方式四、方式3 方式方式3只适用于定时只适用于定时/计数器计数器T0,定时器定时器T1处于方式处于方式
39、3时相当时相当于于TR1=0,停止计数。,停止计数。工作方式工作方式3将将T0分成为两个独立的分成为两个独立的8位计数器位计数器TL0和和TH0。2023-5-1841 5.3.4 定时定时/计数器用于外部中断扩展计数器用于外部中断扩展 扩展方法是,将定时扩展方法是,将定时/计数器设置为计数器方式,计数初值计数器设置为计数器方式,计数初值设定为满程,将待扩展的外部中断源接到定时设定为满程,将待扩展的外部中断源接到定时/计数器的外部计数器的外部计数引脚。从该引脚输入一个下降沿信号,计数器加计数引脚。从该引脚输入一个下降沿信号,计数器加1后便产后便产生定时生定时/计数器溢出中断。计数器溢出中断。例
40、如,利用例如,利用T0扩展一个外部中断源。将扩展一个外部中断源。将T0设置为计数器方设置为计数器方式,按方式式,按方式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中断中断 2023-5-18425.3.5 定时定时/计数器应用举例计数
41、器应用举例 初始化程序应完成如下工作:初始化程序应完成如下工作:v对对TMOD赋值,以确定赋值,以确定T0和和T1的工作方式。的工作方式。v计算初值计算初值,并将其写入并将其写入TH0、TL0或或TH1、TL1。v中断方式时,则对中断方式时,则对IE赋值,开放中断。赋值,开放中断。v使使TR0或或TR1置位,启动定时置位,启动定时/计数器定时或计数。计数器定时或计数。2023-5-1843 例例 利用定时利用定时/计数器计数器T0的方式的方式1,产生,产生10ms的定时,的定时,并使并使P1.0引脚上输出周期为引脚上输出周期为20ms的方波,采用中的方波,采用中断方式,设系统时钟频率为断方式,
42、设系统时钟频率为12 MHz。解:解:1、计算计数初值、计算计数初值X:由于晶振为由于晶振为12 MHz,所以机器周期,所以机器周期Tcy为为1 s。所以:所以:Nt/Tcy 10103/110610000X655361000055536D8F0H即应将即应将D8H送入送入TH0中,中,F0H送入送入TL0中中 2、求、求T0的方式控制字的方式控制字TMOD:M1M0=01,GATE=0,C/T=0,可取方式控制,可取方式控制字为字为01H;2023-5-1844 ORG 0000H LJMP MAIN ;跳转到主程序 ORG 000BH ;T0的中断入口地址 LJMP DVT0 ;转向中断服
43、务程序 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 ;中断返回 END2023-5-1845思考题及习题思考题及习题1、80C51有几个中断源?各中断标志是如何产生的?又是如有几个中断源?各中断标志是如何产生的?又是如何复位的?何复位的?CPU响
44、应各中断时,其中断入口地址是多少?响应各中断时,其中断入口地址是多少?2、某系统有三个外部中断源、某系统有三个外部中断源1、2、3,当某一中断源变低电,当某一中断源变低电平时便要求平时便要求CPU处理,它们的优先处理次序由高到低为处理,它们的优先处理次序由高到低为3、2、1,处理程序的入口地址分别为,处理程序的入口地址分别为2000H、2100H、2200H。试。试编写主程序及中断服务程序(转至相应的入口即可)。编写主程序及中断服务程序(转至相应的入口即可)。3、外部中断源有电平触发和边沿触发两种触发方式,这两种、外部中断源有电平触发和边沿触发两种触发方式,这两种触发方式所产生的中断过程有何不
45、同?怎样设定?触发方式所产生的中断过程有何不同?怎样设定?4、定时、定时/计数器工作于定时和计数方式时有何异同点?计数器工作于定时和计数方式时有何异同点?5、定时、定时/计数器的计数器的4种工作方式各有何特点?种工作方式各有何特点?6、要求定时、要求定时/计数器的运行控制完全由计数器的运行控制完全由TR1、TR0确定和完全确定和完全由、高低电平控制时,其初始化编程应作何处理?由、高低电平控制时,其初始化编程应作何处理?2023-5-18467、当定时、当定时/计数器计数器T0用作方式用作方式3时,定时时,定时/计数器计数器T1可以工作可以工作在何种方式下?如何控制在何种方式下?如何控制T1的开
46、启和关闭?的开启和关闭?8、利用定时、利用定时/计数器计数器T0从从P1.0输出周期为输出周期为1s,脉宽为,脉宽为20ms的正脉冲信号,晶振频率为的正脉冲信号,晶振频率为12MHz。试设计程序。试设计程序。9、要求从、要求从P1.1引脚输出引脚输出1000Hz方波,晶振频率为方波,晶振频率为12MHz。试设计程序。试设计程序。10、试用定时、试用定时/计数器计数器T1对外部事件计数。要求每计数对外部事件计数。要求每计数100,就将就将T1改成定时方式,控制改成定时方式,控制P1.7输出一个脉宽为输出一个脉宽为10ms的正的正脉冲,然后又转为计数方式,如此反复循环。设晶振频率为脉冲,然后又转为计数方式,如此反复循环。设晶振频率为12MHz。11、利用定时、利用定时/计数器计数器T0产生定时时钟产生定时时钟,由由P1口控制口控制8个指示灯。个指示灯。编一个程序编一个程序,使使8个指示灯依次一个一个闪动,闪动频率为个指示灯依次一个一个闪动,闪动频率为20次次/秒秒(8个灯依次亮一遍为一个周期个灯依次亮一遍为一个周期)。12、若晶振频率为、若晶振频率为12MHz,如何用,如何用T0来测量来测量201s之间的之间的方波周期?又如何测量频率为方波周期?又如何测量频率为0.5MHz左右的脉冲频率?左右的脉冲频率?
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。