




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、*第6章 定时器及应用6.1 6.1 定时器概述定时器概述6.2 6.2 定时器的控制定时器的控制 6.3 6.3 定时器的四种模式及应用定时器的四种模式及应用 6.4 6.4 思考题与习题思考题与习题6.1 6.1 定时器概述定时器概述 89C51/S51/S51单片机片内有两个单片机片内有两个16位定时器计数器位定时器计数器定时器定时器0(T0) 定时器定时器1(T1)。 定时和事件计数定时和事件计数 用于定时控制、延时、对外部事件计数和检测等场合。用于定时控制、延时、对外部事件计数和检测等场合。*6.1.1 6.1.1 什么是计数和定时什么是计数和定时 1、计数工作方式、计数工作方式所谓
2、计数是指对外部事件进行计数。计数功能的实质就是对外来脉冲进行计数。T0(P3.4)和T1(P3.5)两个信号引脚,分别是这两个计数器的计数输入端外部输入的脉冲在负跳变负跳变时有效,进行计数器加1(加法计数)。*2. 定时定时定时是通过计数器的计数来实现的,其计数脉冲来自定时是通过计数器的计数来实现的,其计数脉冲来自单片机的内部单片机的内部,即,即每个机器周期产生一个计数脉冲,也就是每个机器周期计数器加每个机器周期产生一个计数脉冲,也就是每个机器周期计数器加1。由于一个机器周期等于由于一个机器周期等于12个振荡脉冲周期个振荡脉冲周期,因此计数频率为振荡频率的,因此计数频率为振荡频率的1/12。单
3、片机采用。单片机采用12 MHz晶体,即晶体,即每微秒计数器加每微秒计数器加1。*定时时间=计数值机器周期*6.1.2 6.1.2 定时器定时器/计数器的计数器的组成组成*6.1.2 6.1.2 定时器定时器/计数器的计数器的组成组成* 计数工作方式:计数工作方式:通过引脚T0和T1对外部脉冲信号计数。 定时工作方式:定时工作方式:当输入脉冲信号产生下降沿时,定时器的值加1 在每个机器周期的S5P2期间采样输入电平,若前一个机器周期采样值为1,下一个机器周期采样值为0,则计数器加1。 此后的机器周期S3P1期间,新的数值装入计数器。8 在每个机器周期的S5P2期间采样检测引脚输入电平。 若前一
4、个机器周期采样值为“1”,后一个机器周期采样值为“0”,则计数器加1。 新的计数值在检测到输入引脚电平发生“1”到“0”的负跳变(下降沿)后,于下一个机器周期的S3P1期间装入计数器中。 由于CPU需要两个机器周期来识别一个“1”到“0”的跳变信号,所以最高的计数频率为振荡周期的1/24。P1P2S1振荡周期振荡周期状态周期状态周期机器周期机器周期机器周期机器周期指令周期指令周期XTAL2(OSC)S2S3S4S5S6S1S2S4S5S3S6P1P1P1P1P1P1P1P1P1P1P1P2P2P2P2P2P2P2P2P2P2P29定时/计数器对输入信号的要求外部计数脉冲的最高频率为系统振荡器频
5、率的1/24,例如选用12MHz频率的晶体,则可输入500KHz的外部脉冲。输入信号的高、低电平至少要分别保持一个机器周期。Tcy为机器周期。* 定时还是计数工作方式,定时器T0或T1在对内部时钟或对外部事件计数时,不占用不占用CPU时时间间,除非定时器计数器溢出,才可能中断CPU的当前操作。6.2 6.2 定时器的控制定时器的控制 6.2.1 工作模式寄存器 TMOD 6.2.2 控制器寄存器 TCON6.2.1 6.2.1 工作模式寄存器工作模式寄存器 TMODTMOD TMODTMOD用于控制用于控制T0T0和和T1T1的工作模式。的工作模式。 TMODTMOD不能位寻址不能位寻址,只能
6、用,只能用字节设置定时器字节设置定时器的工作模式,低的工作模式,低半字节设置半字节设置T0T0,高半字节设置,高半字节设置T1T1。 89C51/S5189C51/S51系统复位时,系统复位时,TMODTMOD的所有位被清的所有位被清0 0。* D7 D6 D5 D4 D3 D2 D1 D0GATEC/ T M1 M0GATEC/ T M1 M0TMOD(89H)工作模式寄存器TMOD的位定义定时器T1定时器T0TMOD(89H) D7 D6 D5 D4 D3 D2 D1 D0GATEC/ T M1 M0GATEC/ T M1 M0C/TC/T计数器计数器/ /定时器方式选择位。定时器方式选择
7、位。 C/T=0,设置为定时方式,片内脉冲,对机器周期计数。 C/T=1,设置为计数方式。计数器的输入来自引脚T0或T1端的外部脉冲 。 GATEGATE门控位。门控位。 GATE=0GATE=0,只要用软件使,只要用软件使TR0TR0(或(或TR1TR1)置)置1 1就可以启动定时器,而不管就可以启动定时器,而不管INT0INT0(或(或INT1INT1)的电平是高还是低。)的电平是高还是低。 GATE=1GATE=1,只有,只有INT0INT0(或(或INT1INT1)引脚为引脚为高电平高电平且由软件使且由软件使TR0TR0(或(或TR1TR1)置置1 1时,才能启动定时器工作。时,才能启
8、动定时器工作。*18低4位与外部中断有关,(1) TF1、TF0 计数溢出标志位 定时器T0或T1计数溢出时,由硬件自动将此位置“1”;TFx可以由程序查询,也是定时中断的请求源;(2) TR1、TR0 计数运行控制位 TRx=1: 启动定时器/计数器工作 TRx=0: 停止定时器/计数器工作 6.2.2 控制器寄存器控制器寄存器 TCON*6.3 定时器的四种模式及应用定时器的四种模式及应用 89C51/S51单片机的定时器计数器T0和T1可由软件对特殊功能寄存器TMOD中控制位C进行设置,以选择定时功能或计数功能。对M1和M0位的设置对应于4种工作模式,即模式0、模式1、模式2和模式3在模
9、式0、模式1和模式2时,T0与T1的工作模式相同;在模式3时,两个定时器的工作模式不同。模式0为TL0(5位)、TH0(8位)方式,模式1为TL1(8位)、TH1(8位)方式,其余完全相同。通常模式0很少用,常以模式1替代。21方式0 M1、M0设置为00 ,为13位计数器计数脉冲输入加1计数器6.3.1 模式模式 0及其应用及其应用22应用 测脉宽INT0引脚接一脉冲可测脉宽GATE=1 受INT0GATE=0 不受 INT0& 模式模式 1 工作特点工作特点 该模式对应的是一个16位的定时器/计数器。 用于定时工作方式时,定时时间为: t=(216T0初值)振荡周期12 用于计数工作方式时
10、,计数长度为: (216T0初值)(个外部脉冲)TH0TL08位8位24例1 要在P1.0上输出一个周期为2ms的方波,假设系统振荡频率采用12MHz。 利用T0方式0产生1ms的定时方波的周期用T0来确定,让T0每隔1ms计数溢出1次,即TF0=1;查询到TF0=1 则CPU对P1.0取反。即要使即要使P1.0P1.0每隔每隔1ms1ms取反取反一次。一次。25第一步: 确定工作方式字 方式0 (13位)最长可定时 8.192ms; 方式1 (16位)最长可定时 65.536ms; 方式2 (8位)最长可定时 256s。T0为方式0, M1M0=00 定时工作状态, C/T=0GATE=0,
11、不受INT0控制,T1不用全部取“0”值。故TMOD=00H26第二步: 计算1ms定时的初值X 设初值为X,则有: (213-X) 1210-6 1/12=110-3可求得:X=8192-1000=7192X化为16进制,即X=1C18H=1,1100,000 1,1000B。所以,T0的初值为: TH0=E0H TL0=18HTH0 1 1 1 0 0 0 0 0TL0 1 1 0 0 027第三步: 程序设计 采用查询TF0的状态来控制P1.0的输出,同时要重新装入初值ORG 0100HMAIN: MOV TMOD, #00H;设置T0为方式0MOV TL0, #18H ;送计数初值 M
12、OV TH0, #0E0H;送计数初值SETB TR0 ;启动T0LOOP:JBC TF0,NEXT ;SJMP LOOP;重复循环NEXT: MOV TL0, #18H ;T0重置初值 MOV TH0, #0E0H ;T0重置初值 CPL P1.0 ;P1.0的状态取反SJMP LOOP;重复循环ENDLOOP:MOV TH1,#018H MOV TL1,#0E0HJNB TF1, CLR TF1CPL P1.1SJMP LOOP28例2 将例1中的输出方波周期改为1秒。 分析: 周期为1s的方波要求500ms的定时。 (1) T0工作方式的确定因定时时间较长,采用哪一种工作方式?由各种工作
13、方式的特性,可计算出: 方式0 (13位)最长可定时 8.192ms; 方式1 (16位)最长可定时 65.536ms; 方式2 (8位)最长可定时 256s。 所以采用定时器定时加软件计数的方法来实现延长定时。选方式1,定时50ms,软件计数10次。50ms 10=500ms。 所以,TMOD=01H以上各方式以上各方式都不满足要求都不满足要求29 (2) 计算计数初值因为: (216-X)1210-6 1/12=5010-3所以: X=15536=3CB0H因此: TH0=3CH,TL0=B0H (3) 10次计数的实现设计一个软件计数器,初始值设为10。每隔50ms定时时间到,产生溢出标
14、志TF0,程序查询到TF0=1,则软件计数器减1。这样减到0时就获得了500ms的定时。30MAIN: MOV TMOD, #01H SETB TR0MOVR7,#10 LOOP: MOV TL0,#0B0HMOV TH0,#3CHJNBTF0, $CLR TF0DJNZ R7,LOOPCPLP1.0MOVR7,#10SJMP LOOPEND ORG 0100HMAIN:MOV TMOD, #01HSETB TR0 L O O P :M O V T L 0 ,#0B0HMOV TH0,#3CHJNB TF0,$CLR TF0CPL P1.1SJMP LOOP END31MAIN: MOV TM
15、OD, #01H MOV TL0,#0B0HMOV TH0,#3CHMOVR7,#10SETB TR0 LOOP:JBCTF0, NEXTSJMP LOOP NEXT: DJNZ R7,EXITCPLP1.0MOVR7,#10EXIT: MOV TL0,#0B0H MOV TH0,#3CH SJMP LOOPEND 例例3 3:用定时器:用定时器T1T1产生一个产生一个50Hz50Hz的方波,由的方波,由 P1.1P1.1输出。使输出。使用程序查询方式,用程序查询方式,fosc=12MHzfosc=12MHz。解:1)确定定时器T1初值 方波周期 T = 1/50 = 0.02s = 20ms
16、 用T1定时10ms,时间到P1.1引脚电平取反。20ms10ms10ms122116振荡周期初值tT12101211021616msT 初值HFDT08555361初值121216振荡周期初值)(定时时间:Tt解:2 2)确定工作模式寄存器)确定工作模式寄存器TMODTMOD的值的值 定时器定时器T1T1工作于模式工作于模式1 1的定时器工作方式,的定时器工作方式, 高四位:高四位: GATE=0,C/T=0,M1M0=01 ,低四位:取,低四位:取0。 (TMODTMOD)=0001 0000 B = 10H=0001 0000 B = 10H3)编程 MOV TMOD,#10H;T1模式
17、模式1,定时,定时 SETB TR1;启动;启动T1LOOP:MOV TH1,#0D8H;装入;装入T1计数初值计数初值 MOV TL1,#0F0H JNB TF1, ;T1没有溢出等待没有溢出等待 CLR TF1;产生溢出,清标志位;产生溢出,清标志位 CPL P1.1;P1.1取反输出取反输出 SJMP LOOP;循环;循环 TL0TL0计数溢出时,不仅使溢出中断标志位计数溢出时,不仅使溢出中断标志位TF0TF0置置1 1,而且,而且还自动把还自动把TH0TH0中的内容重新装载到中的内容重新装载到TL0TL0中。中。 TL0TL0用作用作8 8位计数器,位计数器,TH0TH0用以保存初值。
18、用以保存初值。6.3.2 模式模式 2 及其应用及其应用35方式2 M1、M0=10 ,为自动恢复初值的8位计数器,TLx作为8位计数器,THx作为重置初值的缓冲器。 当当TLx计数溢出时,在置计数溢出时,在置“1”溢出标志溢出标志TFx的同时,的同时, 自动的将自动的将THx中的初值送至中的初值送至TLx,使,使TLx从初值开始重新计数。从初值开始重新计数。优点:方式0和方式1用于循环重复定时或计数时,在每次计数器挤满溢出后,计数器复0。若要进行新一轮的计数,就得重新装入计数初值。这样一来不仅造成编程麻烦,而且影响定时精度。而方式2具有初值自动装入的功能,避免了这个缺点,可实现精确的定时。缺
19、点:只有8位计数器,定时时间短、计数范围小。其定时时间为: (28-初值)振荡周期12若晶振频率为12MHz,则最长的定时时间为(28-0)(1/12)12us=0.256ms模式模式 2 工作特点工作特点 该模式把该模式把TL0(TL1)TL0(TL1)配置成一个可以自动重装载的配置成一个可以自动重装载的8 8位定时器位定时器/ /计数器。计数器。 在程序初始化时,在程序初始化时,TL0TL0和和TH0TH0由软件赋予相同的初值由软件赋予相同的初值。 用于定时工作方式时,定时时间为:用于定时工作方式时,定时时间为: t=(2t=(28 8TL0TL0初值初值) )振荡周期振荡周期1212 用
20、于计数工作方式时,计数长度为: (2(28 8TL0TL0初值初值) ) (个外部脉冲)(个外部脉冲)例:当P3.4引脚(定时器T0的外部计数输入端)上的电平发生负跳变时, 从P1.0输出一个500s的同步脉冲。用查询方式编程实现该功能,fosc=6MHz。T0T0开启计数模式:开启计数模式:P3.4P3.4引脚上的电平发生负跳变时,T0计数器加1,溢出标志溢出标志TF0TF0置置1 1;当当TF0=1TF0=1时,时,T0开启定时模式开启定时模式,使使P1.0P1.0输出由输出由1 1变为变为0 0。到500s产生溢出,使P1.0输出恢复高电平T0又恢复外部事件计数方式。计数器工作方式计数器
21、工作方式(TMODTMOD)= = 06H06H定时工作方式定时工作方式(TMODTMOD)= =02H02H(2)计算T0初值 T0T0工作在外部事件计数方式工作在外部事件计数方式:T0T0引脚出现一次外部事件时,引起引脚出现一次外部事件时,引起T0T0中断。中断。 所以:设计计数器初值为所以:设计计数器初值为FFHFFH,当计数器再加,当计数器再加1 1就溢出了。就溢出了。 即即: T0: T0初值初值+1=2+1=28 8 T0T0初值初值 = 2= 28 8 1=11111111B=0FFH1=11111111B=0FFH 即:(TH0)=(TL0)=0FFH T0 T0工作在定时工作
22、方式:工作在定时工作方式: 因为晶振频率为因为晶振频率为6MHz6MHz,定时,定时500s500s。 所以:所以:(2(28 8T0T0初值初值) )2s=500s2s=500s 得出:得出:T0T0初值初值 =6=06H=6=06H, 即:(TH0)=(TL0)=06HSTART:MOVTMOD,#06H MOV TL0,#0FFH MOV TH0,#0FFH SETB TR0 LOOP1:JBC TF0,PTFO1 SJMP LOOP1 T0T0开启计数模式:开启计数模式:P3.4P3.4引脚上的电平发生负跳变时,T0计数器加1,溢出标志溢出标志TF0TF0置置1 1;到500s产生溢出
23、,使P1.0输出恢复高电平,停止定时模式当当TF0=1TF0=1时,停止计数模式,开时,停止计数模式,开启启T0定时模式定时模式,使使P1.0P1.0输出由输出由1 1变为变为0 0。 PTFO1: CLR TR0 MOV TMOD,#02H MOV TL0,#06H MOV TH0,#06H CLR P1.0 SETB TR0 LOOP2 :JBC TF0,PTFO2 SJMP LOOP2 PTFO2 :SETB P1.0 CLR TR0 恢复外部事件计数方式。SJMP START 例:当P3.4引脚(定时器T0的外部计数输入端)上的电平发生负跳变时, 从P1.0输出一个500s的同步脉冲。
24、用查询方式编程实现该功能,fosc=6MHz。T0T0计数模式:计数模式:P3.4P3.4引脚上的电平发生负跳变时,T0计数器加1,溢出标志溢出标志TF0TF0置置1 1;T1T1定时模式:定时模式:使使P1.0P1.0输出由输出由1 1变为变为0 0。到500s产生溢出,使P1.0输出恢复高电平两个计数器同时使用42START: MOV TMOD, #25H ;MOV TL0, #0FFH MOV TH0, #0FFHMOV TL1, #06HMOV TH1, #06H初始化,初始化,T1T1为方式为方式2 2定时,定时,T0T0为方式为方式1 1计数计数T1T1和和T0T0设置初值设置初值
25、T0T0开启计数模式:开启计数模式:P3.4P3.4引脚上的电平发生负跳变时,TF0TF0置置1 1;PTF01: CPL P1.0SETB TR1 SETB TR0 LOOP1: JBC TF0, PTF01SJMP LOOP1当当TF0=1TF0=1时,时,使使P1.0P1.0输出由输出由1 1变为变为0 0,开启开启T1定时模式定时模式。LOOP2: JBC TF1, PTF02SJMP LOOP2PTF02: SETB P1.0到500s产生溢出,使P1.0输出恢复高电平 CLR TR0 CLR TR1SJMP START等待下一个START: MOV TMOD, #25H ;MOV
26、TL0, #0FFH MOV TH0, #0FFHMOV TL1, #06HMOV TH1, #06HPTF01: CPL P1.0SETB TR1 SETB TR0 LOOP1: JBC TF0, PTF01SJMP LOOP1LOOP2: JBC TF1, PTF02SJMP LOOP2PTF02: SETB P1.0 CLR TR0 CLR TR1SJMP STARTSTART:MOVTMOD,#06H MOV TL0,#0FFH MOV TH0,#0FFH SETB TR0 LOOP1:JBC TF0,PTFO1 SJMP LOOP1 PTFO1: CLR TR0 MOV TMOD,#
27、02H MOV TL0,#06H MOV TH0,#06H CLR P1.0 SETB TR0 LOOP2 :JBC TF0,PTFO2 SJMP LOOP2 PTFO2 :SETB P1.0 CLR TR0 SJMP START 例例6-36-3:利用定时器:利用定时器T1T1的模式的模式2 2对外部信号计数。要求每计满对外部信号计数。要求每计满100100次,将次,将 P1.0P1.0端取反。端取反。解:(1)选择模式 外部信号由T1(P3.5)引脚输入,每发生一次负跳变计数器加1,每输入100个脉冲,计数器发生溢出中断,中断服务程序将P1.0取反一次。 T1计数工作方式模式2的模式字为(
28、TMOD)=60H。 T0不用时,不用时,TMOD的低的低4位可任取,但不能进入模式位可任取,但不能进入模式3,一,一般取般取0。(2)计算T1的计数初值 X= 28 100=156=9CH 因此:TL1的初值为9CH,重装初值寄存器TH1=9CH。(3)程序清单ORG0000HLJMPMAINORG 001BH ;中断服务程序入口 CPL P1.0 RETI MAIN: MOV TMOD,#60H ;设置T1为模式2,外部计数方式 MOV TL1,#9CH ;T1计数器初值 MOV TH1,#9CH MOV IE,#88H ;定时器开中断 SETB TR1 ;启动T1计数 HERE:SJMP
29、 HERE ;等待中断工作模式工作模式3 3对对T0T0和和T1T1大不相同。大不相同。T0T0分成分成 TL0TL0: 用原用原T0T0的各控制位、引脚和中断源,即的各控制位、引脚和中断源,即C/TC/T,GATEGATE,TR0TR0,TF0TF0,T0T0(P3.4P3.4)引脚,)引脚,INT0INT0(P3.2P3.2)引脚。)引脚。 TL0TL0可工作在定时器方式和计数器方式。其功能和操作与模式可工作在定时器方式和计数器方式。其功能和操作与模式0 0、模式模式1 1相同(只是相同(只是8 8位)。位)。 TH0TH0: 只可用作简单的内部定时功能。只可用作简单的内部定时功能。 TH
30、0TH0占用了定时器占用了定时器T1T1的控制位的控制位TR1TR1和和T1T1的中断标志的中断标志TF1TF1,其启动和,其启动和关闭仅受关闭仅受TR1TR1的控制。的控制。6.3.3 模式模式 3 及其应用及其应用只适用于定时器/计数器T0。T1不能工作在方式3。具有定时/计数功能只具有定时功能使用定时器T1的状态控制位TR1占用定时器T1的中断请求源TF1TR1=1时,启动TH0的计数TR1=0时,停止TH0的计数*492. T0工作在方式3下 T1的各种工作方式 (1) T1工作在方式0TF1和TR1的中断源都已被定时器T0(中的TH0)占用,所以定时器T1 仅有控制位C/T来决定其工
31、作在定时方式或计数方式。当计数器计满溢出时,不能置位不能置位“TF1”,而只能将输出送往串口。所以,此时定时器T1一般用作串口的波特率发生器,或不需要中断的场合。50(2) T1工作在方式1 (3) T1工作在方式工作在方式25.3 定时器的工作方式例例6-46-4:设某用户系统已使用了两个外部中断源,并置定时器:设某用户系统已使用了两个外部中断源,并置定时器T1T1工作在模工作在模式式2 2,作串行口波特率发生器用。现要求再增加一个外部中断源,并由,作串行口波特率发生器用。现要求再增加一个外部中断源,并由P1.0P1.0引脚输出一个引脚输出一个5kHz5kHz的方波。的方波。Fosc=12M
32、Hz.Fosc=12MHz.解:(1)工作模式:设置T0工作在模式3计数器方式,把T0的引脚作附加的外部中断输入端TL0TL0作计数用;作计数用;TL0TL0的计数初值为的计数初值为FFHFFH,TL0产生溢出,申请中断。TH0TH0用作用作8 8位的定时器:位的定时器:定时控制P1.0引脚输出5kHz的方波信号。 TH0的计数初值X为: P1.0方波周期T=1/(5kHz)=0.2ms=200s用TH0作定时100s时, X=256-100 12/12=156(3)程序清单 MOV TMOD,? ;T0为模式3,计数方式, T1为模式2,定时方式 MOV TL0,#0FFH ;TL0计数初值
33、 MOV TH0,#156 ;TH0计数初值 MOV TL1,#data ;data是根据波特率,要求设置的常数(初值) MOV TH1,#data MOV TCON, ;外中断0,外中断1边沿触发,启动T0,T1 MOV IE,#9FH ; 开放全部中断TL0溢出中断服务程序(由000BH转来)TL0INT:MOV TL0,#0FFH ;TL0重赋初值 (中断处理) RETITH0溢出中断服务程序(由001BH转来)TH0INT:MOV TH0,#156 ;TH0重赋初值 CPL P1.0 ;P1.0取反输出 RETI串行口及外部中断0,外部中断1的服务程序略#27H #55H 6.3.4
34、综合应用举例综合应用举例例6-5:设时钟频率为6MHz。编写利用T0产生1s定时的程序。解:(1)定时器T0工作模式的确定模式0最长可定时16.384ms; 模式1最长可定时131.072ms; 模式2最长可定时512s;定时1s,可选用模式1,每隔100ms中断一 次,中断10次从而达到1s的定时。(2)求计数器初值X (216X)12/(6 106) =10010-3 s X=15536=3CB0H 因此:(TL0)=0B0H (TH0)=3CH(3)实现方法: 对于中断10次计数,可使T0工作在计数方式,也可用循环程序的方法实现。本例采用循环程序法。(4)源程序清单 ORG0000H A
35、JMP MAIN; 上电,转向主程序 ORG 000BH ;T0的中断服务程序入口地址 AJMP SERVE ;转向中断服务程序 ORG 0080H ;主程序MAIN : MOV SP,#60H ;设堆栈指针 MOV B,#0AH ;设循环次数 MOV TMOD,#01H;设置T0工作于模式1 MOV TL0,#0B0H;装计数值低8位 MOV TH0,#3CH;装计数值高8位 SETB TR0 ;启动定时 SETB ET0;T0开中断 SETB EA;CPU开中断 SJMP $;等待中断SERVE: MOV TL0,#0B0H ;重新赋初值 MOV TH0,#3CH DJNZ B,LOOP
36、;B-1不为0,继续定时 CLR TR0 ;1s定时到,停止T0工作LOOP: RETI ;中断返回 END*【例6-6】应用门控位GATE测照相机快门打开时间。解: 此题实际上就是要求测出INT0引脚上出现的正脉冲宽度。T0应工作在定时方式。TMOD的门控位GATE为1且运行控制位TR0(或TR1)为1时,定时器/计数器的启动和关闭受外部中断引脚信号INT0(INT1)控制。为此在初始化程序中使T0工作于模式1,置GATE=1,TR1=1;一旦INT0(P32)引脚出现高电平,T1开始对机器周期Tm计数,直到INT0出现低电平,T0停止计数;然后读出T0的计数值乘以Tm。测试过程如图6-13
37、所示。*程序如下:BEGIN:MOV TMOD,#09H;T0为定时器模式1,GATE置1MOVTL0,#00HMOVTH0,#00HWAIT1:JBP3.2,WAIT1;等待INT0变低SETBTR0;为启动T0作好准备WAIT2:JNBP3.2, WAIT2;等待正脉冲到,并开始计数WAIT3:JBP3.2, WAIT3;等待INT0变低CLRTR0;停止T0计数MOVR0, #70HMOVR0,TL0;存放TL0的计数值INCR0MOVR0,TH0;存放TH0的计数值SJMP例例6-76-7:设计实时时钟程序。时钟:设计实时时钟程序。时钟 就是以秒、分、时为单位进行计时。用定就是以秒、分、时为单位进行计时。用定时器与中断的联合应用时器与中断的联合应用。解:(1)实现时钟计时的基本方法 计算计数初值。 时钟计时的最小单位是秒,可把定时器的定时时间定为100ms,计数溢出10次即得到1秒;10次计数可用软件方法实现。 假定使用定时器T0,以工作模式1进行100ms的定时。如fos
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CHATA 024-2022儿童中枢神经系统结核的诊断
- T/CGTA 01-2023饲用带轴高湿玉米质量分级
- T/CGMA 022001-2019屋顶通风装置防雨性能试验方法
- T/CCT 016-2024分散吸附集中再生VOCs治理用柱状活性炭
- T/CCS 072-2023智能化煤矿网络运维管理规范
- T/CCPITCSC 096-2022名表真假鉴定规范
- T/CCMA 0141-2022液压挖掘机排气污染物车载测量方法
- T/CCAS 014.5-2022水泥企业安全管理导则第5部分:水泥工厂化验室安全管理
- T/CATCM 001.1-2017保健类眼贴第1部分:通用要求
- T/CAPEB 00001.3-2022制药装备容器和管道第3部分:设计
- (2.6.1)-1-5使蜂鸣器鸣叫
- GB/T 4648-1996滚动轴承圆锥滚子轴承凸缘外圈外形尺寸
- GB/T 34440-2017硬质聚氯乙烯地板
- 员工调令模板
- 不典型平滑肌瘤MR表现
- 糖尿病病历模板共享
- 《杜鹃圆舞曲》集体备课教案
- 刑事辩护技巧与经验演示文稿
- 会计专业工作简历表(中级)
- 金融科技课件(完整版)
- 利用与非门或异或门构成全加器
评论
0/150
提交评论