定时器介绍
1.CPU 时序的有关知识
①时钟周期:为单片机提供定时信号的振荡源的周期(即晶振周期或振荡周期)。 ②状态周期:2 个振荡周期为 1 个状态周期,用 S 表示。振荡周期又称 S 周期或时钟周期。 ③机器周期:1 个机器周期含 6 个状态周期,12 个振荡周期。(机器周期也称为CPU周期。在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段(如取指、译码、执行等),每一阶段完成一个基本操作。完成一个基本操作所需要的时间称为机器周期)设计之初,由于51单片机性能和制程工艺等因素,出厂时把51单片机的机器周期严格的控制在12个时钟周期. ④指令周期:完成 1 条指令所占用的全部时间,它以机器周期为单位,是从取指令、分析指令到执行完所需的全部时间。 例如:外接晶振为 12MHz 时,51 单片机相关周期的具体值为: 晶振周期=1/12us; 状态周期=1/6us ;(2个振荡周期) 机器周期=1us ;(12个振荡周期)(12T模式是 12 / 12 MHz = 1MHz, 机器周期T = 1us; 6T模式是 12 / 6MHz = 2MHz, 机器周期T = 500ns;) 指令周期=1~4us;
2.几个知识点
①51 单片机有两组定时器/计数器,既可以定时,又可以计数,故称之 为定时器/计数器。 ②定时器/计数器和单片机的 CPU 是相互独立的。定时器/计数器工作的过程 是自动完成的,不需要 CPU 的参与。 ③51 单片机中的定时器/计数器是根据机器内部的时钟或者是外部的脉冲信 号对寄存器中的数据加 1。有了定时器/计数器之后,可以增加单片机的效率,一些简单的重复加 1 的工作可以交给定时器/计数器处理。CPU 转而处理一些复杂的事情。同时实现精确定时作用。延时函数都给大概的时间,是不精确的。但是定时器是精确的。
3.定时器原理
定时/计数器的实质是加 1 计数器(16 位),由高 8 位和低 8 位两 个寄存器 THx 和 TLx 组成。它随着计数器的输入脉冲进行自加 1,也就是每来一 个脉冲,计数器就自动加 1.
当达到阈值时,再输入一个脉冲就使计数 器回零,且计数器的溢出使相应的中断标志位置 1,向 CPU 发出中断请求(定时 /计数器中断允许时)。
如果定时/计数器工作于定时模式,则表示定时时间已到; 如果工作于计数模式,则表示计数值已满。
T0 和 T1 引脚对应的是单片机 P3.4 和 P3.5 管脚。51 单片机定时/计数器的工作由两个特殊功能寄存器控制。TMOD 是定时/计数器的工作方式寄存器,确定工作方式和功能;TCON<