第5章80C51中断系统及定时计数器_第1页
第5章80C51中断系统及定时计数器_第2页
第5章80C51中断系统及定时计数器_第3页
第5章80C51中断系统及定时计数器_第4页
第5章80C51中断系统及定时计数器_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 1第五章第五章 80C51的中断系统及定时的中断系统及定时/计数器计数器理解中断概念,能正确描绘单片机中断响应过程理解中断概念,能正确描绘单片机中断响应过程80C51单片机的单片机的5个中断源及其中断入口地址个中断源及其中断入口地址正确设置特殊功能寄存器正确设置特殊功能寄存器IE、IP、TCON、SCON和和TMOD中断优先控制的方法中断优先控制的方法定时定时/计数器的计数器的4种工作方式,重点掌握方式种工作方式,重点掌握方式1、方、方式式2的应用的应用定时定时/计数初值的计算计数

2、初值的计算能读懂教材中的控制实例,学会编写同等难度能读懂教材中的控制实例,学会编写同等难度的中断、定时的中断、定时/计数程序计数程序第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 2第五章第五章 80C51的中断系统及定时的中断系统及定时/计数器计数器5.1 80C51的中断系统的中断系统5.2 80C51的中断处理过程的中断处理过程5.3 80C51的定时的定时/计数器计数器第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 35.1 80C51的中断系统的中断系统

3、 5.1.1 80C51的中断系统结构的中断系统结构某人看书某人看书某人正在处理一件事某人正在处理一件事A电话铃响电话铃响出现另一件须立即解决的事出现另一件须立即解决的事B暂停看书暂停看书中止中止A 书中作记号书中作记号记录断点,便于接续记录断点,便于接续 电话谈话电话谈话处理处理B继续看书继续看书继续继续A的工作的工作保护断点保护断点中断响应中断响应中断请求中断请求中断返回中断返回1.中断的概念中断的概念 (1)现实生活中的中断:)现实生活中的中断:第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 4 中断原因:中断原因: 一个

4、人不可能同时一个人不可能同时完成两项任务。完成两项任务。 单片机单片机只有一个只有一个CPU,一旦面临,一旦面临多任务,它也会多任务,它也会中断吗?中断吗?先接电话,然先接电话,然后再继续看书,后再继续看书,这样效率最高!这样效率最高!第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 5 CPU在处理某一事件在处理某一事件A时,发生了另一事件时,发生了另一事件B请请求求CPU迅速去处理(迅速去处理(中断发生中断发生);); CPU暂时中断当前的工作,转去处理事件暂时中断当前的工作,转去处理事件B(中中断响应和中断服务断响应和中断服

5、务);); 待待CPU将事件将事件B处理完毕后,再回到原来事件处理完毕后,再回到原来事件A被中断的地方继续处理事件被中断的地方继续处理事件A(中断返回中断返回),这一),这一过程称为过程称为中断中断 。(2)单片机中的中断)单片机中的中断第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 6引起引起CPU中断的根源,称为中断的根源,称为中断源中断源。中断源向。中断源向CPU提出提出的的中断请求中断请求。CPU暂时中断原来的事务暂时中断原来的事务A,转去处理事件,转去处理事件B。对事件对事件B处理(处理(终端服务终端服务)完毕后,再回

6、到原来被中断的地)完毕后,再回到原来被中断的地方(即方(即断点断点),称为),称为中断返回中断返回。实现上述中断功能的部件。实现上述中断功能的部件称为称为中断系统中断系统(中断机构)。(中断机构)。第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 7 随着计算机技术的应用,人们发现中断技术不仅随着计算机技术的应用,人们发现中断技术不仅解决了快速主机与慢速解决了快速主机与慢速I/O设备的数据传送问题,设备的数据传送问题,而且还具有如下优点:而且还具有如下优点: 分时操作分时操作。CPU可以分时为多个可以分时为多个I/O设备服务,设备

7、服务,提高了计算机的利用率;提高了计算机的利用率;实时响应实时响应。CPU能够及时处理应用系统的随机事能够及时处理应用系统的随机事件,系统的实时性大大增强;件,系统的实时性大大增强;可靠性高可靠性高。CPU具有处理设备故障及掉电等突发具有处理设备故障及掉电等突发性事件能力,从而使系统可靠性提高。性事件能力,从而使系统可靠性提高。第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 82、80C51中断系统的结构中断系统的结构 80C51的中断系统有的中断系统有5个中断源,个中断源,2个优先级,可个优先级,可实现二级中断嵌套实现二级中断

8、嵌套 。第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 95.1.2 80C51的中断源的中断源 一、中断源一、中断源能够向能够向CPU发出中断申请的部件称为中断源。发出中断申请的部件称为中断源。80C51单片机有单片机有5个中断源。见下表个中断源。见下表 那些部件可以那些部件可以向向CPU申请申请中中断呢?断呢?中断源中断源 说明说明 外部中断外部中断 从从P3.2引脚引入的外部中断申请引脚引入的外部中断申请定时器定时器T0中断中断 定时器定时器T0溢出时引发中断申请溢出时引发中断申请外部中断外部中断从从P3.3引脚引入的外部

9、中断申请引脚引入的外部中断申请定时器定时器T1中断中断定时器定时器T1溢出时引发中断申请溢出时引发中断申请串行口中断串行口中断一次串行发送或接收完成后,发出中断申一次串行发送或接收完成后,发出中断申请请0INT1INT第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 10二、二、 中断控制中断控制中断的控制中断的控制“工具工具” 中断允许寄存器中断允许寄存器IE 中断优先级寄存器中断优先级寄存器IP 定时定时/计数器及外部中断控制寄存器计数器及外部中断控制寄存器TCON 串口控制寄存器串口控制寄存器SCON 单片机通过对单片机通过

10、对4个特殊功能寄存器个特殊功能寄存器实施中断控制:实施中断控制:第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 111 1中断允许寄存器中断允许寄存器IEIE 功能:功能: 控制单片机是否接受中断申请,以及接受哪一种中断申请控制单片机是否接受中断申请,以及接受哪一种中断申请 字节地址:字节地址: A8H A8H 其格式和每位的含义如下:其格式和每位的含义如下:第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 12由位操作指令或数据传送指令实现。由位操作指令或数据传送

11、指令实现。例:同时打开外部中断例:同时打开外部中断0和串行口中断,可设置为:和串行口中断,可设置为:法法1:MOV IE,#10010001B 法法2:SETB EA SETB ES SETB EX0 想一想想一想还可以怎样实现?还可以怎样实现? IE的设置方法:的设置方法:第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 132中断优先级寄存器中断优先级寄存器IP 功能:功能: 对对80C51单片机进行高级别或低级别中断的设置,单片机进行高级别或低级别中断的设置, IP的字节地址:的字节地址: B8H 格式和每位的含义如下:格式

12、和每位的含义如下:第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 14 例:例:令串行口为高优先级中断,外部中断令串行口为高优先级中断,外部中断0为为低优先级中断。低优先级中断。 设置方法:设置方法:法法1: MOV IE,#10010001B ;开中断;开中断 MOV IP,#00010000B ;设优先级;设优先级 法法2: MOV IE,#10010001B SETB PS说明:说明:此时串口的优先级高于外部中断此时串口的优先级高于外部中断0的优先级的优先级第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计

13、数器 单片机原理及系统设计单片机原理及系统设计 15答案:答案: 此时此时CPU按自然优先级顺序确定该响应哪个中断请求。按自然优先级顺序确定该响应哪个中断请求。注意:注意: 自然优先级由硬件决定,用户不能更改。自然优先级由硬件决定,用户不能更改。排列见下表排列见下表第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 1680C5180C51单片机的中断优先级有三条原则:单片机的中断优先级有三条原则:CPUCPU同时接收到几个中断时,同时接收到几个中断时,首先响应优先级别最高的中断请求首先响应优先级别最高的中断请求。正在进行的中断过程

14、正在进行的中断过程不能被新的同级或低优先级的中断请求所不能被新的同级或低优先级的中断请求所中断中断。正在进行的低优先级中断服务,正在进行的低优先级中断服务,能被高优先级中断请求所中断能被高优先级中断请求所中断。 为了实现上述后两条原则,为了实现上述后两条原则,中断系统内部设有两个用户不中断系统内部设有两个用户不能寻址的优先级状态触发器。能寻址的优先级状态触发器。其中一个置其中一个置1 1,表示正在响应高优,表示正在响应高优先级的中断,它将阻断后来所有的中断请求;另一个置先级的中断,它将阻断后来所有的中断请求;另一个置1 1,表示,表示正在响应低优先级中断,它将阻断后来所有的低优先级中断请正在响

15、应低优先级中断,它将阻断后来所有的低优先级中断请求。求。第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 173 3定时定时/ /计数器及外部中断控制寄存器计数器及外部中断控制寄存器TCONTCON可设置外部中断申请的形式:低电平触发还是下降沿触发可设置外部中断申请的形式:低电平触发还是下降沿触发控制定时控制定时/ /计数器的计时开始或停止计数器的计时开始或停止是各中断源(串口中断除外)是否申请中断的标志位是各中断源(串口中断除外)是否申请中断的标志位格式如下,各位含义格式如下,各位含义TCON D7 D6D5D4D3D2D1D0

16、TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 功能功能:字节地址:字节地址: 88H88H第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 18形式形式 符号符号 位地址位地址 功功 能能 说说 明明 中断控制 IT0 88H 外部中断外部中断0 0的触发控制位的触发控制位IT0=0IT0=0:低电平触发:低电平触发 IT0=1IT0=1:下降沿触发:下降沿触发IT0IT0的状态由的状态由用户通过初用户通过初始化程序定始化程序定义义 IE0 89H 外部中断外部中断0 0请求标志位。请求标志位。CPUCPU采样到

17、外部中断采样到外部中断0 0的中断请求时,的中断请求时, IE0=1IE0=1CPUCPU响应该中断时,响应该中断时, IE0IE00 0 IE0IE0的状态由的状态由单片机自动单片机自动设置设置 IT1 8AH 外部中断外部中断1 1的触发控制位的触发控制位IT1=0IT1=0:低电平触发:低电平触发IT1=1IT1=1:下降沿触发:下降沿触发 IT1IT1的状态由的状态由用户通过初用户通过初始化程序定始化程序定义义 IE1 8BH 外部中断外部中断1 1的中断请求标志位的中断请求标志位CPUCPU采样到外部中断采样到外部中断1 1的中断请求时,的中断请求时, IE1=1IE1=1CPUCP

18、U响应该中断时,响应该中断时, IE1IE10 0 IE1IE1的状态由的状态由单片机自动单片机自动设置设置 第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 19形式形式 符号符号 位地址位地址 功功 能能 说说 明明 定定时时/ /计计数数控控制制 TR0 8CH TR0=1TR0=1:启动定时:启动定时/ /计数器计数器T0T0TR0=0TR0=0:停止定时:停止定时/ /计数器计数器T0 T0 TR0TR0的状态由的状态由用户通过初始用户通过初始化程序定义化程序定义 TF0 8DH 定时定时/ /计数器计数器T0T0溢出中

19、断请求位溢出中断请求位T0T0定时或计数完成时定时或计数完成时TF0=1TF0=1,同,同时申请中断时申请中断CPUCPU响应该中断时,响应该中断时, TF0TF00 0 TF0TF0的状态由的状态由单片机自动设单片机自动设置置 TR1 8EH TR1=1TR1=1:启动定时:启动定时/ /计数器计数器T1T1TR1=0TR1=0:停止定时:停止定时/ /计数器计数器T1 T1 TR1TR1的状态由的状态由用户通过初始用户通过初始化程序定义化程序定义 TF1 8FH 定时定时/ /计数器计数器T1T1溢出中断请求位溢出中断请求位T1T1定时或计数完成时定时或计数完成时TF1=1TF1=1,同,

20、同时申请中断时申请中断CPUCPU响应该中断时,响应该中断时, TF1TF10 0TF1TF1的状态由的状态由单片机自动设单片机自动设置置 第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 20例例 编程设定外部中断编程设定外部中断1 1为低电平触发的高优先级中断源。为低电平触发的高优先级中断源。分析:分析: 这是典型的中断初始化问题,方法一般如下:这是典型的中断初始化问题,方法一般如下:1 1)对)对TCONTCON的相关位赋值的相关位赋值2 2)设定所用中断源的优先级)设定所用中断源的优先级赋值赋值IPIP3 3)开中断)开中

21、断置位置位IEIE第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 21解:解: 法法1:CLR IT1 SETB PX1 SETB EX1 SETB EA 法法2:CLR IT1 MOV IP,#04H MOV IE,#84H第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 224串口控制寄存器串口控制寄存器SCON 功能:功能: 只有只有D1和和D0位用于中断,作为串口中断请求标志,即串位用于中断,作为串口中断请求标志,即串口中断请求寄存器口中断请求寄存器 字节地

22、址:字节地址: 98H 格式如下:格式如下:RI为接收中断请求标志位。为接收中断请求标志位。当串口接收完一帧串行数据时,当串口接收完一帧串行数据时,RI自动置自动置1;CPU响应中断后,用软件对响应中断后,用软件对RI清清0。TI为串行口发送中断请求标志。为串行口发送中断请求标志。当串口发送完一帧串行数据时,当串口发送完一帧串行数据时,TI自动置自动置1,请求中断。,请求中断。CPU响应中断后,由软件对响应中断后,由软件对TI清零。清零。其他几位的含义及用法见第其他几位的含义及用法见第5章。章。第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原

23、理及系统设计 235.2 80C515.2 80C51单片机中断处理过程单片机中断处理过程 5.2.1 5.2.1 中断响应条件和时间中断响应条件和时间 无同级或高级中断正在服务无同级或高级中断正在服务 有中断请求信号有中断请求信号 相应的中断源已打开,即相应的中断源已打开,即EA=1EA=1,中断源对应中,中断源对应中断允许位也为断允许位也为1 1。 当前的指令周期已经结束当前的指令周期已经结束 如果当前指令为如果当前指令为RETIRETI或访问或访问IEIE和和IPIP的指令,至的指令,至少还要再执行完一条指令。少还要再执行完一条指令。1 1、中断响应条件、中断响应条件第第5章章 80C5

24、1的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 24二、中断响应时间二、中断响应时间某中断的响应时序如图:某中断的响应时序如图:80C51的中断响应时间(从标志置的中断响应时间(从标志置1到进入相应的中到进入相应的中断服务),至少要断服务),至少要3个完整的机器周期。个完整的机器周期。没有同级或高级中断正在进行,所需要的附加等待没有同级或高级中断正在进行,所需要的附加等待时间在时间在35个机器周期之间。个机器周期之间。对于没有嵌套的单级中断,响应时间为对于没有嵌套的单级中断,响应时间为38个机器周个机器周期期 第第5章章 80C51的中断系统及定时

25、、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 255.2.2 中断响应过程中断响应过程 将当前寄存器内容压入堆栈,将当前寄存器内容压入堆栈,如如 PUSH ACC在中断服务程序中实现,解决单片在中断服务程序中实现,解决单片机中断后要干什么的问题。机中断后要干什么的问题。把保存在堆栈中的寄存器内容取出,送把保存在堆栈中的寄存器内容取出,送回原来的位置,如回原来的位置,如POP ACC 注意,不能用注意,不能用RETRET指令代替指令代替RETIRETI指令。在中断服务程序中指令。在中断服务程序中PUSHPUSH指令与指令与POPPOP指令必须成对使用,否则不能正确返

26、回断点指令必须成对使用,否则不能正确返回断点 。第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 26 若外部中断定义为若外部中断定义为电平触发方式电平触发方式,中断标志位的状态随,中断标志位的状态随CPUCPU在每个机器周期采样到的外部中断输入引脚的电平变化在每个机器周期采样到的外部中断输入引脚的电平变化而变化,这样能提高而变化,这样能提高CPUCPU对外部中断请求的响应速度。但外对外部中断请求的响应速度。但外部中断源若有请求,必须把有效的部中断源若有请求,必须把有效的低电平保持到请求获得响低电平保持到请求获得响应时为止应时为止

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

28、。第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 27 若外部中断定义为若外部中断定义为边沿触发方式边沿触发方式,在相继连续的两次采样,在相继连续的两次采样中,一个周期采样到外部中断输入为高电平,下一个周期中,一个周期采样到外部中断输入为高电平,下一个周期采样到为低电平,则在采样到为低电平,则在IE0IE0或或IE1IE1中将锁存一个逻辑中将锁存一个逻辑1 1。即便。即便是是CPUCPU暂时不能响应,中断申请标志也不会丢失,直到暂时不能响应,中断申请标志也不会丢失,直到CPUCPU响应此中断时才清零。这样,为保证下降沿能被可靠地

29、采响应此中断时才清零。这样,为保证下降沿能被可靠地采样到,样到,外中断引脚上的高低电平(负脉冲的宽度)均至少外中断引脚上的高低电平(负脉冲的宽度)均至少要保持一个机器周期要保持一个机器周期(若晶振为(若晶振为12MHz12MHz时,为时,为1 1微秒)。微秒)。 边沿触发方式适合于以负脉冲形式输入的外部中断请求,边沿触发方式适合于以负脉冲形式输入的外部中断请求,如如ADC0809ADC0809的转换结束标志信号的转换结束标志信号EOCEOC为正脉冲,经反相后就为正脉冲,经反相后就可以作为可以作为80C5180C51的中断输入。的中断输入。第第5章章 80C51的中断系统及定时、计数器的中断系统

30、及定时、计数器 单片机原理及系统设计单片机原理及系统设计 285.2.4 中断程序举例中断程序举例 第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 29 ORG 0000HSTART:LJMP MAIN ;跳转到主程序;跳转到主程序 ORG 0003H LJMP INTO ;转向中断服务程序;转向中断服务程序 ORG 0030H ;主程序;主程序 MAIN:CLR IT0 ;设为电平触发方式;设为电平触发方式 SETB EA ;CPU开放中断开放中断 SETB EX0 ;允许中断;允许中断 MOV DPTR,#1000H ;设置

31、数据区地址指针;设置数据区地址指针 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 ;存入数据存储器;存入数据存储器 INC DPTR ;修改数据指针,指向下一个单元;修改数据指针,指向下一个单元 POP ACC ;恢复现场;恢复现场 POP PSW RETI ;中断返回;中断返回第第5章章 80C51的中断系统及定时、计数器的中断系统及定时

32、、计数器 单片机原理及系统设计单片机原理及系统设计 30 例例 多外部中断源的系统示例。多外部中断源的系统示例。 设有设有5个外部中断源,中断优先级排队顺序为:个外部中断源,中断优先级排队顺序为:XI0、XI1、XI2、XI3、XI4。试设计它们与。试设计它们与80C51单片机的接口。单片机的接口。第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 31 ORG 0003H LJMP INSE0 ;转外部中断;转外部中断0服务程序入口服务程序入口 ORG 0013H LJMP INSE1 ;转外部中断;转外部中断1服务程序入口服务程

33、序入口 INSE0: PUSH PSW ;XI0中断服务程序中断服务程序 PUSH ACC POP ACC POP PSW RETI 第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 32INSE1:PUSH PSW ;中断服务程序;中断服务程序 PUSH ACC JB P1.0,DV1 ;P1.0为为1,转,转XI1中断服务程序中断服务程序 JB P1.1,DV2 ;P1.1为为1,转,转XI2中断服务程序中断服务程序 JB P1.2,DV3 ;P1.2为为1,转,转XI3中断服务程序中断服务程序 JB P1.3,DV4 ;P1

34、.3为为1,转,转XI4中断服务程序中断服务程序INRET:POP ACC POP PSW RETI DV1: ;XI1中断服务程序中断服务程序 AJMP INRET DV2: ;XI2中断服务程序中断服务程序 AJMP INRET DV3: ;XI3中断服务程序中断服务程序 AJMP INRET DV4: ;XI4中断服务程序中断服务程序 AJMP INRET第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 335.3 80C51的定时的定时/ /计数器计数器 80C51内部集成两个可编程的定时内部集成两个可编程的定时/计数器:

35、计数器:T0和和T1。 它们既可以工作于定时模式,也可以工作于外部它们既可以工作于定时模式,也可以工作于外部事件计数模式。事件计数模式。 T1还可以作为串行口的波特率发生器。还可以作为串行口的波特率发生器。 第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 34 实现定时功能,实现定时功能,比较方便的办法是利用单片机内部比较方便的办法是利用单片机内部的定时的定时/计数器计数器。也可以采用下面三种方法:。也可以采用下面三种方法:软件定时软件定时:软件定时不占用硬件资源,但占用了:软件定时不占用硬件资源,但占用了CPU时间,降低了时间

36、,降低了CPU的利用率。的利用率。采用时基电路定时采用时基电路定时:例如采用:例如采用555电路,外接必要的电路,外接必要的元器件(电阻和电容),即可构成硬件定时电路。但元器件(电阻和电容),即可构成硬件定时电路。但在硬件连接好以后,定时值与定时范围不能由软件进在硬件连接好以后,定时值与定时范围不能由软件进行控制和修改,即不可编程。行控制和修改,即不可编程。采用可编程芯片定时采用可编程芯片定时:这种定时芯片的定时值及定时:这种定时芯片的定时值及定时范围很容易用软件来确定和修改,此种芯片定时功能范围很容易用软件来确定和修改,此种芯片定时功能强,使用灵活。在单片机的定时强,使用灵活。在单片机的定时

37、/计数器不够用时,可计数器不够用时,可以考虑进行扩展。以考虑进行扩展。第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 355.3.1 定时定时/计数器的结构和工作原理计数器的结构和工作原理 一、定时一、定时/ /计数器的结构计数器的结构 定时定时/ /计数器的实质是加计数器的实质是加1 1计数器(计数器(1616位),由高位),由高8 8位和低位和低8 8位两个寄存器组成。位两个寄存器组成。TMODTMOD是定时是定时/ /计数器的工作方式寄存器,确计数器的工作方式寄存器,确定工作方式和功能;定工作方式和功能;TCONTCON是

38、控制寄存器,控制是控制寄存器,控制T0T0、T1T1的启动和的启动和停止及设置溢出标志停止及设置溢出标志。 第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 36二、定时二、定时/ /计数器的工作原理计数器的工作原理加加1计数器输入的计数脉冲有两个来源计数器输入的计数脉冲有两个来源:1)是由系统的时钟振荡器输出脉冲经是由系统的时钟振荡器输出脉冲经12分频后送来;分频后送来;2)一个是一个是T0或或T1引脚输入的外部脉冲源。引脚输入的外部脉冲源。每来一个脉冲计数器加每来一个脉冲计数器加1,当加到计数器为全,当加到计数器为全1时,再时

39、,再输入一个脉冲就使计数器回零,且计数器的溢出使输入一个脉冲就使计数器回零,且计数器的溢出使TCON中中TF0或或TF1置置1,向,向CPU发出中断请求(定时发出中断请求(定时/计数器中断允许时)。计数器中断允许时)。如果定时如果定时/计数器工作于定时模式,则表示定时时间已计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示计数值已满。到;如果工作于计数模式,则表示计数值已满。 可见,由溢出时计数器的值减去计数初值才是加可见,由溢出时计数器的值减去计数初值才是加1计数器的计数值计数器的计数值。 第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及

40、系统设计单片机原理及系统设计 37设置为定时器模式时设置为定时器模式时,加,加1计数器是对内部机器周期计数。计数器是对内部机器周期计数。计计数值数值N乘以机器周期乘以机器周期Tcy就是定时时间就是定时时间t 。设置为设置为计数器模式时计数器模式时,外部事件计数脉冲由,外部事件计数脉冲由T0或或T1引脚输入引脚输入到计数器。在每个机器周期的到计数器。在每个机器周期的S5P2期间采样期间采样T0、T1引脚电平。引脚电平。当某周期采样到一高电平输入,而下一周期又采样到一低电平当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加时,则计数器加1,更新的计数值在下一个机器周期的,更新的计

41、数值在下一个机器周期的S3P1期期间装入计数器。由于检测一个从间装入计数器。由于检测一个从1到到0的下降沿需要的下降沿需要2个机器周个机器周期,因此要求被采样的电平至少要维持一个机器周期。当晶振期,因此要求被采样的电平至少要维持一个机器周期。当晶振频率为频率为12MHz时时,最高计数频率不超过,最高计数频率不超过1/2MHz,即计数脉冲,即计数脉冲的周期要大于的周期要大于2 s。 第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 38 5.3.2 定时定时/计数器的控制计数器的控制 80C51单片机定时单片机定时/计数器的工作由两

42、个特殊功能寄计数器的工作由两个特殊功能寄存器控制。存器控制。TMOD用于设置其工作方式;用于设置其工作方式;TCON用于用于控制其启动和中断申请。控制其启动和中断申请。一、工作方式寄存器一、工作方式寄存器TMODTMOD 工作方式寄存器工作方式寄存器TMOD用于设置定时用于设置定时/计数器的工计数器的工作方式,低四位用于作方式,低四位用于T0,高四位用于,高四位用于T1。其格式如下:。其格式如下:第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 39第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理

43、及系统设计单片机原理及系统设计 40第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 41 二、控制寄存器二、控制寄存器TCONTCON TCONTCON的低的低4 4位用于控制外部中断位用于控制外部中断, ,已在前面介绍。已在前面介绍。TCONTCON的高的高4 4位用于控制定时位用于控制定时/ /计数器的启动和中断申请。其格式如下:计数器的启动和中断申请。其格式如下:第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 42TF1TF1(TCON.7TCON.7):)

44、:T1T1溢出中断请求标志位。溢出中断请求标志位。T1T1计数溢出时由硬计数溢出时由硬件自动置件自动置TF1TF1为为1 1。CPUCPU响应中断后响应中断后TF1TF1由硬件自动清由硬件自动清0 0。T1T1工作时,工作时,CPUCPU可随时查询可随时查询TF1TF1的状态。所以,的状态。所以,TF1TF1可用作查询测试的标志。可用作查询测试的标志。TF1TF1也可以用软件置也可以用软件置1 1或清或清0 0,同硬件置,同硬件置1 1或清或清0 0的效果一样。的效果一样。TR1TR1(TCON.6TCON.6):):T1T1运行控制位运行控制位。TR1TR1置置1 1时,时,T1T1开始工作

45、;开始工作;TR1TR1置置0 0时,时,T1T1停止工作。停止工作。TR1TR1由软件置由软件置1 1或清或清0 0。所以,用软件可控。所以,用软件可控制定时制定时/ /计数器的启动与停止。计数器的启动与停止。TF0TF0(TCON.5TCON.5):):T0T0溢出中断请求标志位,溢出中断请求标志位,其功能与其功能与TF1TF1类同。类同。TR0TR0(TCON.4TCON.4):):T0T0运行控制位运行控制位,其功能与,其功能与TR1TR1类同。类同。第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 43 5.3.3 定时

46、定时/计数器的工作方式计数器的工作方式 一、方式一、方式0 0当当TMODTMOD的的M1M0=00M1M0=00时,定时时,定时/ /计数器工作于方式计数器工作于方式0 0。方式方式0 0为为1313位计数位计数,由,由TL0TL0的低的低5 5位(高位(高3 3位未用)和位未用)和TH0TH0的的8 8位位组成。组成。TL0TL0的低的低5 5位溢出时向位溢出时向TH0TH0进位,进位,TH0TH0溢出时,置位溢出时,置位TCONTCON中的中的TF0TF0标志,向标志,向CPUCPU发出中断请求。发出中断请求。第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机

47、原理及系统设计单片机原理及系统设计 44定时器模式时定时器模式时有有:N:Nt/ Tcy t/ Tcy 计数初值计算的公式为:计数初值计算的公式为:计数模式时,计数脉冲是计数模式时,计数脉冲是T0T0引脚上的外部脉冲。引脚上的外部脉冲。13X=2 -N门控位门控位GATEGATE具有特殊的作用。具有特殊的作用。当当GATE=0GATE=0时时,经反相后使或门输,经反相后使或门输出为出为1 1,此时仅由,此时仅由TR0TR0控制与门的开启,与门输出控制与门的开启,与门输出1 1时,控制开关时,控制开关接通,计数开始;接通,计数开始;当当GATE=1GATE=1时时,由外中断引脚信号控制或门的,由

48、外中断引脚信号控制或门的输出,此时控制输出,此时控制与门的开启由外中断引脚信号和与门的开启由外中断引脚信号和TR0TR0共同控制共同控制。当当TR0=1TR0=1时,外中断引脚信号引脚的时,外中断引脚信号引脚的高电平启动计数高电平启动计数,外中断引,外中断引脚信号引脚的脚信号引脚的低电平停止计数低电平停止计数。这种方式常用来测量外中断引。这种方式常用来测量外中断引脚上正脉冲的宽度。脚上正脉冲的宽度。 第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 45 16X=2 -N二、方式二、方式1 1 当当M1M0=01M1M0=01时,

49、定时时,定时/ /计数器工作于方式计数器工作于方式1 1。方式方式1 1的计数位数是的计数位数是1616位,由位,由TL0TL0作为低作为低8 8位、位、TH0TH0作为作为高高8 8位,组成了位,组成了1616位加位加1 1计数器计数器 。计数个数与计数初值的关系为:计数个数与计数初值的关系为: 第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 468X=2 -N三、方式三、方式2 2 当当M1M0=10M1M0=10时,定时时,定时/ /计数器工作于方式计数器工作于方式2 2。这是自动重装初值的。这是自动重装初值的8 8位计数

50、方式,它省去了方式位计数方式,它省去了方式0 0和方式和方式1 1在多次重复计数状态下必须在多次重复计数状态下必须重新设定计数初值的麻烦,但是却付出了减小定时时间的代价。重新设定计数初值的麻烦,但是却付出了减小定时时间的代价。方式方式2 2为自动重装初值的为自动重装初值的8 8位计数方式。位计数方式。 工作方式工作方式2 2特别适合于用作较精确的脉冲信号发生器。特别适合于用作较精确的脉冲信号发生器。 计数个数与计数初值的关系为计数个数与计数初值的关系为: 第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 47 四、方式四、方式3

51、3 方式方式3 3只适用于定时只适用于定时/ /计数器计数器T0T0,定时器定时器T1T1处于方式处于方式3 3时相当时相当于于TR1=0TR1=0,停止计数。,停止计数。当当M1M0=11M1M0=11时,时,T0T0工作于方式工作于方式3 3。 工作方式工作方式3将将T0分成为两个独立的分成为两个独立的8位计数器位计数器TL0和和TH0 。 第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 48 5.3.4 定时定时/计数器用于外部中断扩展计数器用于外部中断扩展 扩展方法是,将定时扩展方法是,将定时/ /计数器设置为计数器方式

52、,计数初值计数器设置为计数器方式,计数初值设定为满程,将待扩展的外部中断源接到定时设定为满程,将待扩展的外部中断源接到定时/ /计数器的外部计数器的外部计数引脚。从该引脚输入一个下降沿信号,计数器加计数引脚。从该引脚输入一个下降沿信号,计数器加1 1后便产后便产生定时生定时/ /计数器溢出中断。计数器溢出中断。例如,利用例如,利用T0扩展一个外部中断源。将扩展一个外部中断源。将T0设置为计数器方式,设置为计数器方式,按方式按方式2工作,工作,TH0、TL0的初值均为的初值均为0FFH,T0允许中断,允许中断,CPU开放中断。开放中断。其初始化程序如下:其初始化程序如下: MOV TMOD,#0

53、6H ;置;置T0为计数器方式为计数器方式2 MOV TL0,#0FFH ;置计数初值;置计数初值 MOV TH0,#0FFH SETB TR0 ;启动;启动T0工作工作 SETB EA ;CPU开中断开中断 SETB ET0 ;允许;允许T0中断中断第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 495.3.5 定时定时/计数器应用举例计数器应用举例 初始化程序应完成如下工作:初始化程序应完成如下工作:对对TMOD赋值,以确定赋值,以确定T0和和T1的工作方式。的工作方式。计算初值计算初值,并将其写入并将其写入TH0、TL0或

54、或TH1、TL1。中断方式时,则对中断方式时,则对IE赋值,开放中断。赋值,开放中断。使使TR0或或TR1置位,启动定时置位,启动定时/计数器定时或计数。计数器定时或计数。第第5章章 80C51的中断系统及定时、计数器的中断系统及定时、计数器 单片机原理及系统设计单片机原理及系统设计 50例例 利用定时利用定时/计数器计数器T0的方式的方式1,产生,产生10ms的定时,并的定时,并使使P1.0引脚上输出周期为引脚上输出周期为20ms的方波,采用中断方式,的方波,采用中断方式,设系统时钟频率为设系统时钟频率为12 MHz。解:解:1、计算计数初值、计算计数初值X:由于晶振为由于晶振为12 MHz,所以机器周期,所以机器周期Tcy为为1 s。所以:所以:Nt/ Tcy 10103/11061000

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论