日常更新3
一些电路图中常见的逻辑符号(识记): 关于机器周期的一些介绍: - 时钟周期:单片机时序中的最小单位,具体计算的方法就是时钟源分之一。
- 机器周期:我们的单片机完成一个操作的最短时间。
- 定时器:打开定时器后,定时器"存储寄存器"的值经过一个机器周期自动加1,也就是说,机器周期是定时器的计数周期。
关于定时器的三大寄存器 - 定时器存储控制器(TH0、TL0、TH1、TL1)
- 定时器控制寄存器(TCON)
- 定时器模式寄存器(TMOD)
1.定时器存储控制器(TH0、TL0、TH1、TL1) 名称 | 描述 | SFR地址 | 复位值 | TH0 | 定时器 | 0x8C | 0x00 | TL0 | 定时器 | 0x8A | 0x00 | TH1 | 定时器 | 0x8D | 0x00 | TL1 | 定时器 | 0x8B | 0x00 |
2.TCON—定时器控制寄存器的位分配(地址0x88(能被8整除)、可位寻址) 位 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 符号 | TF1 | TR1 | TF0 | TR0 | IE1 | IT1 | IE0 | IT0 | 复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
TCON——定时器控制寄存器的位描述 位 | 符号 | 描述 | 7 | TF1 | 定时器1溢出标志。一旦定时器1发生溢出时硬件置1。清零有两种方式:软件清零,或者进入定时器中断时硬件清零。 | 6 | TR1 | 定时器1运行控制位。软件置位/清零来进行启动/停止定时器。 | 5 | TF0 | 定时器0溢出标志。一旦定时器0发生溢出时硬件置1。清零有两种方式:软件清零,或者进入定时器中断时硬件清零。 | 4 | TR0 | 定时器0运行控制位。软件置位/清零来进行启动/停止定时器。 |
3.TMOD—定时器模式寄存器的位分配(地址0x89、不可位寻址) 位 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 符号 | GATE(T1) | C/T(T1) | M1(T1) | M0(T1) | GATE(T0) | C/T(T0) | M1(T0) | M0(T0) | 复位值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
TMOD——定时器模式寄存器的位描述 符号 | 描述 | T1/T0 | 标T1的表示控制定时器1的位,标T0的表示控制定时器0的位。 | GATE | 该位被置1时为门控位。仅当‘INT0’脚为高并且TR0控制位被置1时使能定时器0,定时器开始计时,当该位被清0时,只要TR0位被置1,定时器0就使能开始计时,不受到单片机引脚INT0外部信号的干扰,常用来测量外部信号脉冲宽度。这是定时器一个额外功能,本节课暂不介绍。 | C/T | 定时器或计数器选择位。该位被清零时用作定时器功能(内部系统时钟),被置1用作计数器功能。 |
关于门控位可以用来测量外部信号的脉冲宽度的介绍: 比如说这是一个高脉冲,把信号接入INT0引脚上,那么当门控位为1时,只有脉冲信号为高定时器才会开启,而变为低时定时器就会停止计时,根据定时时间便可以测出这段高脉冲的宽度。 TMOD——定时器模式寄存器M1/M0工作模式 M1 | M0 | 工作模式 | 描述 | 0 | 0 | 0 | 兼容8048单片机的13位定时器,THn的8位和TLn的5位组成一个13位定时器。 | 0 | 1 | 1 | THn和TLn组成一个16位的定时器。 | 1 | 0 | 2 | 8位自动重装模式,定时器溢出后THn重装到TLn中。 | 1 | 1 | 3 | 禁用定时器1,定时器0变成2个8位定时器。 |
定时器/计数器模式1示意图 一般初始化定时器的步骤: - 设定TMOD寄存器确定工作方式
- 给相应的定时器存储控制器初值(TH0、TL0、TH1、TL1)
- 开启总中断(EA)
- 开启相应的定时器允许中断位(ET0、ET1)
- 开启相应的定时器启动位(TCON)
完整的Word格式文档51黑下载地址:
03-定时器计数器.docx
(118.38 KB, 下载次数: 8)
|