修改日志
时间 | 修改内容 |
---|---|
023-03-13 | 初稿完成 |
TMOD不能位寻址 ,只能将整个寄存器一起配置。
TCON 能位寻址 。用来控制定时器的启动、停止,标识定时器的溢出和中断情况。
定时器/计数器模式控制寄存器(TMOD)
GATE = 0 不受外部中断控制
GATE = 1 受外部中断控制(即使软件开启了,也要外部中断引脚置位才行)
方式0 13位定时器/计数器,TL0(TL1)只用低5位参与分频,TH0(TH1)整个8位全用。
方式1 16位定时器/计数器
方式2 8位自动重装载定时器,实际只用低8位定时/计数,当溢出时,高8位的值自动重装入低8位。
方式3 T0此时作为两个独立的8位定时器/计数器,TL0由T0的控制位控制,TH0由T1的控制位控制。T1处于方式3时会停止计数。
项目 | 方式0 | 方式1 | 方式2、3 |
---|---|---|---|
计数范围2^bit | 1~8192 | 1~65536 | 1~256 |
最长时间(12MHz) | 8.192 ms | 65.536 ms | 0.256 ms |
关于计数的工作方式
通过引脚P3.2(T0)或P3.5(T1)对外部脉冲信号进行计数。
当输入脉冲信号产生由 1 到 0 的下降沿时,定时器的值加 1,在每个机器周期,CPU采样引脚 P3.4 和 P3.5 的输入电平。若前一个机器周期采样值为高,下一个机器周期采样值为低,则计数器加 1。
由于检测一个 1 到 0 的跳变需要2个机器周期,故最高计数频率为振荡频率的二十四分之一。
虽然对输入信号的占空比无特殊要求,但为了确保某个电平在变化之前至少被采样一次,要求电平保持时间至少是一个完整的机器周期。
定时器/计数器控制寄存器(TCON)
编程步骤
项目 | 说明 |
---|---|
TF1 | T1计数溢出时,硬件自动置TF1 = 1。故只编写溢出判断和TF1 = 0即可。在中断允许下,该位发出中断请求并进入中断后,其由硬件自动置零。在中断屏蔽下,该位可用作查询方式,此时由编程置零。 |
TR1 | GATE = 1,INT1=1时,软件置TR1=1,启动T1。GATE = 0,软件置TR1 = 1,启动T1 |
不需要很厉害才能开始,但需要开始才能很厉害!
文章来源于:电子工程世界 原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。