第六章 定时器/计数器TMR0
合集下载
最新单片机讲义1(第六章定时器计数器)概要ppt课件

方式0:13位计数方式。相当于有5位预分频的8位计数方式。 方式1:16位计数方式。 方式2:计数常数可自动重装的8位计数方式。 方式3:两个8位计数器与波特率发生器的工作方式。
6.2.1 方式 0
6.2.2 方式1
6.2.3 方式 2
6.2.4 方式 3
在方式3下,T1只作 波特率发生器。在这样 情况下,T1将TF1、 TR1资源出借给T0使用。 因此,在方式3下,T0 可以构成两个独立的计 数器结构,如图6-6 (a)和图6-6(b)所 示。
1.工作方式3下的T0
●当TMOD的低2位为11时,T0的工作方式被选为方式3, 各引脚与T0的逻辑关系框图如下图所示。
定时器/计数器T0分为 2个独立的8位计数器:TL0 和TH0。 TL0使用T0的状态控制位C/ T GATE、TR0、INT0 ,而 TH0被固定为1个8位定时 器(不能为外部计数模式), 并使用定时器T1的状态控 制位TR1和TF1,同时占用 定时器T1的中断请求源TF1。
6.3 定时器/计数器对输入信号的要求
(1)当被选定为定时器工作模式时
计数输入信号是内部时钟脉冲,每个机器周期产生1个脉冲使计数器增 1。因此,定时器/计数器的输入脉冲的周期与机器周期一样,为时钟振 荡频率的1/12。当采用12 MHZ频率的晶体时,计数速率为1MHZ,输 入脉冲的周期间隔为 lμs。由于定时的精度决定于输入脉冲的周期,因此 当需要高分辨率的定时时,应尽量选用频率较高的晶体。
溢出中断请求标志位TFi
6.1.3 定时器/计数器的操作
●定时器/计数器的方式设定、启停控制等,都通过对特殊功能寄存 器TMOD和TCON的操作来完成。
【例】设定T0为方式1的计数方式,并由内部TR0控制启 停,其控制字为××××0101B,设 T1为复位状态,故 设定控制字为0000 0101B=05H。使用以下指令完成方 式设定。
6.2.1 方式 0
6.2.2 方式1
6.2.3 方式 2
6.2.4 方式 3
在方式3下,T1只作 波特率发生器。在这样 情况下,T1将TF1、 TR1资源出借给T0使用。 因此,在方式3下,T0 可以构成两个独立的计 数器结构,如图6-6 (a)和图6-6(b)所 示。
1.工作方式3下的T0
●当TMOD的低2位为11时,T0的工作方式被选为方式3, 各引脚与T0的逻辑关系框图如下图所示。
定时器/计数器T0分为 2个独立的8位计数器:TL0 和TH0。 TL0使用T0的状态控制位C/ T GATE、TR0、INT0 ,而 TH0被固定为1个8位定时 器(不能为外部计数模式), 并使用定时器T1的状态控 制位TR1和TF1,同时占用 定时器T1的中断请求源TF1。
6.3 定时器/计数器对输入信号的要求
(1)当被选定为定时器工作模式时
计数输入信号是内部时钟脉冲,每个机器周期产生1个脉冲使计数器增 1。因此,定时器/计数器的输入脉冲的周期与机器周期一样,为时钟振 荡频率的1/12。当采用12 MHZ频率的晶体时,计数速率为1MHZ,输 入脉冲的周期间隔为 lμs。由于定时的精度决定于输入脉冲的周期,因此 当需要高分辨率的定时时,应尽量选用频率较高的晶体。
溢出中断请求标志位TFi
6.1.3 定时器/计数器的操作
●定时器/计数器的方式设定、启停控制等,都通过对特殊功能寄存 器TMOD和TCON的操作来完成。
【例】设定T0为方式1的计数方式,并由内部TR0控制启 停,其控制字为××××0101B,设 T1为复位状态,故 设定控制字为0000 0101B=05H。使用以下指令完成方 式设定。
第六章 定时器

TMOD设置工作方式;TCON控制启动和中断申请。 一、定时器控制寄存器TCON
TF1:溢出中断请求标志位。CPU响应中断后TF1由 硬件自动清0。 TR1:T1运行控制位。TR1置1时,T1开始工作;TR1 置0时,T1停止工作。 TF0:T0溢出中断请求标志。 TR0:T0运行控制位。
二、工作方式寄存器TMOD TMOD用于设置定时/计数器的工作方式, 低四位用于T0,高四位用于T1。其格式如下:
阅读下面的程序,并回答问题。
MOV R0,#50H MOV R1,#70H MOV R2,#16 LOOP: MOV A,@R0 CJNE A,#30H,LOOP1;30H为“0” 的ASCII码 SJMP LOOP2 LOOP1: MOV @R1,A INC R0 INC R1 DJNZ R2,LOOP LOOP2: SJMP LOOP2 END
D0
INT0引脚
工作方式3将T0分成为两个独立的8位计数器TL0和TH0 。
工作方式3
1. 定时器/计数器0
TL0,TH0被分成两个相互独立的8位计数器。 TL0用原T0的控制位、引脚和中断源,即C/T,GATE,TR0,TF0和 T0( P3.4)引脚,/INT0(P3.2)引脚。TL0可工作在定时器方式和计数器 方式。 TH0只可用作内部的定时功能,他占用了定时器T1的控制位TR1和中断 标志位TF1。
第6章 MCS-51的定时器/计数器
定时方法:
1.软件定时:软件定时是通过执行一个循 环程序来获取需要的时间延迟。(占用 CPU时间) 2.硬件定时:定时功能全部由硬件电路完 成,不占CPU时间。 3.可编程定时器定时:通过对系统时钟脉 冲的计数实现。计数值通过程序设定。
MCS-51定时器/计数器结构框图
TF1:溢出中断请求标志位。CPU响应中断后TF1由 硬件自动清0。 TR1:T1运行控制位。TR1置1时,T1开始工作;TR1 置0时,T1停止工作。 TF0:T0溢出中断请求标志。 TR0:T0运行控制位。
二、工作方式寄存器TMOD TMOD用于设置定时/计数器的工作方式, 低四位用于T0,高四位用于T1。其格式如下:
阅读下面的程序,并回答问题。
MOV R0,#50H MOV R1,#70H MOV R2,#16 LOOP: MOV A,@R0 CJNE A,#30H,LOOP1;30H为“0” 的ASCII码 SJMP LOOP2 LOOP1: MOV @R1,A INC R0 INC R1 DJNZ R2,LOOP LOOP2: SJMP LOOP2 END
D0
INT0引脚
工作方式3将T0分成为两个独立的8位计数器TL0和TH0 。
工作方式3
1. 定时器/计数器0
TL0,TH0被分成两个相互独立的8位计数器。 TL0用原T0的控制位、引脚和中断源,即C/T,GATE,TR0,TF0和 T0( P3.4)引脚,/INT0(P3.2)引脚。TL0可工作在定时器方式和计数器 方式。 TH0只可用作内部的定时功能,他占用了定时器T1的控制位TR1和中断 标志位TF1。
第6章 MCS-51的定时器/计数器
定时方法:
1.软件定时:软件定时是通过执行一个循 环程序来获取需要的时间延迟。(占用 CPU时间) 2.硬件定时:定时功能全部由硬件电路完 成,不占CPU时间。 3.可编程定时器定时:通过对系统时钟脉 冲的计数实现。计数值通过程序设定。
MCS-51定时器/计数器结构框图
第6章-单片机定时器计数器

(2) GATE = 1,B点电位由 INT(x x = 0,1)的输入电平和 TRx的状态这两个条件来确定。当TRx = 1,且 INTx=1时, B点才为1,控制端控制电子开关闭合,允许T1(或T0) 计数。故这种情况下计数器是否计数是由TRx和 两个 条件来共同控制的。
16
模式 0 工作特点
;转主程序
ORG 000BH
;T0中断入口
AJMP IT0P
;转T0中断处理程序IT0P
ORG 0100H
;主程序入口
MAIN: MOV SP,#60H
;设堆栈指针
MOV TMOD,#01H ;设置T0为方式1定时
ACALL PT0M0
;调用初始化子程序PT0M0
HERE: AJMP HERE
;原地循环,等待中断
20
练习:定时器/计数器用作定时和计数模式时,其计数 脉冲分别有谁提供,定时时间和哪些因素有关?
答:定时/计数器作定时时,其计数脉冲由系统振荡 器产生的内部时钟信号12分频后提供;
作计数时计数脉冲由外部信号通过引脚P3.4和P3.5 提供。
定时时间与时钟频率和定时初值有关。
21
6.2.3 方式2 方式0和方式1的最大特点是计数溢出后,计数器为全0。 因此就存在用指令反复装入计数初值的问题。这不仅影响定
在这种模式下,16位寄存器(TH0和TL0)只用了13 位。其中TL0的高3位未用,其余5位为整个13位的 低5位,TH0占高8位。当TL0的低5位溢出时,向TH0 进位;TH0溢出时,向中断标志TF0进位(硬件置位 TF0),并申请中断。
定时时间为: t=(213-T0初值)×振荡周期×12
17
7
计数工作方式
通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数。 当输入脉冲信号产生由1至0的下降沿时定时器的值加1;
16
模式 0 工作特点
;转主程序
ORG 000BH
;T0中断入口
AJMP IT0P
;转T0中断处理程序IT0P
ORG 0100H
;主程序入口
MAIN: MOV SP,#60H
;设堆栈指针
MOV TMOD,#01H ;设置T0为方式1定时
ACALL PT0M0
;调用初始化子程序PT0M0
HERE: AJMP HERE
;原地循环,等待中断
20
练习:定时器/计数器用作定时和计数模式时,其计数 脉冲分别有谁提供,定时时间和哪些因素有关?
答:定时/计数器作定时时,其计数脉冲由系统振荡 器产生的内部时钟信号12分频后提供;
作计数时计数脉冲由外部信号通过引脚P3.4和P3.5 提供。
定时时间与时钟频率和定时初值有关。
21
6.2.3 方式2 方式0和方式1的最大特点是计数溢出后,计数器为全0。 因此就存在用指令反复装入计数初值的问题。这不仅影响定
在这种模式下,16位寄存器(TH0和TL0)只用了13 位。其中TL0的高3位未用,其余5位为整个13位的 低5位,TH0占高8位。当TL0的低5位溢出时,向TH0 进位;TH0溢出时,向中断标志TF0进位(硬件置位 TF0),并申请中断。
定时时间为: t=(213-T0初值)×振荡周期×12
17
7
计数工作方式
通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数。 当输入脉冲信号产生由1至0的下降沿时定时器的值加1;
第6章 定时器计数器习题

20
IT0P:
CLR
TR0
;T0中断服务程序,停止T0计数
;把T0引脚接收过负脉冲标志F0置1, ;即接收过负跳变
SETB F0
RETI IT1P: CPL RETI P1.0 ;T1中断服务程序,P1.0位取反
程序说明:当单片机复位时,从0000H跳向主程序 MAIN处执行程序。其中调用了对T0,T1初始化子程序 PT0M2。子程序返回后执行标号LOOP处指令,循环等待 T0引脚上负脉冲的到来。由于负脉冲到来的标志位F0的
;装初值的高8位
;允许T0中断 ;总中断允许 ;启动T0 ;中断子程序,T0重装初值 ;P1.0的状态取反
程序说明:当单片机复位时,从程序入口0000H跳向主 程序MAIN处执行。其中调用了T0初始化子程序PT0M0。
6
子程序返回后,程序执行“AJMP HERE”指令,则
循环等待。 当响应T0定时中断时,则跳向T0中断入口,再从T0中 断入口跳向IT0P标号处执行T0中断服务子程序。 当执行完中断返回的指令“RETI”后,又返回断点处 继续执行循环指令“AJMP HERE”。在实际的程序中, “AJMP HERE” 实际上是一段主程序。当下一次定时 器T0的1ms定时中断发生时,再跳向T0中断入口,从而重
基本思想:设为方式2(自动装入常数方式)计数模式,
TH0、TL0初值均为0FFH。当T0脚发生负跳变时,T0计 数溢出,TF0置“1”,单片机发出中断请求。
13
初始化程序:
ORG 0000H ;跳到初始化程序 ;跳到外中断处理程序 AJMP IINI
ORG
IINI: MOV
000BH
TMOD,#06H ;设置T0为方式2
复执行上述过程。
ccp

• TIMER1计数模式又分为同步计数和异步计数 TIMER1计数模式又分为同步计数和异步计数
– 在异步计数模式下TIMER1的计数与内部相位时钟 在异步计数模式下TIMER1的计数与内部相位时钟 不同步,在CPU休眠时仍可以工作,产生的溢出唤 不同步,在CPU休眠时仍可以工作,产生的溢出唤 醒CPU;但此时TIMER1不能作为CCP模块的时基。 CPU;但此时TIMER1不能作为CCP模块的时基。
• • • • • • • • •
MOVWF TRISA ;设置RA4为输入 ;设置RA4为输入 MOVLW 00H MOVWF TRISC ;设置RC口为输出 ;设置RC口为输出 MOVLW 3DH MOVWF OPTION ;计数器方式,下降沿触发,无分频 ;计数器方式,下降沿触发, BCF STATUS,RP0 CLRF INTCON ;禁止中断, ;禁止中断,清标志 MOVLW 00H MOVWF TMR0 ;启动 ;启动
;设置RA4为输出 ;设置RA4为输出
1 TIMER1的定时(续2) TIMER1的定时 的定时(
• • • • • OVWF TMR1H ;定时时间65535-64535=1000, OSC=4MHz ;定时时间65535MOVLW 0C0H MOVW INTCON ;开放中断 ;开放中断 BSF T1CON,TMR1ON ;启动定时1 ;启动定时1 MAIN_LOOP: NOP GOTO MAIN_LOOP INT_PRO: BCF PIR1, TMR1IF BCF T1CON,TMR1ON ;关闭定时器1 ;关闭定时器1 MOVLW 017H
第6章 PIC单片机定时/计数器 PIC单片机定时 单片机定时/ CCP的应用 与CCP的应用
1 概述 2 定时器/计数器的控制与应用 定时器/ 3 CCP的应用 CCP的应用
单片机原理与应用课件第6章定时器计数器

T0溢出,
CLR TR0
;T0溢出, 关断T0
• CPL P1.0
;P1.0的状态求反
• SJMP LOOP
• 查询程序虽简单,但CPU必须要不断查询TF0标志,工作效率低。
• 【例5-4】系统时钟为6MHz,编写定时器T0产生1s定时的 程序。
• 基本思想:采用定时器模式。因定时时间较长,首先确 定采用哪一种工作方式。时钟为6MHz的条件下,定时器 各种工作方式最长可定时时间:
• LJMP IT0P
;转T0中断处理子程序IT0P
• ORG 1000H
;主程序入口
• MAIN: MOV SP,#60H ;设堆栈指针
• MOV B,#0AH ;设循环次数10次
•
MOV TMOD,#01H ;设置T0工作在方式1定时
• MOV TL0,#0B0H;给T0设初值
• MOV TH0,#3CH
• MOV TMOD,#26H 定时
;对T0,T1初始化,T0方式1计数,T1方式2
• MOV TL0,#0FFH ;T0置初值
• MOV TH0,#0FFH
• SETB ET0
;允许T0中断
•
MOV TL1,#06H ;T1置初值
•
MOV TH1,#06H
•
CLR F0
;把T0已发生中断标志F0清0
作为串行口波特率产生器)。
• 1.工作方式3下的T0
• TMOD的低2位为11时,T0的工作方式被选为方式3, 定时 器/计数器T0分为两个独立的8位计数器TL0和TH0,TL0使 用T0的状态控制位C/、GATE、TR0、TF0 ,而TH0被固定 为一个8位定时器(不能作为外部计数模式),并使用定 时器T1的状态控制位TR1和TF1,同时占用定时器T1的中 断请求源TF1。
第六章 定时器

上一页 下一页
图片
T计≧ 2TP= 24TOSC=24/fOSC f计≦ fOSC / 24
图6-1 8051定时器结构 - 定时器结构
定时器T1 定时器T1 TH1 TL1 溢出
内部总线 工作方式 中断T0 定时器T0 TH0 启 动 TL0
微 处 理 器
溢 出
启 动
振荡器 1/12 C/T=0 C/T=1 & 1 ≥1 计数 器 定时 器
上一页 下一页
计数脉冲输入
TL0 TH0
8位 8位
TF0
T0 TR0 GATE INT0
GATE =
16位计数器
1 启动定/计 启动定 计 0 封锁或门 与门打开,TRx = 0 停止定 计 封锁或门,与门打开 与门打开, 停止定/计 0 停止定 计 停止定/计 1 且TRx=1时,INTx = 时 1 启动定 计 启动定/计
T0:方式2,外部计数工作方式, :方式 ,外部计数工作方式, P1.0 初值=0FFH TMOD = 0 0 0 0 0 1 1 0=06H 初值= T0:方式2,定时工作方式, :方式 ,定时工作方式, 初值= 初值=28-Tc/Tp = 256-500/2 = 06H - TMOD = 0 0 0 0 0 0 1 0 = 02H ORG 0000H START:MOV TMOD,#06H : , MOV TH0,#0FFH , MOV TL0,#0FFH , SETB TR0 LOOP1:JBC TF0,PTFO1 : , SJMP LOOP1 PTFO1:CLR TR0 : MOV TMOD,#02H ,
512us
上一页
一、定时控制寄存器TCON (88H) 定时控制寄存器 ) TCON TF1 TR1 TF0 TR0 ···· TF0(TF1): --定时器溢出中断标志位 ( ): --定时器溢出中断标志位 硬件置1 硬件置 中断方式,硬件清零 中断方式,硬件清零 方式 查询方式 软件清零 方式, 查询方式,软件清零