基于AVR單片機(jī)的開(kāi)關(guān)電源的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
基于AVR單片機(jī)的開(kāi)關(guān)電源的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
基于AVR單片機(jī)的開(kāi)關(guān)電源的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
基于AVR單片機(jī)的開(kāi)關(guān)電源的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
基于AVR單片機(jī)的開(kāi)關(guān)電源的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩68頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

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

2、管的通斷。通過(guò)單片機(jī)內(nèi)部集成的ad轉(zhuǎn)換器檢測(cè)輸出電壓,并和預(yù)置電壓進(jìn)行比較得到誤差信號(hào),調(diào)用調(diào)節(jié)函數(shù)實(shí)現(xiàn)穩(wěn)壓。單片機(jī)可以通過(guò)鍵盤(pán)來(lái)改變輸出電壓的大小,從而修改pwm波的占空比來(lái)調(diào)節(jié)輸出電壓的大小。開(kāi)關(guān)電源的輸出電壓以及輸出電流可以通過(guò)數(shù)碼管來(lái)顯示,當(dāng)線(xiàn)路發(fā)生短路或者過(guò)載時(shí)都會(huì)通過(guò)數(shù)碼管的示數(shù)顯示出來(lái)。本開(kāi)關(guān)電源的主要性能有穩(wěn)壓效果好、效率高、輸出電壓可調(diào)、響應(yīng)速率快。關(guān)鍵詞:開(kāi)關(guān)電源 單片機(jī) 電壓可調(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 開(kāi)關(guān)電源方案設(shè)計(jì)32.1開(kāi)關(guān)電源工作原理32.2開(kāi)關(guān)電源方案選擇與論證32.3總體結(jié)構(gòu)設(shè)計(jì)43 系統(tǒng)核心器件選擇63.1單片機(jī)簡(jiǎn)介63.1.1引腳說(shuō)明63

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

9、程序設(shè)計(jì)245.4 adc轉(zhuǎn)換子程序設(shè)計(jì)255.5 調(diào)節(jié)函數(shù)子程序設(shè)計(jì)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參考文獻(xiàn)37附錄38附錄一 總體設(shè)計(jì)電路圖38附錄二 制作樣機(jī)圖39附錄三 器件清單41附錄四 源程序42外文資料52唐 山 學(xué) 院 畢 業(yè) 設(shè) 計(jì)stepper motor is a kind of pure digital control motor and brushless

10、dc motor controlled 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

11、stepping motor 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 syste

12、m with the single 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 c

13、ommands into the 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 l

14、cd1602. users can 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ù)、自動(dòng)控制技術(shù)等的多學(xué)科應(yīng)用功率

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

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

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

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

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

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

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

22、電路開(kāi)關(guān)管濾波電路采樣電路比較放大脈沖調(diào)寬輸出輸入基準(zhǔn)電壓圖2- 1開(kāi)關(guān)電源原理框圖2.2開(kāi)關(guān)電源方案選擇與論證 從對(duì)電源輸出的控制來(lái)說(shuō),單片機(jī)控制開(kāi)關(guān)電源,可以有以下幾種方案。方案一:?jiǎn)纹瑱C(jī)的擴(kuò)展a/d和d/a芯片,單片機(jī)通過(guò)a/d轉(zhuǎn)換芯片不斷的檢測(cè)電源的輸出電壓值,再根據(jù)電源輸出的電壓值與設(shè)定值的差值調(diào)整pwm脈寬,然后通過(guò)d/a芯片輸出一個(gè)基準(zhǔn)的電壓值,從而控制專(zhuān)門(mén)的pwm控制芯片,間接地控制電源工作。方案二:?jiǎn)纹瑱C(jī)通過(guò)a/d轉(zhuǎn)換輸出一個(gè)電壓,作為電源的基準(zhǔn)電壓,電源可以通過(guò)鍵盤(pán)設(shè)置預(yù)置輸出電壓,如果單片機(jī)不加入反饋控制,電源仍要使用專(zhuān)門(mén)的pwm控制芯片,工作過(guò)程為:當(dāng)通過(guò)鍵盤(pán)設(shè)置預(yù)置電

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

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

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

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

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

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

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

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

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

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

33、會(huì)引起系統(tǒng)的復(fù)位。若持續(xù)的時(shí)間小于門(mén)限的時(shí)間的脈沖并不能保證復(fù)位的可靠性。7.是端口c(3.0) 、adc(7.6)及模數(shù)轉(zhuǎn)換器的電源。當(dāng)不使用adc時(shí),此引腳應(yīng)該直接與連接。而使用adc時(shí)應(yīng)該通過(guò)一個(gè)低通濾波器與連接。需要注意的是端口c(5.4)為數(shù)字電源。8.aref模數(shù)轉(zhuǎn)換的模擬基準(zhǔn)輸入引腳。3.1.2 atmega8i/o口概述atmega8的i/o口共有pb、pc、pd三個(gè),其中pc口為7位i/o端口,相應(yīng)的端口線(xiàn)為pc6pc0;pb和pd均為8位的i/o端口,相應(yīng)端口線(xiàn)為pb7pb0和pd7pd0。在pb、pc和pd三個(gè)端口中,每個(gè)端口都有三個(gè)i/o寄存器。以x(x的取值為b、c和

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

35、輸出或吸收較大的電流,從而可以直接驅(qū)動(dòng)led顯示以及蜂鳴器等。而且所有端口的引腳都是具有與電壓無(wú)關(guān)的上拉電阻,并且有保護(hù)二極管與和地相連。atmega8的i/o口的輸入輸出都是通過(guò)對(duì)其i/o口的配置而實(shí)現(xiàn)的,當(dāng)引腳配置為輸出時(shí),假設(shè)portxn為1,引腳會(huì)輸出高電平,假如portxn為0,引腳會(huì)輸出低電平;當(dāng)引腳的配置為輸入時(shí),若portxn為1,上拉電阻將使能,如果想要關(guān)閉這個(gè)上拉電阻,可以將portxn位清零,或者經(jīng)過(guò)這個(gè)引腳配置作為輸出,即使此時(shí)并沒(méi)有時(shí)鐘在運(yùn)行,復(fù)位時(shí)各引腳為高阻態(tài)。atmega8的i/o配置如表3-1所示。表3- 1 atmega8的i/o配置ddrxnportxnp

36、udi/o方向上拉電阻說(shuō)明00×輸入無(wú)高祖態(tài)輸入口010輸入有上拉輸入口,被拉低時(shí)輸出電流011輸入無(wú)高阻態(tài)10×輸出無(wú)輸出低電平(吸收電流)11×輸出無(wú)輸出高電平(輸出電流)3.2 atmega8的ad功能在avr單片機(jī)中有兩種支持模擬信號(hào)的輸入功能端口,分別是模擬比較器和模數(shù)轉(zhuǎn)換器adc。模數(shù)轉(zhuǎn)換器在微控制器中,作用是將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)的形式,微控制器才能進(jìn)行處理。而且利用模擬比較器可以監(jiān)測(cè)模擬信號(hào)變化情況1。3.2.1 adc功能簡(jiǎn)介a/d轉(zhuǎn)換,即將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)的過(guò)程,a/d轉(zhuǎn)換器的簡(jiǎn)稱(chēng)為adc(模數(shù)轉(zhuǎn)換器)。adc是將連續(xù)變量的模擬輸入信號(hào)

37、轉(zhuǎn)換成離散的二進(jìn)制數(shù)字信號(hào)的器件。由于系統(tǒng)的實(shí)際對(duì)象基本上都是一些模擬量,例如壓力、溫度、聲音、圖像、電壓、位移等,要使計(jì)算機(jī)或者數(shù)字儀表能夠識(shí)別出這些模擬量,必須要首先處理這些信號(hào),將這些模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)。模數(shù)轉(zhuǎn)換器是將模擬輸入信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)形式輸出來(lái)。由于數(shù)字信號(hào)僅表示一個(gè)相對(duì)大小,所以每一個(gè)模數(shù)轉(zhuǎn)換器需要一個(gè)參考模擬量作為轉(zhuǎn)換標(biāo)準(zhǔn),輸出的數(shù)字量則表示輸入信號(hào)相對(duì)于參考信號(hào)的大小。模數(shù)轉(zhuǎn)換器實(shí)際上是一個(gè)比例的問(wèn)題,adc產(chǎn)生的數(shù)字值要跟輸入模擬量與轉(zhuǎn)換器量程的比值有關(guān)。轉(zhuǎn)換的關(guān)系如下: (3-1)其中x為數(shù)字輸出量,n為數(shù)字輸出位數(shù)(adc的位數(shù)),是模擬輸入量的值,是模擬輸入量

38、最大值。adc的性能如何取決于它的指標(biāo)數(shù),adc共有6個(gè)主要指標(biāo):分辨率、轉(zhuǎn)換速率與轉(zhuǎn)換時(shí)間、功耗、采樣頻率、數(shù)據(jù)輸出速率。1.分辨率分辨率是指adc能夠轉(zhuǎn)換的二進(jìn)制數(shù)位數(shù),它描述的為adc量化信號(hào)準(zhǔn)確度,高分辨率adc比低分辨率adc能把輸入?yún)^(qū)間劃分為更多的子區(qū)間,adc輸入范圍所劃分子區(qū)間個(gè)數(shù)的對(duì)數(shù)即為adc的分辨位數(shù),位數(shù)越多相應(yīng)分辨率亦越高。2.轉(zhuǎn)換精度轉(zhuǎn)換精度指的是a/d轉(zhuǎn)化器實(shí)際的輸出值與理想的輸出值的精確的接近程度。有兩種表達(dá)方法:絕對(duì)誤差以及相對(duì)誤差。絕對(duì)誤差是一個(gè)數(shù)字量實(shí)際模擬輸入電壓和理想模擬輸入電壓之差的最大值,通常以數(shù)字量最小有效位(lsb)的分?jǐn)?shù)值來(lái)表示。相對(duì)誤差指的

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

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

41、的轉(zhuǎn)換2us13.5us正常轉(zhuǎn)換,差分(atmega16)1.5/2.5us13/14us3.2.2 adc相關(guān)寄存器atmega8共有三個(gè)adc寄存器,它們分別為adc多工選擇寄存器、adc數(shù)據(jù)寄存器、adc控制和狀態(tài)寄存器。1.adc多工選擇寄存器(admux)admux是多路復(fù)用選擇寄存器,也是單片機(jī)64個(gè)i/o寄存器之一,admux各位定義如表3-3所示。表3- 3 admux各位定義位76543210位符號(hào)refs1refs0adlar-mux3mux2mux1mux0 (1)refs1、refs0(位7和位6):參考電壓選擇位這些位用于選擇adc的參考電壓。若在adc轉(zhuǎn)換過(guò)程中,這

42、些位重新進(jìn)行設(shè)置,只有在當(dāng)前adc轉(zhuǎn)換結(jié)束(adcsra寄存器的adif置位)后改變才會(huì)生效。如果adc的參考電壓選用內(nèi)部電壓參考源,aref引腳上不將不需要施加外部參考電壓,只能在與地之間并接抗干擾電容。adc的電壓參考源如表3-4所示。表3- 4 adc的電壓參考源refs1refs0參考電壓選擇00aref,內(nèi)部關(guān)閉01avcc,aref引腳外加濾波電容10保留112.56v的片內(nèi)基準(zhǔn)電壓源,aref引腳外加濾波電容 (2)adlar(位5):adc轉(zhuǎn)換結(jié)果左對(duì)齊選擇位adlar叫做adc結(jié)果左端對(duì)齊選擇位,用于決定adc轉(zhuǎn)換結(jié)果在adc數(shù)據(jù)寄存器中的存放格式。若使adlar=0,則ad

43、c中數(shù)字量按“右對(duì)齊”格式存放;若adlar=1,則adc中數(shù)字量按“左對(duì)齊”格式存放。無(wú)論何時(shí)對(duì)adlar位進(jìn)行改變,都會(huì)立即對(duì)adc數(shù)據(jù)寄存器產(chǎn)生影響。(3)mux3mux0(位3位0)mux3mux0稱(chēng)為adc模擬通道選擇位,用于設(shè)定adc7adc0、和gnd中哪一路模擬電壓被a/d轉(zhuǎn)換,選擇關(guān)系如表3-5所示。表3- 5 adc通道選擇表mux3.mux0單端輸入通道0000adc00001adc10010adc20011adc3表3- 6 adc通道選擇表(續(xù))mux3.mux0單端輸入通道0100adc40101adc50110adc60111adc71000-1001-1010-

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

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

46、次讀出之間不能插入其它任何指令。3. adc控制和狀態(tài)寄存器(adcsra) adcsra被稱(chēng)之為adc控制和狀態(tài)寄存器。用戶(hù)可以通過(guò)in/out指令對(duì)它進(jìn)行讀寫(xiě),也可對(duì)其中的每一位進(jìn)行位尋址。adcsr中各位定義如表3-6所示。表3- 9 adcsr各位定義位76543210位符號(hào)adenadscadfradifadieadps2adps1adps0(1)aden(位7)aden的名稱(chēng)為adc使能位,用于控制adc是否使能。如果aden=1,則adc被使能;如果aden=0,則adc被關(guān)閉。(2)adsc(位6)adsc名為adc啟動(dòng)轉(zhuǎn)換位。在單次轉(zhuǎn)換模式下,置位adsc能夠啟動(dòng)一次a/d轉(zhuǎn)

47、換;在連續(xù)轉(zhuǎn)換的模式下,將adsc置位會(huì)啟動(dòng)第一次a/d轉(zhuǎn)換。先使aden=1然后使adsc=1或者aden和adsc同時(shí)設(shè)置為1,adc首次進(jìn)行a/d轉(zhuǎn)換,經(jīng)過(guò)25個(gè)adc時(shí)鐘后本次a/d轉(zhuǎn)換完成;在以后各次常規(guī)a/d轉(zhuǎn)換中,每次a/d只需要13個(gè)adc時(shí)鐘時(shí)間。 在每次a/d轉(zhuǎn)換過(guò)程中,adsc始終處于1狀態(tài),只有在a/d轉(zhuǎn)換完成后才變?yōu)?狀態(tài)。強(qiáng)制寫(xiě)0無(wú)效。 (3)adfr(位5) adfr是adc轉(zhuǎn)換模式的選擇位。如果使adfr=0,則adc被設(shè)定成單次轉(zhuǎn)換模式或者連續(xù)轉(zhuǎn)換模式的終止?fàn)顟B(tài);如果使adfr=1,則adc被設(shè)定成連續(xù)轉(zhuǎn)換模式。在連續(xù)轉(zhuǎn)換的模式之下,模擬輸入電壓被連續(xù)采樣,a

48、dc數(shù)據(jù)寄存器也被不斷地更新。(4)adif(位4)adif被稱(chēng)為adc(完成)中斷標(biāo)志位,是一個(gè)狀態(tài)位,用于指示當(dāng)前adc中斷是否存在。如果adif=0,則表示沒(méi)有a/d轉(zhuǎn)換或本次a/d轉(zhuǎn)換尚未完成,adc還未更新;如果adif=1,則表示本次a/d轉(zhuǎn)換已完成,adc也已更新。(5)adie(位3)adie被稱(chēng)為adc中斷允許位,用于控制adc中斷是否被允許。如果adie=1,那么adc中斷被允許;如果adie=0,那么adc中斷被關(guān)閉。一旦adif=1,而且adie和sreg的位i也被置為1,則單片機(jī)便會(huì)響應(yīng)中斷從而進(jìn)入相應(yīng)的中斷服務(wù)程序執(zhí)行。 (6)adps2adps0(位2位0)adp

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

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

51、3-12所示。表3- 13波形發(fā)生器模式的確定模式wgm13.0t/c1工作模式計(jì)數(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)icr1

52、0x00000x000091001pwm,相位和頻率可調(diào)ocr1a0x00000x0000101010pwm,相位可調(diào)icr1top0x0000111011pwm,相位可調(diào)ocr1atop0x0000121100ctcicr1立即0xffff131101保留-141110pwm,快速icr1toptop151111pwm,快速ocr1atoptop通過(guò)設(shè)定wgm13wgm10=1、2、3、10或11,可以把t/c1設(shè)定成相位可調(diào)pwm模式,以便能在oc1a/oc1b引腳上產(chǎn)生高精度相位可調(diào)pwm波,在這種模式之下,tcnt1為一個(gè)雙程的計(jì)數(shù)器,可以從0一直增加到top值,并且在下一個(gè)計(jì)數(shù)脈沖到

53、達(dá)之時(shí)改變計(jì)數(shù)的方向,從top值開(kāi)始一直減小到0。在正向比較匹配(com11: com10=2)(見(jiàn)表3-13)模式下,如果正向加1的過(guò)程中tcnt1的計(jì)數(shù)值和ocr1a/ocr1b的輸出比較值發(fā)生相同匹配,則oc1a/oc1b被置零,oc1a/oc1b引腳輸出為低電平;如果反向減1過(guò)程中tcnt1的計(jì)數(shù)值和oc1a/oc1b輸出比較相同,則oc1a/oc1b被置位,oc1a/oc1b引腳輸出為高電平。在反向比較匹配(com11: com10=3)模式下,如果正向加1過(guò)程中tcnt1的計(jì)數(shù)值和ocr1a/ocr1b輸出比較值相同匹配,則oc1a/oc1b被置位,oc1a/oc1b引腳輸出為高電

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

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論