AVR單片機定時/計數(shù)器學(xué)習(xí)筆記(一)
(具體的寄存器配置方式見mega16數(shù)據(jù)手冊)
定時/計數(shù)器1(16位)有普通模式、CTC模式、快速PWM模式、相位修正PWM模式等工作模式。
1.普通模式(設(shè)為溢出中斷工作方式,向量號為9)
工作原理:在設(shè)定的時鐘頻率下,計數(shù)寄存器由初值逐次加1,當(dāng)達到計數(shù)最大值(65535)時,溢出,執(zhí)行中斷子程序。
需要配置的寄存器:T/C1控制寄存器B(TCCR1B)、計數(shù)寄存器(TCNT1H和TCNT1L)、T/C1中斷屏蔽寄存器(TIMSK)。
(1)由TCCR1B的bit2、bit1、bit0設(shè)置時鐘頻率(有內(nèi)部和外部)
(2)由TCNT1H和TCNT1L設(shè)置計數(shù)初值(注意應(yīng)先寫H,再寫L)
(3)由TIMSK的bit2設(shè)置中斷使能(注意最后還應(yīng)開啟總中斷SREG|=BIT(7))
編程時中斷的聲明#pragmainterrupt_handler中斷函數(shù)名:中斷向量號
注意:在中斷子程序中,應(yīng)該再次裝入計數(shù)初值,因為進入中斷時計數(shù)初值變成了0。