
第5章定时计数技术 ● 第5章 定时计数技术 单片机控制系统中常常用到的定时与计数问题。 5.1定时计数概述 5.2MCS-51单片机的定时计数器 ●
第5章 定时计数技术 第5章 定时计数技术 单片机控制系统中常常用到的定时与计数问题。 5.1 定时计数概述 5.2 MCS-51单片机的定时计数器

第5章定时计数技术 5.1定时/计数器概述 1、定时的定义: 定时是对周期固定、己知的脉冲计数。 2、计数的定义: 计数是对外界产生的周期不固定的未知脉冲计数。计数器 的计数方式可以是加1计数,也可以是减1计数。 3、定时/计数的实现方法: 定时/计数的实现方法有3种: (1)硬件数字电路:用555构成的定时器和计数器等。 (②)软件编程 (③)可编程定时计数器
第5章 定时计数技术 5.1 定时/计数器概述 1、定时的定义: 定时是对周期固定、已知的脉冲计数。 2、计数的定义: 计数是对外界产生的周期不固定的未知脉冲计数。计数器 的计数方式可以是加1计数,也可以是减1计数。 3、定时/计数的实现方法: 定时/计数的实现方法有3种: ⑴ 硬件数字电路:用555构成的定时器和计数器等。 ⑵ 软件编程 ⑶ 可编程定时/计数器

第5章定时计数技术 软件编程 ● 例:编制一个延时2mS的子程序。 D2MS:MOV R7,#2 D2MS0:MOV R6,#250 DJNZ R6, DJNZ R7,D2MSO RET 例:统计开关按动次数,并存于30H单元。 MOV 30H,#0 UP:JB P1.0,$ JNB P1.0,$ INC 30H SJMP UP
第5章 定时计数技术 软件编程 例:编制一个延时2mS的子程序。 D2MS: MOV R7,#2 D2MS0: MOV R6,#250 DJNZ R6,$ DJNZ R7,D2MS0 RET 例:统计开关按动次数,并存于30H单元。 MOV 30H,#0 UP: JB P1.0,$ JNB P1.0,$ INC 30H SJMP UP

第5章定时计数技术 可编程定时计数器 ● 有的控制系统是按时间间隔来进行控制的,如定时的温度检测等。虽然可以 利用延迟程序来取得定时的效果,但这会降低CPU的工作效率。如果能用一个可 编程的实时时钟,以实现定时或延时控制,则CPU不必通过等待来实现延时,就 可以提高CPU的效率。 另外也有些控制是按计数的结果来进行的,因此在微机控制系统中常使用可 编程的硬件定时/计数器。现在有很多专门用作定时/计数器的接口芯片。单片 机内带有硬件定时/计数器可以简化系统设计。 不论是独立的定时器芯片还是单片机内的定时器,都有以下特点: 1.定时/计数器可以有多种工作方式,可以是计数方式也可以是定时方式等等。 2.计数器模值是可变的,当然计数的最大值是有一定限制的,这取决于计数器 的位数。计数的最大值也就限制了定时的最大值。 3.可以按照规定的定时或计数值,当定时的时间到或者计数终止时,发出中断 申请,以便实现定时或计数控制。除了上述共同特点外,各种定时器还会有备自 的特点,各自的工作方式和控制方式。 ●
第5章 定时计数技术 可编程定时/计数器 有的控制系统是按时间间隔来进行控制的,如定时的温度检测等。虽然可以 利用延迟程序来取得定时的效果,但这会降低CPU的工作效率。如果能用一个可 编程的实时时钟,以实现定时或延时控制,则CPU不必通过等待来实现延时,就 可以提高CPU的效率。 另外也有些控制是按计数的结果来进行的,因此在微机控制系统中常使用可 编程的硬件定时/计数器。现在有很多专门用作定时/计数器的接口芯片。单片 机内带有硬件定时/计数器可以 简化系统设计。 不论是独立的定时器芯片还是单片机内的定时器,都有以下特点: 1.定时/计数器可以有多种工作方式,可以是计数方式也可以是定时方式等等。 2.计数器模值是可变的,当然计数的最大值是有一定限制的,这取决于计数器 的位数。计数的最大值也就限制了定时的最大值。 3.可以按照规定的定时或计数值,当定时的时间到或者计数终止时,发出中断 申请,以便实现定时或计数控制。除了上述共同特点外,各种定时器还会有各自 的特点,各自的工作方式和控制方式

第5章定时计数技术 5.2 MCS51单片机内部的定时/计数器 5.2.1定时计数器结构 5.2.2定时/计数器工作方式 5.2.3定时/计数器应用
第5章 定时计数技术 5.2 MCS51单片机内部的定时/计数器 5.2.1 定时/计数器结构 5.2.2 定时/计数器工作方式 5.2.3 定时/计数器应用

第5章定时计数技术 5.2.1定时/计数器结构 MCS51单片机内有2个独立的16位的可编程定时/计数器T0和T1。它们 的结构相似。T0的结构如图所示: 冂 振荡器 +÷12 C/T=0 加1计数器 TFO TO C/T=11 合/断 TRO GATEO INTO TCON IMOD THO TLO THI TLI ●
第5章 定时计数技术 5.2.1 定时/计数器结构 MCS51单片机内有2个独立的16位的可编程定时/计数器T0和T1。它们 的结构相似。T0的结构如图所示: 振荡器 ÷12 C/T=0 C/T=1 & + 加1计数器 TF0 合/断 T0 TR0 GATE0 INT0 TCON TMOD TH0 TL0 TH1 TL1

TMOD 第5章定时计数技术 TMOD:89H 只能按字节操作。 ● GATEI C/TI M11 M10 GATE1 C/TI M11 M10 C/T:用来确定To(T1)是工作在计数方式还是工作在定时方式。C/T=0为定时 方式,C/T-1为计数方式。即对外部引脚的外部输入脉冲计数。外部引脚上输入 的每一个脉冲的负跳变使计数值加1,由于外输入脉冲的每个高、低电平持续时间 各应大于一个机器周期,因此最小的计数周期为两个机器周期。例如,若单片机 晶振频率为12MHZ,则外部计数脉冲的最高频率只能为500KHZ。 M1和M2:两位用来确定To(T1)的具体工作模式。M1、M2的四种组合刚好与四 种工作模式对应,分别是方式0、方式1、方式2、方式3。 GATE:一般称为门控标志。它对定时/数器的启动起着控制作用。当GATE=1时, 定时计数器的启动除了受TR控制外,还受NT引脚的控制。当TR=O且INT引脚上 出现高电平时才能启动定时计数器。 ΠΠΠ 振荡器 ÷12 C/T-0 加1计数器 TFO TO c/T=11 合/断 TRO ● GATEO
第5章 定时计数技术 TMOD:89H 只能按字节操作。 振荡器 ÷12 C/T=0 C/T=1 & + 加1计数器 TF0 合/断 T0 TR0 GATE0 GATE1 C/T: 用来确定To(T1)是工作在计数方式还是工作在定时方式。C/T=0为定时 方式,C/T=1为计数方式。即对外部引脚的外部输入脉冲计数。外部引脚上输入 的每一个脉冲的负跳变使计数值加1,由于外输入脉冲的每个高、低电平持续时间 各应大于一个机器周期,因此最小的计数周期为两个机器周期。例如,若单片机 晶振频率为12MHZ,则外部计数脉冲的最高频率只能为500KHZ。 M1和M2: 两位用来确定To(T1)的具体工作模式。M1、M2的四种组合刚好与四 种工作模式对应,分别是方式0、方式1、方式2、方式3。 GATE : 一般称为门控标志。它对定时/数器的启动起着控制作用。当GATE=1时, 定时计数器的启动除了受TR控制外,还受INT引脚的控制。当TR=0且INT引脚上 出现高电平时才能启动定时计数器。 TMOD C/T1 M11 M10 GATE1 C/T1 M11 M10

TCON 第5章定时计数技术 TCON:88H 可以按字节操作,也可以按位操作。 TF1TRITFOTROIE1IEO10 TF0:T0溢出中断标志位。当T0计数溢出时,TF0=1。在允许中断的情况下,CPU 响应T0中断,转向T0中断服务程序,此时由硬件自动将T℉0清0。该标志位可由软 件查询,也可用软件清0或置1。 TR0:为T0启动控制位。当TR0=1时,启动TO:TR0=0时,关闭T0。该位由软件 进行设置。 TFO:TO溢出中断标志位。当T0计数溢出时,TFO=1。在允许中断的情况下,CPU 响应T0中断,转向T0中断服务程序,此时由硬件自动将T℉0清0。该标志位可由软 件查询,也可用软件清0或置1。 TR0:为T0启动控制位。当TR0=1时,启动T0:TR0=0时,关闭T0。该位由软件 进行设置。 口Π口 振荡器 ÷12 C/T-0 加1计数器 TFO To c/T=11 合/断 TRO GATEO
第5章 定时计数技术 TCON:88H 可以按字节操作,也可以按位操作。 振荡器 ÷12 C/T=0 C/T=1 & + 加1计数器 TF0 合/断 T0 TR0 GATE0 INT0 TCON TF1TR1TF0TR0 IE1 IT1 IE0 IT0 TF0: T0溢出中断标志位。当T0计数溢出时,TF0=1。在允许中断的情况下,CPU 响应T0中断,转向T0中断服务程序,此时由硬件自动将TF0清0。该标志位可由软 件查询,也可用软件清0或置1。 TR0:为T0启动控制位。当TR0=1时,启动T0;TR0=0时,关闭T0。该位由软件 进行设置。 TF0: T0溢出中断标志位。当T0计数溢出时,TF0=1。在允许中断的情况下,CPU 响应T0中断,转向T0中断服务程序,此时由硬件自动将TF0清0。该标志位可由软 件查询,也可用软件清0或置1。 TR0:为T0启动控制位。当TR0=1时,启动T0;TR0=0时,关闭T0。该位由软件 进行设置

计数寄存器 第5章定时计数技术 ● MCS-51单片机内部有两个16位的定时/计数器T0和T1。每个定时/计数 器占用两个特殊功能寄存器: T0由TH0和TL0两个8位计数器组成,字节地址分别是8CH和8AH。 T1由TH1和TL1两个8位计数器组成,字节地址分别是8DH和8BH。 用于存放定时或计数的初值。当计数器工作时,其值随计数脉冲做加1 变化。 振荡器 ÷12 C/T-0 加1计数器 TFO To C/T=11 THO TLO 合/断 TRO GATEO INTO
第5章 定时计数技术 振荡器 ÷12 C/T=0 C/T=1 & + 加1计数器 TF0 合/断 T0 TR0 GATE0 INT0 MCS-51单片机内部有两个16位的定时/计数器T0和T1。每个定时/计数 器占用两个特殊功能寄存器: T0由TH0和TL0两个8位计数器组成,字节地址分别是8CH和8AH。 T1由TH1和TL1两个8位计数器组成,字节地址分别是8DH和8BH。 用于存放定时或计数的初值。当计数器工作时,其值随计数脉冲做加1 变化。 计数寄存器 TH0 TL0

第5章定时计数技术 ● 5.2.2定时/计数器的工作方式 由于T0由TL0(低8位)和TH0(高8位)组成:T1由TH和TH组成。所以T0、 T1都是16位计数器。但是若将它们设置成不同的工作方式,其计数长度(最 大值)和计数方式都可变化。内部定时/计数器一共有四种工作方式,由 TMOD的相关位设置。 GATE1 C/TI M11 M10 GATE1 C/TI M11 M10 M1和M2:两位用来确定To(T1)的具体工作模式。M1、M2的四种组合刚 好与四种工作模式对应。定时/计数器工作模式如下: MI MO 模式 说明 00 方式0 13位定时/计数器(TH高8位加上TL中的低5位) 01 方式1 16位定时/计数器 10 方式2 自动重装初值的8位定时/计数器 方式3 模式3只针对T0,T0分成两个独立的8位定时/计数器 11 T1无模式3
第5章 定时计数技术 由于T0由TL0(低8位)和TH0(高8位)组成;T1由TH和THl组成。所以T0、 T1都是16位计数器。但是若将它们设置成不同的工作方式,其计数长度(最 大值)和计数方式都可变化。内部定时/计数器一共有四种工作方式,由 TMOD的相关位设置。 5.2.2 定时/计数器的工作方式 GATE1 C/T1 M11 M10 GATE1 C/T1 M11 M10 M1和M2:两位用来确定To(T1)的具体工作模式。M1、M2的四种组合刚 好与四种工作模式对应。定时/计数器工作模式如下: M1 M0 模式 说 明 0 0 方式0 13位定时/计数器(TH高8位加上TL中的低5位) 0 1 方式1 16位定时/计数器 1 0 方式2 自动重装初值的8位定时/计数器 1 1 方式3 模式3只针对T0,T0分成两个独立的8位定时/计数器; T1无模式3 方式0 方式1 方式2 方式3