AVR单片机定时/计数器学习笔记(二)
扫描二维码
随时随地手机看文章
定时/计数器1(16位)有普通模式、CTC模式、快速PWM模式、相位修正PWM模式等工作模式。
2.CTC模式(需要用到OC1A、OC1B两个引脚)
应用:用于产生占空比为50%的方波信号
( N为分频系数 )
需要配置的寄存器:T/C1控制寄存器A(TCCR1A)、T/C1控制寄存器B(TCCR1B)、输出比较寄存器1A(OCR1A)。
(1)TCCR1A的bit7、bit6用于设置OC1A脚的比较输出模式,bit5、bit4用于设置OC1B脚的比较输出模式。(此处我们都设为,比较匹配时OC1A、OC1B电平取反)
(2)TCCR1B的bit4、bit3和TCCR1A的bit1、bit0组合来设置波形产生模式。(此处我们设为模式4—CTC模式)
(3)TCCR1B的bit2、bit1、bit0设置时钟频率。
(4)OCR1A用来设置计数的上限值
例程:
#include
#include
void main()
{
DDRD|=0X30; //PD4、PD5设为输出
TCCR1A=0X50; //比较匹配时取反
TCCR1B=0X09; //CTC模式,无预分频
OCR1A=1999; //OC1A、OC1B均产生2KHz的方波信号(系统时钟为8MHz)
}