定时器工作方式0初值除32_自学嵌入式第二天,定时器与计数器的原理

51单片机定时/计数器的工作由两个特殊功能寄存器控制。TMOD用于设置其工作方式; TCON用于控制其启动和中断申请。

ff66fd6ecd278041b0d6b95a94a4d4f4.png

工作方式寄存器TMOD
工作方式寄存器TMOD用于设置定时/计数器的工作方式,低四位用于T0,高四位用于T1。其格式如下:

GATE是门]控位,GATE=0时,用于控制定时器的启动是否受外部中断源信号的影响。只要用软件使TCON中的TR0或TR1为1,就可以启动定时/计数器工作; GATA=1时,要用软件使TR0或TR1为1,同时外部中断引脚INT0/1也为高电平时,才能启动定时/计数器工作。即此时定时器的启动条件,加上了INT0/1引脚为高电平这条件。C/T :定时/计数模式选择位。C/T =0为定时模式;C/T =1为计数模式。

2b428c0748009be78d0c0703c5680f37.png

M1M0:工作方式设置位。定时/计数器有四种工作方式。TF1 (TCON.7) : T1溢出中断请求标志位。T1计数溢出时由硬件自动置TF1为1。CPU响应中断后TF1由硬件自动清0。T1工作时,CPU可随时
查询TF1的状态。所以,TF1可用作查询测试的标志。TF1也可以用软件置1或清0,同硬件置1或清0的效果一样。

33f4ab4bdfb97eb280530ee837fc80a2.png

TR1 (TCON.6) : T1运行控制位。TR1置1时,T1开始工作; TR1 置0时
T1停止工作。TR1由软件置1或清0。所以,用软件可控制定时/计数器的启动与停止。TF0(TCON.5) ; T0溢出中断请求标志位,其功能与TF1类同。TR0 (TCON.4) ; T0运行控制位,其功能与TR1类同。定时器模式时有:N=t/ Tcy
计数初值计算的公式为: X=213-N。

定时器的初值还可以采用计数个数直接取补法获得。计数模式时,计数脉冲是T0引脚上的外部脉冲。门门控位GATE具有特殊的作用。当GATE=0时,经反相后使或门输出为1,此时仅由TR0控制与门的开启,与输出1时,控制开关接通,计数开始;当GATE=1时, 由外中断引脚信号控制或J的输出,此时控制与门的开启由外中断引脚信号和TR0共同控制。当TR0=1时,外中断引脚信号引脚的高电平启动计数,外中断引脚信号引脚的低电平停止计数。这种方式常用来测量外中断引脚上正脉冲的宽度。

0a51873445862d1723e1221de8f5cd84.png

初始化程序应完成如下工作:对TMOD赋值, 以确定T0和T1的 工作方式。计算初值,并将其写入THO、TL0或TH1、TL1。中断方式时,则对EA赋值,开放定时器中断。使TR0或TR1置位,启动定时/计数器定时或计数。计数器初值的计算机器周期也就是CPU完成一个基本操作所需要的时间。

机器周期=1/单片机的时钟频率。51单片机内部时钟频率是外部时钟的12分频。也就是说当外部晶振的频率输入到单片机里面的时候要进行12分频。比如说你用的是12MHZ的晶振,那么单片机内部的时钟频率就是12/12MHZ,当你使用12MHZ的外部晶振的时候。机器周期=1/1M= lus。而我们定时1ms的初值是多少呢,lms/lus= 1000。也就是要计数1000个数,初值=65535-1000+1 (因为实际上计数器计数到66636才溢出) =64536=FC18H 。

本次学习笔记到此为止,欢迎各位朋友指教。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值