1、第6章 定时计数技术 第六章第六章 定时计数技术定时计数技术 单片机控制系统中常常用到的定时与计数问题。单片机控制系统中常常用到的定时与计数问题。6.1 定时计数概述定时计数概述 6.2 MCS-51单片机的定时计数器单片机的定时计数器第6章 定时计数技术 6.1 定时定时/计数器概述计数器概述 1、定时的定义:、定时的定义:定时是对周期固定、已知的脉冲计数。2、计数的定义:、计数的定义:计数是对外界产生的周期不固定的未知脉冲计数。计数器的计数方式可以是加1计数,也可以是减1计数。3、定时、定时/计数的实现方法:计数的实现方法:定时/计数的实现方法有3种:硬件数字电路:硬件数字电路:用555构
2、成的定时器和计数器等。软件编程软件编程 可编程定时可编程定时/计数器计数器第6章 定时计数技术软件编程软件编程例:编制一个延时例:编制一个延时10mS的子程序。的子程序。MOV R6,#20 D1:MOV R7,#248 DJNZ R7,$DJNZ R6,D1 RET第6章 定时计数技术可编程定时可编程定时/计数器计数器 有的控制系统是按时间间隔来进行控制的,如定时的温度检测等。虽然可以有的控制系统是按时间间隔来进行控制的,如定时的温度检测等。虽然可以利用利用延迟程序延迟程序来取得定时的效果,但这会降低来取得定时的效果,但这会降低CPU的工作效率。如果能用一个的工作效率。如果能用一个可编程的实
3、时时钟可编程的实时时钟,以实现定时或延时控制,则,以实现定时或延时控制,则CPU不必通过等待来实现延时,不必通过等待来实现延时,就可以提高就可以提高CPU的效率。的效率。另外也有些控制是按计数的结果来进行的,因此在微机控制系统中常使用另外也有些控制是按计数的结果来进行的,因此在微机控制系统中常使用可可编程的硬件定时计数器编程的硬件定时计数器。现在有很多专门用作定时计数器的接口芯片。单。现在有很多专门用作定时计数器的接口芯片。单片机内带有硬件定时计数器可以片机内带有硬件定时计数器可以 简化系统设计。简化系统设计。不论是独立的定时器芯片还是单片机内的定时器,都有以下特点:不论是独立的定时器芯片还是
4、单片机内的定时器,都有以下特点:1定时计数器可以有多种工作方式,可以是计数方式也可以是定时方式等等。定时计数器可以有多种工作方式,可以是计数方式也可以是定时方式等等。2计数器模值是可变的,当然计数的最大值是有一定限制的,这取决于计数器计数器模值是可变的,当然计数的最大值是有一定限制的,这取决于计数器的位数。计数的最大值也就限制了定时的最大值。的位数。计数的最大值也就限制了定时的最大值。3可以按照规定的定时或计数值,当定时的时间到或者计数终止时,发出中断可以按照规定的定时或计数值,当定时的时间到或者计数终止时,发出中断申请,以便实现定时或计数控制。除了上述共同特点外,各种定时器还会有各申请,以便
5、实现定时或计数控制。除了上述共同特点外,各种定时器还会有各自的特点,各自的工作方式和控制方式。自的特点,各自的工作方式和控制方式。第6章 定时计数技术 6.2 MCS51单片机内部的定时单片机内部的定时/计数器计数器 6.2.1 定时定时/计数器结构计数器结构 6.2.2 定时定时/计数器工作方式计数器工作方式6.2.3 定时定时/计数器应用计数器应用第6章 定时计数技术6.2.1 定时器定时器/计数器的结构计数器的结构MCS51单片机内有单片机内有2个独立的个独立的16位的可编程定时位的可编程定时/计数器计数器T0和和T1。它们的结构相似。它们的结构相似。第6章 定时计数技术 6.2.1 定
6、时定时/计数器结构计数器结构T0的结构如图所示:振荡器12C/T=0C/T=1+加加1计数器计数器TF0合合/断断T0TR0GATE0INT0TCONTMODTH0TL0TH1TL1第6章 定时计数技术 TMOD:89H 只能按字节操作。只能按字节操作。GATE:一般称为门控标志。它对定时一般称为门控标志。它对定时/计数器的启动起着控制作用。当计数器的启动起着控制作用。当GATE=1时时,只有只有INT0(或或INT1)引脚为高电平且引脚为高电平且TR0(或或TR1)置置 1 时时,相相应的定时器应的定时器 /计数器才被选通工作计数器才被选通工作,这时可用于测量在这时可用于测量在INTx端出现
7、的正脉端出现的正脉冲的宽度。若冲的宽度。若GATE=0,则只要则只要 TR0(或或 TR1)置置 1,定时器定时器 /计数器就被计数器就被选通选通,而不管而不管 INT0(或或 INT1)的电平是高还是低。的电平是高还是低。CT:用来确定用来确定To(T1)是工作在计数方式还是工作在定时方式。是工作在计数方式还是工作在定时方式。CT=0为定时方式,为定时方式,CT=1为计数方式为计数方式。即对外部引脚的外部输入脉冲计数。即对外部引脚的外部输入脉冲计数。外部引脚上输入的每一个脉冲的负跳变使计数值加外部引脚上输入的每一个脉冲的负跳变使计数值加1,由于外输入脉冲的,由于外输入脉冲的每个高、低电平持续
8、时间各应大于一个机器周期,因此最小的计数周期为每个高、低电平持续时间各应大于一个机器周期,因此最小的计数周期为两个机器周期。例如,若单片机晶振频率为两个机器周期。例如,若单片机晶振频率为12MHZ,则外部计数脉冲的,则外部计数脉冲的最高频率只能为最高频率只能为500KHZ。TMOD第6章 定时计数技术M1 M0 方式方式说说 明明0 0013 位定时器(TH的 8 位和TL的低 5 位)0 1116 位定时器/计数器 1 02自动重装入初值的 8 位计数器 1 13 T0 分成两个独立的 8 位计数器,T1 在方式 3 时停止工作 工作方式选择表:M1和和M2:两位用来确定两位用来确定To(T
9、1)的具体工作模式。的具体工作模式。M1、M2的的四种组合刚好与四种工作模式对应,分别是四种组合刚好与四种工作模式对应,分别是方式方式0、方式、方式1、方、方式式2、方式、方式3。第6章 定时计数技术 TCON:88H 可以按字节操作,也可以按位操作。可以按字节操作,也可以按位操作。TCONTR1:为T1启动控制位。当TR1=1时,启动T1;TR1=0时,关闭T1。该位由软件进行设置。TR0:为T0启动控制位。当TR0=1时,启动T0;TR0=0时,关闭T0。该位由软件进行设置。第6章 定时计数技术振荡器12C/T=0C/T=1+加加1计数器计数器TF0合合/断断T0TR0GATE0INT0
10、MCS-51单片机内部有两个16位的定时/计数器T0和T1。每个定时/计数器占用两个特殊功能寄存器:T0由TH0和TL0两个8位计数器组成,字节地址分别是8CH和8AH。T1由TH1和TL1两个8位计数器组成,字节地址分别是8DH和8BH。用于存放定时或计数的初值。当计数器工作时,其值随计数脉冲做加其值随计数脉冲做加 1变化变化。计数寄存器计数寄存器TL0TH0第6章 定时计数技术 由于T0由TL0(低8位)和TH0(高8位)组成;T1由TH0和THl组成。所以T0、T1都是16位计数器。但是若将它们设置成不同的工作方式,其计数长度(最大值)和计数方式都可变化。内部定时计数器一共有四种工作方式
11、,由TMOD的相关位设置。6.2.2 定时定时/计数器的工作方式计数器的工作方式GATE1 C/T1M11M10 GATE0 C/T0M01M00M1和M2:两位用来确定To(T1)的具体工作模式。M1、M2的四种组合刚好与四种工作模式对应。定时/计数器工作模式如下:M1 M0模式说 明0 0方式方式013位定时/计数器(TH高8位加上TL中的低5位)0 1方式方式116位定时/计数器1 0方式方式2自动重装初值的8位定时/计数器1 1方式方式3模式3只针对T0,T0分成两个独立的8位定时/计数器;T1无模式3方式方式0方式方式1方式方式2方式方式3第6章 定时计数技术振荡器12C/T=0C/
12、T=1+TF0合合/断断T0TR0GATE0INT0 在方式0下,T0构成一个13位的计数器,由TH0的8位和TL0的低5位组成,TL0的高3位未用,满计数值为213。T0启动后立即加1计数,当TL0的低5位计数溢出时向TH0进位,TH0计数溢出则对相应的溢出标志位TF0置位,以此作为定时器溢出中断标志。当单片机进入中断服务程序时,由内部硬件自动清除该标志。TH0D5方式方式0D4D3D2D1D0TL0 当选择了定时或计数工作方式后,定时/计数脉冲却不一定能到达计数器输入端,只有当控制开关合上时,计数脉冲才能到达计数器输入端,开始加1计数。控制开关闭合的条件如下:GATE=0时,开关的打开、合
13、上取决于TR0,只要TR0是1,开关就合上,计数脉冲得以畅通无阻,而如果TR0等于0则开关打开,计数脉冲无法通过,因此定时/计数是否工作,只取决于TR0。GATE=1时,控制开关不仅要由TR0来控制,而且还要受到引脚的控制,只有TR0为1,且INT0引脚也是高电平,开关才合上,计数脉冲才得以通过。计数器 第6章 定时计数技术 在方式1下,定时/计数器T0和T1的方式1都是相同的。以下仅以T0为例。T0构成一个16位的计数器,由TH0的8位和TL0的8位组成。T0启动后立即加1计数,当TL0计数溢出时向TH0进位,TH0计数溢出则对相应的溢出标志位TF0置位,以此作为定时器溢出中断标志。当单片机
14、进入中断服务程序时,由内部硬件自动清除该标志。方式方式1振荡器12C/T=0C/T=1+TF0合合/断断T0TR0GATE0INT0TL0 TH0计数器 定时方式:定时方式:定时时间:t=(216-T0初值)振荡周期12计数方式:计数方式:计数长度为216=65536(个外部脉冲)第6章 定时计数技术方式1第6章 定时计数技术振荡器12C/T=0C/T=1+TF0合合/断断T0TR0GATE0INT0 在方式2下,定时/计数器T0和T1的方式1都是相同的。以下仅以T0为例。TH0和TL0被当作两个8位计数器,计数过程中,TH0寄存8位初值并保持不变,由TL0进行8位计数。当低8位计数溢出时,除
15、了可产生中断申请外,还将TH0中保存的内容向TL0重新装人,以便于重新计数,而TH0中的初值仍然保留,以便下次再行对TL0进行重装。方式2对于连续计数比较有利。这时不需要在溢出后用软件重新装入计数初值,而是可以自动装入,但此时计数的长度将受到很大的限制,只有28=256次,定时时间:t=(28-T0初值)振荡周期12。TH0TL0方式方式2计数器 第6章 定时计数技术方式2第6章 定时计数技术振荡器12C/T=0C/T=1+TF0合合/断断T0TR0GATE0INT0方式3只适用于定时/计数器T0。这种工作方式下,定时/计数器T0被拆成2个独立的定时/计数器来用。TL0方式方式3计数器 振荡器
16、12TF1TH0计数器 TR1合合/断断 在方式3下,T0和T1的工作有很大的不同。若把T1置于方式3,则Tl停止计数,定时器T1保持其内容不变。所以,一般不会把T1置于方式3。若把T0置于方式3,则16位计数器拆开为两个独立工作的8位计数器TL0和 TH0。但这两个8位计数器的工作是有差别的。首先是工作方式的不同:对TL0来说它既可以按计数方式可以按计数方式工作,也可以按定时方式工作工作,也可以按定时方式工作,而TH0则只能按定时方式只能按定时方式工作。另外是控制方式的不同。一般情况下,当定时/计数器T0处于工作方式3时,定时/计数器T1可工作为方式0、1、2,但由于此时其已没有控制通断和溢
17、出中断的功能,T1只能作为串行口的波特率发生器使用,或不需要中断的场合。第6章 定时计数技术方式3第6章 定时计数技术 MCS-51的定时计数器是可编程的,因此,在进行定时或计数的定时计数器是可编程的,因此,在进行定时或计数之前也要用对其进行初始化。初始化一般应包括以下几个步骤:之前也要用对其进行初始化。初始化一般应包括以下几个步骤:1、对对TMOD寄存器赋值,以确定定时器的工作方式。寄存器赋值,以确定定时器的工作方式。2置置定时计数器初值定时计数器初值,直接将初值写入寄存器的,直接将初值写入寄存器的TH0,TL0或或TH1,TLl。3根据需要,对寄存器根据需要,对寄存器IE置初值,开放定时器
18、中断。置初值,开放定时器中断。4对对TCON寄存器中的寄存器中的TRl或或TR0置位,启动定时计数器。启动置位,启动定时计数器。启动以后,计数器即按规定的工作方式和初值进行计数或开始定时。以后,计数器即按规定的工作方式和初值进行计数或开始定时。6.2.3 定时定时/计数器的应用计数器的应用第6章 定时计数技术定时计数器初值定时计数器初值 在初始化过程中,要置入定时值或计数值的初值,这时要作一些计算。方法如下:设计数器的最大值为M(在不同的工作方式中,M可以为213,216或28),则置入的初值X可这样来计算:计数方式计数方式时:X=M计数模值计数模值 定时方式定时方式时:(MX)T=定时值,所
19、以定时值,所以X=M定时值定时值T。其中T为计 数周期,它是单片机振荡周期的12倍。当振荡周期为112MHZ时,计数周期为 1us。在这种情况下,若定时器工作在方式0,则最大定时值为 213X 112MHZs=8.192ms;若工作在方式1,则最大定时值为216X 112MHZs=65.536ms例例 若单片机的频率为若单片机的频率为12MHz,请计算,请计算2ms所需要的定时器初值。所需要的定时器初值。解解:计数脉冲个数为2/0.001=2000若方式0,则计数初值为:213-2000=6192=1830H TH0=18H,TL0=30H若方式1,则计数初值为:216-2000=63536=
20、F830H TH0=F8H,TL0=30H第6章 定时计数技术定时初值或计数初值的计算方法:定时初值或计数初值的计算方法:不同工作方式的定时初值或计数初值的计算方法不同工作方式的定时初值或计数初值的计算方法如下表所示。如下表所示。工作方式工作方式计数位数计数位数最大计数值最大计数值最大定时时最大定时时间间定时初值计算公定时初值计算公式式计数初值计算公式计数初值计算公式方式方式013213=8192213 T机机X=213-T/T机机X=213-计数值计数值方式方式116216=65536216 T机机X=216-T/T机机X=216-计数值计数值方式方式2828=25628 T机机X=28-T/T机机X=28-计数值计数值
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。