定时器计数器工作原理及结构
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
为止。显然,定时器的定时时间与系统的振荡频 率有关。
如果已知晶体振荡频率,计算计数频率的公式如 下:
一个振荡周期=1/振荡频率
一个机器周期=12个振荡周期 一个计数脉冲所用的时间=一个机器周期 计数频率=1/一个计数脉冲所用的时间 从图6-1中可以得出这样的结论,只要计数脉冲的 间隔相等,那么计数值就代表了时间的流逝。其
当GATE=0时,则只要TR0和TR1置1,定时器/计数 器就被选通,而不管电平是高还是低。
② C/ :定时器/计数器选择位。C/ =1,为计数器 方式;C/ =0,为定时器方式。不设置默认为0。
③ M1、M0:工作方式选择位。定时器/计数器的 4种工作方式由M1、M0设定,如表6-2所示。
表6-2 定时器/计数器工作方式选择
表6-1 工作方式控制寄存器(TMOD)格式
表6-1 工作方式控制寄存器(TMHale Waihona Puke BaiduD)格式
由表6-1可见,TMOD的高4位控制T1,低4位控制T 0,各位含义如下。 ① GATE:门控制位。
当GATE=1时,定时受外部脉冲的控制,只有引脚 为高电平且TR0或TR1置1时,相应的定时器/计数 器才被选通工作,这时可用于测量出现的正脉冲 宽度。
图6-2 定时器/计数器结构
6.1.2 定时器/计数器控制寄存器
定时器/计数器T0和T1有两个控制寄存器TMOD 和TCON,它们分别用来设置各个定时器/计数器 的工作方式,选择定时或计数功能,控制启动运行, 以及作为运行状态的标志等。
(1)工作方式控制寄存器(TMOD)
工作方式控制寄存器TMOD在特殊功能寄存器 中,字节地址为89H,无位地址。它用于设定定时 器/计数器的工作模式。TMOD的格式如表6-1所 示。
表6-2 定时器/计数器工作方式选择
(2)定时器控制寄存器(TCON) 定时器控制寄存器TCON在学习情境五中讲过。
TCON的字节地址为88H,可进行位寻址,位地址 为88H~8FH。TCON格式如表6-3所示。
TCON低4位与外部中断INT0、INT1有关,已在 中断中介绍。高4位与定时器/计数器T0、T1有 关。
引脚输入的外部脉冲信号进行计数(负跳变触 发),定时器/计数器以计数模式工作,即每当外部 输入的脉冲发生负跳变时,计数器加1。
CPU每个机器周期检测一次引脚。为确保外来 信号被检测到,计数方式下输入脉冲的高、低电 平状态各要维持1个机器周期以上的时间,脉冲周
期必须大于2个机器周期,即外来脉冲信号的频率 必须不高于振荡频率的1/24。
表6-3 定时器控制寄存器(TCON)格式
表6-3 定时器控制寄存器(TCON)格式
① TF1:定时器1溢出标志位。当定时器1计满溢 出时,由硬件使TF1置“1”,并且申请中断。进入 中断服务程序后,由硬件自动清“0”,在查询方 式下用软件清“0”。
② TR1:定时器1运行控制位。由软件清“0”关 闭定时器1。当GATE=1,且INT1为高电平时,TR1 置“1”启动定时器1;当GATE=0,TR1置“1”启 动定时器1。
实单片机中的定时器和计数器是同一个东西,只 不过计数器记录的是外界发生的事情,而定时器 则是由单片机提供一个非常稳定的计数源,然后 把计数源的计数次数转化为定时器的时间。图 中的C/ 开关就是起这个作用。提供给定时器 的计数源是由单片机的晶振经过12分频后获得 的一个脉冲源,因为晶振的频率是很准的,所以这
当M1、M0为00时,定时器/计数器被设置为工作 方式0。这种方式是13位计数器,由TL0低5位和 TH0高8位组成,TL0低5位计数满时不向TL0第6 位进位,而是向TH0进位,13位计满溢出,TF0置 “1”。最大计数值213=8192。方式0下定时器/
计数器的逻辑结构如图6-3所示。
(2)定时功能
当C/ =0时,计数器的输入脉冲来自单片机的内 部,每个机器周期产生一个脉冲,也就是每个机器 周期使寄存器加1。
如果单片机采用12MHz晶体,则计数器频率为1 MHz(1个机器周期等于12个振荡周期),即每过1μ s,时间计数器加1。这样可以根据计算值计算出 定时时间,也可以根据定时时间的要求计算出计 数器的初值。当定时器/计数器为定时工作方式 时,计数器的加1信号由振荡器的12分频信号产 生,即每过1个机器周期,计数器加1,直至计满溢出
器控制寄存器(TCON)用于允许定时器0和定时 器1以及指示它们的状态。这两个定时器/计数 器都有四种工作方式,通过设置定时器/计数器方 式寄存器(TMOD)中的方式选择位M1、M0来选 择工作方式。每个定时器都可以被独立编程。 下面对每种工作方式进行详细说明。
6.2.1 方式0:13位定时器/计数器
6.1 定时器/计数器工作原理及结构
单片机定时器/计数器的核心部件就是加1计数 器,由有控制技术的特殊功能寄存器及电路组
成。89C51单片机内有两个可编程的定时器/计
数器,每个都具有定时/计数两种功能,其工作原
理如图6-1所示。
(1)计数功能
图6-1 定时器/计数器原理图
当C/ =1时,计数器与单片机外输入信号引脚T0 或T1(即P3.4、P3.5)接通,此时,计数器对T0或T1
个计数脉冲的时间间隔当然也很准。
6.1.1 定时器/计数器结构
单片机的定时器/计数器结构如图6-2所示,定时 器/计数器T0由特殊功能寄存器TH0、TL0构成, 定时器/计数器T1由特殊功能寄存器TH1、TL1 构成。
特殊功能寄存器TMOD用于选择定时器/计数器 T0、T1的工作模式和工作方式。TCON用于控 制T0、T1的启动和停止计数,同时包含了T0、T1 的状态。TMOD、TCON这两个寄存器的内容由 软件设置。单片机复位时,两个寄存器的所有位 都被清“0”。
③ TF0:定时器0溢出标志。其功能及操作情况同 TF1。
④ TR0:定时器0运行控制位。其功能及操作情 况同TR1。
6.2 定时器/计数器工作方式
每个定时器/计数器都是一个16位的寄存器,在被 访问时以两个字节的形式出现:一个低字节(TL0 或TL1)和一个高字节(TH0或TH1)。定时器/计数