版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 畢業(yè)設(shè)計[論文]任務(wù)書</p><p> 姓名 XXXX 班號 院系 </p><p> 同組姓名 指導(dǎo)教導(dǎo) </p><p> 課題名稱(論文標題)</p><p> 基于單
2、片機的直流穩(wěn)壓電源</p><p><b> 二、 課題內(nèi)容</b></p><p> 本次設(shè)計的課題采用廉價適用型單片機主控(c8051系列)通過其SPI單元 發(fā)送SPI總線信號控制10位精度DAC產(chǎn)生0~5V可調(diào)電壓輸出,由于許多工業(yè)現(xiàn)場需要的電壓范圍比較高,后級需要發(fā)大其信號到0~10V ,最后級放大根據(jù)輸出功率,輸出精度,輸出紋波,零漂大小,選用ADI公司
3、的高精密,大功率,低零漂放大器。 該直流穩(wěn)壓電源可以用于高精度,低紋波需求場合。</p><p> 這篇論文是經(jīng)我國現(xiàn)行的各有關(guān)規(guī)范,規(guī)程和技術(shù)標準為依據(jù)。此設(shè)計是一個初步設(shè)計,在參考有關(guān)資料和書籍的基礎(chǔ)上,完成設(shè)計任務(wù)書上的所有要求,并且在指導(dǎo)老師的指導(dǎo)下,力爭使設(shè)計方案達到最優(yōu)狀況。</p><p><b> 三、課題任務(wù)要求</b></p>&
4、lt;p> 1、系統(tǒng)的設(shè)計要求和方案選擇。</p><p><b> 2、系統(tǒng)硬件設(shè)計。</b></p><p><b> 3、系統(tǒng)軟件設(shè)計。</b></p><p><b> 四、同組設(shè)計者</b></p><p><b> 無</b>&
5、lt;/p><p><b> 五、主要參考文獻</b></p><p> [1] 李朝青.單片機原理及接口技術(shù)[M].北京:北京航空航天大學(xué)出版社,2005年.</p><p> [2] 白雪冰,張延林,等.單片機原理及應(yīng)用[M].哈爾濱:東北林業(yè)大學(xué)出版社,2006年.</p><p> [3] 謝運祥,歐陽森,等
6、.電力電子單片機控制技術(shù)[M].北京:機械工業(yè)出版社.2007年.</p><p> [4] 王昊,李昕.集成運放應(yīng)用電路設(shè)計360例[M].北京:電子工業(yè)出版社,2007年.</p><p> [5] 王洪業(yè).傳感器技術(shù)[M].長沙:湖南科學(xué)技術(shù)出版社,1995年.</p><p> [6] 鄭爭兵,基于單片機與AD590的溫度測量報警系統(tǒng)[J].國外電子測
7、量技術(shù) 2007.21(6):64 - 66</p><p> [7] 鐘曉偉,宋蟄存.基于單片機的實驗室溫濕度控制系統(tǒng)設(shè)計[J].林業(yè)機械與木工設(shè)備.2010,38(1).39 – 42</p><p> [8] 劉寶元,張玉虹,等.基于單片機的溫濕度監(jiān)控系統(tǒng)設(shè)計[J].中國科技核心期刊.2009,28(12).77 – 83 </p><p> 指導(dǎo)教師簽
8、字 </p><p> 教研室主任簽字 </p><p> 年 月 日</p><p><b> 摘 要</b></p><p> 數(shù)控直流穩(wěn)壓源就是能用數(shù)字來控制電源輸出電壓的大小,而且能使輸出的直流電壓能保持穩(wěn)定、精確的直流電壓源;數(shù)控電源是針對傳統(tǒng)電源
9、的不足設(shè)計的,數(shù)字化能夠減少生產(chǎn)過程中的不確定因素和人為參與的環(huán)節(jié)數(shù),有效地解決電源模塊中諸如可靠性、智能化和產(chǎn)品一致性等工程問題,極大地提高生產(chǎn)效率和產(chǎn)品的可維護性,市場前景廣闊。在本文中控制部分主要以8051單片機為核心制作控制電路,穩(wěn)壓部分主要以LM117為核心制作三端穩(wěn)壓電路,顯示部分采用數(shù)碼管顯示,輸入采用鍵盤式輸入再加一個驅(qū)動電路;通過軟件編程有效的實現(xiàn)可控、可顯的電源輸出。</p><p> 關(guān)鍵
10、詞:直流穩(wěn)壓電源;8051單片機;數(shù)碼管顯示</p><p><b> 目 錄</b></p><p> 設(shè)計任務(wù)書………………………………………………………………………………......1</p><p> 摘要 …………………………………………………………………………………………..3</p><p> 1
11、引言………………………………………………………………………………………...5</p><p> 數(shù)控電源的發(fā)展史………………………………………………………………………5</p><p> 數(shù)控電源的應(yīng)用范圍……………………………………………………………………5</p><p> 數(shù)控電源的優(yōu)點…………………………………………………………………………6<
12、/p><p> 2 系統(tǒng)的設(shè)計要求和方案選擇…………………………….…………………………………7</p><p> 2.1 設(shè)計要求…………………………………………………………………………………7</p><p> 2.2 方案論證與比較…………………………………………………………………………7</p><p> 3 系統(tǒng)硬件設(shè)計……
13、………………………………..………………………………...………8</p><p> 3.1 系統(tǒng)設(shè)計……………………………………………………………………………..….9</p><p> 3.2 微控制器模塊…………………………………………………………………….…….9</p><p> 3.3 電源模塊………………………………………………………
14、…………………....….10</p><p> 3.4 調(diào)壓電阻網(wǎng)絡(luò)……………………………………………………………………….…11</p><p> 3.5 顯示電路…………………………………………………………………………..…...12</p><p> 3.6 鍵盤電路……………………………………………………………………………….13<
15、/p><p> 4 系統(tǒng)軟件設(shè)計……………………..……………………………...………………..…….…14</p><p> 4.1 主程序………………………………………………………………………………….14</p><p> 4.2 掃描鍵盤程序……………………………………………………………….…...…….20</p><p>
16、; 4.3 顯示驅(qū)動程序……………………………………………………………………….....21</p><p> 5 總結(jié)……………………………………..………………………………………………..…26</p><p> 6 致謝……………………..…………………………………………………………………..27</p><p> 7 參考文獻……………………..
17、………………………………………………..……………28</p><p><b> 1.引 言</b></p><p><b> 數(shù)控電源的發(fā)展史</b></p><p> 電源技術(shù)尤其是數(shù)控電源技術(shù)是一門實踐性很強的工程技術(shù),服務(wù)于各行各業(yè)。電力電子技術(shù)是電能的最佳應(yīng)用技術(shù)之一。當今電源技術(shù)融合了電氣、電子、系統(tǒng)集成
18、、控制理論、材料等諸多學(xué)科領(lǐng)域。隨著計算機和通訊技術(shù)發(fā)展而來的現(xiàn)代信息技術(shù)革命,給電力電子技術(shù)提供了廣闊的發(fā)展前景,同時也給電源提出了更高的要求。</p><p> 隨著數(shù)控電源在電子裝置中的普遍使用,普通電源在工作時產(chǎn)生的誤差,會影響整個系統(tǒng)的精確度。電源在使用時會造成很多不良后果,世界各國紛紛對電源產(chǎn)品提出了不同要求并制定了一系列的產(chǎn)品精度標準。只有滿足產(chǎn)品標準,才能夠進入市場。隨著經(jīng)濟全球化的發(fā)展,滿足國
19、際標準的產(chǎn)品才能獲得進出的通行證。</p><p> 數(shù)控電源是從80年代才真正的發(fā)展起來的,期間系統(tǒng)的電力電子理論開始建立。這些理論為其后來的發(fā)展提供了一個良好的基礎(chǔ)。在以后的一段時間里,數(shù)控電源技術(shù)有了長足的發(fā)展。但其產(chǎn)品存在數(shù)控程度達不到要求、分辨率不高、功率密度比較低、可靠性較差的缺點。因此數(shù)控電源主要的發(fā)展方向,是針對上述缺點不斷加以改善。單片機技術(shù)及電壓轉(zhuǎn)換模塊的出現(xiàn)為精確數(shù)控電源的發(fā)展提供了有利的
20、條件。新的變換技術(shù)和控制理論的不斷發(fā)展,各種類型專用集成電路、數(shù)字信號處理器件的研制應(yīng)用。</p><p> 到90年代,己出現(xiàn)了數(shù)控精度達到0.05V的數(shù)控電源,功率密度達到每立方英寸50W的數(shù)控電源。從組成上,數(shù)控電源可分成器件、主電路與控制等三部分。目前在電力電子器件方面,幾乎都為旋紐開關(guān)調(diào)節(jié)電壓,調(diào)節(jié)精度不高,而且經(jīng)常跳變,使用麻煩。數(shù)字化智能電源是針對傳統(tǒng)電源的不足設(shè)計的,數(shù)字化能夠減少生產(chǎn)過程中的不
21、確定因素和人為參與的環(huán)節(jié)數(shù),有效地解決電源模塊中諸如可靠性、智能化和產(chǎn)品一致性等工程問題,極大地提高生產(chǎn)效率和產(chǎn)品的可維護性。</p><p><b> 數(shù)控電源的應(yīng)用范圍</b></p><p> 在家用電器和其他各類電子設(shè)備中,通常都需要電壓穩(wěn)定的直流電源供電。但在實際生活中,都是由220V 的交流電網(wǎng)供電。這就需要通過變壓、整流、濾波、穩(wěn)壓電路將交流電轉(zhuǎn)換成
22、穩(wěn)定的直流電。濾波器用于濾去整流輸出電壓中的紋波,一般傳統(tǒng)電路由濾波扼流圈和電容器組成,若由晶體管濾波器來替代,則可縮小直流電源的體積,減輕其重量,且晶體管濾波直流電源不需直流穩(wěn)壓器就能用作家用電器的電源,這既降低了家用電器的成本,又縮小了其體積,使家用電器小型化。傳統(tǒng)的直流穩(wěn)壓電源通常采用電位器和波段開關(guān)來實現(xiàn)電壓的調(diào)節(jié),并由電壓表指示電壓值的大小. 因此,電壓的調(diào)整精度不高,讀數(shù)欠直觀,電位器也易磨損.而基于單片機控制的直流穩(wěn)壓電源
23、能較好地解決以上傳統(tǒng)穩(wěn)壓電源的不足。</p><p> 從上世紀九十年代末起,隨著對系統(tǒng)更高效率和更低功耗的需求,電信與數(shù)據(jù)通訊設(shè)備的技術(shù)更新推動電源行業(yè)中直流/直流電源轉(zhuǎn)換器向更高靈活性和智能化方向發(fā)展。整流系統(tǒng)由以前的分立元件和集成電路控制發(fā)展為微機控制, 從而使直流電源智能化, 基本實現(xiàn)了直流電源的無人值守 。直流穩(wěn)壓電源是最常用的儀器設(shè)備, 在科研及實驗中都是必不可少的。數(shù)控電源采用按鍵盤,可
24、對輸出電壓進行設(shè)置, 輸出由單片機通過D/A,控制驅(qū)動模塊輸出一個穩(wěn)定電壓。同時穩(wěn)壓方法采用單片機控制, 單片機通過A/D 采樣輸出電壓, 與設(shè)定值進行比較, 若有偏差則調(diào)整輸出, 越限則輸出報警信號并截流。工作過程中, 穩(wěn)壓電源的工作狀態(tài)(輸出電壓、電流等各種工作狀態(tài)) 均由單片機輸出驅(qū)動LCD顯示, 由鍵盤控制進行動態(tài)邏輯切換。以單片機為核心的智能化高精度簡易直流電源的設(shè)計,電源采用數(shù)字調(diào)節(jié)、輸出精度高, 特別適用于各種有較高精度要
25、求的場合。</p><p><b> 數(shù)控電源的優(yōu)點</b></p><p> (1)易于采用先進的控制方法和智能控制策略,使電源模塊的智能化程度更高,性能更完美。</p><p> (2)控制靈活,系統(tǒng)升級方便,甚至可以在線修改控制算法,而不必改動硬件線路。</p><p> (3)控制系統(tǒng)的可靠性提高,易于標
26、準化,可以針對不同的系統(tǒng)(或不同型號的產(chǎn)品),采用統(tǒng)一的控制板,而只是對控制軟件做一些調(diào)整即可。</p><p> 2.系統(tǒng)的設(shè)計要求和方案選擇</p><p><b> 設(shè)計要求</b></p><p> 系統(tǒng)電壓調(diào)節(jié)范圍為0~12V,最大輸出電流1A,具有過載和短路保護功能。輸出電壓可用1602LCD液晶顯示。鍵盤設(shè)有6個鍵,復(fù)位鍵,
27、步進增減1V兩個鍵,步進增減0.1V兩個鍵以及確認鍵。復(fù)位鍵用于啟動參數(shù)設(shè)定狀態(tài)(5V),步進增減鍵用于設(shè)定參數(shù)數(shù)值,確認鍵用于確認輸出設(shè)定值.</p><p> 電源開機設(shè)定電壓輸出默認值為5V。通過步進增減按鍵功能選擇可在不同的設(shè)定參數(shù)之間切換,再按確認鍵進入設(shè)定電壓輸出狀態(tài)。若按復(fù)位鍵,則電壓輸出恢復(fù)5V。系統(tǒng)設(shè)有自動識別功能,將不接受超出使用范圍(0~12V)的設(shè)定值</p><p&
28、gt;<b> 方案論證與比較</b></p><p> 2.2.1穩(wěn)壓電源的選擇</p><p> 方案一:簡單的并聯(lián)型穩(wěn)壓電源</p><p> 并聯(lián)型穩(wěn)壓電源的調(diào)整元件與負載并聯(lián),因而具有極低的輸出電阻,動態(tài)特性好,電路簡單,并具有自動保護功能;負載短路時調(diào)整管截止,可靠性高,但效率低,尤其是在小電流時調(diào)整管需承受很大的電流,損耗
29、過大。</p><p> 方案二:串聯(lián)型穩(wěn)壓電源</p><p> 并聯(lián)穩(wěn)壓電源有效率低、輸出電壓調(diào)節(jié)范圍小和穩(wěn)定度不高這三個缺點。而串聯(lián)穩(wěn)壓電源可以避免這些缺點,同時串聯(lián)穩(wěn)壓電源可以通過三端穩(wěn)壓實現(xiàn),而且這類芯片內(nèi)部都有過流和過熱的保護電路,例如W117,其額定電流可達1.5A,輸出電壓的調(diào)節(jié)范圍為1.2-37V,內(nèi)部有過流和過熱保護電路,而且價格也的相當便宜如圖2.1所示,所以綜合
30、考慮采用方案二。</p><p><b> 圖2.1三端穩(wěn)壓器</b></p><p> 2.2.2 數(shù)字顯示方案</p><p> 方案一:液晶顯示器顯示</p><p> 利用單片機的軟硬件資源實現(xiàn)高精度高速A/D轉(zhuǎn)換,轉(zhuǎn)換精度和轉(zhuǎn)換速度可以通過軟件來改變。但是對軟件部分要求非常高不易實現(xiàn)。</p>
31、;<p><b> 方案二:數(shù)碼管顯示</b></p><p> 數(shù)碼管顯示分為靜態(tài)顯示和動態(tài)顯示兩種,但是不管哪種顯示都具有結(jié)構(gòu)簡單、易于實現(xiàn)等優(yōu)點。同時采用3位數(shù)碼管完全可以滿足本設(shè)計的要求。在用8051控制的同時,可以簡化軟件程序,快速實現(xiàn)。所以本設(shè)計中采用數(shù)碼管顯示。</p><p><b> 3.系統(tǒng)硬件設(shè)計</b>
32、</p><p><b> 系統(tǒng)設(shè)計</b></p><p> 由于本設(shè)計的輸入為220V的交流電電壓,所以必須先經(jīng)過整流濾波電路然后經(jīng)過三端穩(wěn)壓器的處理輸出直流穩(wěn)定的電壓,當然在輸出前還得有單片機的控制才可以輸出。在控制中單片機通過接受來自鍵盤的指令信號,并且通過數(shù)碼顯示器顯示當前值,然后由單片機發(fā)出控制信號控制接口和驅(qū)動電路來控制穩(wěn)壓器的輸出,通過數(shù)碼顯示器顯
33、示輸出值。具體的系統(tǒng)圖如圖3.1所示。</p><p><b> 圖3.1系統(tǒng)流程圖</b></p><p><b> 微控制器模塊</b></p><p> 3.2.1 8051單片機的性能</p><p> AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—Fals
34、h Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。</p><p><
35、b> 主要特性為:</b></p><p> (1)與MCS-51 兼容 (2)4K字節(jié)可編程閃爍存儲器 (3)壽命:1000寫/擦循環(huán)(4)數(shù)據(jù)保留時間:10年(5)全靜態(tài)工作:0Hz-24Hz(6)三級程序存儲器鎖定(7)128*8位內(nèi)部RAM(8)32可編程I/O線(9)兩個16位定時器/計數(shù)器(10)5個中斷源 (11)可編程串行通道(12)低功耗的閑置和掉電模
36、式(13)片內(nèi)振蕩器和時鐘電路</p><p> 3.2.2 8051單片機的最小系統(tǒng)</p><p> 對于一個完整的電子設(shè)計來講,首要問題就是為整個系統(tǒng)提供電源供電模塊,電源模塊的穩(wěn)定可靠是系統(tǒng)平穩(wěn)運行的前提和基礎(chǔ)。51單片機雖然使用時間最早、應(yīng)用范圍最廣,但是在實際使用過程中,一個和典型的問題就是相比其他系列的單片機,51單片機更容易受到干擾而出現(xiàn)程序跑飛的現(xiàn)象,克服這種現(xiàn)象出
37、現(xiàn)的一個重要手段就是為單片機系統(tǒng)配置一個穩(wěn)定可靠的電源供電模塊。在次最小系統(tǒng)中包含了復(fù)位電路、振蕩電路和供電電路。如圖3.2所示。</p><p> 圖3.2單片機最小系統(tǒng)</p><p><b> 電源模塊</b></p><p> 3.3.1單片機供電模塊</p><p> 為了滿足單片機的正常工作,必須給其
38、提供+5v的直流電源,所以設(shè)計一個可以使用usb的5v直流供電電路,具體電路如圖3.3所示。</p><p> 圖3.3單片機供電圖</p><p> 3.3.2整流濾波電路和+5v供電模塊</p><p> 整流電路采用橋式電路,整流管采用普遍使用橋堆。根據(jù)使用手冊可知W7805的輸入端電壓為9V,W117的輸入電壓為25V,具體電路如圖3.4所示。<
39、/p><p> 圖3.4輔助電源模塊</p><p><b> 調(diào)壓電阻網(wǎng)絡(luò)</b></p><p> 3.4.1W117的調(diào)壓電阻網(wǎng)絡(luò)</p><p> 根據(jù)w117的基本功能,調(diào)壓電阻網(wǎng)絡(luò)可采用如圖3.4所示電路。這里的電阻網(wǎng)絡(luò)采用分立元件組成的8為權(quán)電阻串聯(lián)式網(wǎng)絡(luò),而開關(guān)采用舌簧式繼電器的觸點。為了使W117正
40、常工作,要求流過R1的電流不小于5mA,而R1兩端的電壓為恒定的1.25v,所以若取流過R1的電流為5mA,則R1=1.25V/5mA=250,為了滿足調(diào)節(jié)單位為0.1v,故R=0.1/5mA=20,則可以求得該網(wǎng)絡(luò)的其他電阻值。</p><p> 圖3.5 W117的調(diào)壓電阻網(wǎng)絡(luò)</p><p> 3.4.2繼電器的驅(qū)動電路</p><p> 由于要驅(qū)動8個
41、繼電器,而繼電器的吸合電流可達10mA,觸點吸合時間為1~2ms,所以每個繼電器可采用一個晶體管來驅(qū)動,不再詳細計算,具體電路如圖3.5所示。</p><p> 圖3.6繼電器驅(qū)動電路</p><p> 3.4.3 顯示電路</p><p> 在顯示電路中分為靜態(tài)顯示和動態(tài)顯示,由于本設(shè)計是要求采用三位數(shù)碼管,而靜態(tài)顯示無法滿足設(shè)計的需要,故在本設(shè)計中采用并聯(lián)
42、動態(tài)顯示。圖3.5是動態(tài)顯示的原理圖,只要有一位接通過單片機的掃描讓每位選線輪流選通,同時在段選線上送出該位要顯示的段位碼。</p><p> 圖3.7系統(tǒng)顯示電路</p><p><b> 3.5 鍵盤電路</b></p><p> 鍵盤控制電路分為獨立式和矩陣式,由于本設(shè)計的要求不是特別的高,加上獨立式按鍵結(jié)構(gòu)電路簡單易于實現(xiàn)的特點,
43、所以在本設(shè)計中采用獨立式按鍵結(jié)構(gòu)。電路結(jié)構(gòu)如圖3.6。</p><p> 圖3.8獨立按鍵式結(jié)構(gòu)圖</p><p><b> 系統(tǒng)軟件設(shè)計</b></p><p><b> 主程序</b></p><p><b> C語言程序如下:</b></p><
44、;p> #include <REGX51.H></p><p> Unsigned char</p><p> led[15]={0x6f,0x7f,0x07,0x7d,0x6d,0x66,0x4f,0x5b,0x06,0x3f,0x39,0x52,0x64,0x37,0x0e};</p><p> // 9 8 76 5
45、 4 32 1 0 </p><p> void main()//主函數(shù)</p><p><b> {</b></p><p> void ledout(unsigned char ATA,char add,char j);</p><p> void delays(unsign
46、ed char t);</p><p> unsigned char odata,key,temp;</p><p> unsigned int F,f=0x100; //初始頻率</p><p> char add=0,j=1;</p><p> odata = 155; //電壓初值為5v</p><p>
47、;<b> j=1;</b></p><p><b> while(1)</b></p><p><b> {</b></p><p> for(F=f;F<0x110;F++)</p><p><b> {</b></p>
48、<p><b> P3=0xff;</b></p><p><b> key=P3;</b></p><p> if (key!=0xff)</p><p><b> {</b></p><p> unsigned char i;</p>&l
49、t;p> for(i=0;i<10;i++)</p><p><b> {</b></p><p> ledout(odata,add,j);</p><p> delays(10);</p><p> ledout(odata,add,-j);</p><p> dela
50、ys(10);</p><p><b> }</b></p><p><b> key=P3;</b></p><p> if (key==0xff) break;</p><p> for(i=0;i<10;i++)</p><p><b> {&
51、lt;/b></p><p> ledout(odata,add,j);</p><p> delays(10);</p><p> ledout(odata,add,-j);</p><p> delays(10);</p><p><b> }</b></p>&
52、lt;p> if(add==0) temp=odata; //記錄當前電壓值</p><p> switch(key)</p><p><b> { </b></p><p> case 0x7f: if (add==0)</p><p> if(odata>57)</p>
53、<p> odata=odata-2; //電壓加0.1V</p><p><b> break;</b></p><p> case 0xbf: if (add==0)</p><p> if(odata<255)</p><p> odata=odata+2;</p>
54、;<p><b> break;</b></p><p> case 0xdf: if(add==0)</p><p> { //三角波</p><p> f=0x100; //1時為頻率最高,最大允許256</p><p> odata=155; </p&g
55、t;<p><b> add=1;</b></p><p><b> } </b></p><p> else if(add==1) </p><p> {//方波</p><p> //f=f*200; //頻率跟隨</p>
56、;<p><b> f=0x100;</b></p><p> odata=55; </p><p><b> add=200;</b></p><p><b> } </b></p><p> else if(add==-1)<
57、/p><p><b> {</b></p><p> //f=f*200;</p><p> f=0x100; </p><p> odata=55; </p><p><b> add=200;</b></p><p>
58、<b> }</b></p><p> else if(add==200) </p><p> {//直流電壓</p><p> add=0; </p><p> odata=temp;//電壓記憶恢復(fù)</p><p><b> }</b&
59、gt;</p><p><b> else</b></p><p><b> {</b></p><p> add=0; </p><p> odata=temp;</p><p><b> }</b></p><
60、;p><b> break;</b></p><p> case 0xef: if(add!=0)</p><p><b> {</b></p><p> f=f/2; //頻率頻率加</p><p><b> if (f==1)</b></p&
61、gt;<p> if(add==1)</p><p><b> f=0x100;</b></p><p> else f=0x3200;</p><p><b> }</b></p><p><b> break;</b></p><
62、p><b> }</b></p><p><b> }</b></p><p> if(odata==255)</p><p><b> add=-add;</b></p><p> odata=odata+add;</p><p>
63、if(odata==55)</p><p><b> add=-add;</b></p><p> P0=odata; //送數(shù)據(jù)</p><p><b> }</b></p><p> ledout(odata,add,j); //送顯示</p><
64、p><b> j=-j;</b></p><p><b> }</b></p><p> }</p><p> void ledout(unsigned char ATA,char add,char j)</p><p><b> {</b>&
65、lt;/p><p> unsigned char DH,DL,temp;</p><p> switch(add)</p><p><b> {</b></p><p><b> case 0:</b></p><p><b> {</b><
66、/p><p> temp=((ATA-55)/2)-1; //十進制轉(zhuǎn)換</p><p> DH=temp/10;</p><p> DL=temp%10;</p><p><b> }break;</b></p><p><b> case 1:</b></
67、p><p><b> {</b></p><p><b> DH=11;</b></p><p><b> DL=12;</b></p><p><b> }break;</b></p><p><b> case
68、-1:</b></p><p><b> {</b></p><p><b> DH=11;</b></p><p><b> DL=12;</b></p><p><b> }break;</b></p><p&g
69、t;<b> case 200:</b></p><p><b> {</b></p><p><b> DH=13;</b></p><p><b> DL=14;</b></p><p><b> }break;</b>
70、</p><p> case -200:</p><p><b> {</b></p><p><b> DH=13;</b></p><p><b> DL=14;</b></p><p><b> }break;</b>
71、;</p><p><b> }</b></p><p><b> switch(j)</b></p><p><b> {</b></p><p><b> case 1:</b></p><p><b> {
72、</b></p><p> P1=led[DH]; //送數(shù)碼管高位顯示</p><p> P1_7=1; //動態(tài)顯示</p><p><b> }break;</b></p><p><b> case -1:</b></p><p> P
73、1=led[DL]; //送數(shù)碼管低位顯示</p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p> void delays(unsigned char t)</p>
74、<p><b> {</b></p><p> unsigned char s;</p><p> for(;t>0;t--)</p><p> for(s=0;s<255;s++);</p><p><b> }</b></p><p>&l
75、t;b> 掃描鍵盤程序</b></p><p><b> C語言程序如下:</b></p><p> #include <reg51.h></p><p> void key_deal(void)</p><p> {unsigned char Key_value; /
76、/ 按鍵鍵值</p><p> P1 |= 0x07;// P1.0~P1.2為輸入端口</p><p> Key_value = P1 & 07;// 屏蔽P1口高5位,取鍵值</p><p> switch (Key_value){</p><p> case 6: Sub_S1();break;// S
77、1按鍵按下,執(zhí)行對應(yīng)子程序 </p><p> case 5: Sub_S2();break;// S2按鍵按下,執(zhí)行對應(yīng)子程序 </p><p> case 3: Sub_S3();break;// S3按鍵按下,執(zhí)行對應(yīng)子程序 </p><p> default: break;</p><p><b> }&
78、lt;/b></p><p><b> }</b></p><p><b> 顯示驅(qū)動程序</b></p><p><b> C語言程序如下:</b></p><p> #include <reg51.h></p><p>
79、#include <absacc.h></p><p> #include <Adc_Temp.h></p><p> code uchar disp_seg[]=</p><p> {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7c,0x39,0x5f,0x79,0
80、x71,0x40,0x00,0xff,0xf3};</p><p> // 0 1 2 3 4 5 6 7 8 9 a b c d e f - 全滅, 全亮, P.</p><p> //定義顯示緩沖區(qū)(由定時中斷程序自動掃描)</p><p> uchar DispBuf[
81、8]; //8位數(shù)碼管顯示的數(shù)字碼(顯示段碼的偏移量)</p><p> uchar bdata key_flag=0; //定義鍵盤狀態(tài)標志位</p><p> sbit key_first_flag = key_flag^0;</p><p> sbit key_delay_flag = key_flag^1;</
82、p><p> sbit key_valid_flag = key_flag^2;</p><p> uchar key_value; //key_value=0: no key, or key_value=1-8 stand for key1-key8</p><p> void DispInit(); //數(shù)碼管掃描顯
83、示初始化</p><p> void DispClear(); //清除數(shù)碼管的所有顯示</p><p> void DispP(); //顯示"P. "</p><p> //在數(shù)碼管位置x(0~7)處顯示字符c(僅限十進制數(shù)字和減號)</p><p> //void
84、 DispChar(unsigned char x, unsigned char y);</p><p> //顯示指定位置x(0~7)處的小數(shù)點</p><p> //void DispDotOn(unsigned char x);</p><p><b> /*</b></p><p> 函數(shù):T1INTSV
85、C()</p><p> 功能:定時器T0的中斷服務(wù)函數(shù) </p><p><b> */</b></p><p> void T1INTSVC() interrupt 1 using 1 // interrupt 3 for T1</p><p><b> {</
86、b></p><p> code uchar com[] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};</p><p> static uchar key_value_temp, n = 0;</p><p> uchar key_in,i;</p><p><b> TR0
87、 = 0;</b></p><p> TH0 = 0xf8; // 0xfc66:1ms for 11.0592MHz, oxf8cd:2ms, 0xB800:20ms, 0x4C00:50ms</p><p> TL0 = 0xcd;</p><p> P1 = 0xFF; //暫停顯示</p><
88、p> if ( (DispBuf[n]&0x80) == 0x80 ) //帶小數(shù)點顯示</p><p> { DispBuf[n] = DispBuf[n]&0x7f;</p><p> LED_OUT = ~(disp_seg[DispBuf[n]] | 0x80);//更新掃描數(shù)據(jù)</p><p><b>
89、}</b></p><p><b> else</b></p><p> LED_OUT = ~disp_seg[DispBuf[n]];//更新掃描數(shù)據(jù)</p><p> P1 = ~com[n]; //重新顯示</p><p> if(key_first_flag==0)
90、 </p><p> { </p><p> key_in = KEY_IN;</p><p> if(key_in!=0xff) //初次檢測到有鍵按下</p><p><b> { </b></p><p> for(i=0; i<n
91、; i++) //n:當前掃描鍵</p><p> key_in = key_in>>1;</p><p> if( (key_in&0x01)==0x00 )//若鍵按下,對應(yīng)KEY_IN的輸入口讀入狀態(tài)位為0</p><p><b> {</b></p><p> key_first
92、_flag = 1;//置標志</p><p> key_value_temp = i;//暫存</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> else if
93、(key_delay_flag==0 && n==key_value_temp)</p><p><b> {</b></p><p> key_in = KEY_IN; </p><p> for(i=0; i<n; i++)</p><p> key_in = key_in>
94、>1;</p><p> if( (key_in&0x01)==0x00 ) //經(jīng)過一輪掃描后(8*2ms=16ms),第一次按下的鍵仍被按下</p><p> key_delay_flag = 1;</p><p><b> }</b></p><p> else if(key_delay
95、_flag==1 && n==key_value_temp)</p><p><b> {</b></p><p> key_in = KEY_IN;</p><p> for(i=0; i<n; i++)</p><p> key_in = key_in>>1;</p&g
96、t;<p> if( (key_in&0x01)==0x01 ) //再經(jīng)過一輪掃描后,按鍵已釋放:則為有效鍵</p><p><b> {</b></p><p> key_valid_flag = 1;</p><p> key_value = key_value_temp+1;</p>&
97、lt;p><b> }</b></p><p><b> }</b></p><p><b> n++;</b></p><p> n &= 0x07; -////////////////////////////------------------------------
98、-----------------------------------------;</p><p><b> TR0 = 1;</b></p><p><b> }</b></p><p><b> /*</b></p><p> 函數(shù):DispClear()<
99、/p><p> 功能:清除數(shù)碼管的所有顯示</p><p><b> */</b></p><p> void DispClear()</p><p><b> {</b></p><p> unsigned char i;</p><p>
100、for ( i=0; i<8; i++ )</p><p><b> {</b></p><p> DispBuf = 0x11; //0x00;</p><p><b> }</b></p><p><b> }</b></p><p&
101、gt;<b> /*</b></p><p> 函數(shù):DispP()</p><p> 功能:顯示"P. ",即最高為顯示"P.",其余顯示滅</p><p><b> */</b></p><p> void DispP()</p&
102、gt;<p><b> {</b></p><p> DispClear();</p><p> DispBuf[7] = 0x13; //0xf3;</p><p><b> }</b></p><p><b> /*</b></p>
103、<p> 函數(shù):DispChar()</p><p> 功能:在數(shù)碼管上顯示字符</p><p><b> 參數(shù):</b></p><p> x:數(shù)碼管的坐標位置(0~7,0為高位,7為低位)</p><p> y:要顯示的字符,c=0~19(僅限十進制數(shù)字和減號)</p><
104、p><b> */</b></p><p><b> /*</b></p><p> void DispChar(unsigned char x, unsigned char y)</p><p><b> {</b></p><p> //0123456789
105、,-,全滅,全亮的數(shù)碼管字型數(shù)據(jù)</p><p> // code unsigned char Tab[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x40,0x00,0xff};</p><p> DispBuf[x] = disp_seg[y]; //Tab[x];</p><p>
106、;<b> }</b></p><p><b> */</b></p><p><b> /*</b></p><p> 函數(shù):DispDotOn()</p><p> 功能:顯示指定位的小數(shù)點</p><p> 參數(shù):x為數(shù)碼管坐標<
107、/p><p><b> */</b></p><p><b> /*</b></p><p> void DispDotOn(unsigned char x)</p><p><b> {</b></p><p> DispBuf[7-x] |=
108、0x80;</p><p><b> }</b></p><p><b> */</b></p><p><b> /*</b></p><p> 函數(shù):DispInit()</p><p> 功能:數(shù)碼管掃描顯示初始化</p>
109、<p><b> */</b></p><p> void DispInit()</p><p><b> {</b></p><p> DispClear();</p><p><b> EA = 0;</b></p><p>
110、TMOD &= 0xf0; //0x0F;</p><p> TMOD |= 0x01; //0x10;</p><p> TH0 = 0xf8; // 0xfc66:1ms for 11.0592MHz, oxf8cd:2ms, 0xB800:20ms, 0x4C00:50ms</p><p> TL0 = 0xcd;<
111、;/p><p><b> TR0 = 1;</b></p><p><b> ET0 = 1;</b></p><p><b> EA = 1;</b></p><p><b> }</b></p><p><b>
112、 總 結(jié)</b></p><p> 在本次設(shè)計的過程中,我發(fā)現(xiàn)很多的問題,給我的感覺就是很難,很不順手,看似很簡單的電路,要動手把它給設(shè)計出來,是很難的一件事,主要原因是我沒有經(jīng)常動手設(shè)計過電路,還有資料的查找也是一大難題,這就要求我在以后的學(xué)習中,應(yīng)該注意到這一點,更重要的是我要學(xué)會把從書本中學(xué)到的知識和實際的電路聯(lián)系起來,這不論是對我以后就業(yè)還是學(xué)習,都會起到很大的促進和幫助,我相信,通過這次的
113、畢業(yè)設(shè)計,在以后的學(xué)習中我會更加努力,力爭把這專業(yè)學(xué)好,學(xué)精。</p><p> 在本次設(shè)計過程中,對紋波也沒有提出嚴格要求,所以常用的穩(wěn)壓集成電路就可以滿足要求。在電路中采用了模擬器件和數(shù)字器件所以需要+5V、和-15V 電源供電。本設(shè)計輸出的電壓穩(wěn)壓精度高,可以用在對直流電壓要求較高的設(shè)備上,或在科研實驗室中當作實驗電源使用。</p><p> 同時,通過本次畢業(yè)設(shè)計,鞏固了我學(xué)習
114、過的專業(yè)知識,也使我把理論與實踐從真正意義上相結(jié)合了起來;考驗了我借助互聯(lián)網(wǎng)絡(luò)搜集、查閱相關(guān)文獻資料和組織材料的綜合能力;從中可以自我測驗,認識到自己哪方面有欠缺、不足,以便于在日后的學(xué)習中得以改進、提高;通過使用電路CAD 軟件Multisim , 也讓我了解到計算機輔助設(shè)計(CAD)的智能化,有利于提高工作效率。</p><p> 題目是非常重要的,要選擇一個好的題目,就要滿足適合我這組制作,并且也要考慮
115、到自身能力,還有就是容易找到相關(guān)的參考資料等條件。只有符合以上所說的條件才能做出一個好的設(shè)計,所以我就選擇了《數(shù)控串聯(lián)型穩(wěn)壓電源》的設(shè)計課程。我查找了大量這方面的相關(guān)參考資料,如《電子電路實驗及仿真》,《電路與電子技術(shù)實驗教程》等,還查閱了各種所需芯片的管腳資料。在這些參考資料的基礎(chǔ)上構(gòu)想了幾個設(shè)計方案,并且確定了最后的設(shè)計方案。</p><p> 當確定了最終的設(shè)計方向以后,我就開始著手完善它的理論方案。根據(jù)
116、設(shè)計方案的內(nèi)容我畫出了具體的原理圖,進行邏輯分析和理論計算,然后去電子市場根據(jù)設(shè)計要求購買了大量所需的原器件,準備好了設(shè)計所需的一切材料</p><p> 有了這次難忘的經(jīng)歷,我覺得自己充實了許多,學(xué)到了很多東西,更重要的是我學(xué)會了如何協(xié)同合作,學(xué)會了遇到問題應(yīng)該如何解決。這將在我以后的學(xué)習和工作中起著重要的作用。</p><p><b> 致 謝</b><
117、/p><p> 經(jīng)過幾個月的忙碌,xx大學(xué)學(xué)習時光已經(jīng)接近尾聲,,從理論學(xué)習到查閱資料,設(shè)計草案的確定和修改,中期檢查,后期詳細設(shè)計,裝配草圖等整個過程中XX老師都給予了我悉心的指導(dǎo).之所以能順利完成學(xué)業(yè),并非我一人之功勞,是所有指導(dǎo)過我的老師,幫助過我的同學(xué)和一直關(guān)心支持著我的家人和單位領(lǐng)導(dǎo)對我的教誨、幫助和鼓勵的結(jié)果。我要在這里對他們表示深深的謝意!</p><p> 通過這次畢業(yè)設(shè)計
118、,讓我收益很大,既鞏固了課堂上的理論知識,又掌握了一些常用IC的使用。在此也學(xué)習到了數(shù)字系統(tǒng)設(shè)計的基本技巧與方法,學(xué)會科學(xué)的分析問題,獨立解決問題,同時培養(yǎng)了我認真嚴謹?shù)墓ぷ髯黠L。</p><p> 感謝我的指導(dǎo)老師——XXXX老師,沒有您的悉心指導(dǎo)就沒有這篇論文的順利完成。</p><p> 感謝班主任X老師,雖然相處的不久,可在學(xué)習過程中給予了很大的幫助。感謝所有教授過我課程的老師
119、們,是你們誨人不倦才有了現(xiàn)在的我。</p><p> 感謝我的父母,沒有你們,就沒有我的今天,你們的支持和鼓勵,永遠是支撐我前進的最大動力。</p><p> 在此,還要感謝在求學(xué)期間認識的所有同學(xué)和朋友們給予的幫助。</p><p><b> 參考文獻</b></p><p> [1] 李朝青.單片機原理及接口
120、技術(shù)[M].北京:北京航空航天大學(xué)出版社,2005年.</p><p> [2] 白雪冰,張延林,等.單片機原理及應(yīng)用[M].哈爾濱:東北林業(yè)大學(xué)出版社,2006年.</p><p> [3] 謝運祥,歐陽森,等.電力電子單片機控制技術(shù)[M].北京:機械工業(yè)出版社.2007年.</p><p> [4] 王昊,李昕.集成運放應(yīng)用電路設(shè)計360例[M].北京:電
121、子工業(yè)出版社,2007年.</p><p> [5] 王洪業(yè).傳感器技術(shù)[M].長沙:湖南科學(xué)技術(shù)出版社,1995年.</p><p> [6] 鄭爭兵,基于單片機與AD590的溫度測量報警系統(tǒng)[J].國外電子測量技術(shù) 2007.21(6):64 - 66</p><p> [7] 鐘曉偉,宋蟄存.基于單片機的實驗室溫濕度控制系統(tǒng)設(shè)計[J].林業(yè)機械與木工設(shè)備
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機的直流穩(wěn)壓電源設(shè)計
- 畢業(yè)設(shè)計論文—基于51單片機的數(shù)控直流穩(wěn)壓電源
- 基于單片機系統(tǒng)的步進直流穩(wěn)壓電源
- 數(shù)控直流穩(wěn)壓電源單片機課程設(shè)計
- 畢業(yè)設(shè)計論文_基于at89c51單片機數(shù)控直流穩(wěn)壓電源設(shè)計
- 直流穩(wěn)壓電源畢業(yè)設(shè)計
- 【設(shè)計】基于單片機的可控穩(wěn)壓電源設(shè)計
- 基于51單片機,開關(guān)穩(wěn)壓電源設(shè)計
- 單片機控制的可調(diào)直流穩(wěn)壓電源的設(shè)計與制作畢業(yè)設(shè)計
- 電源畢業(yè)設(shè)計--串聯(lián)直流穩(wěn)壓電源
- 畢業(yè)設(shè)計---基于pic單片機控制的支流穩(wěn)壓電源的設(shè)計
- 畢業(yè)設(shè)計-直流穩(wěn)壓電源的設(shè)計
- 畢業(yè)設(shè)計---串聯(lián)直流穩(wěn)壓電源
- 直流穩(wěn)壓電源畢業(yè)設(shè)計論文
- 畢業(yè)設(shè)計--數(shù)控直流穩(wěn)壓電源
- 基于單片機的開關(guān)穩(wěn)壓電源的設(shè)計
- 直流穩(wěn)壓電源畢業(yè)設(shè)計(論文)
- 直流開關(guān)穩(wěn)壓電源畢業(yè)設(shè)計
- 數(shù)控直流穩(wěn)壓電源畢業(yè)設(shè)計
- 基于單片機的數(shù)控主直流穩(wěn)壓電源的設(shè)計含程序
評論
0/150
提交評論