數(shù)字式可調(diào)直流穩(wěn)壓電源的設(shè)計_第1頁
數(shù)字式可調(diào)直流穩(wěn)壓電源的設(shè)計_第2頁
數(shù)字式可調(diào)直流穩(wěn)壓電源的設(shè)計_第3頁
數(shù)字式可調(diào)直流穩(wěn)壓電源的設(shè)計_第4頁
數(shù)字式可調(diào)直流穩(wěn)壓電源的設(shè)計_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)字式可調(diào)穩(wěn)壓電源的設(shè)計與制作4摘 要單片機實現(xiàn)的數(shù)字可調(diào)穩(wěn)壓電源由于原理簡單、穩(wěn)定性好、精度高、成本低、易實現(xiàn)等諸多優(yōu)點而受到越來越廣泛的重視。通過對數(shù)字可調(diào)穩(wěn)壓電源系統(tǒng)的設(shè)計,詳細介紹了AT89C52 單片機及鍵盤掃描原理、數(shù)碼管動態(tài)顯示原理、定時中斷原理,從而了解單片機相關(guān)指令在各方面的應(yīng)用,同時還介紹了數(shù)模轉(zhuǎn)換芯片DAC0832的工作原理。系統(tǒng)由輔助電源、輸入鍵盤電路、單片機控制電路、數(shù)模轉(zhuǎn)換電路、輸出穩(wěn)壓電路、顯示電路等構(gòu)成,能輸出5V15V電壓,步進值為0.1V和1V。本文采用單片機和其他元件及外圍電路,開發(fā)一個數(shù)字式可調(diào)直流穩(wěn)壓電源,能夠設(shè)定輸出電壓值,電壓輸出和顯示。關(guān)鍵詞:單

2、片機;直流穩(wěn)壓;數(shù)字控制; D/A轉(zhuǎn)換AbstractSingle chip implementation of digital adjustable regulated power supply because of its simple principle, good stability, high precision, low cost, easy to implement, and many other advantages by more and more widely attention. Through to the digital adjustable regulated po

3、wer supply system design, detailed introduces the single-chip microcomputer AT89C52 and keyboard scanning principle, dynamic display of digital tube principle, timing interrupt principle, to understand SCM related instruction in all aspects of the application, at the same time also introduced DAC083

4、2 d/a conversion chip works. System consists of auxiliary power supply, keyboard input circuit, single-chip microcomputer control circuit, d/a conversion circuit, output voltage regulation circuit, display circuit and so on, can output 5 V to 15 V voltage, the step value of 0.1 V and 1 V. Using micr

5、ocontroller and other components and peripheral circuit, this paper developed a digital adjustable dc regulated power supply, can set the output voltage, output voltage and display.Keywords: Single chip microcomputer; Dc voltage; Digital control; D/A conversion目 錄1 緒論11.1 數(shù)字可調(diào)穩(wěn)壓電源的背景及意義11.2 數(shù)字式可調(diào)穩(wěn)壓電

6、源的研究現(xiàn)狀及發(fā)展趨勢11.3課題研究內(nèi)容22 方案設(shè)計42.1設(shè)計原理42.2 方案設(shè)計及論證42.2.1 方案一42.2.2 方案二52.3 方案比較選擇62.4 主要元件介紹62.4.1 AT89C5262.4.2 DAC083283 數(shù)字式可調(diào)穩(wěn)壓電路設(shè)計103.1系統(tǒng)設(shè)計103.2 單元電路的設(shè)計103.2.1單片機主體電路103.2.2 穩(wěn)壓電源電路113.2.3矩陣鍵盤電路123.2.4 數(shù)碼管顯示部分電路143.2.5 DAC0832數(shù)模轉(zhuǎn)換部分電路153.2.6 輸出電壓控制單元電路153.2. 晶振及復(fù)位電路164 數(shù)字式可調(diào)穩(wěn)壓電源軟件設(shè)計184.1 系統(tǒng)軟件流程圖184

7、.2 系統(tǒng)程序介紹194.2.1 初始化硬件程序194.2.2 鍵盤掃描程序204.2.3 鍵盤服務(wù)程序214.2.4 數(shù)碼顯示程序225 電路仿真236 結(jié)論24參考文獻25致 謝27附錄28IV電梯是集機械原理應(yīng)用、電氣控制技術(shù)、微處理器技術(shù)、系統(tǒng)工程學(xué)等多學(xué)科和技術(shù)分支于一體的機電設(shè)備,它是建筑中的永久垂直交通工具。本文選擇STC89C52RC為核心控制元件,設(shè)計了一個八層電梯系統(tǒng),使用單片機匯編語言進行編程,實現(xiàn)運送乘客到任意樓層,并且顯示電梯的樓層和上下行。利用單片機控制電梯有成本低,通用性強,靈活性大及易于實現(xiàn)復(fù)雜控制等優(yōu)點。 此單片機模擬電梯用紅色發(fā)光二極管組成的箭頭來

8、指示電梯當(dāng)前是處于上升狀態(tài)還是下降狀態(tài),用數(shù)碼管顯示當(dāng)前是處于哪一層,用綠色發(fā)光二極管指示電梯走到哪一層會停.電源接通后,若沒有人按下停止按鍵,它就以每層2秒的速度一直上下運行,若有人按下某一層的停止按鍵,它就會在相應(yīng)的那一層停止4秒鐘,并伴有開門和關(guān)門的聲音提示。1緒論1.1 數(shù)字可調(diào)穩(wěn)壓電源的背景及意義電源技術(shù)是一門實踐性很強的工程技術(shù),服務(wù)于各行各業(yè)。電力電子技術(shù)是電能的最佳應(yīng)用技術(shù)之一。當(dāng)今電源技術(shù)融合了電氣、電子、系統(tǒng)集成、控制理論、材料等諸多學(xué)科領(lǐng)域。隨著計算機和通訊技術(shù)發(fā)展而帶來的現(xiàn)代信息技術(shù)革命,給電力電子技術(shù)提供了廣闊的發(fā)展前景,同時也給電源技術(shù)提出了更高的要求。目前在電力電

9、子器件方面,幾乎都為旋紐開關(guān)調(diào)節(jié)電壓,調(diào)節(jié)精度不高,而且經(jīng)常跳變,使用麻煩。數(shù)字化智能電源模塊是針對傳統(tǒng)智能電源模塊的不足提出的,數(shù)字化能夠減少生產(chǎn)過程中的不確定因素和人為參與的環(huán)節(jié),有效地解決電源模塊中諸如可靠性、智能化和產(chǎn)品一致性等工程問題,極大地提高生產(chǎn)效率和產(chǎn)品的可維護性。對我們學(xué)生而言,在大學(xué)的實驗室和課程設(shè)計里,有一個穩(wěn)定可調(diào)的直流穩(wěn)壓電源是很有必要的。因傳統(tǒng)的直流穩(wěn)壓電源輸出電壓是通過粗調(diào)波段開關(guān)及細調(diào)電位器來調(diào)節(jié)的,并由電壓表指示電壓值的大小。這種直流穩(wěn)壓電源存在讀數(shù)不直觀、電位器易磨損、穩(wěn)壓精度不高、不易調(diào)準(zhǔn)、電路構(gòu)成復(fù)雜、體積大等缺點,而基于單片機控制的數(shù)字可調(diào)穩(wěn)壓電源能較

10、好地解決以上問題。本題采用單片機和其它元器件及外圍電路,開發(fā)一個數(shù)字式可調(diào)穩(wěn)壓電源。能夠設(shè)定輸出電壓值、電壓值輸出顯示等功能。通過此系統(tǒng)的設(shè)計,也讓本人更深刻的掌握單片機基本原理,并熟悉一些外圍電路的擴展,以及進一步提高對C語言的軟件編程能力。1.2 數(shù)字式可調(diào)穩(wěn)壓電源的研究現(xiàn)狀及發(fā)展趨勢電力電子技術(shù)已發(fā)展成為一門完整的、自成體系的高科技技術(shù),電源技術(shù)屬于電力電子技術(shù)的范疇。電源技術(shù)主要是為信息產(chǎn)業(yè)服務(wù)的,信息技術(shù)的發(fā)展又對電源技術(shù)提出了更高的要求,從而促進了電源技術(shù)的發(fā)展,兩者相輔相成才有了現(xiàn)今蓬勃發(fā)展的信息產(chǎn)業(yè)和電源產(chǎn)業(yè)。迄今為止,電源已成為非常重要的基礎(chǔ)科技和產(chǎn)業(yè),并廣泛應(yīng)用于各行業(yè),從

11、日常生活到最尖端的科學(xué)都離不開電源技術(shù)的參與和支持,其發(fā)展趨勢為高頻、高效、高密度化,低壓、大電流化和多元化。同時,封裝結(jié)構(gòu)、外形尺寸日趨接近國際標(biāo)準(zhǔn)化,以適應(yīng)全球一體化市場的要求。當(dāng)前在國內(nèi)外電源產(chǎn)業(yè)中,占主導(dǎo)地位的產(chǎn)品有各種線性穩(wěn)壓電源、通訊用的AC/DC開關(guān)電源、交流變頻調(diào)速電源、電解電鍍電源、高頻逆變式整流焊接電源、中頻感應(yīng)加熱電源、電力操作電源、正弦波逆變電源、UPS、可靠高效低污染的光伏逆變電源、風(fēng)光互補型電源等。而產(chǎn)品價格、性能指標(biāo)、品牌效應(yīng)及使用壽命一直是用戶最關(guān)心的問題。這就促使國內(nèi)外電源生產(chǎn)商朝著應(yīng)用技術(shù)數(shù)字化、硬件結(jié)構(gòu)模塊化、產(chǎn)品性能綠色化、智能化的方向發(fā)展。數(shù)字化:在傳

12、統(tǒng)直流穩(wěn)壓電源中,控制部分是按模擬信號來設(shè)計和工作的。在六、七十年代,電力電子技術(shù)完全是建立在模擬電路基礎(chǔ)上的。但是現(xiàn)在數(shù)字式信號、數(shù)字電路顯得越來越重要,數(shù)字信號處理技術(shù)日趨完善成熟,顯示出越來越多的優(yōu)點:便于計算機處理控制、避免模擬信號的畸變失真、減小雜散信號的干擾(提高抗干擾能力)、便于軟件包調(diào)試和遙感遙測遙調(diào),也便于自診斷、容錯等技術(shù)的植入。模塊化:電源的模塊化有兩方面的含義,其一是指功率器件的模塊化;其二是指電源單元的模塊化。模塊化的目的不僅在于使用方便,縮小整機體積,更重要的是取消傳統(tǒng)連線,把寄生參數(shù)降到最小,從而把器件承受的電應(yīng)力降至最低,提高系統(tǒng)的可靠性。大功率的電源,由于器件

13、容量的限制和增加冗余、提高可靠性方面的考慮,一般采用多個獨立的模塊單元并聯(lián)工作,采用均流技術(shù),所有模塊共同分擔(dān)負載電流,一旦其中某個模塊失效,其它模塊再平均分擔(dān)負載電流,極大的提高系統(tǒng)可靠性,即使萬一出現(xiàn)單模塊故障,也不會影響系統(tǒng)的正常工作。綠色化:電源系統(tǒng)的綠色化有兩層含義:首先是顯著節(jié)電,這意味著發(fā)電容量的節(jié)約,而發(fā)電是造成環(huán)境污染的重要原因,所以節(jié)電就可以減少對環(huán)境的污染;其次這些電源不能(或少)對電網(wǎng)產(chǎn)生污染,國際電工委員會(IEC) 對此制定了一系列標(biāo)準(zhǔn),如IEC555,IEC917,IEC1000等。20世紀(jì)末,各種有源濾波器和有源補償器的方案誕生,為21世紀(jì)批量生產(chǎn)各種綠色直流穩(wěn)

14、壓電源產(chǎn)品奠定了基礎(chǔ)。1.3 課題研究內(nèi)容本系統(tǒng)研究的直流穩(wěn)壓電源主要是符合智能化、數(shù)字化以及模塊化的特點。主要是指系統(tǒng)有可編程模塊可以對系統(tǒng)進行智能控制。數(shù)字化主要是指系統(tǒng)輸出電壓通過7段數(shù)碼管顯示,并且可以通過按鍵對輸出電壓進行連續(xù)步進數(shù)字化調(diào)節(jié)。模塊化是指系統(tǒng)由各個相關(guān)模塊組成,提高了系統(tǒng)的穩(wěn)定性以及可靠性。 本論文總體概括了數(shù)字顯示可調(diào)穩(wěn)壓電源的設(shè)計原理,介紹了穩(wěn)壓電源的硬件電路設(shè)計。在各章節(jié)中,突出講述了各功能模塊的設(shè)計思路,具體設(shè)計情況,以及模塊之間的聯(lián)系。本系統(tǒng)主要研究數(shù)字顯示可調(diào)穩(wěn)壓電源如何實現(xiàn)整流、濾波、穩(wěn)壓和輸出電壓顯示,也包含一些必要的硬件設(shè)計和軟件設(shè)計。2 方案論證數(shù)字

15、可調(diào)穩(wěn)壓電源可通過多種方案實現(xiàn),本文著重介紹了兩種比較常用的方法,并進行比較和選擇其中一種最適合的方案。一種是用單片機作為數(shù)控部分帶動數(shù)模轉(zhuǎn)換芯片提供線性穩(wěn)壓電壓的參考電壓,另一種是AVR單片機的PWM模擬輸出。2.1 方案設(shè)計及論證2.1.1 方案一使用AT89C52單片機為核心控制器件,利用4×4鍵盤輸入數(shù)字量,經(jīng)過單片處理后將數(shù)字量送入數(shù)碼管顯示部分和DAC0832輸出模擬量,然后經(jīng)過運算放大器轉(zhuǎn)換成電壓信號后進行隔離放大,再穩(wěn)壓輸出。其原理框圖如圖2.1所示:AT89C52LED顯示模塊DA轉(zhuǎn)換模塊穩(wěn)壓輸出模塊矩陣鍵盤模塊電源模塊圖2.1 方案一的原理框圖2.1.2 方案二數(shù)

16、控部分用AVR單片機的PWM組成開關(guān)電源,再利用AVR的AD轉(zhuǎn)換對輸出電壓進行實時轉(zhuǎn)換,利用軟件進行電壓調(diào)整以達到穩(wěn)壓。其原理框圖如圖2.2所示:LCD液晶顯示PWM模擬電壓輸出電壓放大電路濾波電路單片機電路鍵盤電路AD采樣圖2.2 方案二的原理框圖2.2 方案比較選擇方案一:優(yōu)點:對于單片機,系統(tǒng)工作在開環(huán)狀態(tài),對數(shù)模轉(zhuǎn)換的精度要求較高,設(shè)計成本低。缺點:功耗較大,LED數(shù)碼管輸出顯示不是系統(tǒng)的精確輸出電壓,須對它進行軟件補償。方案二:優(yōu)點:硬件簡單,穩(wěn)壓的大部分工作由軟件完成,對單片機的運行速度要求很高,利用手頭的ATmaga16L單片機最高8MHz工作頻率很難達到速度要求。對軟件要求較高

17、,功耗小。缺點:輸出紋波電壓較大,對硬件的要求很高。方案二簡單的電路結(jié)構(gòu)起初對設(shè)計者很吸引,但是后來了解到AVR單片機的PWM的精度用于開關(guān)電源比較勉強,而且開關(guān)電源有個通病:紋波電壓大,考慮到設(shè)計目標(biāo)對電源的功耗要求不是很嚴(yán),同時為了保證紋波足夠小也鑒于自身對于52單片機和線性電源較為熟練,故選擇方案一。2.3 主要元件介紹2.3.1 AT89C52 AT89C52是一個低電壓,高性能CMOS 8位單片機,片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲器和256 bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指

18、令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,AT89C52單片機在電子行業(yè)中有著廣泛的應(yīng)用。功能特性:1、兼容MCS51指令系統(tǒng)2、8kB可反復(fù)擦寫(大于1000次)Flash ROM;3、32個雙向I/O口;4、256x8bit內(nèi)部RAM;5、3個16位可編程定時/計數(shù)器中斷;6、時鐘頻率0-24MHz;7、2個串行中斷,可編程UART串行通道;8、2個外部中斷源,共8個中斷源;,數(shù)控直流穩(wěn)壓電源的工作原理框圖如圖1所示。主要包括三大部分:數(shù)字控制部分、數(shù)字/模擬轉(zhuǎn)換部分(D/A變換器)及穩(wěn)壓電路。數(shù)字控制部分用+、- 按鍵控制一可逆二進制計數(shù)器,二進制計數(shù)器的輸出輸入到D/A變換

19、器,經(jīng)D/A器轉(zhuǎn)換成相應(yīng)的電壓,此電壓經(jīng)過放大到合適的電壓值后,去控制穩(wěn)壓電源的輸出,使穩(wěn)壓電源的輸出電壓以0.1V的步進值增或減。9、2個讀寫中斷口線,3級加密位;10、低功耗空閑和掉電模式,軟件設(shè)置睡眠和喚醒功能;11、有PDIP、PQFP、TQFP及PLCC等幾種封裝形式,以適應(yīng)不同產(chǎn)品的需求。AT89C52提供以下標(biāo)準(zhǔn)功能:8k字節(jié)可重擦寫Flash閃速存儲器、256字節(jié)內(nèi)部RAM、32個可編程I/O口線、3個16位定時/計數(shù)器、一個六向量兩級中斷結(jié)構(gòu)、一個全雙工串行通信口、片內(nèi)振蕩器及時鐘電路。同時,AT89C52可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式

20、停止CPU的工作,但允許RAM,定時/計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其他所有部件工作直到下一個硬件復(fù)位。AT89C52引腳如圖2.3所示。 圖2.3 AT89C52管腳圖AT89C52單片機引腳介紹:1 主電源引腳和。電源輸入端,(GND)公用接地端。2 時鐘電路引腳XATL1和XATL2分別用作晶體振蕩電路的反相器輸入端和輸出端。在使用外部振蕩電路時,這兩個端子用來外接石英晶體,這個部分給單片機提供工作節(jié)拍,可稱為單片機的主頻。3 控制信號引腳,和。由于單片機的很多引腳的使用方法相同,所以常把引腳分為控制總線、地址總線和數(shù)據(jù)總線??偩€

21、是指一類在使用方法上功能相同的引腳。這里講到得4條引腳可看成是單片機的控制總線。4 4個8位I/O端口:P0、P1、P2和P3。P0口第一功能是一個8位漏極開路型的雙向I/O口這時P0口可看成是用戶數(shù)據(jù)總線,第二功能是在訪問外部存儲器時,分別提供低8位地址和8位雙向數(shù)據(jù)總線。P1口是一個內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O口。P2口第一功能是內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O口(使用前有一個準(zhǔn)備動作),第二功能是在訪問外部存儲器時,輸出高8位地址。P3口第一功能是一個內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O口。在系統(tǒng)中,這8個引腳都有各自的第二功能。2.3.2 DAC0832DAC0832是8位D/A芯片,

22、與DAC0830、DAC0831同屬于DAC0830系列D/A芯片,是美國國家半導(dǎo)體公司的產(chǎn)品,可以適應(yīng)一般的模擬量轉(zhuǎn)換要求。其內(nèi)部電源輸入與參考電壓的復(fù)用,使得芯片的模擬電壓輸入05V之間,芯片轉(zhuǎn)換時間僅為32us,使多器件掛接和處理器制變的更加方便。通過DI數(shù)據(jù)輸入端,可以輕易的實現(xiàn)通道功能的選擇。圖2.4 DAC0832引腳及內(nèi)部電路圖DAC0832引腳功能:1.DI0DI7:8位數(shù)據(jù)輸入端; 2. ILE:輸入數(shù)據(jù)允許鎖存信號,高電平有效; 3. /CS:片選端,低電平有效; 4. /WR1:輸入寄存器寫選通信號,低電平有效; /WR2:DAC寄存器寫選通信號,低電平有效; 5. /X

23、FER:數(shù)據(jù)傳送信號,低電平有效; 6. I OUT1 、I OUT2 :電流輸出端。當(dāng)輸入數(shù)據(jù)全為0時,I OUT1 =0;當(dāng)輸入信號全為1時,I OUT1 為最大值,I OUT1 + I OUT2 =常數(shù); 7. R FB :反饋電流輸入端; 8. U REF :基準(zhǔn)電壓輸入端; 9. V CC :正電源端;AGND:模擬地;DGND:數(shù)字地。3 數(shù)字式可調(diào)穩(wěn)壓電源硬件電路設(shè)計本設(shè)計采用AT89C52單片機作為整機的控制單元,利用4×4鍵盤輸入數(shù)字量,通過控制單元輸出數(shù)字信號,再經(jīng)過D/A轉(zhuǎn)換器(DA0832)輸出模擬量,最后經(jīng)過運算放大器隔離放大,控制輸出功率管的基極,隨著輸出

24、功率管的基極電壓的變化,間接地改變輸出電壓的大小。3.1 單片機主體電路圖3.1 單片機主體接口部分電路為了避免畫出的原理圖繁雜,畫圖時統(tǒng)一使用網(wǎng)絡(luò)標(biāo)號,如圖中3.1所示:單片機的P0口即LEDA至LEDP作為LED數(shù)碼管的顯示輸出端口,接數(shù)碼管的八個段選端口,由于單片機的P0口內(nèi)部沒有上拉電阻,所以使用時需要在外部為其加上上拉電阻,P2.5至P2.7三個I/O口即LED3至LED1分別接三個數(shù)碼管的位選端口;單片機的P3口接4×4矩陣鍵盤,用來對輸出電壓進行控制;單片機的P1口與DAC0832的八位數(shù)碼輸入端連接,用來輸出數(shù)字量信號,XATL1和XATL2接晶振部分電路;RST位復(fù)

25、位電路接口。3.2 穩(wěn)壓電源電路直流穩(wěn)壓電源由電源變壓器T、整流、濾波和穩(wěn)壓電路四部分組成,其原理框圖如圖3.2所示。電網(wǎng)供給的交流電壓u1(220V,50Hz) 經(jīng)電源變壓器降壓后,得到符合電路需要的交流電壓u2,然后由整流電路變換成方向不變、大小隨時間變化的脈動電壓u3,再用濾波器濾去其交流分量,就可得到比較平直的直流電壓uI。但這樣的直流輸出電壓,還會隨交流電網(wǎng)電壓的波動或負載的變動而變化。在對直流供電要求較高的場合,還需要使用穩(wěn)壓電路,以保證輸出直流電壓更加穩(wěn)定。圖3.2 直流穩(wěn)壓電源框圖其中:(1)電源變壓器:是降壓變壓器,它將電網(wǎng)220V交流電壓變換成符合需要的交流電壓,并送給整流

26、電路,變壓器的變比由變壓器的副邊電壓確定。(2)整流電路:利用單向?qū)щ娫?0Hz的正弦交流電變換成脈動的直流電。(3)濾波電路:可以將整流電路輸出電壓中的交流成分大部分加以濾除,從而得到比較平滑的直流電壓。(4)穩(wěn)壓電路:穩(wěn)壓電路的功能是使輸出的直流電壓穩(wěn)定,不隨交流電網(wǎng)電壓和負載的變化而變化。所以通過220V的交流電壓由變電器轉(zhuǎn)化所直流電壓,然后通過5408進行整波,通過50v的2200UF的電容進行濾波,然后通過7815和7915轉(zhuǎn)化成+15V和-15V,+15V又通過整波,濾波后通過7805轉(zhuǎn)化成+5V。這是電源部分如下:圖3.3 穩(wěn)壓電源電路3.3矩陣鍵盤電路在本系統(tǒng)中使用4&#

27、215;4矩陣鍵盤來實現(xiàn)輸出電壓值的設(shè)定其硬件電路及功能如圖3.4所示。每個按鍵的名稱圖中也已經(jīng)標(biāo)明,在程序中對鍵盤進行掃描后會取出一個數(shù)值,根據(jù)取出的數(shù)值就可以判斷被按下的是哪一個按鍵,然后跳入相應(yīng)的鍵盤服務(wù)程序,其硬件電路如圖3.4所示:圖3.4 矩陣鍵盤電路4×4矩陣鍵盤在軟件設(shè)計中實現(xiàn)的功能如下: 按設(shè)置鍵開始設(shè)定電壓,數(shù)碼管不顯示,依次對十位、個位、十分位進行設(shè)置,每輸入一個有效按鍵數(shù)碼管亮一位,輸入錯誤按設(shè)置鍵可重新開始,按下確認鍵后電壓輸出。 在正常情況下即沒有按下設(shè)置鍵時按數(shù)字鍵無效,但是可以直接按步進鍵對輸出電壓進行設(shè)置,設(shè)置完仍要按下確認鍵才能將設(shè)置的電壓值輸出。

28、矩陣式鍵盤掃描原理:鍵盤是由若干按鍵所組成的開關(guān)矩陣,它是微型計算機最常用的輸入設(shè)備,用戶可以通過鍵盤向計算機輸入指令,地址和數(shù)據(jù)。通常單片機系統(tǒng)采用非編碼鍵盤。非編碼鍵盤通過軟件來識別鍵盤上的閉合鍵,它具有結(jié)構(gòu)簡單、使用靈活等特點,因此被廣泛應(yīng)用于單片機系統(tǒng)。組成鍵盤的按鍵有觸點式和非觸點式兩種,單片機中的按鍵一般由機械觸點構(gòu)成。按鍵的讀取容易引起誤操作,抖動時間的長短由按鍵的機械特性決定,一般為510ms,為了使CPU能正確讀出口線的狀態(tài),對于每一次按鍵只做一次響應(yīng),這就必須考慮如何去抖動。常用的去抖動方法有兩種:硬件法和軟件法,單片機通常采用軟件法去抖動。由于鍵盤的觸點在閉合和斷開的時候

29、會產(chǎn)生抖動,這時觸點的邏輯電平是不穩(wěn)定的,如不采取妥善處理的話,將引起按鍵命令錯誤或重復(fù)執(zhí)行,在這里采用軟件延時的方法來避開抖動,延時時間10ms.4×4矩陣式鍵盤(如圖3.4)的按鍵識別方法:行掃描法又稱逐行掃描查詢法,是一種常用的按鍵識別方法,其過程如下:為判斷鍵盤是否有鍵按下,將全部列線置為低電平,全部行線置為高電平,然后讀行線的狀態(tài)。只要有一行的電平為低電平,則表明鍵盤中有按鍵按下。然后依次將行線置為低電平,即在置某根行線為低電平時,其它行線為高電平。在確定某根行線位置為低電平后逐行檢測各列的電平狀態(tài)。若某列線為低電平,則該列線與置低電平的行線相交叉處的按鍵就是閉合鍵。3.4

30、 數(shù)碼管顯示部分電路本系統(tǒng)中數(shù)碼顯示部分采用三位共陽極八段數(shù)碼管,5210PNP三極管作為驅(qū)動,如圖3.5所示。三個數(shù)碼管的段選端即數(shù)據(jù)輸入端口公用單片機的P0口,采用動態(tài)顯示,每次只顯示一個數(shù)碼管,具體過程為:先將十位數(shù)送到第一個數(shù)碼管顯示,延時一段時間后,將個位數(shù)送到第二個數(shù)碼管顯示,延時一段時間后,將十分位數(shù)送到第三個數(shù)碼管顯示,延時一段時間后重復(fù)執(zhí)行此過程,只要設(shè)置好延時的時間,在一定范圍內(nèi)人眼是分辨不出三位數(shù)碼管是循環(huán)顯示的,人眼看到的效果是三個數(shù)碼管同時顯示,這樣就達到了動態(tài)顯示的效果。這樣做既可以節(jié)省單片機的I/O口,又可以節(jié)省掉靜態(tài)顯示時所用到得鎖存器,使電路看起來更加簡潔。圖

31、3.5 數(shù)碼顯示電路3.5 DAC0832數(shù)模轉(zhuǎn)換部分電路本系統(tǒng)中利用通用型數(shù)模轉(zhuǎn)換芯片DAC0832將鍵盤輸入經(jīng)單片機處理的數(shù)字量轉(zhuǎn)換成模擬量電流,以實現(xiàn)數(shù)控功能。DAC0832是一種電流型芯片,前面已經(jīng)介紹過它的工作原理,在本數(shù)字式可調(diào)穩(wěn)壓電源的設(shè)計中,由于所處理的數(shù)字量較少,所以采用它的直通工作方式,即CS、WR1、IOUT2、AGND、WR2、XFER接地;ILE、VREF接5V電源,它的數(shù)據(jù)輸入口D0D7分別與單片機的P1.0-P1.7相連,從IOUT1引腳輸出模擬量(電流)接同相比例放大電路。其電路連接如圖3.6所示。圖3.6 DAC0832直通方式連接電路DAC0832有8個輸入

32、端(其中每個輸入端是8位二進制數(shù)中的一位),有兩個模擬輸出端.輸入可有256個不同的二進制組態(tài),輸出為256個電壓之一,即輸出電壓不是整個電壓范圍內(nèi)的任意值,而只能是256個可能值。3.6 輸出電壓控制單元電路 電壓調(diào)整電路的工作電路如圖3.7所示。圖3.7 輸出電壓控制單元3.7 晶振及復(fù)位電路利用芯片內(nèi)部的振蕩器,然后再XTAL1和XTAL2兩端跨接晶體振蕩器(簡稱晶振),就構(gòu)成了穩(wěn)定的自激振蕩器,發(fā)出的脈沖直接送入內(nèi)部時鐘電路。外界晶振時,C1和C2的值選為20pF。為了減小寄生電容,更好地保證振蕩器穩(wěn)定、可靠地工作,振蕩器和電容應(yīng)盡可能安裝得與單片機引腳XATL1與XATL2靠近。晶振

33、電路如圖3.8所示。圖3.8 晶振電路單片機的外部復(fù)位電路上有上電自動復(fù)位和按鍵手動復(fù)位兩種,本系統(tǒng)采用上電加按鍵手動復(fù)位方式,其電路圖如圖3.9所示,當(dāng)復(fù)位按鍵按下后,復(fù)位端通過小電阻與+5V電源接通,電容迅速放電,使RST引腳為高電平;當(dāng)復(fù)位按鍵彈起后,+5V電源通過大電阻對電容重新充電,RST引腳端出現(xiàn)復(fù)位正脈沖,其持續(xù)時間取決于RC電路的時間常數(shù)。圖3.9 復(fù)位電路4 數(shù)字式可調(diào)穩(wěn)壓電源軟件設(shè)計本系統(tǒng)軟件設(shè)計主要實現(xiàn)的功能是:鍵盤對單片機輸入數(shù)據(jù),單片機對得到的數(shù)據(jù)進行處理后送給LED數(shù)碼顯示部分,然后再送給DAC0832,以實現(xiàn)數(shù)字量對模擬量電壓的控制。軟件部分的主程序主要完成鍵盤的

34、掃描、判斷、處理和電壓值的輸出,而數(shù)碼顯示部分主要在中斷處理程序中完成。4.1 系統(tǒng)軟件流程圖圖4.1為主程序流程圖,程序一開始對硬件進行初始化,包括對單片機端口的定義,開中斷及對定時器0進行置初值,然后進入鍵盤判斷程序,首先通過鍵盤掃描判斷是否有按鍵按下,若有按鍵按下則進入鍵盤服務(wù)程序,若沒有則繼續(xù)多鍵盤進行掃描。 鍵盤服務(wù)程序是有按鍵?否初始化硬件程序開始圖4.1 主程序流程圖 另外,程序中還有中斷程序,主要是用于隔一段時間執(zhí)行一次數(shù)碼顯示程序,具體設(shè)計將在后面介紹。跟據(jù)前面介紹,4×4矩陣鍵盤在軟件設(shè)計中實現(xiàn)的功能如下:按設(shè)置鍵開始設(shè)定電壓,數(shù)碼管不顯示,依次對十位、個位、十分

35、位進行設(shè)置,每輸入一個有效按鍵數(shù)碼管亮一位,輸入錯誤按設(shè)置鍵可重新開始,超過515V視為無效操作,按下確認鍵后電壓輸出。在正常情況下即沒有按下設(shè)置鍵時按數(shù)字鍵無效,但是可以直接按步進鍵對輸出電壓進行設(shè)置,設(shè)置完仍要按下確認鍵才能將設(shè)置的電壓值輸出。4.2 系統(tǒng)程序介紹本系統(tǒng)軟件系統(tǒng)使用C語言編寫。C語言的單片機的應(yīng)用中,由于其邏輯性強,可讀性好,比匯編語言靈活,目前越來越多的人從普遍使用匯編語言到逐漸使用C語言開發(fā),市場上幾種常見的單片機均有其C語言開發(fā)環(huán)境。因此,在本系統(tǒng)中,考慮到C語言的這些優(yōu)點,采用了C語言作為軟件的設(shè)計語言。在本文前幾章介紹了數(shù)字式可調(diào)穩(wěn)壓電源的原理圖及硬件設(shè)計的基礎(chǔ)上

36、,進行軟件部分的設(shè)計。本程序包含初始化程序、主程序、鍵盤掃描判斷程序、鍵盤服務(wù)程序、數(shù)字電壓送數(shù)模轉(zhuǎn)換器程序、數(shù)碼管顯示程序、中斷服務(wù)程序。下面就如何通過C語言編程實現(xiàn)數(shù)控可調(diào)作簡要說明。4.2.1 初始化硬件程序初始化硬件包括對單片機端口的定義,對P1口作為數(shù)字電壓輸出端口的定義:#define DA P1;對設(shè)置標(biāo)志位的定義:static unsigned char shezhi=0;在沒有按下設(shè)置鍵時,標(biāo)志位shezhi為0,按下設(shè)置鍵后shezhi=1。另外還有其他全局變量的定義、子函數(shù)的聲明、數(shù)碼管字符顯示表格的定義等。在主程序中,初始化程序如下:TMOD=0x11;/初始化定時器T

37、H0=(65536-5000)/256;/對定時器0置初值TL0=(65536-5000)%256;EA=1;/開總中斷ET0=1;/開T0中斷TR0=1;/啟動T0shuchu();/輸出初始電壓定時器0中斷主要用于向數(shù)碼顯示部分送數(shù)據(jù),由于單片機一直工作于鍵盤掃描程序,故無法在主程序中不斷地將數(shù)據(jù)送到數(shù)碼管,根據(jù)數(shù)碼管動態(tài)顯示原理, 當(dāng)數(shù)碼管在20Hz-50Hz之間顯示時,人眼分辨不出,會認為數(shù)碼管一直顯示,所以可以采用中斷的方式,每進入一次中斷,對數(shù)碼管進行動態(tài)輸出一次,合理的調(diào)整時間參數(shù),就會使人眼分辨不出,認為數(shù)碼管常亮,定時器0中斷服務(wù)程序如下:void disp(void) in

38、terrupt 1 TH0=(65536-25000)/256;/對定時器0重新置初值 TL0=(65536-25000)%256; led();/執(zhí)行數(shù)碼顯示程序 4.2.2 鍵盤掃描程序鍵盤掃描的具體過程為:先將十六進制數(shù)0x0f送到P3口,然后判斷P3口是否等于0x0f,若相等則說明沒有按鍵按下,返回繼續(xù)掃描,若不相等進入延時,延時10ms后再次進行判斷,若相等則說明這是一次誤判斷或者干擾,返回重新掃描,如果仍然判斷為不相等則說明確實有按鍵按下。然后將十六進制數(shù)0xf0送到P3口,然后讀取P3口電平,將兩次讀取的電平相或,就可以得出具體按下的是哪個按鍵,然后執(zhí)行相關(guān)鍵盤服務(wù)程序,執(zhí)行完后

39、再次進入鍵盤掃描狀態(tài),并不斷重復(fù)這些操作。以下是鍵盤掃描程序: unsigned char X,Y,Z; while(Y=key_point);/判斷按鍵是否松開 key_point=0x0f;/對P3置數(shù),行掃描 if(key_point!=0x0f)/判斷是否有按鍵按下 delay10ms();/延時,去抖動 if(key_point!=0x0f)/確認有按鍵按下 X=key_point;/保存行掃描數(shù)值 key_point=0xf0;/對P3置數(shù),列掃描 Y=key_point;/保存列掃描數(shù)值 Z=X|Y;/取鍵盤掃描值 else Z=0;/無按鍵時對鍵盤掃描值置0 4.2.3 鍵盤服

40、務(wù)程序鍵盤服務(wù)程序包括:數(shù)字鍵程序、步進加1程序、步進減1程序、步進加0.1程序、步進減0.1程序、設(shè)置鍵處理程序、確認輸出程序。由于數(shù)碼管需要分別顯示十位、個位、十分位三個數(shù),而送到DA轉(zhuǎn)換模塊的是一個數(shù),所以就必須做數(shù)值轉(zhuǎn)換,即把十位、個位、十分位三個獨立的數(shù)合為一個可以送到DA模塊輸出的數(shù)值。程序上具體的實現(xiàn)方法為:定義num1、num2、num3三個數(shù)分別為十位、個位、十分位,定義一個num作為輸出數(shù)字電壓,這樣就可以將num1、num2、num3三個數(shù)分別顯示在三位數(shù)碼管上,將num作為數(shù)字電壓輸出到P1口,轉(zhuǎn)換公式為:num=100*num1+10*num2+num3。在數(shù)字鍵服務(wù)

41、程序中設(shè)置一個標(biāo)志位,當(dāng)判斷按下數(shù)字鍵是用此標(biāo)志位來判斷現(xiàn)在輸入的是哪一位。在輸入數(shù)字時直接將所輸入的數(shù)字賦予當(dāng)前位,由于本系統(tǒng)輸出電壓范圍為0V-12V,所以當(dāng)輸入數(shù)值當(dāng)超出范圍時不執(zhí)行,即按鍵無效,例如在十位輸入大于二的數(shù)時按鍵無效。當(dāng)判斷按下的是步進加減的程序時,如果是加減1則對num2進行加減1,如果是加減0.1,則對num3進行加減1,當(dāng)然這是在不超出范圍的條件下,這就需要在執(zhí)行加減前作一下判斷,這里不過多介紹,在程序中會有詳細說明。4.2為4×4鍵盤功能及編碼表。鍵盤號功能編碼鍵盤號功能編碼S110x7eS930xdeS240x7dS1060xddS370x7bS1190

42、xdbS4設(shè)置0x77S12確定0xd7S520xbeS13+10xeeS650xbdS14-10xedS780xbbS15+0.10xebS800xb7S16-0.10xe7圖4.2 4×4鍵盤功能及編碼表。4.2.4 數(shù)碼顯示程序 數(shù)碼管顯示采用動態(tài)掃描的方式,每進入一次中斷,掃描顯示一次。具體顯示過程為:當(dāng)進入中斷程序并執(zhí)行顯示程序時,先將P2.7口置1,P2.6和P2.5置0,然后將十位數(shù)據(jù)即num1的字符編碼送到P0口,延時10ms;再將P2.6口置1,其他兩個端口置0,然后將個位數(shù)即num2的字符編碼送到P0口,延時10ms;接下來將P2.5口置1,其他兩個端口置0,然后

43、將十分位數(shù)即nmu3的字符編碼送到P0口。這里的字符編碼是要數(shù)碼管顯示某個數(shù)時需要送到數(shù)碼管數(shù)據(jù)輸入端的八位二進制數(shù)。在程序中將這些編碼制成表,要輸出時只需查表就可以了,由于個位上要顯示小數(shù)點,十位和十分位不顯示小數(shù)點,所以個位單獨使用一個表,十位和十分位共用一個表。數(shù)字字符編碼為led_010=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; led_110=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10; led_0為不帶小數(shù)點的字符編碼,led_1為帶小數(shù)點的字符編碼。6 結(jié)論此次畢業(yè)

44、設(shè)計,從一開始接到任務(wù)書到最后完成整個系統(tǒng)的設(shè)計,總體上按要求完成了畢業(yè)設(shè)計的工作。盡管設(shè)計的過程是十分繁瑣、枯燥的,但當(dāng)領(lǐng)悟到一個個知識點,將問題一一解決時,有無比的成就感,讓自己更加有信心堅持下去。在這方面,我認識到要想做成一件事是不容易的,當(dāng)中必定有很多的阻力,但是一定要有恒心,細心地認真地找出問題的所在,再一點一點去解決它,這樣,到達成功的彼岸也就僅僅是時間的問題了。這次設(shè)計的題目是數(shù)字式可調(diào)穩(wěn)壓電源的設(shè)計,在參考了很多書籍的情況下,嘗試增加了一些功能,盡管沒有達到所期望的最完善的目的,但也有了一定的突破。數(shù)字式可調(diào)穩(wěn)壓電源所牽涉的范圍可以是很大的,它不僅僅具備準(zhǔn)確的電壓輸出、顯示功能

45、,讀數(shù)直觀、穩(wěn)壓精度高、電路構(gòu)成簡單、 體積小等優(yōu)點,能夠設(shè)定輸出電壓值、電壓值輸出顯示等功能。通過此系統(tǒng)的設(shè)計,讓我更深刻的掌握單片機基本原理,并熟悉一些外圍電路的擴展,以及進一步提高C語言的硬件編程能力。只要我們勤于思考,刻苦鉆研,就會得到更多的收獲與創(chuàng)新。我想,通過這次設(shè)計,特別是通過對硬件的制作而不單單是對原理的論述,我學(xué)到的不僅僅是電子方面的知識,更重要的是,我學(xué)到了作為一名電子設(shè)計者所必需的心理素質(zhì),那就是決心加上耐心。參考文獻1 Intel.MCS-51 Family of Single Chip MicrocomputersM.New York: EnglewoodCliffs

46、,1990:1-23. 2童詩白,華成英.模擬電子技術(shù)基礎(chǔ)M. 北京:高等教育出版社,2001. 3尹建華,張惠群.微型計算機原理與接口技術(shù)M. 北京:高等教育出版社,2003. 4譚浩強,張基溫,唐永炎.C語言程序設(shè)計教程M. 北京:高等教育出版社,1992. 5趙文博,劉文濤.單片機程序設(shè)計M. 北京:人民郵電出版社,2005. 6劉文濤,單片機語言典型應(yīng)用設(shè)計M. 北京:人民郵電出版社,2005. 7王增福,魏永明.新編線性直流穩(wěn)壓電源M. 北京:電子工業(yè)出版社,2004. 8Keith H.Billings,C.Eng.,M.I.E.E.,SWITCHMODE POWER SUPPLY

47、 HANDBOOKM,HammondManufacturing Company,Ltd,2005. 9 范立南. 單片微型計算機控制系統(tǒng)設(shè)計M . 北京:人民郵電出版社,2004. 10蔡明生. 電子設(shè)計M . 北京:高等教育教育出版社,2004.11Intel.MCS-51 Family of Single Chip MicrocomputersM.New York: EnglewoodCliffs,1990. 12Intel.8-bit Embedded MicrocontrollersM. New York: Englewood Cliffs,1995.13胡桂陽.用單片機制作直流穩(wěn)壓可

48、調(diào)電源J.電子世界,2005.14肖金球.單片機原理與接口技術(shù)M.北京:清華大學(xué)出版社,2004.15毛敏.MCS-51系列單片機系統(tǒng)及應(yīng)用實踐教程M.北京:高等教育出版社,2006. 致 謝本設(shè)計是在我的指導(dǎo)老師陳淑靜老師的悉心指導(dǎo)下完成的,她嚴(yán)肅的科學(xué)態(tài)度一直在激勵著我。從題目的選擇到最終完成設(shè)計,她都給我細心的指導(dǎo)和不懈的支持。她淵博的知識、開闊的視野和敏銳的思維給了我深深的啟迪。另外,我還要特別感謝一些同學(xué)對我的無私幫助,使我得以順利完成論文,在此我衷心地感謝他們。 最后,我要感謝我的父母,同時再次對關(guān)心、幫助我的老師和同學(xué)們表示衷心地感謝!附錄電路總圖一:電路總圖二: 數(shù)字式可調(diào)穩(wěn)壓

49、電源程序:#include "AT89x52.h"#define key_point P3#define disp_point P0#define DA P1#define l1 P2_7#define l2 P2_6#define l3 P2_5void delay10ms(void); void num_key(unsigned char shuma);void key(void);void add1(void);void dec1(void);void add01(void);void dec01(void);void select(void);void shuchu

50、(void);static unsigned char bit_shuma=0;static unsigned char num1=0;static unsigned char num2=5;static unsigned char num3=0;unsigned char shezhi=0; unsigned char led_010=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; unsigned char led_110=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10; /主程序/v

51、oid main(void) TMOD=0x11; TH0=(65536-5000)/256; TL0=(65536-5000)%25; EA=1; ET0=1; TR0=1; shuchu(); while(1) key(); /鍵盤掃描程序/void key(void) unsigned char X,Y,Z; while(Y=key_point); key_point=0xff; key_point=0x0f; if(key_point!=0x0f) delay10ms(); if(key_point!=0x0f) X=key_point; key_point=0xf0; Y=key_p

52、oint; Z=X|Y; else Z=0; switch(Z) case 0x00:break;case 0xb7:num_key(0);break; /數(shù)字鍵 case 0x7e:num_key(1);break;case 0xbe:num_key(2);break;case 0xde:num_key(3);break;case 0x7d:num_key(4);break;case 0xbd:num_key(5);break;case 0xdd:num_key(6);break;case 0x7b:num_key(7);break;case 0xbb:num_key(8);break;case 0xdb:num_key(9);break;case 0x77:select();break; /設(shè)置鍵case 0xd7:shuchu();break; /確認鍵case 0xee:add1();break; /步進加1case 0xed:dec1();break; /步進減1case 0xeb:add01();break; /步進加0.1case 0xe7:dec01();break; /步進減0.1 /數(shù)字鍵處理程序/void num

溫馨提示

  • 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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論