收藏 分享(赏)

定时器96476.ppt

上传人:kpmy5893 文档编号:8460188 上传时间:2019-06-28 格式:PPT 页数:23 大小:209.50KB
下载 相关 举报
定时器96476.ppt_第1页
第1页 / 共23页
定时器96476.ppt_第2页
第2页 / 共23页
定时器96476.ppt_第3页
第3页 / 共23页
定时器96476.ppt_第4页
第4页 / 共23页
定时器96476.ppt_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、定时/实现方式: 1.软件定时; 2.不可编程硬件定时; 3.可编程定时,2.9 MCS-51单片机的定时/计数器,。定时/计数器简称定时器,8051单片机有2个16位的定时/计数器:定时器0(T0)和定时器1(T1)。它们都有定时器或事件计数的功能,可用于定时控制、延时、对外部事件计数和检测等场合。T0由2个特殊功能寄存器TH0和TL0构成,T1则由TH1和TL1构成。,一、定时/计数器的定时和计数功能,1. 定时功能-计数输入信号是内部时钟脉冲,每个机器周期使寄存器的值加1。所以,计数频率是振荡频率的1/12。,2. 计数功能-计数脉冲来自相应的外部输入引脚,T0为P3.4,T1为P3.5

2、。 作计数器时,通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数,当输入脉冲信号从1到0的负跳变时,计数器就自动加1。计数的最高频率一般为振荡频率的1/24。,定时/计数器的核心部件是二进制加1计数器(TH0、TL0或TH1、TL1) 。,二、定时器计数器的控制寄存器,与定时器计数器有关的控制寄存器有:,1定时器控制寄存器TCON,中断请求标志,触发方式选择,启动定时/计数器,0 低电平1 下降沿,0 停止 1 启动,2工作方式控制寄存器TMOD,T1控制,T0控制,GATE门控位,M1 M0工作方式选择,计数脉冲输入,三、定时器计数器的工作方式,定时器计数器共有四种工作方式,1.

3、 方式013位方式,13位计数器,定时器,计数器,2. 方式116位方式,3. 方式28位自动装入时间常数方式,4. 方式32个8位方式,仅T0可以工作在方式3此时T0分成2个独立的计数器TL0和TH0 ,前者用原来T0的控制信号(TR0、TF0),后者用原来T1的控制信号(TR1、TF1)。,1计数器初值的计算把计数器计满为零所需要的计数值设定为C,计数初值设定为TC,由此可得到公式:TC=M-C式中,M为计数器模值,该值和计数器工作方式有关。在方式0时M为213;在方式1时M为216;在方式2和方式3时M为28。,四、 定时/计数器常数的计算,2定时器初值的计算在定时器模式下,计数器由单片

4、机主脉冲经12分频后计数。因此,定时器定时时间T的公式: T=(M-TC)T计数上式也可写成:TC=M-T/ T计数式中,M为模值,和定时器的工作方式有关;T计数是单片机振荡周期TCLK的12倍;TC为定时器的定时初值。,五、应用举例,可编程器件在使用前需要进行初始化:,确定TMOD控制字:编程时将控制字送TMOD;,计算计数器的计数初值:编程时将计数初值送THi、 TLi;, 开中断(如果使用中断方式):编程实置位EA、ETi, TRi位置位控制定时器的启动和停止。,例题1:设晶振频率fOSC=6MHz,使用定时器1以方式1产生周期为500s的方波脉冲,并由P1.0 输出。试以中断方式实现。

5、, TMOD确定,T1控制,T0控制,控制字10H,要产生500s 的方波脉冲,只需在P1.0端以250s为间隔,交替输出高低电平即可实现。为此,定时间应为250s 。使用6z晶振,则一个机器周期为2s,设待求计数初值为,则:, 计算计数器的计数初值;,(216X)210 -6 =25010 -6 即216X=125X216-125=10000H-7DH0FF83H 所以,初值为:TH1=0FFH,TL1=83H, 采用中断方式:编程时打开全局和局部中断。, 由定时器控制寄存器TCON中的TR1位控制定时器的启动和停止。TR11,启动;TR10,停止。,例题2:假设单片机的振荡频率fosc=6

6、MHz,现要求产生1ms的定时,试分别计算定时器T1在方式0、方式1和方式2时的初值。,解: 方式0:最大计数值为M=213,因此定时器的初值应为X = 213-(110-3)/(12/(610-6) = 7692D= 1111000001100B其中高8位为TH1的初值,即F0H,低5位为TL1的初值, 注意,这里TL1的初值应为00001100B即0CH,而不是60H,因为在方式时,TL1的高3位是不用的,应都设为0。 方式1:最大计数值为M=216,因此定时器的初值应为X = 216-(110-3)/(210-6) = 65036D= 1111111000001100B = FE0CH此

7、时高8位TH1的初值为FEH,低8位TL1的初值为0CH。,方式2:最大计数值为M=28,因此定时器的初值应为 X = 28-(110-3)/(210-6) = 256-500= -254计算得到的初值为负值,说明当fosc=6MHz时,不能采用方式2(即常数自动装入)来产生1ms的定时,除非把单片机的时钟频率降得很低。,定时器/计数器应用实例,实例内容:利用T0定时,产生2s定时,使得P1口输出信号,控制8个发光二极管循环点亮,设fOSC=12MHz, 。,难点:P1口输出信号,控制8个发光二极管循环点亮,但此处由于定时时间长达2s,所以单靠一个定时器不能解决问题。 可以采取硬件定时和软件计

8、数(或硬件计数)结合方式。,硬件定时与软件计数结合方式解题思路: 让T0作定时器用,如T0可以定时50ms,每当定时时间到,在T0中断处理程序中一个寄存器内容加1,同时判断是否加到2000/50=40,如果不到40,则直接返回,如果计到40,说明2s时间到,使P1口循环点亮8个发光二极管后再返回。 T0工作在方式1,控制字01H,计数初值:,(216X)110 -6 =5010 -3 即216X=50000X216-50000=10000H-C350H3CB0H 所以,初值为:TH1=3CH,TL1=B0H,程序设计,ORG 0000HLJMP MAIN ;主程序入口 ORG 000BHLJM

9、P INTT0 ;T0中断入口,ORG 1000H MAIN:MOV TMOD, #01H ;T0为方式1MOV TH0, #3CHMOV TL0,#B0H ;初值SETB EA ;允许中断SETB ET0SETB TR0 ;启动定时MOV A,#01H ; LED0先亮MOV P1,A ;MOV R0,#0SJMP $ ;等待中断,主程序:,中断处理程序:,INTT0: MOV TH0,#3CH ;重新设置初值MOV TL0,#B0HINC R0CJNE R0,#40,NEXT ;不等直接返回MOV R0,#0 ;2s到RL A ;依次点亮 NEXT: RETI,*硬件定时与硬件计数结合方式解题思路:将引脚P3.0与引脚P3.5即T1脚连接起来。让T0作定时器用,T1作计数器用,如T0可以定时50ms,每当定时时间到,在T0中断处理程序中通过P3.0给T1脚输入负脉冲,使T1计数,当计数到2000/50=40时,说明2s时间到,在T1的中断处理程序中使P1口循环点亮8个发光二极管。*,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报