基于AVR單片機的開關電源的設計與實現(xiàn)_第1頁
基于AVR單片機的開關電源的設計與實現(xiàn)_第2頁
基于AVR單片機的開關電源的設計與實現(xiàn)_第3頁
基于AVR單片機的開關電源的設計與實現(xiàn)_第4頁
基于AVR單片機的開關電源的設計與實現(xiàn)_第5頁
已閱讀5頁,還剩68頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、 唐 山 學 院畢 業(yè) 設 計設計題目:基于avr單片機的開關電源的設計與實現(xiàn) 系 別: 信息工程系 班 級:姓 名: 2012年6月10 日基于avr單片機的開關電源的設計與實現(xiàn)摘 要電源是電子設備中不可缺少的功能模塊,是各種電器設備的能量的來源,其性能的優(yōu)劣直接影響電子設備的技術(shù)性能與其可靠性。因此,能否設計出性能良好的電源是電子設備是否能夠高效、可靠運行的一個基本保障。本設計是以atmega8單片機作為主要控制器,制作輸出電壓可以調(diào)節(jié)的開關電源。該系統(tǒng)不僅可以預置輸出電壓而且還可以調(diào)節(jié)輸出電壓,并具有過流保護、短路保護以及數(shù)碼管顯示等功能。本論文主要講述的是由單片機產(chǎn)生pwm波來控制功率

2、管的通斷。通過單片機內(nèi)部集成的ad轉(zhuǎn)換器檢測輸出電壓,并和預置電壓進行比較得到誤差信號,調(diào)用調(diào)節(jié)函數(shù)實現(xiàn)穩(wěn)壓。單片機可以通過鍵盤來改變輸出電壓的大小,從而修改pwm波的占空比來調(diào)節(jié)輸出電壓的大小。開關電源的輸出電壓以及輸出電流可以通過數(shù)碼管來顯示,當線路發(fā)生短路或者過載時都會通過數(shù)碼管的示數(shù)顯示出來。本開關電源的主要性能有穩(wěn)壓效果好、效率高、輸出電壓可調(diào)、響應速率快。關鍵詞:開關電源 單片機 電壓可調(diào) 電壓顯示 the design and implementation of switching power supply based on mcuabstractto electronic eq

3、uipments, power is a indispensable function module. it is the energy source of all sort of electric equipment . and the performance of the power influences the technical characteristics and reliability of the electronic equipment. therefore, it is the basic of the electronic equipments efficient and

4、 reliable operation that if we can design the good power or not.this design makes a power whose output voltage can be adjusted based on atmega8 mcu as a main controller,. the system can not only preset the output voltage but also adjust the output voltage, and it has functions such as the flow prote

5、ction, short circuit protection and digital pipe display. this thesis is about that pwm waves generated by mcu can control the hige power tube. it can test the output voltage through mcu integrated ad converter, and get error signals by comparison of preset voltage, and stabilize voltage by calling

6、adjustment function. mcu can change the size of the output voltage through the keyboard modifying the pwm waves buty cycle. switch powers output voltage and output current can be show through the digital tube, and it can be show by the digital when the line short-circuited or overload happened. the

7、switch power has a good effect to stabilize the voltage, high efficiency, and its output voltage can be adjusted, and its response speed is high.key words: switching power ;pwm ;voltage adjustable ;voltage display目 錄1 引言12 開關電源方案設計32.1開關電源工作原理32.2開關電源方案選擇與論證32.3總體結(jié)構(gòu)設計43 系統(tǒng)核心器件選擇63.1單片機簡介63.1.1引腳說明63

8、.1.2 atmega8i/o口概述83.2 atmega8的ad功能93.2.1 adc功能簡介93.2.2 adc相關寄存器103.3 atemga8的pwm功能143.3.1 pwm波形發(fā)生器選擇143.3.2時鐘源選擇164硬件電路設計174.1電源電路設計174.1.1整流濾波電路設計174.1.2開關變換電路設計174.2控制電路設計184.2.1時鐘電路設計184.2.2單片機復位電路設計184.2.3單片機與數(shù)碼管接口電路設計194.2.4單片機與鍵盤接口電路設計204.2.5反饋電路設計215系統(tǒng)軟件設計235.1主程序設計235.2鍵盤防抖動子程序設計245.3數(shù)碼管掃描子

9、程序設計245.4 adc轉(zhuǎn)換子程序設計255.5 調(diào)節(jié)函數(shù)子程序設計266系統(tǒng)調(diào)試286.1軟件調(diào)試調(diào)試286.2系統(tǒng)整體調(diào)試286.3系統(tǒng)誤差分析317 pcb電路板的繪制以及制作337.1電路板的制作337.1.1 pcb圖繪制337.1.2 pcb電路板的制作流程337.2焊接電路板348 結(jié)論35謝辭36參考文獻37附錄38附錄一 總體設計電路圖38附錄二 制作樣機圖39附錄三 器件清單41附錄四 源程序42外文資料52stepper motor is a kind of pure digital control motor and brushless dc motor contro

10、lled by electric pulse signal type. stepper motor is the core of the modern orientation drive, widely used in machinery, electric power, textile, electronics, instruments, printing and aerospace, ships, weapons, and other areas of the defense industry, etc. the characteristics of the stepping motor

11、control system based on single chip microcomputer include high stability, low cost, convenient control and wide application , etc.the ir remote control is used as rhe input to the contrler, which can send an input signal of command for the the design of the stepper motor control system with the sing

12、le chip processor as the core processor. the remote control can change the rotation states of stepper motor and the running status can be showed on lcd1602 display.the infrared remote control with carrier for 38 khz is used as the control end of the user, which can convert the users commands into th

13、e infrared signal. the tl1838 can receive the infrared signal and convert it into electrical signal, which input to tstc89c52.the mcu can obtain instructions of users by processing the incoming signal and control stepping motor of the 28byj48 type, the current status can be shown by lcd1602. users c

14、an control acceleration, deceleration, forward, inversion for the stepping motor. the features of the control system of stepper motor includes high precision, stable running, convenient control and simple maintenance and wide application, etc.1 引言電源技術(shù)是一種綜合電力變換技術(shù)、現(xiàn)代電子技術(shù)、自動控制技術(shù)等的多學科應用功率半導體器件的邊緣交叉的技術(shù)。它

15、對電子儀器、工業(yè)自動化、現(xiàn)代通訊、計算機、國防、電力工程以及某些高新技術(shù)提供高效率、高質(zhì)量、高可靠性的電源起著關鍵性的作用。而隨著科學技術(shù)的發(fā)展,電源技術(shù)又與微電子技術(shù)、電機工程、材料科學、現(xiàn)代控制理論等許多領域密切相關。當代許多高新的技術(shù)均與市電的電流、電壓、相位、頻率、以及波形等基本參數(shù)的控制和變換相關,電源技術(shù)可以實現(xiàn)對這些參數(shù)的精密控制及高效率處理,尤其是可以實現(xiàn)大功率的電能頻率的變換,從而為多項高新技術(shù)的發(fā)展提供有力的支持。電源技術(shù)以及其產(chǎn)業(yè)的進一步發(fā)展必將為降低材料消耗、大幅度節(jié)約電能以及提高生產(chǎn)效率提供重要的手段。所以,不僅電源技術(shù)其本身是一項高新的技術(shù),亦為其他多項高新技術(shù)的發(fā)

16、展基礎。電源,現(xiàn)如今已經(jīng)是非常重要的基礎科技以及產(chǎn)業(yè),從日常生活到高尖端的科技,都離不開電源技術(shù)的參與與支持,電源技術(shù)亦正是在這種環(huán)境中不斷的發(fā)展以及壯大起來的。電源的重要性不能否認,但是傳統(tǒng)電源存在著不足的地方,比如,傳統(tǒng)的電源效率不高,線性電源由于功率管是工作在線性放大狀態(tài),輸出電流和功率管的電流是成正比的,因此當輸出電流越大時,功耗就越大。通常情況下,線性電源效率只有4050%左右,因此,提高電源效率是電源發(fā)展中應重點解決的問題,而開關電源就能夠很好地解決這個問題,開關電源的功率開關管是工作在開關狀態(tài)的,亦是說,只要開關管導通,管子就會產(chǎn)生損耗,因此,開關電源的效率比線性電源要高很多,一

17、般情況下可以達到80%以上,本設計選擇開關電源作為研究對象,利用其輸出電壓和輸入電壓之間的占空比的關系,假定輸入基本上是穩(wěn)定的,利用單片機控制占空比,就可以控制輸出電壓,通過a/d轉(zhuǎn)換,采樣輸出電壓,并使用數(shù)碼管顯示,然后通過鍵盤預置電壓,最終完成可調(diào)開關電源的制作。本文研究的單片機控制開關電源,可以通過鍵盤預置期望的輸出電壓值,通過a/d轉(zhuǎn)換器對輸出的電壓值進行采樣,由軟件控制單片機輸出相應占空比的脈沖寬度,對開關電源進行脈寬調(diào)制,輸出預期的電壓值,并采用調(diào)節(jié)函數(shù)控制輸出電壓穩(wěn)定,構(gòu)成可輸出1v到14v的可調(diào)電壓,并顯示實時電壓和預置值。目前電子設備的日益小型化更需要供電電源的小型化,因此,

18、制作小型化電源是未來電源制作發(fā)展的一個趨勢,傳統(tǒng)的開關電源線路一般都是很復雜體積也比較大,如果使用的單片機作為控制核心,那么必將可以大大地簡化電源的結(jié)構(gòu),為制作更加小的電源提供很大的可能,并且,使用單片機可以擴展出許多的功能,如顯示、可維護性強、實時控制調(diào)整電壓。由于目前國內(nèi)擁有的專門的pwm輸出的單片機價格很昂貴,普通的單片機i/o口模擬的脈寬頻率又太低,速度太慢,遠遠達不到現(xiàn)代電源要求的工作頻率,因此,目前單片機控制的電源的使用并不廣泛,但是單片機在智能化、擴展性強、可實現(xiàn)的人機交互界面等方面的優(yōu)勢使其成為未來電源的重要發(fā)展的方向。所以,我們研究單片機控制的開關電源,非常具有現(xiàn)實意義以及研

19、究意義。開關電源的效率往往是與開關管的變換速度成正比的,要進一步提高開關電源的效率,就必須要提高電源的工作頻率。但是頻率提高之后,對整個電路中的元器件又有了新的要求。要進一步研制并且生產(chǎn)出適合于高頻工作的儲能電感、開關管、開關變壓器、高頻電容等元器件是開關電源設計與實現(xiàn)所面臨的另一個問題。由于開關電源中,功率晶體管工作在開關狀態(tài),當開關速度提高之后,會受到電路中分布的電感以及電容成分或者二極管中儲存的電荷的影響從而產(chǎn)生了較大的浪涌和噪聲,使其交變電流和電壓會通過電路中的元器件產(chǎn)生較強的諧波干擾以及尖峰干擾,這些尖峰電壓或電流可能會損壞電路當中的器件,同時這些諧波以及尖峰干擾會污染市電電網(wǎng),影響

20、鄰近的電子儀器與設備的正常性工作。雖然也可以采取一些抑制干擾的措施,在一定程度上降低這些干擾的影響,但是目前階段的精密電子儀器中,仍然難以使用開關電源,因此,克服開關電源產(chǎn)生的各種噪聲干擾,是我們要努力解決的第三個問題。近年來開關電源的發(fā)展速度越來越快,而且其應用越來越廣泛。本文著重研究基于atmega8單片機的開關電源設計與實現(xiàn)的基本原理、硬件組成以及設計、程序編寫與調(diào)試、硬件電路pcb的繪制以及樣機的制作等。2 開關電源方案設計2.1開關電源工作原理開關電源指的是功率管工作在開關方式,即功率管工作在截止和導通狀態(tài)的電源,縮寫為sps(switching power supply)。開關電源

21、的核心部分是一個直流變換器,利用直流變換器把一種直流電壓變換為極性以及數(shù)值不同的多種直流電壓。開關電源的工作流程如圖2-1所示。假設開關電源的基準電壓為5v,但是,由于某種原因而使電網(wǎng)波動導致輸入的電壓減小,從而導致輸出的電壓也將會減小,然而在此時,采樣電路的采樣電壓也將會減小,假設采樣電壓值為4.9v,誤差是0.1v,然而,經(jīng)過比較放大電路以后,脈沖調(diào)制電路會根據(jù)這個誤差,提高脈寬信號的占空比從而使輸出的電壓增大。同樣的,當電網(wǎng)波動導致電壓增大時,采樣電路當中的采樣電壓就會變大,脈寬調(diào)制電路就會減小脈沖的占空比而使輸出的電壓減小,從而達到電壓穩(wěn)定的效果。整流濾波電路開關管濾波電路采樣電路比較

22、放大脈沖調(diào)寬輸出輸入基準電壓圖2- 1開關電源原理框圖2.2開關電源方案選擇與論證 從對電源輸出的控制來說,單片機控制開關電源,可以有以下幾種方案。方案一:單片機的擴展a/d和d/a芯片,單片機通過a/d轉(zhuǎn)換芯片不斷的檢測電源的輸出電壓值,再根據(jù)電源輸出的電壓值與設定值的差值調(diào)整pwm脈寬,然后通過d/a芯片輸出一個基準的電壓值,從而控制專門的pwm控制芯片,間接地控制電源工作。方案二:單片機通過a/d轉(zhuǎn)換輸出一個電壓,作為電源的基準電壓,電源可以通過鍵盤設置預置輸出電壓,如果單片機不加入反饋控制,電源仍要使用專門的pwm控制芯片,工作過程為:當通過鍵盤設置預置電壓時,單片機通過數(shù)模轉(zhuǎn)換芯片輸

23、出一個電壓作為控制芯片的一個基準電壓,這個基準電壓可以使控制芯片按預置電壓值來輸出相應的占空比的控制脈沖,以輸出期望的輸出電壓值。方案三:選用帶模數(shù)轉(zhuǎn)換的atmega8單片機芯片,通過片內(nèi)模數(shù)轉(zhuǎn)換模塊實時檢測輸出電壓值的大小,然后再同預置電壓值相比較,根據(jù)預置電壓與采樣電壓的誤差,調(diào)整單片機輸出pwm脈沖的占空比,從而實現(xiàn)輸出電壓值與預置電壓值相等。方案一分析:單片機加入了反饋控制,使系統(tǒng)的穩(wěn)定性提高,但是由于單片機還需要擴展a/d轉(zhuǎn)換和d/a轉(zhuǎn)換芯片,而且還是需要專門的pwm控制芯片,成本很高,不宜采用。方案二分析:單片機中只是輸出一個基準電壓,沒有加入反饋控制,這樣仍要使用專門的控制芯片,

24、單片機的作用非常的小,而且價格比較昂貴,電源的成本增加,削弱了單片機本身的作用,浪費了單片機大量的i/o口的資源,成本高,不適宜采用。方案三分析:在本方案中,不僅單片機中加入了反饋控制,而且是以單片機作為開關電源的控制核心,單片機得到了充分的利用,而且省去了d/a轉(zhuǎn)換芯片和a/d轉(zhuǎn)換芯片,使成本大大的降低。綜合以上分析,本次設計選擇方案三控制方案,使用atmega8單片機,采用4位數(shù)碼管顯示輸出電壓值、輸出電流值以及鍵盤預置電壓值等,本設計要求輸出電壓值是可以調(diào)節(jié)的,所以設定預置值時需要從鍵盤輸入,實現(xiàn)輸入不同的電壓值,輸出端口就可以輸出不同的電壓值。2.3總體結(jié)構(gòu)設計本設計的系統(tǒng)工作原理如圖

25、2-2所示。工頻的交流電經(jīng)過變壓器降壓,再經(jīng)過整流濾波電路將輸出電壓分成了兩路,其中的一路電壓通過穩(wěn)壓與濾波電路輸出+5v的電壓以提供給單片機,而另一路電壓則作為開關變換部分的輸入電壓。單片機根據(jù)鍵盤的輸入值和采樣電壓值之間的差值,來修改單片機輸出pwm脈沖的占空比,通過此脈沖,控制功率管的通與斷,以便得到期望的輸出電壓值。當鍵盤上有輸入動作的時候,單片機就會到檢測鍵盤的輸入動作,同時修改相應的占空比,在經(jīng)過其內(nèi)部集成的a/d轉(zhuǎn)換模塊采樣輸出電壓,單片機根據(jù)采樣電壓值與鍵盤的輸入動作再次修改pwm脈沖的占空比,從而使輸出電壓變得穩(wěn)定。而開關變換器采用工字型電感作為儲能元件,在功率管導通的時候,

26、電感會儲存能量,在功率管關斷時,電感釋放其所存儲的電能供給負載。當閉環(huán)的時候,開關電源自動進行脈寬調(diào)制,當系統(tǒng)讀取到鍵盤預置的電壓變化時,先將鍵盤輸入值和從輸出端的取樣值進行比較,假設當前鍵盤輸入值為10v,從輸出端取樣出的值為6v,差值為4v,而系統(tǒng)就會根據(jù)這個差值,更新脈寬提高pwm脈沖的占空比,從而使得輸出端電壓上升為10v;同樣的,當鍵盤輸入值為6v,輸出端的取樣值為10v,差值為-4v,系統(tǒng)會根據(jù)這個誤差值更新脈沖的寬度,將pwm脈沖的占空比減小以使輸出的電壓變小,這就是系統(tǒng)的脈寬調(diào)制過程。與此同時,電源可以進行自動穩(wěn)壓,假設在某一正常的狀態(tài)下,輸出電壓為,反饋電壓為(),用戶設定電

27、壓為,當時,偏差為0v,單片機不進行脈寬的更新,當電網(wǎng)波動導致輸出電壓增加時,即時,單片機采樣的電壓也會增加,單片機會根據(jù)偏差值修改占空比使導通時間變小,從而使電壓值下降,同樣當電網(wǎng)波動使輸出電壓下降時,即時,單片機修改脈寬使得導通時間變長,從而使輸出電壓值上升,如此循環(huán)來進行穩(wěn)壓。整流濾波電路開關變換電路整流濾波電路控制電路輔助電源四位數(shù)碼管取樣電路鍵盤輸出圖2- 2單片機控制開關電源系統(tǒng)框圖3 系統(tǒng)核心器件選擇3.1單片機簡介atmega8是由atmel公司在2002年的第一季度推出的一款新型的avr高檔單片機。在avr的大家族中,atmega8是一種非常特殊的單片機它的芯片內(nèi)集成的存儲器

28、容量較大及硬件接口電路豐富強大,具有avr單片機mege系列的全部性能以及特點。但是采用的封裝為小引腳(dip 28和tqfp/mlf32),因此其價格較便宜,并且avr單片機系統(tǒng)內(nèi)自帶的可編程特性,使得不需要購買昂貴的編程器和仿真器亦可以進行單片機的嵌入式系統(tǒng)的開發(fā)和設計,同時,也是為單片機的初學者提供了非常方便以及簡捷的學習開發(fā)環(huán)境。 atmega8的如此許多的特點,使其成為一款具有極高的性價比的單片機,在產(chǎn)品應用市場上極具競爭力,深受廣大單片機用戶的喜愛,而且亦被很多儀器儀表行業(yè)和家用電器廠商看中,從而,使atmega8迅速地進入大批量的應用領域。atmega8為一款采用cmos工藝生產(chǎn)

29、的低功耗的單片機,并且基于avr risc的結(jié)構(gòu)的8位的單片機。avr單片機核心部分是將32個工作寄存器以及豐富的指令集聯(lián)結(jié)到一起,所有的工作寄存器均與alu(算術(shù)邏輯單元)直接相連,從而實現(xiàn)了在一個時鐘周期內(nèi)僅執(zhí)行一條指令,并且與此同時訪問(讀寫)兩個獨立的寄存器的操作。因此,atmega8達到接近1mips/mhz的性能,運行的速度比普通的cisc單片機要高出10倍。本設計中是利用單片機atmega8作為主要的控制器件,由單片機產(chǎn)生pwm脈沖控制功率開關管的導通與關斷,從而來實現(xiàn)開關電源的輸出電壓的可調(diào)功能。3.1.1引腳說明atemga8現(xiàn)有mlf、pdip和tqfp三種封裝形式,其中m

30、lf屬于超小型表貼封裝,左上角圓形標記處為引腳序號的起點和終點;pdip是一種雙列直插式塑料封裝,28引腳分成左右兩排;tqfp是超薄方形扁平塑料封裝,32條引腳線均勻地分布在正方形的四條邊上,截角處為引腳序號起點。本設計中所用到的單片機就是28引腳的雙列直插式的其引腳圖如圖3-1所示。圖3- 1 atmega8的引腳圖atmega8的引腳說明如下:1.vcc 數(shù)字電路電源。2.gnd 接地。3.端口b(pb7.pb0)端口b是8位雙向的i/o口,而且具有可編程內(nèi)部上拉電阻。而其輸出緩沖器具有對稱驅(qū)動特性,可以輸出和吸收大電流。當用作輸入使用的時候,如果內(nèi)部的上拉電阻使能,此時端口被外部電路拉

31、低,將會輸出電流。在復位的過程中,即使系統(tǒng)的時鐘還沒有起振,端口b仍處于高阻的狀態(tài)。而通過時鐘來選擇熔絲位設置,pb6可以作為正方向振蕩放大器或者時鐘操作電路輸入端。通過時鐘來選擇熔絲位設置,pb7可以作為反方向振蕩放大器輸出端。4.端口c(pc5.pc0)端口c是7位雙向i/o口,具有可編程內(nèi)部上拉電阻。其輸出緩沖器具有對稱驅(qū)動特性,可輸出和吸收較大電流。作為輸入引腳使用時,如果內(nèi)部的上拉電阻有使能,當端口被外部的電阻拉低時將會輸出電流。而在復位的過程中,即使系統(tǒng)的時鐘還沒有起振,端口c也是處于高阻狀態(tài)。pc6的電氣特性不同于端口c的其他引腳。如果熔絲位rstdisbl編程,pc6可以作為通

32、用i/o口引腳使用。如果熔絲位rstdisbl沒有編程,pc6可作為復位輸入引腳。持續(xù)的時間長度超過最小門限的時間長度的低電平將會引起系統(tǒng)的復位,如果持續(xù)時間不超過最小門限時間的低電平,則不能夠保證單片機復位的可靠。5.端口d(pd7.pd0)端口d是8位的雙向i/o口,具有可編程的內(nèi)部的上拉電阻。其具有對稱驅(qū)動特性的輸出緩沖器,可以吸收和輸出較大的電流。而當作輸入使用的時候,如果內(nèi)部的上拉電阻使能,那么端口被外部的電路拉低時將會輸出電流。而在復位的過程當中,即便系統(tǒng)時鐘還沒有起振,端口d則處于高阻狀態(tài)。6. 復位輸入引腳。若持續(xù)的時間超過最小門限的時間的低電平將會引起系統(tǒng)的復位。若持續(xù)的時間

33、小于門限的時間的脈沖并不能保證復位的可靠性。7.是端口c(3.0) 、adc(7.6)及模數(shù)轉(zhuǎn)換器的電源。當不使用adc時,此引腳應該直接與連接。而使用adc時應該通過一個低通濾波器與連接。需要注意的是端口c(5.4)為數(shù)字電源。8.aref模數(shù)轉(zhuǎn)換的模擬基準輸入引腳。3.1.2 atmega8i/o口概述atmega8的i/o口共有pb、pc、pd三個,其中pc口為7位i/o端口,相應的端口線為pc6pc0;pb和pd均為8位的i/o端口,相應端口線為pb7pb0和pd7pd0。在pb、pc和pd三個端口中,每個端口都有三個i/o寄存器。以x(x的取值為b、c和d之一)端口做為例子,這三個i

34、/o寄存器是pinx(x口輸入引腳寄存器)、portx(x口數(shù)據(jù)寄存器)和ddrx(x口數(shù)據(jù)方向寄存器)。其中,pinx由n位pinxn拼裝而成;portx由n位portxn拼裝而成;ddrx由n位ddxn構(gòu)成。因此,atmega8的三個i/o端口有9個i/o寄存器,它們是pinb、pinc、 pind、portb、portc、portd、ddrb、ddrc和ddrd,其中,ddrc、portc和pinc均為7位i/o寄存器,位號n為60,其余的為8位i/o寄存器。 avr單片機的每一個i/o端口作為通用數(shù)字i/o端口使用的時候,輸出緩沖器具有對稱的驅(qū)動能力,可以輸出或吸收較大的電流,從而可以

35、直接驅(qū)動led顯示以及蜂鳴器等。而且所有端口的引腳都是具有與電壓無關的上拉電阻,并且有保護二極管與和地相連。atmega8的i/o口的輸入輸出都是通過對其i/o口的配置而實現(xiàn)的,當引腳配置為輸出時,假設portxn為1,引腳會輸出高電平,假如portxn為0,引腳會輸出低電平;當引腳的配置為輸入時,若portxn為1,上拉電阻將使能,如果想要關閉這個上拉電阻,可以將portxn位清零,或者經(jīng)過這個引腳配置作為輸出,即使此時并沒有時鐘在運行,復位時各引腳為高阻態(tài)。atmega8的i/o配置如表3-1所示。表3- 1 atmega8的i/o配置ddrxnportxnpudi/o方向上拉電阻說明00

36、輸入無高祖態(tài)輸入口010輸入有上拉輸入口,被拉低時輸出電流011輸入無高阻態(tài)10輸出無輸出低電平(吸收電流)11輸出無輸出高電平(輸出電流)3.2 atmega8的ad功能在avr單片機中有兩種支持模擬信號的輸入功能端口,分別是模擬比較器和模數(shù)轉(zhuǎn)換器adc。模數(shù)轉(zhuǎn)換器在微控制器中,作用是將模擬信號轉(zhuǎn)換成數(shù)字信號的形式,微控制器才能進行處理。而且利用模擬比較器可以監(jiān)測模擬信號變化情況1。3.2.1 adc功能簡介a/d轉(zhuǎn)換,即將模擬信號轉(zhuǎn)換為數(shù)字信號的過程,a/d轉(zhuǎn)換器的簡稱為adc(模數(shù)轉(zhuǎn)換器)。adc是將連續(xù)變量的模擬輸入信號轉(zhuǎn)換成離散的二進制數(shù)字信號的器件。由于系統(tǒng)的實際對象基本上都是一些

37、模擬量,例如壓力、溫度、聲音、圖像、電壓、位移等,要使計算機或者數(shù)字儀表能夠識別出這些模擬量,必須要首先處理這些信號,將這些模擬信號轉(zhuǎn)換成數(shù)字信號。模數(shù)轉(zhuǎn)換器是將模擬輸入信號轉(zhuǎn)換為數(shù)字信號形式輸出來。由于數(shù)字信號僅表示一個相對大小,所以每一個模數(shù)轉(zhuǎn)換器需要一個參考模擬量作為轉(zhuǎn)換標準,輸出的數(shù)字量則表示輸入信號相對于參考信號的大小。模數(shù)轉(zhuǎn)換器實際上是一個比例的問題,adc產(chǎn)生的數(shù)字值要跟輸入模擬量與轉(zhuǎn)換器量程的比值有關。轉(zhuǎn)換的關系如下: (3-1)其中x為數(shù)字輸出量,n為數(shù)字輸出位數(shù)(adc的位數(shù)),是模擬輸入量的值,是模擬輸入量最大值。adc的性能如何取決于它的指標數(shù),adc共有6個主要指標:

38、分辨率、轉(zhuǎn)換速率與轉(zhuǎn)換時間、功耗、采樣頻率、數(shù)據(jù)輸出速率。1.分辨率分辨率是指adc能夠轉(zhuǎn)換的二進制數(shù)位數(shù),它描述的為adc量化信號準確度,高分辨率adc比低分辨率adc能把輸入?yún)^(qū)間劃分為更多的子區(qū)間,adc輸入范圍所劃分子區(qū)間個數(shù)的對數(shù)即為adc的分辨位數(shù),位數(shù)越多相應分辨率亦越高。2.轉(zhuǎn)換精度轉(zhuǎn)換精度指的是a/d轉(zhuǎn)化器實際的輸出值與理想的輸出值的精確的接近程度。有兩種表達方法:絕對誤差以及相對誤差。絕對誤差是一個數(shù)字量實際模擬輸入電壓和理想模擬輸入電壓之差的最大值,通常以數(shù)字量最小有效位(lsb)的分數(shù)值來表示。相對誤差指的是在整個轉(zhuǎn)換之范圍內(nèi),數(shù)字量所對應模擬輸入量的實際值同理論值之差,

39、運用模擬電壓滿量程的百分比表示。數(shù)模轉(zhuǎn)換的轉(zhuǎn)換精度計算公式: (3-2)3.轉(zhuǎn)換時間與轉(zhuǎn)換速率轉(zhuǎn)換時間指的是adc完成一次轉(zhuǎn)換需要的時間;轉(zhuǎn)換速率是指adc每秒轉(zhuǎn)換次數(shù),為轉(zhuǎn)換時間和采樣保持所需時間和的倒數(shù),大多數(shù)的adc轉(zhuǎn)換時間和轉(zhuǎn)換速率互為倒數(shù)的關系。4.功耗功耗也是adc性能的一個非常重要的指標。減小功耗可以減小系統(tǒng)重量,提高電池的使用時間。減小功耗可以使adc的工作穩(wěn)定較容易保持在合理的范圍內(nèi)。5.采樣頻率采樣頻率是指adc單位時間內(nèi)對模擬輸入信號采樣的次數(shù),常常表示為:ksps(千次采樣每秒)或msps(兆次采樣每秒)。6.數(shù)據(jù)輸出速率數(shù)據(jù)輸出速率指的是單位時間內(nèi)adc輸出轉(zhuǎn)換結(jié)果次

40、數(shù)。輸出轉(zhuǎn)換結(jié)果指數(shù)字輸出信號。atmega8具有10位精度的逐次逼近型adc,內(nèi)建采樣/保持電路。其特點為:0.5lsb非線性度和2lsb據(jù)對精度;65260us轉(zhuǎn)換時間(adc的轉(zhuǎn)換時間表見表3-2),最高分辨率時采樣率可達到15ks/s;可選擇的左調(diào)整adc讀數(shù);連續(xù)轉(zhuǎn)換或單次轉(zhuǎn)換模式;adc轉(zhuǎn)換結(jié)束中斷;基于睡眠模式的噪聲抑制器;可選的內(nèi)部adc參考電壓。表3- 2 avr單片機片上a/d轉(zhuǎn)換時間條件采樣/保持(啟動轉(zhuǎn)換后的時鐘周期數(shù))轉(zhuǎn)換時間(周期)第1次轉(zhuǎn)換14.5us25us正常轉(zhuǎn)換,單端1.5us13us自動觸發(fā)的轉(zhuǎn)換2us13.5us正常轉(zhuǎn)換,差分(atmega16)1.5/

41、2.5us13/14us3.2.2 adc相關寄存器atmega8共有三個adc寄存器,它們分別為adc多工選擇寄存器、adc數(shù)據(jù)寄存器、adc控制和狀態(tài)寄存器。1.adc多工選擇寄存器(admux)admux是多路復用選擇寄存器,也是單片機64個i/o寄存器之一,admux各位定義如表3-3所示。表3- 3 admux各位定義位76543210位符號refs1refs0adlar-mux3mux2mux1mux0 (1)refs1、refs0(位7和位6):參考電壓選擇位這些位用于選擇adc的參考電壓。若在adc轉(zhuǎn)換過程中,這些位重新進行設置,只有在當前adc轉(zhuǎn)換結(jié)束(adcsra寄存器的a

42、dif置位)后改變才會生效。如果adc的參考電壓選用內(nèi)部電壓參考源,aref引腳上不將不需要施加外部參考電壓,只能在與地之間并接抗干擾電容。adc的電壓參考源如表3-4所示。表3- 4 adc的電壓參考源refs1refs0參考電壓選擇00aref,內(nèi)部關閉01avcc,aref引腳外加濾波電容10保留112.56v的片內(nèi)基準電壓源,aref引腳外加濾波電容 (2)adlar(位5):adc轉(zhuǎn)換結(jié)果左對齊選擇位adlar叫做adc結(jié)果左端對齊選擇位,用于決定adc轉(zhuǎn)換結(jié)果在adc數(shù)據(jù)寄存器中的存放格式。若使adlar=0,則adc中數(shù)字量按“右對齊”格式存放;若adlar=1,則adc中數(shù)字量

43、按“左對齊”格式存放。無論何時對adlar位進行改變,都會立即對adc數(shù)據(jù)寄存器產(chǎn)生影響。(3)mux3mux0(位3位0)mux3mux0稱為adc模擬通道選擇位,用于設定adc7adc0、和gnd中哪一路模擬電壓被a/d轉(zhuǎn)換,選擇關系如表3-5所示。表3- 5 adc通道選擇表mux3.mux0單端輸入通道0000adc00001adc10010adc20011adc3表3- 6 adc通道選擇表(續(xù))mux3.mux0單端輸入通道0100adc40101adc50110adc60111adc71000-1001-1010-1011-1100-1101-11101.23v()11110v(

44、gnd)2. adc數(shù)據(jù)寄存器adch和adcladc稱為單片機的數(shù)據(jù)寄存器,二進制16位,是由adch和adcl拼裝而組成的,用于存放a/d轉(zhuǎn)換后得到的數(shù)字量。adc中10位數(shù)字量有“左端對齊”和“右端對齊”兩種存放格式,受admux寄存器中adlar位控制。若adlar=0,則adc寄存器中數(shù)據(jù)為“右端對齊”;若adlar=1,則adc寄存器為“左端對齊”。在“左端對齊”和“右端對齊”兩種格式下,adc中數(shù)字量的存放形式如表3-8和表3-9所示。表3- 7 adc在右端對齊下的數(shù)據(jù)格式(adlar=0)位15141312111098位符號-adc9adc8位符號adc7adc6adc5ad

45、c4adc3adc2adc1adc0表3- 8 adc在左端對齊下的數(shù)據(jù)格式(adlar=1)位15141312111098位符號adc9adc8adc7adc6adc5adc4adc3adc2位符號adc1adc0-為了確保adc中所讀數(shù)字量為同一次a/d轉(zhuǎn)換結(jié)果,adc數(shù)據(jù)寄存器在用戶讀出adcl后便被凍結(jié),adc中不能把新的a/d轉(zhuǎn)換結(jié)果送入進去,直到adch寄存器被讀出以后為止。因此,如果adc中數(shù)據(jù)采用左端對齊的格式,并且只需8位轉(zhuǎn)換精度,那么用戶僅需讀取adch寄存器足矣;否則,用戶必須先讀adcl,后讀adch,兩次讀出之間不能插入其它任何指令。3. adc控制和狀態(tài)寄存器(ad

46、csra) adcsra被稱之為adc控制和狀態(tài)寄存器。用戶可以通過in/out指令對它進行讀寫,也可對其中的每一位進行位尋址。adcsr中各位定義如表3-6所示。表3- 9 adcsr各位定義位76543210位符號adenadscadfradifadieadps2adps1adps0(1)aden(位7)aden的名稱為adc使能位,用于控制adc是否使能。如果aden=1,則adc被使能;如果aden=0,則adc被關閉。(2)adsc(位6)adsc名為adc啟動轉(zhuǎn)換位。在單次轉(zhuǎn)換模式下,置位adsc能夠啟動一次a/d轉(zhuǎn)換;在連續(xù)轉(zhuǎn)換的模式下,將adsc置位會啟動第一次a/d轉(zhuǎn)換。先使

47、aden=1然后使adsc=1或者aden和adsc同時設置為1,adc首次進行a/d轉(zhuǎn)換,經(jīng)過25個adc時鐘后本次a/d轉(zhuǎn)換完成;在以后各次常規(guī)a/d轉(zhuǎn)換中,每次a/d只需要13個adc時鐘時間。 在每次a/d轉(zhuǎn)換過程中,adsc始終處于1狀態(tài),只有在a/d轉(zhuǎn)換完成后才變?yōu)?狀態(tài)。強制寫0無效。 (3)adfr(位5) adfr是adc轉(zhuǎn)換模式的選擇位。如果使adfr=0,則adc被設定成單次轉(zhuǎn)換模式或者連續(xù)轉(zhuǎn)換模式的終止狀態(tài);如果使adfr=1,則adc被設定成連續(xù)轉(zhuǎn)換模式。在連續(xù)轉(zhuǎn)換的模式之下,模擬輸入電壓被連續(xù)采樣,adc數(shù)據(jù)寄存器也被不斷地更新。(4)adif(位4)adif被稱為

48、adc(完成)中斷標志位,是一個狀態(tài)位,用于指示當前adc中斷是否存在。如果adif=0,則表示沒有a/d轉(zhuǎn)換或本次a/d轉(zhuǎn)換尚未完成,adc還未更新;如果adif=1,則表示本次a/d轉(zhuǎn)換已完成,adc也已更新。(5)adie(位3)adie被稱為adc中斷允許位,用于控制adc中斷是否被允許。如果adie=1,那么adc中斷被允許;如果adie=0,那么adc中斷被關閉。一旦adif=1,而且adie和sreg的位i也被置為1,則單片機便會響應中斷從而進入相應的中斷服務程序執(zhí)行。 (6)adps2adps0(位2位0)adps2adps0叫做adc時鐘預分頻選擇位,用于決定系統(tǒng)主時鐘和ad

49、c時鐘之間的分頻率,如表3-7所示。表3- 10 adc時鐘分頻adps2adps1adps0分頻率00020012010401181001610132110641111283.3 atemga8的pwm功能atmega8單片機定時器/計數(shù)器1除了可以設置為一般模式以及ctc(比較匹配清零計數(shù)器)模式以外,還可設置為相位可調(diào)pwm、快速pwm以及相應頻率可調(diào)pwm模式,通過外部運算放大器從而構(gòu)成8位、9位、10位或16位的d/a轉(zhuǎn)換器。3.3.1 pwm波形發(fā)生器選擇pwm波形發(fā)生器選擇控制位,在t/c1的控制寄存器a和控制寄存器b中的wgm13.wgm10位。t/c1控制寄存器a和控制寄存器

50、b如表3-10和表3-11所示。表3- 11 t/c1的控制寄存器a(tccr1a)位76543210位符號com1a1com1a0com1b1com1b1foc1afoc1bwgm11wgm10表3- 12 t/c1的控制寄存器b(tccr1b)位76543210位符號icnc1ices1-wgm13wgm12cs12cs11cs10tccr1a中wgm11和wgm10被稱為波形發(fā)生器模式控制位,同tccr1b中的wgm13和wgm12組合,用于控制t/c1的計數(shù)方式和工作方式(計數(shù)上限值),以及確定波形發(fā)生器的工作模式,如表3-12所示。表3- 13波形發(fā)生器模式的確定模式wgm13.0t

51、/c1工作模式計數(shù)上限值(top)ocr1a/ocr1b更新tov1置位00000一般模式0xffff立即0xffff100018位pwm,相位可調(diào)0x00fftop0x0000200109位pwm,相位可調(diào)0x01fftop0x00003001110位pwm,相位可調(diào)0x03fftop0x000040100ctcocr1atop0xffff501018位pwm,快速0x00ff立即top601109位pwm,快速0x01fftoptop7011110位pwm,快速0x03fftoptop81000pwm,相位和頻率可調(diào)icr10x00000x000091001pwm,相位和頻率可調(diào)ocr1a

52、0x00000x0000101010pwm,相位可調(diào)icr1top0x0000111011pwm,相位可調(diào)ocr1atop0x0000121100ctcicr1立即0xffff131101保留-141110pwm,快速icr1toptop151111pwm,快速ocr1atoptop通過設定wgm13wgm10=1、2、3、10或11,可以把t/c1設定成相位可調(diào)pwm模式,以便能在oc1a/oc1b引腳上產(chǎn)生高精度相位可調(diào)pwm波,在這種模式之下,tcnt1為一個雙程的計數(shù)器,可以從0一直增加到top值,并且在下一個計數(shù)脈沖到達之時改變計數(shù)的方向,從top值開始一直減小到0。在正向比較匹配(

53、com11: com10=2)(見表3-13)模式下,如果正向加1的過程中tcnt1的計數(shù)值和ocr1a/ocr1b的輸出比較值發(fā)生相同匹配,則oc1a/oc1b被置零,oc1a/oc1b引腳輸出為低電平;如果反向減1過程中tcnt1的計數(shù)值和oc1a/oc1b輸出比較相同,則oc1a/oc1b被置位,oc1a/oc1b引腳輸出為高電平。在反向比較匹配(com11: com10=3)模式下,如果正向加1過程中tcnt1的計數(shù)值和ocr1a/ocr1b輸出比較值相同匹配,則oc1a/oc1b被置位,oc1a/oc1b引腳輸出為高電平;如果反向減1過程中tcnt1的計數(shù)值和oc1a/oc1b輸出比

54、較相同,則oc1a/oc1b被置零,oc1a/oc1b引腳輸出低電平。通過設置t/c1控制寄存器a可以設定通道a以及通道b的輸出比較模式, t/c1在oc1a/oc1b引腳上輸出波形的頻率由tcnt1計數(shù)上限決定,該計數(shù)上限值越大,輸出波形頻率越低;輸出波形起始脈寬和相位由輸出比較寄存器ocr1a/ocr1b中設定的比較匹配值來決定2。ocr1a為t/c1輸出比較匹配寄存器a,由ocr1ah跟ocr1al拼裝成,其值可以用單片機通過程序來設定。隨著tcnt1不斷計數(shù),ocr1a中設定值一次一次地和tcnt1中實時值進行比較,一旦比較相等便將tifr中的ocf1a(t/c1輸出比較匹配a中斷標志位) 置位以及向單片機請求一次中斷,并改變一次oc1a(pb1)引腳上的電平值。ocr1b以及ocr1a的情況類似,當ocr1b的值和tcnt1的實時值比較相等時,也會將tifr中的ocf1b(t/c1輸出比較匹配b中斷標志位) 置位以及向單片機請求一次中斷,亦會在oc1b(pb2)引腳上產(chǎn)生相應波形。表3- 14相位可調(diào)pwm模式com1a1/

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論