已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
,定時/計數(shù)器資源介紹與應(yīng)用,0 xF5,計數(shù)原理(1),計數(shù)對外部事件進行統(tǒng)計,外部事件以輸入有效脈沖來表示。,計數(shù)器,溢出標志TF,初值,中斷請求,外部脈沖,0 xF5,0 xF5,1,S1,S2,0 xF6,0 xF7,0 xF8,0 xF9,0 xFA,0 xFB,0 xFC,0 xFD,0 xFE,0 xFF,0,中斷開放,中斷響應(yīng)后溢出標志清“0”,當檢測到有有效脈沖輸入時,計數(shù)寄存器加1,啟動計數(shù)器工作,當計數(shù)器計數(shù)溢出時的標志,初值寄存器作為計數(shù)器回0時的初始值,單片機的計數(shù)器用戶是可以控制的(可編程的),包括計數(shù)器的啟動、計數(shù)脈沖的有效方式、計數(shù)器的初值、計數(shù)溢出中斷請求開放或禁止等。,0 xFD,0 xFF,0 xFE,計數(shù)器,0 xFA,0 xF8,0 xF9,0 xFB,0 xFC,初值,計數(shù)原理(2),比值寄存器,比較器,S1,S2,溢出標志TF,外部脈沖,比較匹配標志,S3,0 xF8,計數(shù)器輸出OC觸發(fā),0 xFC,0 xF8,1,0 xF9,1,0 xFA,0 xFB,中斷請求2,中斷請求1,0,定時原理,定時當計數(shù)器的計數(shù)脈沖頻率恒定時,計數(shù)器所記錄的數(shù)值及代表了時間的概念。定時功能是通過計數(shù)器的計數(shù)來實現(xiàn)的。,計數(shù)器,溢出標志TF,初值,中斷請求,外部時鐘源,S1,S2,S0用于選擇內(nèi)部/外部時鐘源,S0,內(nèi)部時鐘源,定時器的工作原理與計數(shù)器相同,只是要求用于計數(shù)的脈沖,其頻率恒定。單片機的定時器用戶是可以控制(可編程)的。,ATmega16定時/計數(shù)器資源,T/C的預(yù)分頻器8位定時/計數(shù)器T/C0、T/C2T/C2的異步操作PWM模式下的T/C0、T/C216位定時/計數(shù)器T/C1PWM模式下的T/C1,T/C1、0的預(yù)分頻器,預(yù)分頻器的作用是將系統(tǒng)時鐘(如系統(tǒng)時鐘為4.000MHz)按設(shè)定的比例進行分頻,以產(chǎn)生不同周期的時鐘clkT0、clkT1,分別作為時鐘源提供給T/C0和T/C1使用。,8位定時/計數(shù)器T/C0、T/C2(1),ATmega16的定時/計數(shù)器共有3個:1個16位的定時/計數(shù)器定時/計數(shù)器1(簡稱T/C1)2個8位定時/計數(shù)器定時/計數(shù)器0(簡稱T/C0)、定時/計數(shù)器2(簡稱T/C2),這3個定時/計數(shù)器各具特點:T/C0功能普通(8位二進制)計數(shù)、定時、PWMT/C1功能多(16位二進制)計數(shù)、定時、PWM、輸入捕獲T/C2功能少且特殊(8位)定時(有異步定時功能,可作為實時時鐘RTC)、PWM,8位定時/計數(shù)器T/C0、T/C2(2),ATmega16的8位定時/計數(shù)器用戶可以控制:,TCCR0T/C0控制寄存器TCCR2T/C2控制寄存器TIMSKT/C中斷屏蔽寄存器TIFRT/C中斷標志寄存器TCNT0T/C0計數(shù)寄存器TCNT2T/C2計數(shù)寄存器OCR0T/C0輸出比較寄存器OCR2T/C2輸出比較寄存器ASSR異步模式狀態(tài)寄存器,位6、位3:計數(shù)器計數(shù)模式,用于控制T/C0的計數(shù)和工作方式。,位7:強制輸出比較,該位只在WGM位被置為非PWM模式下有效。,T/C0控制寄存器TCCR0,WGM00,COM01,COM00,WGM01,CS02,CS01,CS00,FOC0,位54:比較匹配輸出模式,決定T/C0比較匹配發(fā)生時,輸出引腳OC0(PB3)的行為方式。這是I/O的第二功能,相應(yīng)的方向控制位要置“1”,以便將其配置為輸出。,位20:T/C0的時鐘選擇位,用于定義T/C0的時鐘源。,T/C2控制寄存器TCCR2,WGM20,COM21,COM20,WGM21,CS22,CS21,CS20,FOC2,TCCR2的位73與TCCR0位73的作用完全相同。,位20:T/C2的時鐘選擇位,用于定義T/C2的時鐘源。其功能與T/C0有不同點,無外部計數(shù)功能的選項。,T/C中斷屏蔽寄存器TIMSK,TOIE2,TICIE1,OCIE1A,OCIE1B,TOIE1,OCIE0,TOIE0,OCIE2,位7:T/C2輸出比較匹配中斷使能,為“1”時允許中斷,為“0”時禁止中斷。,位6:T/C2溢出中斷使能,為“1”時允許中斷,為“0”時禁止中斷。,位5:T/C1輸入捕獲中斷使能,為“1”時允許中斷,為“0”時禁止中斷。,位4:T/C1輸出比較A匹配中斷使能,為“1”時允許中斷,為“0”時禁止中斷。,位3:T/C1輸出比較B匹配中斷使能,為“1”時允許中斷,為“0”時禁止中斷。,位2:T/C1溢出中斷使能,為“1”時允許中斷,為“0”時禁止中斷。,位1:T/C0輸出匹配中斷使能,為“1”時允許中斷,為“0”時禁止中斷。,位0:T/C0溢出中斷使能,為“1”時允許中斷,為“0”時禁止中斷。,T/C中斷標志寄存器TIFR,TOV2,ICF1,OCF1A,OCF1B,TOV1,OCF0,TOV0,OCF2,位7:T/C2輸出比較匹配標志。當T/C2計數(shù)器TCNT2與OCR2的值匹配時,該位由硬件置“1”。中斷響應(yīng)后,由硬件清“0”,或通過對該位寫“1”來清“0”。,位6:T/C2溢出中斷標志。當T/C2計數(shù)器TCNT2溢出時,該位由硬件置“1”。中斷響應(yīng)后,由硬件清“0”,或通過對該位寫“1”來清“0”。,位5:T/C1輸入捕獲中斷標志。當T/C1輸入捕獲事件發(fā)生時,該位置“1”。,位4:T/C1輸出比較A匹配中斷標志。,位3:T/C1輸出比較B匹配中斷標志。,位2:T/C1溢出中斷標志。,位1:T/C0輸出比較匹配中斷標志。,位0:T/C0溢出中斷標志。,ATmega16的定時/計數(shù)器共有8個中斷源對應(yīng)8個中斷標志位,這些標志位當條件滿足后,由硬件置“1”,中斷響應(yīng)后由硬件清“0”,也可以對這些位通過軟件寫“1”清“0”。,T/C0計數(shù)寄存器TCNT0,LSB,MSB,T/C2計數(shù)寄存器TCNT2,LSB,MSB,T/C0、T/C2是可以進行讀/寫訪問的向上計數(shù)(加法計數(shù))的計數(shù)器。只要有有效脈沖輸入,TCNT0、TCNT2就會在寫入值(初值)的基礎(chǔ)上開始計數(shù)。一旦TCNT達到0 xFF,下一個計數(shù)脈沖到來時便回到0 x00,并繼續(xù)向上開始計數(shù)。在TCNT0、2回“0”的同時,溢出標志TOV0、2置“1”。TOV0、2標志置“1”可以用于申請中斷,也可以作為計數(shù)器的第“9”位使用。,T/C0輸出比較寄存器OCR0,LSB,MSB,T/C2輸出比較寄存器OCR2,LSB,MSB,OCR0、OCR2中的8位數(shù)據(jù)用于同TCNT0、TCNT2寄存器中的計數(shù)值進行連續(xù)的匹配比較。如果TCNT0、TCNT2的值與OCR0、OCR2相等,則比較匹配發(fā)生(比較匹配發(fā)生時,對應(yīng)的定時/計數(shù)器輸出引腳OC0、OC2會產(chǎn)生觸發(fā)事件)。比較匹配發(fā)生后,置“1”相應(yīng)的中斷標志OCF0、OCF2。,異步模式狀態(tài)寄存器ASSR,AS2,TCN2UB,OCR2UB,TCR2UB,位3:T/C2異步設(shè)定位。,當AS2=0時,T/C2使用系統(tǒng)I/O時鐘clkI/O作為時鐘源(同步方式);當AS2=1時,T/C2使用連接在TOSC1引腳上的晶振作為時鐘源(異步方式)。通常連接在TOSC1引腳上的晶振頻率為32.768KHz。,位2:TCNT2更新忙,TCN2UB=0表明TCNT2可以被更新。,位1:OCR2更新忙,OCR2UB=0表明OCR2可以被更新。,位0:TCCR2更新忙,TCR2UB=0表明TCCR2可以被更新。,位74:保留位。,T/C2的異步操作,T/C2的異步操作當AS2=1時,T/C2的計數(shù)時鐘直接取自于外部引腳TOSC1及TOSC2所接的外部石英晶振,計數(shù)時鐘與系統(tǒng)時鐘不同步。,在使用異步方式時注意以下幾點:,在同步與異步方式之間切換時,TCNT2、OCR2和TCCR2的內(nèi)容會受到破壞;,ATmega16芯片已經(jīng)對32.768kHz的手表晶振進行了優(yōu)化,加一個其它頻率的外部時鐘到TOSC1引腳可能會導(dǎo)致T/C2工作不正常;,在對TCNT2、OCR2和TCNT2寄存器進行寫入時,ASSR寄存器的位2、1和0會自動置“1”。在ASSR寄存器的位2、1和0置“1”期間,不能對相應(yīng)位所指的寄存器進行操作。,3.8位定時/計數(shù)器應(yīng)用舉例,T/C0作定時器,T/C2用作實時時鐘,T/C0作定時器,應(yīng)用課題2:使用定時器T/C0的內(nèi)部時鐘晶振,產(chǎn)生1ms中斷,并擴展成1s定時信號,每秒鐘使PA口的狀態(tài)改變1次。,設(shè)計思想,定時器時間常數(shù)的計算:,系統(tǒng)時鐘4.000MHz,64分頻62.5kHz作為定時器計數(shù)脈沖頻率。,定時計數(shù)器加1的時間為1/62.5=0.016ms,定時1ms,需要計數(shù)1/0.016=62.5。使用定時器CTC工作方式,比較值應(yīng)置為62即0 x3E或63即0 x63。1ms的定時有誤差。,從1ms到1s:,1s=1000ms,在1ms的中斷程序中設(shè)計一計數(shù)器jishu,當jishu=1000時,時間即為1s。,程序設(shè)計與分析,#include#pragmainterrupt_handlerzhixing:20intjishu=0;voidzhixing(void)jishu+;if(jishu=1000)PORTA=PORTA;jishu=0;voidmain(void)PORTA=0 x00;DDRA=0 xFF;TCCR0=0 x0B;TCNT0=0 x00;OCR0=0 x3E;TIMSK=0 x02;#asm(“sei”)while(1);,/應(yīng)該定義成int,不能定義成char,/計數(shù)器jishu加1,/當jishu=1000,表明1s時間到,/按課題要求輸出,/jishu清“0”,很重要,/定義PA口輸出,/CTC模式,系統(tǒng)頻率64分頻,OC0引腳斷開,/1ms定時的比較值,/T/C0比較匹配中斷開放,/總中斷開放SREG|=0 x80;,T/C2用作實時時鐘,應(yīng)用課題1:利用定時器T/C2的實時時鐘晶振,產(chǎn)生1s中斷,并在PD7引腳輸出0.5Hz的方波。,T/C2的時鐘源PC6(TOSC1)、PC7(TOSC2)的32.768kHz的晶振;32.768kHz的晶振128分頻分頻后的晶振頻率為256Hz,周期為1/256秒,計錄256個脈沖時,所需時間為1秒;32.768kHz的晶振256分頻分頻后的晶振頻率為128Hz,周期為1/128秒,記錄128個脈沖所需時間也正好為1秒。為什么將32.768kHz稱為“手表晶振”或“實時時鐘晶振”,T/C2為什么可用作“實時時鐘RTCRealTimeClock”,其道理就在如此。,設(shè)計思想,使用定時器的比較匹配工作方式、計數(shù)頻率256分頻,比較匹配值應(yīng)為128即0 x80;,引腳PD7為T/C2輸出OC2,1s反轉(zhuǎn)一次,輸出波形頻率為0.5Hz。OC2設(shè)置為T/C2比較匹配后觸發(fā)。,程序設(shè)計與分析,#include#pragmainterrupt_handlerzhixing:4voidzhixing(void)voidmain(void)PORTD=0 x00;DDRD=0 xFF;TCCR2=0 x1E;ASSR=0 x08;TCNT2=0 x00;OCR2=0 x80;TIMSK=0 x80;SREG|=0 x80;while(1);,/定義PD口為輸出,/定時器2比較匹配中斷服務(wù)程序,/定時器2定時頻率為外部32768HZ,/0 x1E=0b00011110,CTC模式,比較匹配后OC2觸發(fā),計數(shù)頻率256分頻,/比較匹配值為128,/T/C2比較匹配中斷開放,/全局中斷開放,在TCNT0與OCR0匹配的同時,置比較匹配標志位OCF0為“1”。標志位OCF0可以用于申請中斷。一旦MCU響應(yīng)比較匹配中斷,用戶在中斷服務(wù)程序中可以修改OCR0的值。,PWM輸出原理與方法(1),PWMPulse-WidthModulation脈沖寬度調(diào)制,PWM輸出的一般形式:,t,PWM波形的特點:,波形頻率恒定,其占空比D可以改變。,定義Dt/為占空比,PWM輸出原理與方法(2),計數(shù)器,比值寄存器,比較器,S1,S2,溢出標志TF,PWM輸出,時鐘源,當定時器處于PWM工作方式時,計數(shù)器以一定的頻率上、下計數(shù):從0 x000 xFF,然后反向從0 xFF0 x00,如此反復(fù)。,當計數(shù)器中的數(shù)值與比值寄存器中的數(shù)值相等時,比較器按PWM預(yù)定的規(guī)律輸出脈沖波。,計數(shù)器值,比較值,比較值改變,t1,t2,當比較值改變時D1=t1/、D2=t2/隨之改變,周期不變,PWM模式下的T/C0、T/C2,當TCCR0、TCCR2設(shè)置為PWM模式(WGMn1、WGMn0=0、1)后,T/C0、T/C2以及輸出比較寄存器OCR0、OCR2分別組成8位非對稱(Glitch-free)、相位可調(diào)(PhaseCorrect)的脈寬調(diào)制PWM,輸出引腳分別為OC0、OC2。,在PWM模式下,OC0、OC2引腳的觸發(fā)動作由COMn0、COMn1設(shè)定。,16位定時/計數(shù)器T/C1,如同8位的定時/計數(shù)器,ATmega16的16位定時/計數(shù)器T/C1用戶也是可以控制的:,TCCR1AT/C1控制寄存器ATCCR1BT/C1控制寄存器BTCNT1H和TCNT1LT/C1計數(shù)寄存器OCR1AH和OCR1ALT/C1輸出比較寄存器AOCR1BH和OCR1BLT/C1輸出比較寄存器BICR1H和ICR1LT/C1輸入捕獲寄存器,T/C1控制寄存器ATCCR1A,COM1B1,COM1B0,FOC1A,FOC1B,WGM11,WGM10,COM1A1,COM1A0,位76:T/C1比較匹配A輸出模式。這兩位決定了T/C1比較匹配發(fā)生時輸出引腳OC1A的輸出行為。,位54:T/C1比較匹配B輸出模式。這兩位決定了T/C1比較匹配發(fā)生時輸出引腳OC1B的輸出行為。,位3:強制輸出比較A。,位2:強制輸出比較B。,位10:波形發(fā)生模式。該兩位與WGM13、WGM12(位于TCCR1B)相組合,用于控制T/C1的計數(shù)和工作方式。,T/C1控制寄存器BTCCR1B,WGM13,WGM12,CS12,CS11,CS10,ICNC1,ICES1,位7:輸入捕獲噪聲抑制。當該位置“1”時,捕獲信號要進行連續(xù)4次的采樣,只有4次采樣值都有效時,輸入捕獲標志才置位。,位6:輸入捕獲觸發(fā)方式選擇。當該位置“0”時,捕獲信號下降沿有效;當該位置“1”時,捕獲信號上升沿有效。,位43:波形發(fā)生模式。該兩位與WGM11、WGM10(位于TCCR1A)相組合,用于控制T/C1的計數(shù)和工作方式。,位20:T/C1時鐘源選擇。,位5:保留。,T/C1計數(shù)寄存器TCNT1H和TCNT1L,MSB,LSB,TCNT1H和TCNT1L組成T/C1的16位計數(shù)寄存器TCNT1,它是向上計數(shù)的計數(shù)器(加法計數(shù)器)或上/下計數(shù)的計數(shù)器(在PWM模式下)。若T/C1被置初值,則T/C1將在預(yù)置初值的基礎(chǔ)上計數(shù)。,T/C1輸出比較寄存器AOCR1AH和OCR1AL,MSB,LSB,T/C1輸出比較寄存器BOCR1BH和OCR1BL,OCR1AH和OCR1AL(OCR1BH和OCR1BL)組成16位輸出比較寄存器OCR1A(OCR1B)。該寄存器中的16位數(shù)據(jù)用于同TCNT1寄存器中的計數(shù)值進行連續(xù)的匹配比較。一旦TCNT1的計數(shù)值與OCR1A(OCR1B)的數(shù)據(jù)匹配相等,則比較匹配發(fā)生。用軟件的寫操作將TCNT1與OCR1A、OCR1B設(shè)置為相等,不會引發(fā)比較匹配。比較匹配發(fā)生后,將置位相應(yīng)的中斷請求標志OCF1A和OCF1B。,T/C1輸入捕獲寄存器ICR1H和ICR1L,MSB,LSB,ICR1H和ICR1L組成16位的輸入捕獲寄存器ICR1。按照ICES1的設(shè)定,外部輸入捕獲引腳ICP發(fā)生上跳變或下跳變時,計數(shù)器TCNT1中的值寫入寄存器ICR1中,同時輸入捕獲中斷標志ICF1將置“1”。,PWM模式下的T/C1,如同T/C0、2,當T/C1選擇PWM模式后,T/C1和OCR1A/OCR1B共同組成兩個8、9或10位相位可調(diào)的PWM,兩個8、9或10位的快速PWM,兩個相位頻率可調(diào)的PWM。此時,T/C1作為上/下計數(shù)器(或向上計數(shù)的計數(shù)器快速PWM),從0計數(shù)到TOP,然后反向計數(shù)到0(或從0計數(shù)到TOP,然后再從0計數(shù)到TOP)。當計數(shù)器中的數(shù)值與OCR1A/OCR1B的數(shù)值一致時,OC1A/OC1B按照COM1A0/COM1A1和COM1B0/COM1B1的設(shè)置動作。,4.16位定時/計數(shù)器1應(yīng)用舉例,脈沖頻率測量計數(shù)法,脈沖頻率測量計數(shù)法,應(yīng)用課題:將定時器T/C0作為方波發(fā)生器,產(chǎn)生某一頻率的方波(高頻),并測量其頻率。,設(shè)計思想,脈沖頻率的測量方法,(1)計單位時間內(nèi)脈沖的個數(shù);,(2)測一個脈沖的周期,周期的倒數(shù)即為其頻率。,本課題測量的實現(xiàn),T0為方波發(fā)生器,輸出引腳OC0;,T1工作于計數(shù)方式,記錄T0輸出的方波數(shù);,T2為定時器,定時時間1毫秒,并擴展成1秒。顯然,1秒時間內(nèi),T1的計數(shù)值即為T0輸出方波的頻率。,PORTB=0X00;DDRB=0X08;/PB3(OC0)輸出TCCR0=0X1B;/T/C0方波發(fā)生器,CTC模式,比較匹配后OC0觸發(fā),方波頻率244.14HzTCNT0=0X00;OCR0=0X80;ASSR=0X00;/T/C2定時1ms,CTC模式、計數(shù)頻率為系統(tǒng)頻率32分頻、比
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年藥師考試試題與參考答案
- 2026廣西玉林市北流市石窩鎮(zhèn)人民政府招聘網(wǎng)格信息管理員1人備考題庫附參考答案詳解(培優(yōu))
- 2026四川綿陽市游仙區(qū)司法局招聘社區(qū)矯正專職社會工作者1人備考題庫及參考答案詳解一套
- 2026上半年海南事業(yè)單位聯(lián)考文昌市招聘149人備考題庫(1號)及答案詳解(易錯題)
- 2026上海復(fù)旦大學計算與智能創(chuàng)新學院招聘專任工程師1人備考題庫及答案詳解(有一套)
- 2026云南臨滄市老年大學招聘手機常用軟件使用和手機視頻制作兼職教師備考題庫及一套參考答案詳解
- 2026內(nèi)蒙古鄂爾多斯市東勝區(qū)天安職業(yè)培訓學校招聘8人備考題庫附參考答案詳解(基礎(chǔ)題)
- 2026上半年貴州事業(yè)單位聯(lián)考習水縣招聘203人備考題庫含答案詳解ab卷
- 2026山西省太行山國有林管理局林草防火專業(yè)隊招聘林草防火隊員30人備考題庫含答案詳解(培優(yōu))
- 2026四川成都市簡陽市射洪壩沱江幼兒園公益性崗位招聘1人備考題庫參考答案詳解
- 上海市歷年中考語文現(xiàn)代文之議論文閱讀6篇(含答案)(2003-2022)
- 煙氣脫硝裝置安裝單位工程質(zhì)量驗收表
- AQ 1046-2007 地勘時期煤層瓦斯含量測定方法(正式版)
- 軟裝配飾合同范本
- 蘇教版三年級下冊數(shù)學計算能手1000題帶答案
- 新媒體藝術(shù)的發(fā)展歷程及藝術(shù)特征
- 依法行醫(yī)教學課件
- 《日語零基礎(chǔ)學習》課件
- 講課學生數(shù)學學習成就
- 西葫蘆栽培技術(shù)要點
- 高中學生學籍表模板(范本)
評論
0/150
提交評論