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