第 8 章定时计数器的结构与应用定时计数器(Timer/Counter)是单片机中最基本的接口之一,它的用途非常广泛,常用于计数、延时、测量周期、频率、脉宽、提供定时脉冲信号等
在实际应用中,对于转速,位移、速度、流量等物理量的测量,通常也是由传感器转换成脉冲电信号,通过使用定时计数器来测量其周期或频率,再经过计算处理获得
相对于一般 8 位单片机而言,AVR 不仅配备了更多的定时计数器接口,而且还是增强型的,如通过定时计数器与比较匹配寄存器相互配合,生成占空比可变的方波信号,即脉冲宽度调制输出 PWM 信号,用于 D/A、马达无级调速控制、变频控制等,功能非常强大
ATmega16 一共配置了 2 个 8 位和 1 个 16 位,共 3 个定时计数器,它们是 8 位的定时计数器 T/C0、T/C2 和 16 位的定时计数器 T/C1
本章将着重对 AVR 的 8 位定时计数器的结构、功能和应用进行讲解,并介绍基本的使用设计方法
1定时计数器的结构在单片机内部,一般都会集成由专门硬件电路构成的可编程定时计数器
定时计数器最基本的功能就是对脉冲信号“自动”进行计数
这里所谓的“自动”,指计数的过程是由硬件完成的,不需要 MCU 的干预
但 MCU 可以通过指令设置定时计数器的工作方式,以及根据定时计数器的计数值或工作状态做必要的处理和响应
学习和使用定时计数器时,必须注意以下的基本要素:定时计数器的长度
定时计数器的长度是指计数单元的位长度,一般为 8 位(一个字节)或 16 位(2 个字节)
脉冲信号源
脉冲信号源是指输入到定时计数器的计数脉冲信号
通常用于定时计数器计数的脉冲信号可以由外部输入引脚提供,也可以由单片机内部提供
计数器类型
计数器类型是指计数器的计数运行方式,可分为加一(减一)计数器,单程计数或双向计数等
计数器的上下限
计数器的上下限指计数单元