定时器初值计算

上传人:hy****d 文档编号:243370448 上传时间:2024-09-21 格式:PPT 页数:19 大小:240.50KB
返回 下载 相关 举报
定时器初值计算_第1页
第1页 / 共19页
定时器初值计算_第2页
第2页 / 共19页
定时器初值计算_第3页
第3页 / 共19页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,8051单片机的定时/计数器,1,8051单片机有2个16位的定时/计数器:定时器0(T0)和定时器1(T1)。它们都有定时器或事件计数的功能,可用于定时控制、延时、对外部事件计数和检测等场合。,T0由2个特殊功能寄存器TH0和TL0构成,T1则由TH1和TL1构成。作计数器时,通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数,当输入脉冲信号从1到0的负跳变时,计数器就自动加1。计数的最高频率一般为振荡频率的1/24。,2,一、定时/计数器的功能,在特殊功能寄存器TMOD中,有一个控制位(CT),分别用于控制定时/计数器工作在定时器方式还是计数器方式。,1. 定时功能-,计数输入信号是内部时钟脉冲,每个机器周期使技数器的值加1。,2. 计数功能-,计数脉冲来自相应的外部输入引脚,T0为P3.4,T1为P3.5。,定时/计数器的核心部件是二进制加1计数器(TH0、TL0或TH1、TL1) 。,3,二、定时器计数器的特殊功能寄存器,与定时器计数器有关的特殊功能寄存器有:,1工作方式控制寄存器TMOD,T1控制,T0控制,M0,M1,C/T,GATE,M0,M1,C/T,GATE,D0,D1,D2,D3,D4,D5,D6,D7,GATE门控位,C/T计数/定时选择,M1 M0工作方式选择,4,2定时器控制寄存器TCON,D7,D6,D5,D4,D3,D2,D1,D0,TF1,TR1,TF0,TR0,IE1,IT1,IE0,IT0,中断请求标志,触发方式选择,启动定时/计数器,0 低电平1 下降沿,0 停止,1 启动,5,计数脉冲输入,三、定时器计数器的工作方式,定时器计数器共有四种工作方式,1. 方式013位方式,TF0,T0,TR0,GATE,INT0,1,1,&,C/T=1,振荡器,1/12,C/T=0,TL0 TH0,8位,低5位,13位计数器,定时器,计数器,6,2. 方式116位方式,振荡器,1/12,TL0 TH0,TF0,1,1,&,T0,TR0,GATE,INT0,C/T=0,C/T=1,8位,8位,16位计数器,7,3. 方式28位自动装入时间常数方式,TF0,振荡器,1/12,1,1,&,T0,TR0,GATE,INT0,C/T=0,C/T=1,TL0,TH0,8,4. 方式3双8位方式,仅T0可以工作在方式3此时T0分成2个独立的计数器TL0和TH0 ,前者用原来T0的控制信号(TR0、TF0),后者用原来T1的控制信号(TR1、TF1)。,9,1,计数器初值的计算,设计数器的最大计数值为M(根据不同工作方式,M可以是2,13,、2,16,或2,8,),则计算初值X的公式如下:,X=M-要求的计数值,四、定时/计数器常数的计算,10,2,定时器初值的计算,在定时器模式下,计数器由单片机主脉冲fosc经12分频后计数。因此,定时器定时初值计算公式:,X=M-(要求的定时值)/(12/fosc),式中,M为定时器模值,(根据不同工作方式,M可以是2,13,、2,16,或2,8,),11,五、应用举例,可编程器件在使用前需要进行初始化:,确定TMOD控制字:编程时将控制字送TMOD;,计算计数器的计数初值:,编程时将计数初值送TH、 TL;,如果使用中断方式,则要开中断,,如果使用查询方式,则不要开中断。,TRi位置位控制定时器的启动和停止。,12,例1:设晶振频率f,OSC,=6MHz,使用定时器1以方式1产生周期为500s的方波脉冲,并由P1.0 输出。,8051,P1.0,500s,13, TMOD确定,T1控制,T0控制,X,X,X,X,1,0,0,0,M0,M1,C/T,GATE,M0,M1,C/T,GATE,控制字10H,要产生500s 的方波脉冲,只需在P1.0端以250s为间隔,交替输出高低电平即可实现。为此,定时间应为250s 。使用6z晶振,则一个机器周期为2s,设待求定时器初值为,则:, 计算定时器的初值;,14,(2,16,X)210,-6,=25010,-6,即,2,16,X=125,X2,16,-125=10000H-7DH,0FF83H,所以,初值为:,TH1=0FFH,TL1=83H, 如果采用中断方式,编程时要打开全局和局部中断,本例采用查询方式,不用中断。, 由定时器控制寄存器TCON中的TR1位控制定时器的启动和停止。,TR11,启动;,TR10,停止。,15,程序如下:,MOV TMOD, #10H ;设置T0工作方式,MOV TH1, #0FFH ;装入定时初值,MOV TL1, #83H,SETB TR0 ;启动T0,LOOP: JBC TF0, NEXT ;查询定时时间到否?,SJMP LOOP,NEXT: MOV TH1, #0F0H ;重新装入定时初值,MOV TL1, #0CH,CPL P1.0 ;P1.0输出方波,SJMP LOOP,16,例2:,假设单片机的振荡频率fosc=6MHz,现要求产生1ms的定时,试分别计算定时器T1在方式0、方式1和方式2时的初值。,方式0:最大计数值为M=2,13,,因此定时器的初值应为,X = 2,13,-(110,-3,)/(12/(610,-6,) = 7692D,= 1111000001100B,其中高8位为TH1的初值,即F0H,低5位为TL1的初值,,注意,这里TL1的初值应为00001100B即0CH,而不是60H,因为在方式时,TL1的高3位是不用的,应都设为0。,17,方式1:最大计数值为M=216,因此定时器的初值应为,X = 2,16,-(110,-3,)/(210,-6,) = 65036D,= 1111111000001100B = FE0CH,此时高8位TH1的初值为FEH,低8位TL1的初值为0CH。,18,方式2:最大计数值为M=2,8,,因此定时器的初值应为,X = 2,8,-(110,-3,)/(210,-6,),= 256-500= -254,计算得到的初值为负值,说明当fosc=6MHz时,不能采用方式2(即常数自动装入)来产生1ms的定时,除非把单片机的时钟频率降得很低。,19,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!