基于單片機的數(shù)控開關(guān)電源設(shè)計_第1頁
基于單片機的數(shù)控開關(guān)電源設(shè)計_第2頁
基于單片機的數(shù)控開關(guān)電源設(shè)計_第3頁
基于單片機的數(shù)控開關(guān)電源設(shè)計_第4頁
基于單片機的數(shù)控開關(guān)電源設(shè)計_第5頁
已閱讀5頁,還剩33頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、智能儀表綜合課程設(shè)計 成 績 評 定 表學(xué)生姓名 張 麗班級學(xué)號1203060101專 業(yè)通信工程課程設(shè)計題目基于單片機的數(shù)控開關(guān)電源設(shè)計評語組長簽字:成績?nèi)掌?20 年 月 日課程設(shè)計任務(wù)書學(xué) 院信息科學(xué)與工程專 業(yè)通信工程學(xué)生姓名張 麗班級學(xué)號 1203060101課程設(shè)計題目基于單片機的數(shù)控開關(guān)電源設(shè)計實踐教學(xué)要求與任務(wù):要求:1、 分別對硬件系統(tǒng)的配置予以評估,使其能夠?qū)D(zhuǎn)速進行測量。2、 對單片機定時器/計數(shù)器進行配置,設(shè)計和說明定時器/計數(shù)器在“M”法測量中的作用和使用方法,討論測量精度的問題。任務(wù):1、設(shè)計電路圖。2、利用軟件畫原理圖3、熟悉軟件編程語言,編寫程序4、系統(tǒng)調(diào)試工作

2、計劃與進度安排:1.查找資料。(2天)2.設(shè)計電路,畫電路圖。(2天)3.軟件編程與調(diào)試。(2天)4.系統(tǒng)調(diào)試。(2天)5.撰寫報告。(2天)指導(dǎo)教師: 201 年 月 日專業(yè)負責(zé)人:201 年 月 日學(xué)院教學(xué)副院長:201 年 月 日摘 要 智能儀器是含有微型計算機或者微型處理器的測量儀器,擁有對數(shù)據(jù)的存儲運算邏輯判斷及自動化操作等功能。 傳感器拾取被測參量的信息并轉(zhuǎn)換成電信號,經(jīng)濾波去除干擾后送入多路模擬開關(guān);由單片機逐路選通模擬開關(guān)將各輸入通道的信號逐一送入程控增益放大器,放大后的信號經(jīng)A/D轉(zhuǎn)換器轉(zhuǎn)換成相應(yīng)的脈沖信號后送入單片機中;單片機根據(jù)儀器所設(shè)定的初值進行相應(yīng)的數(shù)據(jù)運算和處理(如

3、非線性校正等);運算的結(jié)果被轉(zhuǎn)換為相應(yīng)的數(shù)據(jù)進行顯示和打印;同時單片機把運算結(jié)果與存儲于片內(nèi)FlashROM(閃速存儲器)或E?2PROM(電可擦除存貯器)內(nèi)的設(shè)定參數(shù)進行運算比較后,根據(jù)運算結(jié)果和控制要求,輸出相應(yīng)的控制信號(如報警裝置觸發(fā)、繼電器觸點等)。此外,智能儀器還可以與PC機組成分布式測控系統(tǒng),由單片機作為下位機采集各種測量信號與數(shù)據(jù),通過串行通信將信息傳輸給上位機PC機,由PC機進行全局管理。關(guān)鍵詞:數(shù)控開關(guān)電源;AMPIRE;AT89C52目錄1 摘要52 智能儀器儀表的簡介71.1智能儀器儀表簡介72.2智能儀器儀表的作用83 系統(tǒng)設(shè)計簡介103.1 PWM波產(chǎn)生簡介103.

4、2 設(shè)計要求113.3 設(shè)計方案論證113.4 硬件設(shè)計電路144.系統(tǒng)硬件設(shè)計164.1主控制器選擇164.2顯示電路164.3 ADC0804A/D轉(zhuǎn)換器與單片機的接口電路174.4系統(tǒng)總體電路圖205 設(shè)計語言及軟件介紹215.1 C語言介紹215.2 KEIL軟件介紹216 系統(tǒng)軟件設(shè)計226.1 概述226.2 系統(tǒng)程序設(shè)計模塊226.2.1程序框圖226.2.2主程序226.2.2顯示數(shù)據(jù)刷新子程序306.3.2程序清單366.4 調(diào)試及仿真37結(jié) 論38參考文獻381摘要儀器儀表(英文:instrumentation)儀器儀表是用以檢出、測量、觀察、計算各種物理量、物質(zhì)成分、物性

5、參數(shù)等的器具或設(shè)備。真空檢漏儀、壓力表、測長儀、顯微鏡、乘法器等均屬于儀器儀表。廣義來說,儀器儀表也可具有自動控制、報警、信號傳遞和數(shù)據(jù)處理等功能,例如用于工業(yè)生產(chǎn)過程自動控制中的氣動調(diào)節(jié)儀表,和電動調(diào)節(jié)儀表,以及集散型儀表控制系統(tǒng)也皆屬于儀器儀表。開關(guān)電源是一種采用開關(guān)方式控制的直流穩(wěn)壓電源。它以小型、高效、輕量的特點被廣泛應(yīng)用于各種電子設(shè)備中。開關(guān)電源控制部分絕大多數(shù)是按模擬信號來設(shè)計和工作的,其抗干擾能力不太好,信號有畸變。電源作為各種電子設(shè)備必不可少的重要組成部分,其性能優(yōu)劣直接影響到整個電子系統(tǒng)的性能指標。隨著科技的發(fā)展,電子設(shè)備不斷更新?lián)Q代,其種類越來越多,對電源的性能指標的要求越

6、來越高,加之不同的電子設(shè)備對電源的要求又不盡相同,這樣,給電源的研究帶來了許多新的研究課題。在傳統(tǒng)功率電子技術(shù)中,DC/DC變換器控制部分是按模擬信號進行設(shè)計和工作的。在六、七十年代,功率電子技術(shù)完全建立在模擬電路的基礎(chǔ)上。但是近年來,隨著數(shù)字信號處理技術(shù)的日益完善、成熟,微處理器/微控制器和數(shù)字信號處理器的性價比不斷提高,數(shù)字控制在功率變換器中得到廣泛應(yīng)用。它使得開關(guān)電源向數(shù)字化、智能化、多功能化方向發(fā)展。這無疑提高了開關(guān)電源的性能和可靠性。例如電機、不間斷電源(UPS)的控制電路都選用各種數(shù)字信號處理器或微處理器作為其核心控制部件。功率變換器已由模擬控制、模數(shù)混合控制,進入全數(shù)字化控制階段

7、。相對于模擬控制,數(shù)字控制有許多優(yōu)點1: (1)數(shù)字控制可以實現(xiàn)各種復(fù)雜的控制策略,提高控制系統(tǒng)的性能。由于開關(guān)器件的存在,功率變換器是強非線性系統(tǒng)。傳統(tǒng)的模擬控制是在功率變換器近似線性模型的基礎(chǔ)上,利用線性系統(tǒng)的各種設(shè)計方法來設(shè)計補償網(wǎng)絡(luò),這種方法設(shè)計簡單且容易實現(xiàn)。但隨著對電源性能指標的要求不斷提高,這種設(shè)計方法很難提高系統(tǒng)的控制性能。而數(shù)字控制可以實現(xiàn)各種非線性控制策略,使得控制系統(tǒng)的性能大大提高。 (2)數(shù)字控制系統(tǒng)具有很強的抗干擾能力。模擬元器件易受環(huán)境和溫度的變化影響,所以模擬控制器穩(wěn)定性差。數(shù)字控制器較少受到器件老化、環(huán)境或參數(shù)變化的影響,比模擬控制器更穩(wěn)定可

8、靠,具有很強的抗干擾能力。 (3)數(shù)字控制系統(tǒng)靈活性高,數(shù)字化極大地簡化了變換器控制的硬件。采用數(shù)字控制技術(shù)可以設(shè)計統(tǒng)一的硬件平臺,適用不同的變換器系統(tǒng),只通過軟件的改變就可以改變控制策略,無須硬件更改,同時,數(shù)字控制系統(tǒng)更容易實現(xiàn)過壓、過流保護、輸出電壓調(diào)節(jié)、故障監(jiān)測及通訊等功能,使電源“智能化”。 總之,對功率變換器采用數(shù)字控制方法大大提高了變換器的控制性能、靈活性等,變換器的性能主要由軟件來決定,而不是在于大量離散元器件的參數(shù),這就意味著成本和空間的節(jié)省以及實現(xiàn)復(fù)雜算法的能力。數(shù)字控制的這些優(yōu)點大大提高了功率變換器的綜合性能,由模擬控制向數(shù)字控制的轉(zhuǎn)變是電力電子功率變

9、換器的一大發(fā)展趨勢。2 智能儀器儀表的簡介1.1智能儀器儀表簡介功能特點隨著微電子技術(shù)的不斷發(fā)展,集成了CPU、存儲器、定時器/計數(shù)器、并行和串行接口、看門狗、前置放大器甚至A/D、D/A轉(zhuǎn)換器等電路在一塊芯片上的超大規(guī)模集成電路芯片(即單片機)出現(xiàn)了。以單片機為主體,將計算機技術(shù)與測量控制技術(shù)結(jié)合在一起,又組成了所謂的“智能化測量控制系統(tǒng)”,也就是智能儀器。與傳統(tǒng)儀器儀表相比,智能儀器具有以下功能特點:操作自動化。儀器的整個測量過程如鍵盤掃描、量程選擇、開關(guān)啟動閉合、數(shù)據(jù)的采集、傳輸與處理以及顯示打印等都用單片機或微控制器來控制操作,實現(xiàn)測量過程的全部自動化。具有自測功能,包括自動調(diào)零、自動

10、故障與狀態(tài)檢驗、自動校準、自診斷及量程自動轉(zhuǎn)換等。智能儀表能自動檢測出故障的部位甚至故障的原因。這種自測試可以在儀器啟動時運行,同時也可在儀器工作中運行,極大地方便了儀器的維護。具有數(shù)據(jù)處理功能,這是智能儀器的主要優(yōu)點之一。智能儀器由于采用了單片機或微控制器,使得許多原來用硬件邏輯難以解決或根本無法解決的問題,現(xiàn)在可以用軟件非常靈活地加以解決。例如,傳統(tǒng)的數(shù)字萬用表只能測量電阻、交直流電壓、電流等,而智能型的數(shù)字萬用表不僅能進行上述測量,而且還具有對測量結(jié)果進行諸如零點平移、取平均值、求極值、統(tǒng)計分析等復(fù)雜的數(shù)據(jù)處理功能,不僅使用戶從繁重的數(shù)據(jù)處理中解放出來,也有效地提高了儀器的測量精度。具有

11、友好的人機對話能力。智能儀器使用鍵盤代替?zhèn)鹘y(tǒng)儀器中的切換開關(guān),操作人員只需通過鍵盤輸入命令,就能實現(xiàn)某種測量功能。與此同時,智能儀器還通過顯示屏將儀器的運行情況、工作狀態(tài)以及對測量數(shù)據(jù)的處理結(jié)果及時告訴操作人員,使儀器的操作更加方便直觀。具有可程控操作能力。一般智能儀器都配有GPIB、RS232C、RS485等標準的通信接口,可以很方便地與PC機和其他儀器一起組成用戶所需要的多種功能的自動測量系統(tǒng),來完成更復(fù)雜的測試任務(wù)。2.2智能儀器儀表的作用微型化微型智能儀器指微電子技術(shù)、微機械技術(shù)、信息技術(shù)等綜合應(yīng)用于儀器的生產(chǎn)中,從而使儀器成為體積小、功能齊全的智能儀器。它能夠完成信號的采集、線性化處

12、理、數(shù)字信號處理,控制信號的輸出、放大、與其他儀器的接口、與人的交互等功能。微型智能儀器隨著微電子機械技術(shù)的不斷發(fā)展,其技術(shù)不斷成熟,價格不斷降低,因此其應(yīng)用領(lǐng)域也將不斷擴大。它不但具有傳統(tǒng)儀器的功能,而且能在自動化技術(shù)、航天、軍事、生物技術(shù)、醫(yī)療領(lǐng)域起到獨特的作用。例如,目前要同時測量一個病人的幾個不同的參量,并進行某些參量的控制,通常病人的體內(nèi)要插進幾個管子,這增加了病人感染的機會,微型智能儀器能同時測量多參數(shù),而且體積小,可植入人體,使得這些問題得到解決。多功能多功能本身就是智能儀器儀表的一個特點。例如,為了設(shè)計速度較快和結(jié)構(gòu)較復(fù)雜的數(shù)字系統(tǒng),儀器生產(chǎn)廠家制造了具有脈沖發(fā)生器、頻率合成器

13、和任意波形發(fā)生器等功能的函數(shù)發(fā)生器。這種多功能的綜合型產(chǎn)品不但在性能上(如準確度)比專用脈沖發(fā)生器和頻率合成器高,而且在各種測試功能上提供了較好的解決方案。人工智能化人工智能是計算機應(yīng)用的一個嶄新領(lǐng)域,利用計算機模擬人的智能,用于機器人、醫(yī)療診斷、專家系統(tǒng)、推理證明等各方面 。智能儀器的進一步發(fā)展將含有一定的人工智能,即代替人的一部分腦力勞動,從而在視覺(圖形及色彩辨讀)、聽覺(語音識別及語言領(lǐng)悟)、思維(推理、判斷、學(xué)習(xí)與聯(lián)想)等方面具有一定的能力。這樣,智能儀器可無需人的干預(yù)而自主地完成檢測或控制功能。顯然,人工智能在現(xiàn)代儀器儀表中的應(yīng)用,使我們不僅可以解決用傳統(tǒng)方法很難解決的一類問題,而

14、且可望解決用傳統(tǒng)方法根本不能解決的問題。網(wǎng)絡(luò)化融合ISP和EMIT技術(shù),實現(xiàn)儀器儀表系統(tǒng)的Internet接入。伴隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,Internet技術(shù)正在逐漸向工業(yè)控制和智能儀器儀表系統(tǒng)設(shè)計領(lǐng)域滲透,實現(xiàn)智能儀器儀表系統(tǒng)基于Internet的通訊能力以及對設(shè)計好的智能儀器儀表系統(tǒng)進行遠程升級、功能重置和系統(tǒng)維護。在系統(tǒng)編程技術(shù)(In-System Programming,簡稱ISP技術(shù))是對軟件進行修改、組態(tài)或重組的一種最新技術(shù)。它是LATTICE半導(dǎo)體公司首先提出的一種使我們在產(chǎn)品設(shè)計、制造過程中的每個環(huán)節(jié),甚至在產(chǎn)品賣給最終用戶以后,具有對其器件、電路板或整個電子系統(tǒng)的邏輯和功能隨

15、時進行組態(tài)或重組能力的最新技術(shù)。ISP技術(shù)消除了傳統(tǒng)技術(shù)的某些限制和連接弊病,有利于在板設(shè)計、制造與編程。ISP硬件靈活且易于軟件修改,便于設(shè)計開發(fā)。由于ISP器件可以像任何其他器件一樣,在印刷電路板(PCB)上處理,因此編程ISP器件不需要專門編程器和較復(fù)雜的流程,只要通過PC機,嵌入式系統(tǒng)處理器甚至INTERNET遠程網(wǎng)進行編程。EMIT嵌入式微型因特網(wǎng)互聯(lián)技術(shù)是emWare公司創(chuàng)立ETI(eXtend the Internet)擴展Internet聯(lián)盟時提出的,它是一種將單片機等嵌入式設(shè)備接入Internet的技術(shù)。利用該技術(shù),能夠?qū)?位和16位單片機系統(tǒng)接入Internet,實現(xiàn)基于I

16、nternet的遠程數(shù)據(jù)采集、智能控制、上傳/下載數(shù)據(jù)文件等功能。目前美國ConnectOne公司、emWare公司、TASKING公司和國內(nèi)的P&S公司等均提供基于Internet的Device?Networking的軟件、固件(Firmware)和硬件產(chǎn)品。虛擬儀器是智能儀器發(fā)展的新階段測量儀器的主要功能都是由數(shù)據(jù)采集、數(shù)據(jù)分析和數(shù)據(jù)顯示等三大部分組成的。在虛擬現(xiàn)實系統(tǒng)中,數(shù)據(jù)分析和顯示完全用PC機的軟件來完成。因此,只要額外提供一定的數(shù)據(jù)采集硬件,就可以與PC機組成測量儀器。這種基于PC機的測量儀器稱為虛擬儀器。在虛擬儀器中,使用同一個硬件系統(tǒng),只要應(yīng)用不同的軟件編程,就可得到功

17、能完全不同的測量儀器??梢?,軟件系統(tǒng)是虛擬儀器的核心,“軟件就是儀器”。傳統(tǒng)的智能儀器主要在儀器技術(shù)中用了某種計算機技術(shù)控制工程網(wǎng)版權(quán)所有,而虛擬儀器則強調(diào)在通用的計算機技術(shù)中吸收儀器技術(shù)。作為虛擬儀器核心的軟件系統(tǒng)具有通用性、通俗性、可視性、可擴展性和升級性,能為用戶帶來極大的利益,因此,具有傳統(tǒng)的智能儀器所無法比擬的應(yīng)用前景和市場。3 系統(tǒng)設(shè)計簡介3.1 PWM波產(chǎn)生簡介PWM信號產(chǎn)生芯片采用KA3525,它是一個典型的性能優(yōu)良的開關(guān)電源控制芯片。其內(nèi)部包括誤差放大器、比較器、振蕩器、觸發(fā)器、輸出邏輯控制電路和輸出三極管等環(huán)節(jié)。KA3525的1和2腳是內(nèi)部運算放大器的輸入端,系統(tǒng)中單片機的

18、D/A轉(zhuǎn)換接口的一個引腳與KA3525的2腳連接,實現(xiàn)KA3525的數(shù)字控制與步進調(diào)整。11和14腳輸出交替的兩路控制信號,經(jīng)驅(qū)動電路與功率開關(guān)管的門極相連接。本文采用的驅(qū)動電路如圖6所示。當(dāng)11腳輸出高電平、14腳輸出低電平時,N1、P2導(dǎo)通,耦合變壓器原邊電流流向如圖6(a)所示。當(dāng)14腳輸出高電平、11腳輸出低電平時,N2、P1導(dǎo)通,耦合變壓器原邊電流流向如圖6(b)所示。圖7為驅(qū)動電路耦合變壓器的輸出波形。圖1圖2表1經(jīng)過計算KA3525的2腳所需要輸入的電壓并將其轉(zhuǎn)化成單片機所需要的10位數(shù)字量,最后SPCE061A單片機將10位數(shù)字量左移6位寫入P_DAC1單元的高10位,進行D/

19、A轉(zhuǎn)換成相應(yīng)的3525芯片2腳給定電壓,實現(xiàn)對開關(guān)電源的步進調(diào)整。采樣電壓經(jīng)A./D轉(zhuǎn)換后送LCD顯示,顯示精度可達0.01V。經(jīng)多次測試,本電源輸出電壓可以0V40V連續(xù)調(diào)整,歩進值0.1V, 最大輸出電流可達I0MAX=2.5A,電壓調(diào)整率Su=0.1%,負載調(diào)整率SI=0.2%,效率=90%,試驗結(jié)果表明本數(shù)控電源方案切實可行。3.2 設(shè)計要求現(xiàn)今的可調(diào)式開關(guān)電源通常采用專用芯片,具有開發(fā)時間短、可控性強等優(yōu)點;同時也具有功能受芯片限制等缺點。本文提出的可控式開關(guān)電源方案通過軟件控制改變數(shù)字電位器阻值來改變反激式開關(guān)電源反饋電壓從而改變輸出電壓的大小,使電源的輸出電壓范圍調(diào)整極

20、其方便。本開關(guān)電源輸出電壓可通過按鍵、USB總線等控制,并且輸出電壓可斷電記憶,控制方式也很容易擴展(如擴展RS 232總線控制方式等)。輸出電壓范圍1530V,最大電流可達5A,最小調(diào)節(jié)值1V。3.3 設(shè)計方案論證一 DC-DC主回路拓撲的方案選擇     DC-DC變換有隔離和非隔離兩種。輸入輸出隔離的方式雖然安全,但是由于隔離變壓器的漏磁和損耗等會造成效率的降低,而本題沒有要求輸入輸出隔離,所以選擇非隔離方式,具體有以下幾種方案: 方案一: buck電路形式。開關(guān)管V1受占空比為D的PWM波的控制,交替導(dǎo)通或

21、截止,再經(jīng)L和C濾波器在負載R上得到穩(wěn)定直流輸出電壓Uo。只要電感電容選擇合理,能達到題目要求的3-9.9V,且輸出電壓Uo呈現(xiàn)連續(xù)平滑的特性。(見圖3) 方案二: boost電路形式。并聯(lián)開關(guān)電路原理與串聯(lián)開關(guān)電路類似,但此電路為升壓型電路,開關(guān)導(dǎo)通時電感儲能,截止時電感能量輸出。該電路屬于升壓型電路,達不到題目要求的3-9.9V的輸出電壓。(見圖4) ?方案三:串并聯(lián)開關(guān)電路形式。實際上此電路是在串聯(lián)開關(guān)電路后接入一個并聯(lián)開關(guān)電路(BUCK結(jié)合BOOST實現(xiàn)既可以升壓又可以降壓)。用電感的儲能特性來實現(xiàn)升降壓,電路控制復(fù)雜。(見圖5) 以上三種方案屬開關(guān)電源。

22、采用純開關(guān)電源(AC-DC變換器)。開關(guān)穩(wěn)壓電路控制功率晶體管或MOS-FET工作在開關(guān)狀態(tài),截止時無電流,導(dǎo)通時飽和壓降很小,所以管耗也很低,大大提高了電源的效率,其效率可達70%95%。但其紋波電壓較高,控制電路復(fù)雜,制作難度高、周期長。 方案四:使用純線性穩(wěn)壓電源。這種電源的輸出以線性調(diào)整晶體管為基礎(chǔ),利用晶體管的電流放大作用增大負載電流,在電路中引入深度電壓負反饋,是輸出電壓穩(wěn)定。通過改變反饋網(wǎng)絡(luò)設(shè)定參數(shù)使輸出電壓可調(diào),在次基礎(chǔ)上引入電流設(shè)定和電流反饋電路既可實現(xiàn)穩(wěn)流功能。該方案結(jié)構(gòu)簡單、技術(shù)成熟、調(diào)節(jié)方便,但調(diào)整管集電極始終消耗功率。特別是在負載電流較大且輸出電壓較低時,調(diào)

23、整管自身的功耗很大、效率很低,既浪費能源,又使調(diào)整管產(chǎn)生很高的溫度。總之,線性電源調(diào)整管工作在放大狀態(tài),發(fā)熱量較大,效率低(35%左右),需要加體積龐大的散熱片。 本題只需要降壓,考慮到效率問題,采用開關(guān)buck穩(wěn)壓電路,同時為了減小紋波可引入線性穩(wěn)壓方法,即采用開關(guān)型穩(wěn)壓電路和線性穩(wěn)壓電路相結(jié)合的方法。直流電源的前級采用降壓式開關(guān)電源(DCDC變換器),提高其工作效率,后級采用線性穩(wěn)壓電路以減小紋波電流、提高電路的穩(wěn)定性,而且便于控制。這樣還可以減少設(shè)計制作難度。最終確定電路: 圖73.4 硬件設(shè)計電路硬件電路由主控單片機、數(shù)控開關(guān)電路、控制電路、顯示電路組成。其中主控單片機使用A

24、T89c51,轉(zhuǎn)換電路使用ADC0809,顯示電路使用LCD液晶屏,其中包括一些簡單震蕩電路等,基本模電電路。如圖8 圖84.系統(tǒng)硬件設(shè)計4.1主控制器選擇由于經(jīng)常學(xué)習(xí)并解除AT89C52單片機,對其有一定了解。因此,主控器選擇AT89C52單片機。AT89C52是一個低電壓,高性能CMOS 8位單片機,片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲器和256 bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標準MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,AT89C52單片機在電子行業(yè)中有著廣泛的應(yīng)用。4.

25、2顯示電路 圖9 顯示電路顯示電路基于AMP IRE128*64顯示器。液晶顯示器件(LCD)獨具的低壓、微功耗特性他在單片機系統(tǒng)中特得到了廣泛的應(yīng)用,常用的液晶顯示模塊分為數(shù)顯液晶模塊、點陣字符液晶模塊和點陣圖形液晶模塊,其中圖形液晶模塊在我國應(yīng)用較為廣泛,因為漢字不能像西文字符那樣用字符模塊即可顯示,要想顯示漢字必須用圖形模塊。本課設(shè)所選擇的LCD是AMPIRE128×64的漢字圖形型液晶顯示模塊,可顯示漢字及圖形,圖形液晶顯示顯示器接如圖8所示。4.3 ADC0804A/D轉(zhuǎn)換器與單片機的接口電路ADC0804引腳圖如下:圖10 ADC0804引腳圖引腳功能及應(yīng)用特性如下:CS

26、 、RD 、WR (引腳1、2、3):是數(shù)字控制輸入端,滿足標準TTL 邏輯電平。其中CS 和WR 用來控制A/D 轉(zhuǎn)換的啟動信號。CS 、RD 用來讀A/D 轉(zhuǎn)換的結(jié)果,當(dāng)它們同時為低電平時,輸出數(shù)據(jù)鎖存器DB0DB7 各端上出現(xiàn)8 位并行二進制數(shù)碼。CLKI(引腳4)和CLKR(引腳19):ADC08010805 片內(nèi)有時鐘電路,只要在外部“CLKI”和“CLKR”兩端外接一對電阻電容即可產(chǎn)生A/D 轉(zhuǎn)換所要求的時鐘,其振蕩頻率為fCLK1/1.1RC。其典型應(yīng)用參數(shù)為:R=10K,C=150PF,fCLK640KHZ,轉(zhuǎn)換速度為100。若采用外部時鐘,則外部fCLK 可從CLKI 端送入

27、,此時不接R、C。允許的時鐘頻率范圍為100KHZ1460KHZ。INTR (引腳5): INTR 是轉(zhuǎn)換結(jié)束信號輸出端,輸出跳轉(zhuǎn)為低電平表示本次轉(zhuǎn)換已經(jīng)完成,可作為微處理器的中斷或查詢信號。如果將CS 和WR 端與INTR 端相連,則ADC0804 就處于自動循環(huán)轉(zhuǎn)換狀態(tài)。CS 0 時,允許進行A/D 轉(zhuǎn)換。WR 由低跳高時A/D 轉(zhuǎn)換開始,8 位逐次比較需8×8=64 個時鐘周期,再加上控制邏輯操作,一次轉(zhuǎn)換需要6673 個時鐘周期。在典型應(yīng)用fCLK640KHZ 時,轉(zhuǎn)換時間約為103114。當(dāng)fCLK 超過640KHZ,轉(zhuǎn)換精度下降,超過極限值1460KHZ 時便不能正常工作

28、。V()(引腳)和V()(引腳7):被轉(zhuǎn)換的電壓信號從V()和V()輸入,允許此信號是差動的或不共地的電壓信號。如果輸入電壓V的變化范圍從0V到Vmax,則芯片的V()端接地,輸入電壓加到V()引腳。由于該芯片允許差動輸入,在共模輸入電壓允許的情況下,輸入電壓范圍可以從非零伏開始,即Vmin 至Vmas。此時芯片的V()端應(yīng)該接入等于Vmin 的恒值電碼墳上,而輸入電壓V仍然加到V()引腳上。AGND(引腳8)和DGND(引腳10):A/D 轉(zhuǎn)換器一般都有這兩個引腳。模擬地AGND 和數(shù)字地DGND 分別設(shè)置引入端,使數(shù)字電路的地電流不影響模擬信號回路,以防止寄生耦合造成的干擾。V2(引腳9)

29、:參考電壓V/2 可以由外部電路供給,從“V/2”端直接送入,V/2 端電壓值應(yīng)是輸入電壓范圍的二分之一。所以輸入電壓的范圍可以通過調(diào)整V/2 引腳處的電壓加以改變,轉(zhuǎn)換器的零點無需調(diào)整。ADC0804 轉(zhuǎn)換器的工作時序如圖10 所示。 圖11AD轉(zhuǎn)換器的設(shè)計接口電路圖:圖12 A/D轉(zhuǎn)換電路圖中,ADC0804 數(shù)據(jù)輸出線與AT89C51 的數(shù)據(jù)總線直接相連,AT89C51 的RD 、WR 和INT1直接連到ADC0804,由于用P1.0 線來產(chǎn)生片選信號,故無需外加地址譯碼器。當(dāng)AT89C51 向ADC0804 發(fā)WR (啟動轉(zhuǎn)換)、RD (讀取結(jié)果)信號時,只要虛擬一個系統(tǒng)不占用的數(shù)據(jù)存

30、儲器地址即可。4.4系統(tǒng)總體電路圖 圖13 完整圖5 設(shè)計語言及軟件介紹5.1 C語言介紹C語言是1972年由美國的Dennis Ritchie設(shè)計發(fā)明的,并首次在UNIX操作系統(tǒng)的DEC PDP-11計算機上使用。它由早期的編程語言BCPL(Basic Combined Programming Language)發(fā)展演變而來,在1970年,AT&T貝爾實驗室的Ken Thompson根據(jù)BCPL語言設(shè)計出較先進的并取名為B的語言,最后導(dǎo)致了C語言的問世。 而B語言之前還有A語言,取名自世界上第一位女程序員Ada(艾達)。5.2 KEIL軟件介紹Keil C51是美國Keil Soft

31、ware公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。運行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。如果你使用C語言編程,那么Keil幾乎就是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強大的軟件仿真調(diào)試工具也會令你事半功倍。6 系統(tǒng)軟件設(shè)計6.1 概述開關(guān)電源主要由開關(guān)管、反饋誤差放大器,PMW產(chǎn)

32、生一,可以用單片機產(chǎn)生PWM波控制開關(guān)管的工作狀態(tài),而開關(guān)管的開關(guān)頻率即單片機的PWM頻率來產(chǎn)生不同的輸出電壓,將輸出電壓反饋并進行誤差放大后再輸給單片機,單片機AD采樣,根據(jù)電壓大小相應(yīng)改變輸出PWM頻率與占空比,從而改變開關(guān)管開關(guān)頻率產(chǎn)生對應(yīng)電壓,實現(xiàn)對輸出電壓的實施監(jiān)控與跟蹤。單片機的PWM主要可通過其定時器實現(xiàn),設(shè)置相關(guān)定時器便可產(chǎn)生一定頻率與一定占空比的方波信號。6.2 系統(tǒng)程序設(shè)計模塊6.2.1程序框圖6.2.2主程序/*/* */* *頭文件及宏定義* */* */*#include<reg52.h>#include"includes.h"#def

33、ine uchar unsigned char #define uint unsigned int#define SCANPORT P2#define TIME1H 80#define TIME1L 80 /定時器1溢出時間/sbit wr=P31;sbit rd=P30;sbit P27=P27;unsigned long int shuchu=500; /默認的開機電壓/uint zhuhuandata;unsigned long int ch=0;uchar i=0; /按鍵標記/uchar uca_LineScan3=0xEF,0xDF,0xBF;void chuli(); /函數(shù)定義

34、/uchar getkey(); /函數(shù)定義/*/* */* *將鍵值累加并送顯示* */* */*void qiuhe(uchar t) if(i=1) ch=t; vShowOneChar(6,89,ucat); if(i=2) ch=ch*10+t; vShowOneChar(6,103,ucat); if(i=3) ch=ch*10+t; vShowOneChar(6,111,ucat); /*/* */* *按鍵功能函數(shù)* */* */*void key_chuli(uchar x) uchar t; switch(x)case 42: t=0; i+; qiuhe(t); if(i

35、=3) vShowOneChin(2,49,uca_que); vShowOneChin(2,64,uca_ding); vShowOneChin(4,59,uca_wenhao); break; /'0'case 31: t=1; i+; qiuhe(t); if(i=3) vShowOneChin(2,49,uca_que); vShowOneChin(2,64,uca_ding); vShowOneChin(4,59,uca_wenhao); break; /'1'case 32: t=2; i+; qiuhe(t); if(i=3) vShowOneCh

36、in(2,49,uca_que); vShowOneChin(2,64,uca_ding); vShowOneChin(4,59,uca_wenhao); break; /'2'case 33: t=3; i+; qiuhe(t); if(i=3) vShowOneChin(2,49,uca_que); vShowOneChin(2,64,uca_ding); vShowOneChin(4,59,uca_wenhao); break; /'3'case 21: t=4; i+; qiuhe(t); if(i=3) vShowOneChin(2,49,uca_qu

37、e); vShowOneChin(2,64,uca_ding); vShowOneChin(4,59,uca_wenhao); break; /'4'case 22: t=5; i+; qiuhe(t); if(i=3) vShowOneChin(2,49,uca_que); vShowOneChin(2,64,uca_ding); vShowOneChin(4,59,uca_wenhao); break; /'5'case 23: t=6; i+; qiuhe(t); if(i=3) vShowOneChin(2,49,uca_que); vShowOneCh

38、in(2,64,uca_ding); vShowOneChin(4,59,uca_wenhao); break; /'6'case 11: t=7; i+; qiuhe(t); if(i=3) vShowOneChin(2,49,uca_que); vShowOneChin(2,64,uca_ding); vShowOneChin(4,59,uca_wenhao); break; /'7'case 12: t=8; i+; qiuhe(t); if(i=3) vShowOneChin(2,49,uca_que); vShowOneChin(2,64,uca_di

39、ng); vShowOneChin(4,59,uca_wenhao); break; /'8'case 13: t=9; i+; qiuhe(t); if(i=3) vShowOneChin(2,49,uca_que); vShowOneChin(2,64,uca_ding); vShowOneChin(4,59,uca_wenhao); break; /'9'case 41: if(i=3) /'ok' ch=ch*256/512; shuchu=ch; ch=0; TH0=65200; TL0=65200; vShowOneChin(2,49

40、,uca_0); vShowOneChin(2,64,uca_0); vShowOneChin(4,48,uca_SHU); vShowOneChin(4,64,uca_CHU); vShowOneChar(6,88,uca_HEN); vShowOneChar(6,104,uca_HEN); vShowOneChar(6,112,uca_HEN); i=0; break; void vTimer0(void) interrupt 1 using 2 uchar a,d;unsigned long int c=0;uchar data tab3;a=(zhuhuandata&0xf0)

41、>>4)*100/16); d=(zhuhuandata&0x0f)*100/256); c=(a+d)*5.12; tab0=c%10; tab1=c/10%10; tab2=c/100%10;vShowOneChar(2,89,ucatab2);vShowOneChar(2,103,ucatab1);vShowOneChar(2,111,ucatab0); TH0=TIME1H;TL0=TIME1L;void main(void) SCANPORT=0x8F;ClearLCD(0x00);vShowOneChar(2,89,uca5);vShowOneChar(2,96

42、,uca_XIAOSHU);vShowOneChar(2,103,uca0);vShowOneChar(2,111,uca0);vShowOneChar(2,120,uca_V); vShowOneChin(0,0,uca_DANG);vShowOneChin(0,16,uca_QIAN);vShowOneChin(0,32,uca_GONG);vShowOneChin(0,48,uca_ZUO);vShowOneChin(0,64,uca_DIAN);vShowOneChin(0,80,uca_YA);vShowOneChin(0,96,uca_MAOHAO);vShowOneChin(4,

43、0,uca_QING);vShowOneChin(4,16,uca_SHE);vShowOneChin(4,32,uca_ZHI);vShowOneChin(4,48,uca_SHU);vShowOneChin(4,64,uca_CHU);vShowOneChin(4,80,uca_DIAN);vShowOneChin(4,96,uca_YA);vShowOneChin(4,112,uca_MAOHAO);vShowOneChar(6,96,uca_XIAOSHU);vShowOneChar(6,88,uca_HEN);vShowOneChar(6,104,uca_HEN);vShowOneC

44、har(6,113,uca_HEN);vShowOneChar(6,119,uca_V);/<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<外部中斷0,用于開啟鍵盤掃描及鍵碼處理標志>>>>>>>>>>>>>>>>>>>>>>>>>>>>&

45、gt;>TMOD=0X01; TH0=TIME1H;TL0=TIME1L;ET0=1;/T/C0開中斷TR0=1; /開定時器0中斷IT0=1;/外中斷方式:下降沿。EX0=1;/開啟外部中斷。 EA=1;/<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<外部中斷0,用于開啟鍵盤掃描及鍵碼處理標志>>>>>>>>>>>>>

46、>>>>>>>>>>>>>>>>> while(1) wr=0; wr=1; chuli(); if(zhuhuandata<=shuchu)P27=0;if(zhuhuandata>shuchu)P27=1; if(zhuhuandata<=shuchu)P27=0; void chuli() rd=0; zhuhuandata=P0;/*/* */* *函數(shù)實現(xiàn)* */* */*unsigned char getkey() uchar ucTemp=0; /掃描狀態(tài)暫存。uchar ucRow=0,ucLine=0; /行

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論