《片机定时器》PPT课件.ppt_第1页
《片机定时器》PPT课件.ppt_第2页
《片机定时器》PPT课件.ppt_第3页
《片机定时器》PPT课件.ppt_第4页
《片机定时器》PPT课件.ppt_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

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

文档简介

1、单片机原理与应用,第六章 定时器及应用,教学目标介绍定时/计数器的结构和原理介绍定时/计数器的四种工作方式的应用 学习要求熟悉定时/计数器的工作原理 掌握定时/计数器的初始化及应用程序设计,单片机原理与应用,第六章 定时器及应用,6-1 概述 6-2 定时/计数器的控制 6-3 定时/计数器的四种模式及应用,单片机原理与应用,6-1 概述,8051定时器的结构 有两个16位的定时器/计数器,即定时器0(T0)和定时器1(T1)。它们实际上都是16位加1计数器。 T0由两个8位特殊功能寄存器TH0和TL0构成;T1由TH1和TL1构成。,单片机原理与应用,一、定时/计数器的结构,核心是一个可预置

2、初值的计数器,其计数脉冲有两个来源:一是系统的时钟振荡器;另一个是外部脉冲。当输入脉冲为系统振荡器时脉冲时间间隔相等,每个脉冲唯一时间基准,脉冲数乘以时间基准就是定时时间,这是定时器;当输入脉冲为外部脉冲时,其间隔不一定相等,这是就是计数器,单片机原理与应用,每输入一个脉冲,计数器加一,当计数器计满时(全1),再来一个脉冲, 计数器回0,同时从最高位溢出一个脉冲使SRF的TCON的某一位TF0或TF1置1,作为定时/计数器溢出中断,定时器状态表示定时时间到;计数器状态保表示计满回0,单片机原理与应用,二、定时/计数器的工作原理,定时/计数器的核心是一个加1计数器 结构图中有两个开关K1、K2,

3、K1决定工作状态:接内部振荡器为定时,接外部脉冲源为计数。K2受控制信号控制,决定脉冲能否加到计数器上,实际上决定计数器的开启与停止。 这两个开关是由SRF的TCON和TMOD两个寄存器相应位控制的。通过对这两个寄存器写入控制字,即可选择工作状态和控制启动时间,可见MCS-51的定时/计数器是可程控的。,单片机原理与应用,加1计数器由两个8位特殊功能寄存器TH X和TL X(X=0或1)组成,它们可以被程控形成定时/计数器的四种工作方式。 加1计数器计数工作的启动和停止由相应的电路控制,方式寄存器TMOD的GATE、寄存器TCON的TR X(X=0或1),单片机原理与应用,通过方式寄存器TMO

4、D的C/T位来选择加1计数器计数脉冲的来源: 作为计数器用时,外部输入脉冲加在定时/计数器的外部输入端T0(P3.4)或T1(P3.5),每出现一次从1到0的跳变,加1计数器便加1。,单片机原理与应用,1定时器 用于实时控制,定时采样、定时启动等。当定时时间与设定值相等,执行规定操作。 K1接内部时钟时,脉冲源是振荡频率的12分之一,即对机器周期计数,为定时方式,所以定时时间为: T = 计数值*机器周期,单片机原理与应用,2计数器 生产线上产品计数。每个产品通过得到一个脉冲信号,计数器记录脉冲个数,当计数值与设定值相等,启动包装机器。 检测转速。电机转动一圈发出一个脉冲,计数器记录一秒时间内

5、脉冲个数,显示转速。,单片机原理与应用,K1接外部脉冲时,工作在计数状态,当T0或T1有一个1到0的跳变时,计数器加一。计数操作中,每个机器周期的S5P2期间采样外部输入信号,当一个机器周期采样值为高电平,另一个机器周期采样值为低电平时,计数器加一。所以识别一个跳变要占两个机器周期。因此外部计数脉冲高低电平宽度每个至少要保持一个机器周期。,单片机原理与应用,两个16位可编程定时/计数器: 定时 计数 波特率发生器 四种工作模式:13位定时/计数器 16位定时/计数器 8位定时/计数器(自动装入常数) 8位定时/计数器 (两个独立8位,仅定时/计数器0有),单片机原理与应用,第六章 定时器及应用

6、,6-1 概述 6-2 定时/计数器的控制 6-3 定时/计数器的四种模式及应用,单片机原理与应用,6-2 定时/计数器的控制,MCS-51的定时/计数器主要由几个专用寄存器组成: TL0:定时/计数器0低八位计数值 TH0:定时/计数器0高八位计数值 TL1:定时/计数器1低八位计数值 TH1:定时/计数器1高八位计数值 TMOD:控制寄存器,控制定时/计数器方式 的工作方式 TCON:控制寄存器,控制定时/计数器的起停 指示溢出中断标志,单片机原理与应用,一、定时器方式寄存器TMOD(89H),TMOD的地址为89H,不可按位寻址,只能用字节指令设置定时器工作方式。低半字节定义定时器T0,

7、高半字节定义定时器T1。复位时,TMOD所有位均为零。,单片机原理与应用,1)功能选择位 C/T: =0,定时功能,计数内部机器周期脉冲; =1,计数功能,计数引脚T0(T1)输入的负脉冲。 2)方式选择位M1、M0:4种工作方式:,单片机原理与应用,3)门控方式选择位GATE : =0,非门控方式(内部启动): TRx=1,启动定时器工作; TRx=0,停止定时器工作。 =1,门控方式(外部启动): TRx=1且引脚INTx=1才启动。,单片机原理与应用,确定定时器工作方式指令: MOV TMOD,#方式字 例:设T0用方式2非门控定时,T1用方式1门控计数。 MOVTMOD,#0D2H T

8、MOD各位定义及具体意义,单片机原理与应用,TCON的位地址位88H,可按位寻址。复位时,TCON所有位均为零。 1)启动控制位TR0、TR1 =0,停止定时器工作 =1,启动定时器工作 例:启动T0:SETBTR0,二、定时器控制/状态寄存器TCON(88H),单片机原理与应用,2)溢出中断标志位TF0、TF1 定时器溢出使TFx=1,引起中断请求,CPU响应Tx中断后,自动清0 TFx。 可用软件检测TFx,必须软件清0。 WAIT:JBC TF0,NEXT;检测T0是否溢出 SJMPWAIT ;未溢出,继续检测 NEXT: ;溢出,TF0清0,处理溢出 TCON各位定义及具体的意义,单片

9、机原理与应用,三、可预置初值的16位加1计数器TH0、TL0、 TH1、TL1 预置T0初值指令: MOVTH0,#XH MOVTL0,#XL,单片机原理与应用,第六章 定时器及应用,6-1 概述 6-2 定时/计数器的控制 6-3 定时/计数器的四种模式及应用,单片机原理与应用,由方式选择位M1、M0设定 一、 方式0 13位定时/计数器。 THx 8位和TLx低5位组成13位加1 计数器,此种方式与MCS48系列兼容,如果不是为了兼容的目的,一般不用方式0. 方式0的全部功能,方式1都可以代替。,单片机原理与应用,1、方式0介绍 当M1M0两位为00时,为工作方式0(13位) C/T=0时

10、,作为定时器方式工作,T0对机器周期计数,其定时时间为: (213- T0初值)时钟周期12,单片机原理与应用,非门控方式:当GATE0, 控制权由 TRx 决定 TRx1 计数开始 TRx 0 计数停止,门控方式:当GATE1、TRx1 控制权由 INTx 决定 INTx1 计数开始 INTx 0 计数停止,最大计数脉冲个数:18192 (213),最长定时时间(晶振12MHz T=1s):1s8192T= 8.192 ms,启动计数方式:,定时器0模式0结构,单片机原理与应用,2、应用举例 使用定时/计数器进行定时或计数之前,首先要通过软件对它进行初始化。初始化包括下述步骤: 1.确定工作

11、方式:对TMOD寄存器赋值; 2.置定时/计数器初值:对TH0、TL0或TH1、TL1寄存器赋值; 初值X的计算方法如下: 计数方式时:X=N-M 定时方式时:X=N-t/T,单片机原理与应用,在上两式中,M为计数模值,即从计数器启动到溢出时所需计数值;t为定时值;T为机器周期。 3.根据需要,开放定时器中断:对IE寄存器赋值; 4.启动定时/计数器:使TCON寄存器的TR0或TR1置位,或由加到引脚INTX上的外部信号电平启动。,单片机原理与应用,例:利用T0方式0产生宽度为2s,周期为2ms的定时负脉冲,由P1.7送出,系统采用12MHz的晶振。 解 由于晶振为12MHz,机器周期为1s,

12、这样利用T0方式0产生周期为2ms定时的初值X为: X =N-t/T =213-210-3/(110-6) =8192-2000 =6192 =1830H =1100000110000B 则TH0=11000001B=0C1H,TL0=00010000B=10H,单片机原理与应用,由于CLR bit和NOP指令的执行时间为1个机器周期,当晶振为12MHz时,这两条指令的执行时间都为1s。这样,每当定时时间到时,利用T0产生中断,在中断服务程序中,先执行CLR P1.7和NOP两条指令,然后执行SETB P1.7,最后重装TH0和TL0的初值,就可以产生题目所要求的定时脉冲。 置T0为定时方式0

13、,GATE=0,C/T=0, M1M0=00H, T1不用,可任意,一般取0,故TMOD=00H,并由TR0启停T0。,单片机原理与应用,初始化程序:MOV TMOD , #00H MOV TH0 , #0C1H MOV TL0 , #10H;初始化T0 MOV IE , #82H;开T0中断 SETB TR0;启动T0 T0溢出中断服务程序:T0INT:CLRP1.7 NOP SETBP1.7 MOVTH0,#0C1H;T0重置初值 MOVTL0,#10H RETI,单片机原理与应用,例6-3:利用T0的工作模式0产生1ms定时,在P1.0引脚输出周期为2ms的方波。设单片机晶振频率fosc

14、=12MHz。编程实现其功能。 解:要在P1.0引脚输出周期为2ms的方波,只要使P1.0每隔1ms取反一次即可。 (1)选择工作模式 T0的模式字为TMOD=00H,即 M1M0=00,C/T=0,GATE=0,其余位为0,单片机原理与应用,(2)计算1ms定时时T0的初值 (213X)1/12 10-612=110-3 s X=7193D=11100000 11000B T0的低5位:11000B=18H即 (TL0)=18H T0的高8位:11100000B=E0H即 (TH0)=E0H,单片机原理与应用,(3)采用查询方式的程序 程序清单: MOV TMOD,#00H ;设置T0为模式

15、0 MOV TL0,#18H ;送初值 MOV TH0,#0E0H SETB TR0 ;启动定时 LOOP:JBC TF0,NEXT ;查询定时时间到否 SJMP LOOP NEXT:MOV TL0,#18H ;重装计数初值 MOV TH0,#0E0H CPL P1.0 ;取反 SJMP LOOP ;重复循环,单片机原理与应用,(4)采用定时器溢出中断方式的程序 程序清单: 主程序 ORG 0000H RESET: AJMP MAIN ; 跳过中断服务程序区 ORG 0030H MAIN: MOV TMOD,#00H ;设置T0为模式0 MOV TL0,#18H ;送初值 MOV TH0,#0

16、E0H SETB EA ;CPU开中断 SETB ET0 ;T0中断允许 SETB TR0 ;启动定时 HERE:SJMP HERE ;等待中断,虚拟主程序,单片机原理与应用,中断服务程序 ORG 000BH AJMP CTC0 ORG 0120H CTC0: MOV TL0,#18H ;重新装如初值 MOV TH0,#0E0H CPL P1.0 ;P1.0取反 RETI,单片机原理与应用,1、方式1介绍 当M1M0两位为01时,为工作方式1。 其定时时间为: (216- T0初值)时钟周期12 作为计数器方式工作时,T0对外部事件计数。 计数长度最大为: 216=65536(个外部脉冲),二

17、、 方式1,单片机原理与应用,最大计数脉冲个数:165536 (216),最长定时时间(晶振12MHz T=1s):1s 65536T= 65.54ms,启动计数方式:,非门控方式:当GATE0, 控制权由 TRx 决定 TRx1 计数开始 TRx 0 计数停止,门控方式:当GATE1、TRx1 控制权由 INTx 决定 INTx1 计数开始 INTx 0 计数停止,定时器0模式1结构,单片机原理与应用,2、应用举例 例:利用T0方式1产生一个50Hz的方波,由P1.7送出。系统采用12MHz的晶振,并假定CPU不作其它工作。 解 由于周期为1/50Hz=20ms,则这种方波的正负脉冲宽度都为

18、10ms。 由于晶振为12MHz,机器周期为1s,这样利用T0方式1产生10ms定时的初值X为: X =N-t/T =216-1010-3/(110-6) =65536-10000 =55536 =D8F0H =1101100011110000B 则TH0=11011000B=0D8H,TL0=11110000B=0F0H,单片机原理与应用,置T0为定时方式1,GATE=0,C/T=0, M1M0=01H, T1不用,可任意,一般取0,故TMOD=01H,并由TR0启停T0。由于 CPU不作其它工作,则可采用查询方式进行控制。 程序清单: MOVTMOD,#01H MOVTH0,#0D8H M

19、OVTL0,#0F0H;初始化T0 SETBTR0;启动T0 LOOP:JBC TF0,AGN;查询定时时间到否? AJMP LOOP;定时时间未到,则继续查询等待AGN:MOVTH0,#0D8H;定时时间到,T0重置初值 MOVTL0,#0F0H CPLP1.7;输出取反 NOP AJMP LOOP;重复循环,单片机原理与应用,1、方式2介绍 当M1M0两位为10时,为工作方式2 TL0作为8位计数器,TH0用作保存计数初值。 特别适合用作较精确的脉冲信号发生器,脉冲信号的周期计算如下: (28- TH0初值)时钟周期12,三、 方式2,单片机原理与应用,用于需要重复定时和计数的场合。 最大

20、计数值:256 (28) 最大定时时间(晶振12MHz时 T=1s): 256s 自动恢复初值8位定时/计数器。TLx为8位加1计数器, THx为8位初值暂存器。,定时器0模式2结构,单片机原理与应用,2、应用举例 方式2可省去用户软件重装初值的操作,可获得相当精确的定时时间,常用作串行口波特率发生器。 例: 采用11.059MHz晶振,将T1用作串行口波特率发生器,按方式2产生1200的波特率. 解 参9.1节可以知道,波特率的计算如下: 波特率= 若SMOD=0,则可以算得重装载值: (TH1)=256- 232=E8H 置T1为定时方式2,GATE=0,C/T=0, M1M0=02H,

21、T0不用,可任意,一般取0,故TMOD=20H,并由TR1启停T1。 程序清单: MOVTMOD,#20H MOVTH1,#0E8H MOVTL1,#0E8H;初始化T1 SETBTR1;启动T1,单片机原理与应用,例:当P3.4引脚上的电平发生负跳变时, 从P1.0输出一个500s的同步脉冲。请编程序实现该功能。查询方式,fosc=6MHz。,单片机原理与应用,解:(1)模式选择 选T0为模式2,外部事件计数方式。 当P3.4引脚上的电平发生负跳变时,T0计数器加1,溢出标志TF0置1;然后改变T0为500s定时工作方式,并使P1.0输出由1变为0。T0定时到产生溢出,使P1.0输出恢复高电

22、平,T0又恢复外部事件计数方式。 如 图6-9 所示。,单片机原理与应用,(2)计算初值 T0工作在外部事件计数方式,当计数到28时,再加1计数器就会溢出。设计数初值为X,当再出现一次外部事件时,计数器溢出。 则: X+1=28 X= 28 1=11111111B=0FFH T0工作在定时工作方式,设晶振频率为6MHz,500s相当于250个机器周期。因此,初值X为 (28X)2s=500s X=6=06H,单片机原理与应用,3)程序清单 START: MOV TMOD,#06H ;设置T0为模式2,外部计数方式 MOV TL0,#0FFH ;T0计数器初值 MOV TH0,#0FFH SET

23、B TR0 ;启动T0计数 LOOP1:JBC TF0,PTFO1 ;查询T0溢出标志, ;TF0=1时转,且清TF0=0 SJMP LOOP1 ;,单片机原理与应用,PTFO1:CLR TR0 ;停止计数 MOV TMOD,#02H ;设置T0为模式2,定时方式 MOV TL0,#06H ;送初值,定时500s MOV TH0,#06H CLR P1.0 ; P1.0清0 SETB TR0 ;启动定时500s LOOP2 : JBC TF0,PTFO2 ;查询T0溢出标志, ;TF0=1时转,且清TF0=0 ; (第一个500s到否?) SJMP LOOP2 ;等待中断,虚拟主程序 PTFO

24、2 : SETB P1.0 ; P1.0置1 CLR TR0 ;停止计数 SJMP START,单片机原理与应用,例:利用定时器T1的模式2对外部信号计数。要求没计满100次,将 P1.0端取反。,单片机原理与应用,解: (1)选择模式 外部信号由T1(P3.5)引脚输入,每发生一次负跳变计数器加1,每输入100个脉冲,计数器发生溢出中断,中断服务程序将P1.0取反一次。 T1计数工作方式模式2的模式字为 (TMOD)=60H。 T0不用时,TMOD的低4位可任取,但不能进入模式3,一般取0。,单片机原理与应用,(2)计算T1的计数初值 X= 28 100=156=9CH 因此:TL1的初值为

25、9CH, 重装初值寄存器TH1=9CH。,单片机原理与应用,(3)程序清单 MAIN: MOV TMOD,#60H ;设置T1为模式2,外部计数方式 MOV TL1,#9CH ;T1计数器初值 MOV TH1,#9CH MOV IE,#88H ; 定时器开中断 SETB TR1 ;启动T1计数 HERE:SJMP HERE ;等待中断 ORG 001BH ;中断服务程序入口 CPL P1.0 RETI,单片机原理与应用,1、方式3介绍 当M1M0两位为11时,为工作方式3。 在方式3下,定时器T1将停止计数,只是保持其计数值,与置TR1为0等效。 定时器T0在方式3下分成两个独立的计数器TL0

26、和TH0。其中,TL0可用作定时或计数器,并占用定时器T0的所有控制位:GATE,C/T,TR0,INT0和TF0;而TH0固定作为定时器用,并借用定时器T1的TR1和TF1,TH0控制着定时器的T1中断。 当定时器T0在方式3时,定时器T1仍可按方式0、1、2工作,只是不能使用其溢出标志TF1和请求中断而已。,四、方式3,T0模式3结构,T0模式3时T1结构,单片机原理与应用,T0分成2个8位定时器:TL0定时/计数器和TH0定时器。TL0占用T0控制位:C/T,TR0,GATE;TH0占用T1控制位:TR1。T1不能使用方式3工作,单片机原理与应用,2、应用举例(略) 当按方式2将定时器T

27、1用作串行口波特率时,为增加一个额外的定时器,可将定时器T0设置成方式3工作。 例:假设某用户系统中,采用12MHz晶振,已将T1按方式2工作,用作串行口波特率发生器,并且已使用了2个外部中断。现要求再增加一个外部中断源,并由P1.7口输出一个5KHz的方波。 解为了不增加其它硬件的开销,可把定时器T0置于计数工作方式3,利用T0端作为附加的外部中断输入端,把TL0预置为0FFH,这样当T0输入端出现由1至0的负跳变时,TL0立即溢出,申请中断,相当于边沿触发,单片机原理与应用,的外部中断源。在方式3下,TH0总是作为8位定时器用,可以用它来控制P1.7口输出的方波频率。 由P1.7输出5KH

28、z的方波,即每隔100s使P1.7口的电平变化一次,TH0初值X为: X=N-t/T=28-10010-6/(110-6)=256-100=156=9CH 置T1为定时方式2,GATE=0,C/T=0, M1M0=02H, T0为计数方式3,GATE=0,C/T=1, M1M0=03H,,故TMOD=27H,并由TR0启停T0。采用中断方式来判断TH0的定时时间到否,每次时间到时,在定时器T0中断服务程序中将P1.7口取反一次。,单片机原理与应用,初始化程序: MOVTMOD,#27H MOVTH0,#9CH MOVTL0,#0FFH;初始化T0 MOV TCON,#55H;置外部中断边沿触发

29、方式,并启 动T0和T1 MOV IE,#9FH;开放全部中断 TL0溢出中断服务程序: TL0INT:MOV TL0,#0FFH (相关中断处理) RETI TH0溢出中断服务程序: TH0INT:MOV TH0,#9CH CPLP1.7 RETI,单片机原理与应用,五、应用编程,定时器初始化编程:使用定时器工作之前,先写入控制寄存器,确定好定时器工作方式,初始化编程格式:,MOV TMOD,# 方式字;选择方式 MOV THx,#XH;装入Tx时间常数 MOV TLx,#XL (SETB EA) ;开Tx中断 (SETB ETx) SETB TRx ;启动Tx定时器 1. 按实际需要选择定

30、时/计数功能 2. 按时间或计数长度选择方式 3. 计算时间常数,单片机原理与应用,计数功能:X= 2n -计数值 n:8/13/16 定时功能:X= 2n - t/T t:定时时间(s) T:机器周期12/晶振频率 如:晶振为12MHz时, T12/12 MHz12(1210-6)(秒) 110-61us 若t=30ms,则X= 2n - t/T =65536-30000=35536 (方式1) 应转为16进制数:X=8AD0H TH=8AH TL=D0H 若t=3ms,则X= 2n - t/T =8192-3000=5192 (方式0) 应转为16进制数:X=1448H=000 10100

31、010 01000B TH=A2H TL=08H,单片机原理与应用,溢出处理编程格式: 1)查询方式:先查询定时器溢出标志,再进行溢出处理。 ;定时器初始化 WAIT:JBC TFx,PT ;检测溢出标志 SJMP WAIT PT: MOVTHx,#XH ;重装时间常数 MOVTLx,#XL ;溢出处理 SJMPWAIT,单片机原理与应用,2)中断方式:初始化后执行其他任务,中断服务程序处理溢出。 ORG0000H LJMPMAIN ORG000BH(001BH);Tx中断入口 LJMPPTS MAIN:;初始化后执行其他程序 PTS:;溢出中断服务程序 MOVTHx,#XH;重装时间常数 M

32、OVTLx,#XL RETI,单片机原理与应用,例1:由P1.0输出方波信号,周期为2ms,设fosc=12MHz。,解:每隔1ms改变一次P1.0的输出状态。用T0非门控方 式1定时。 机器周期T=12/12MHz=1us 计算时间常数:X = 216 - t/T = 216 -1000/1 = FC18H TMOD:00000001B 01H,单片机原理与应用,(1)查询方式: START:MOVTMOD,#01H MOVTL0,#18H MOVTH0,#0FCH SETBTR0 LOOP:JBCTF0,PTF0 SJMPLOOP PTF0: CPLP1.0 MOVTL0,# 18H MO

33、VTH0,# 0FCH SJMPLOOP,单片机原理与应用,(2)中断方式 ORG0000H AJMPMAIN ORG000BH AJMPPT0INT ORG0100H MAIN:MOVSP,#60H MOVTMOD,#01H MOVTL0,#18H,单片机原理与应用,MOVTH0,# 0FCH SETBEA SETBET0 SETBTR0 HERE:SJMPHERE PT0INT:CPLP1.0 MOVTL0,#18H MOVTH0,# 0FCH RETI,单片机原理与应用,例2 P1.7驱动LED亮1秒灭1秒地闪烁,设时钟频率为6MHz。,长定时方法:增加一个软件计数器或一个硬件计数器。,

34、硬件方式: T0定时100ms,T1计数T0的定时跳变信号P1.0的负跳变次数(200ms一次), 计满5个跳变为1秒。,TMOD:01100001B 61H 定时器初值: X0=65536-100000/2=15536 =3CB0H 计数器初值: X1=256-5=251 =FBH,单片机原理与应用,START:MOV TMOD,#61H MOV TL1,#0FBH MOV TH1,#0FBH CLR P1.0 SETB TR1 LOOP1:CPL P1.7 LOOP2 :MOV TL0,#3CH MOV TH0,#0B0H SETBTR0 LOOP3:JBCTF0,LOOP4 SJMPLO

35、OP3 LOOP4:CPLP1.0 JBCTF1,LOOP1 SJMPLOOP2,查询方式:,单片机原理与应用,ORG 0000H AJMP START ORG 000BH AJMP T0INT ORG 001BH AJMP T1INT START:MOV SP,#60H MOV TMOD,#61H MOV TL1,#0FBH MOV TH1,#0FBH CLR P1.0,中断方式,单片机原理与应用,SETB TR1 MOV TL0,#3CH MOV TH0,#0B0H SETBTR0 LOOP1:SJMP LOOP1 T0INT: CPLP1.0 MOV TL0,#3CH MOV TH0,#

36、0B0H RETI T1INT:CPL P1.7 RETI END,单片机原理与应用,例3:门控方式测量正脉冲宽度 解: INT1引脚输入被检测信号,记录在正脉冲的时间内包含机器脉冲个数。 1)设脉宽小于65.5ms 等待查询INT1,正脉冲过后,读出TH1TL1。,START:MOV TMOD,#90H MOV TL1,#0H MOV TH1,#0H WAIT1:JBP3.3,WAIT1 SETB TR1 WAIT2 :JNBP3.3,WAIT2 WAIT3 : JBP3.3,WAIT3 CLRTR1 MOVR2,TL1 MOVR3,TH1 ,GATE=1门控,只有INT1=1才计数,单片机原理与应用,2)设脉宽大于65.5ms,中断方式记录TH1TL1溢出中断

温馨提示

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

评论

0/150

提交评论