AVR单片机定时/计数器学习笔记(一)
扫描二维码
随时随地手机看文章
(具体的寄存器配置方式见mega16数据手册)
定时/计数器1(16位)有普通模式、CTC模式、快速PWM模式、相位修正PWM模式等工作模式。
1.普通模式(设为溢出中断工作方式,向量号为9)
工作原理:在设定的时钟频率下,计数寄存器由初值逐次加1,当达到计数最大值(65535)时,溢出,执行中断子程序。
需要配置的寄存器:T/C1控制寄存器B(TCCR1B)、计数寄存器(TCNT1H和TCNT1L)、T/C1中断屏蔽寄存器(TIMSK)。
(1)由TCCR1B的bit2、bit1、bit0设置时钟频率(有内部和外部)
(2)由TCNT1H和TCNT1L设置计数初值(注意应先写H,再写L)
(3)由TIMSK的bit2设置中断使能(注意最后还应开启总中断SREG|=BIT(7))
编程时中断的声明#pragmainterrupt_handler中断函数名:中断向量号
注意:在中断子程序中,应该再次装入计数初值,因为进入中断时计数初值变成了0。