專注電子技術學習與研究
當前位置:單片機教程網(wǎng) >> MCU設計實例 >> 瀏覽文章

學習筆記-avr單片機C編程1

作者:佚名   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2013年02月01日   【字體:

 這幾天在看AVR單片機的書。ASURO的項目的編程是建立在已有的成熟函數(shù)上,所以導致我對AVR單片機的運行機理(中斷、定時器的使用)不甚了解。突然一個個超聲波模塊的程序放在眼前,才發(fā)現(xiàn)我連AVR單片機的了解基本上等于零。另外一個項目需要用mega128控制直流電機,還有和無線、有線遙控器的通信,電路(模塊)需要自己搭起來,那么就必須知道AVR單片機的原理和編程。
         和已經(jīng)學過的51單片機相比,MEGA系列單片機是十分高級的單片機,功能強大,因而在構(gòu)造和使用上也復雜了一些。
         存儲器區(qū)別,AVR分為5個部分,訪問指令上有區(qū)別。
         輸入輸出,51是準雙向口,每個端口只有一個寄存器。而AVR的I/O口是標準雙向口,每個端口有三個寄存器,DDRX(輸出使能),PORTX(輸出數(shù)據(jù),上拉使能?),PINX(輸入管腳)。
         定時器,51的定時器兩種用法,即以晶振頻率的十二分頻信號作為輸入的定時器工作方式,或以外部引腳INT0,INT1上輸入信號的計數(shù)器工作方式。 而AVR的定時器除了普通的定時/計數(shù)功能外,還有一些增強的功能,如:比較匹配(?),PWM調(diào)制器,由ICP引腳或模擬比較器觸發(fā)的捕捉功能(?)。在選擇輸入信號上,分頻比有1、8、64、256、1024幾種,作為計數(shù)器使用,既可上升沿觸發(fā),也可以下降沿觸發(fā)。如下,一部分和定時器相關的寄存器
            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<<WGM21)|(1<<CS20); WGM21、CS20置一,其余位清零。
 
 
 

PWM脈寬調(diào)制波
 
 
PWM 是脈沖寬度調(diào)制的簡稱。實際上,PWM 波也是一個連續(xù)的方波,但在一個周期中,
其高電平和低電平的占空比是不同的。一個典型 PWM 的波形如圖 8-15 所示。

在圖中,T 是 PWM 波的周期,T1 是高電平的寬度,Vcc 是高電平值。當該 PWM 波通過一個積分器后(低通濾波器)后,我們可以得到其輸出的平均電壓為:

式中,T1/T 稱為 PWM 波的占空比。控制調(diào)節(jié)和改變 T1 的寬度,即改變 PWM 的占空比,
就可以的到不同的平均電壓輸出。因此在實際應用中,常利用 PWM 波的輸出,實現(xiàn) D/A 轉(zhuǎn)換,調(diào)節(jié)電壓或電流控制改變馬達的轉(zhuǎn)速,實現(xiàn)變頻控制等功能。
一個 PWM 方波的參數(shù)有頻率、占空比和相位(在一個 PWN 周期中,高低電平轉(zhuǎn)換的起始時間),其中頻率和占空比為主要的參數(shù)。圖 8-16 為 3 個占空比都為 2/3 的 PWM 波形,盡管他們輸出的平均電壓是一樣的,但其中(b)的頻率比(a)高一倍,相位相同;而(c)與(a)的頻率相同,但相位不同。

在實際應用中,除了要考慮如何正確的控制和調(diào)整 PWM 波的占空比,獲得達到要求的平
均電壓的輸出外,還需要綜合的考慮 PWM 的周期、PWM 波占空比調(diào)節(jié)的精度(通常用 BIT 位表示)、積分器的設計等。而且這些因素相互之間也是互相牽連的。根據(jù) PWM 的特點,在使用 AVR 定時計數(shù)器設計輸出 PWM 時應注意以下幾點:
1,首先應根據(jù)實際的情況,確定需要輸出的 PWM 波的頻率范圍。這個頻率與控制的對
象有關。如輸出的 PWM 波用于控制燈的亮度,由于人眼不能分辨 42Hz 以上的頻率,
所以 PWM 的頻率應高于 42Hz,否則人眼會察覺到燈的閃爍。PWM 波的頻率越高,經(jīng)
過積分器輸出的電壓也越平滑。
2,同時還要考慮占空比的調(diào)節(jié)精度。同樣,PWM 波占空比的調(diào)節(jié)精度越高,經(jīng)過積分
器輸出的電壓也越平滑。但占空比的調(diào)節(jié)精度與 PWM 波的頻率是一對矛盾,在相同
的系統(tǒng)時鐘頻率時,提高占空比的調(diào)節(jié)精度,將導致 PWM 波頻率的降低。
3,由于 PWM 波的本身還是數(shù)字脈沖波,其中含有大量豐富的高頻成分,因此在實際使
用中,還需要一個好的積分器電路,如采用有源低通濾波器,或多階濾波器等,能
將高頻成分有效的去除掉,從而獲得比較好的模擬變化信號。

關閉窗口

相關文章