學(xué)習(xí)筆記-avr單片機(jī)C編程1
和已經(jīng)學(xué)過的51單片機(jī)相比,MEGA系列單片機(jī)是十分高級的單片機(jī),功能強(qiáng)大,因而在構(gòu)造和使用上也復(fù)雜了一些。
存儲器區(qū)別,AVR分為5個部分,訪問指令上有區(qū)別。
輸入輸出,51是準(zhǔn)雙向口,每個端口只有一個寄存器。而AVR的I/O口是標(biāo)準(zhǔn)雙向口,每個端口有三個寄存器,DDRX(輸出使能),PORTX(輸出數(shù)據(jù),上拉使能?),PINX(輸入管腳)。
定時器,51的定時器兩種用法,即以晶振頻率的十二分頻信號作為輸入的定時器工作方式,或以外部引腳INT0,INT1上輸入信號的計數(shù)器工作方式。 而AVR的定時器除了普通的定時/計數(shù)功能外,還有一些增強(qiáng)的功能,如:比較匹配(?),PWM調(diào)制器,由ICP引腳或模擬比較器觸發(fā)的捕捉功能(?)。在選擇輸入信號上,分頻比有1、8、64、256、1024幾種,作為計數(shù)器使用,既可上升沿觸發(fā),也可以下降沿觸發(fā)。如下,一部分和定時器相關(guān)的寄存器
T0: TCCR0: CS02 CS01 CS00 分頻比
T1: TCCR1A: COM1X1/0
PWM11/0
TCCR1B: ICNC1,CTC1,ICES1
TCNT1
OCIX 等等
C中的一些位操作已經(jīng)模塊化了,如PORTB|=(1<<2);D2位置一
PORTB&=~(1<<6);D6位清零
TCCR2=(1<
PWM脈寬調(diào)制波
PWM 是脈沖寬度調(diào)制的簡稱。實際上,PWM 波也是一個連續(xù)的方波,但在一個周期中,
其高電平和低電平的占空比是不同的。一個典型 PWM 的波形如圖 8-15 所示。
在圖中,T 是 PWM 波的周期,T1 是高電平的寬度,Vcc 是高電平值。當(dāng)該 PWM 波通過一個積分器后(低通濾波器)后,我們可以得到其輸出的平均電壓為:
式中,T1/T 稱為 PWM 波的占空比。控制調(diào)節(jié)和改變 T1 的寬度,即改變 PWM 的占空比,
就可以的到不同的平均電壓輸出。因此在實際應(yīng)用中,常利用 PWM 波的輸出,實現(xiàn) D/A 轉(zhuǎn)換,調(diào)節(jié)電壓或電流控制改變馬達(dá)的轉(zhuǎn)速,實現(xiàn)變頻控制等功能。
一個 PWM 方波的參數(shù)有頻率、占空比和相位(在一個 PWN 周期中,高低電平轉(zhuǎn)換的起始時間),其中頻率和占空比為主要的參數(shù)。圖 8-16 為 3 個占空比都為 2/3 的 PWM 波形,盡管他們輸出的平均電壓是一樣的,但其中(b)的頻率比(a)高一倍,相位相同;而(c)與(a)的頻率相同,但相位不同。
在實際應(yīng)用中,除了要考慮如何正確的控制和調(diào)整 PWM 波的占空比,獲得達(dá)到要求的平
均電壓的輸出外,還需要綜合的考慮 PWM 的周期、PWM 波占空比調(diào)節(jié)的精度(通常用 BIT 位表示)、積分器的設(shè)計等。而且這些因素相互之間也是互相牽連的。根據(jù) PWM 的特點,在使用 AVR 定時計數(shù)器設(shè)計輸出 PWM 時應(yīng)注意以下幾點:
1,首先應(yīng)根據(jù)實際的情況,確定需要輸出的 PWM 波的頻率范圍。這個頻率與控制的對
象有關(guān)。如輸出的 PWM 波用于控制燈的亮度,由于人眼不能分辨 42Hz 以上的頻率,
所以 PWM 的頻率應(yīng)高于 42Hz,否則人眼會察覺到燈的閃爍。PWM 波的頻率越高,經(jīng)
過積分器輸出的電壓也越平滑。
2,同時還要考慮占空比的調(diào)節(jié)精度。同樣,PWM 波占空比的調(diào)節(jié)精度越高,經(jīng)過積分
器輸出的電壓也越平滑。但占空比的調(diào)節(jié)精度與 PWM 波的頻率是一對矛盾,在相同
的系統(tǒng)時鐘頻率時,提高占空比的調(diào)節(jié)精度,將導(dǎo)致 PWM 波頻率的降低。
3,由于 PWM 波的本身還是數(shù)字脈沖波,其中含有大量豐富的高頻成分,因此在實際使
用中,還需要一個好的積分器電路,如采用有源低通濾波器,或多階濾波器等,能
將高頻成分有效的去除掉,從而獲得比較好的模擬變化信號。
評論