2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p> 本科畢業(yè)論文(設(shè)計)</p><p> 題 目:數(shù)控直流穩(wěn)壓電源的設(shè)計 </p><p> 專 業(yè):電子信息工程 </p><p> 姓 名:</p><p> 學(xué) 號:</p><p> 指導(dǎo)教師:</p><p> 畢業(yè)時間:二

2、零一三年六月 </p><p>  數(shù)控直流穩(wěn)壓電源的設(shè)計</p><p>  摘要:本設(shè)計針對對普通直流電源一般不可以調(diào)節(jié)或調(diào)節(jié)范圍小的缺點設(shè)計出了一種可調(diào)節(jié),寬調(diào)節(jié)范圍的直流穩(wěn)壓電源。該直流穩(wěn)壓電源系統(tǒng)以STC單片機公司的89C52RC單片機為核心,利用10位DA芯片TLC5615作為DA輸出,由單片機由采樣電阻對輸出電壓進行采樣處理,采用C語言進行程序控制,輸出0~9.

3、9V,步進0.1V的精確穩(wěn)壓輸出</p><p>  關(guān)鍵詞:直流電流源;單片機;89C52RC;TLC5615</p><p>  High precision DC current source based on 51 MCU</p><p>  Abstract: For regular direct current voltage stabilizer ac

4、curacy is not high, and the adjusting range is small, we designed a direct voltage stabilizer with high precision and wide adjusting range. This system is based on the MCU of 89C52RC which product by STC. Using a chip TL

5、C5615 which with 10 bit as DA output. By using the resister to process the output voltage. Use the C language to control the system. So that it can output 0~+9.9V, and stepping for 0.1V adjustment function.</p>&l

6、t;p>  Key words: DC current;MCU;89C52RC;TLC5615</p><p><b>  目 錄</b></p><p><b>  1 引言1</b></p><p><b>  2 設(shè)計原理1</b></p><p>  3 單元

7、電路的設(shè)計2</p><p>  3.1 DA的選擇與論證2</p><p>  3.2 穩(wěn)壓輸出方案選擇與論證2</p><p>  3.3 顯示模塊的選擇與論證3</p><p>  3.4 輸入按鍵的選擇與論證3</p><p>  4 本系統(tǒng)核心器件簡介3</p><p> 

8、 4.1 STC89C52單片機3</p><p>  4.2 TLC5615芯片4</p><p>  4.3 TLC431芯片5</p><p>  4.4 LM324芯片5</p><p>  5 硬件電路設(shè)計6</p><p>  5.1 電源電路6</p><p>  5.

9、2 DA輸出電路6</p><p>  5.3 穩(wěn)壓輸出電路6</p><p>  5.4 數(shù)碼管顯示電路7</p><p>  5.5 整體電路原理設(shè)計8</p><p>  6 系統(tǒng)軟件設(shè)計9</p><p>  6.1 主程序流程圖9</p><p>  6.2 DA轉(zhuǎn)換流程圖

10、9</p><p>  7 系統(tǒng)調(diào)試與仿真10</p><p>  7.1 系統(tǒng)仿真10</p><p>  7.2 DA輸出仿真:11</p><p>  7.3 PCB制作12</p><p>  7.4 硬件調(diào)試13</p><p>  7.5 軟件調(diào)試14</p>

11、;<p><b>  8 結(jié)束語15</b></p><p><b>  參考文獻16</b></p><p><b>  致謝17</b></p><p>  附錄一 程序清單18</p><p><b>  1 引言</b><

12、;/p><p>  當(dāng)今社會人們極大的享受著電子設(shè)備帶來的便利,但是任何電子設(shè)備都有一個共同的電路--電源電路。大到超級計算機、小到袖珍計算器,所有的電子設(shè)備都必須在電源電路的支持下才能正常工作。當(dāng)然這些電源電路的樣式、復(fù)雜程度千差萬別。可以說電源電路是一切電子設(shè)備的基礎(chǔ),沒有電源電路就不會有如此種類繁多的電子設(shè)備。</p><p>  數(shù)控直流穩(wěn)壓電源主要用微處理器等配合其它控制器件控制電源

13、的電壓輸出,實現(xiàn)數(shù)控可調(diào),高精度輸出,過流保護,數(shù)字顯示等。其調(diào)節(jié)的范圍大,利用高精度的DA轉(zhuǎn)換器,可以實現(xiàn)數(shù)控電源高精度輸出,同時步進可調(diào)。這種高精度的的數(shù)控穩(wěn)壓電源可以滿足對電源要求比較高的場合。</p><p>  數(shù)控直流穩(wěn)壓電源還可以將輸出電壓值進行采樣處理,再送回微處理器進行處理,從而實現(xiàn)輸出的閉環(huán)控制。還可以對輸出的電流進行檢測,當(dāng)輸出過載時,可以立即切斷輸出,保護電源不被燒壞。</p>

14、<p><b>  2 設(shè)計原理</b></p><p>  該方案以STC 51系列單片機89C52為控制核心,單片機控制DA輸出模擬電壓,然后經(jīng)過運算放大器放大電壓,再經(jīng)功率管放大電流。通過采樣電路對輸出電壓值進行采樣,實現(xiàn)閉環(huán)控制。單片機對采樣值進行處理,在顯示部分顯示設(shè)定電壓值和輸出電壓值。若輸出超過當(dāng)前設(shè)定的值,則單片機啟動報警同時關(guān)閉輸出以保護電源。系統(tǒng)的框圖結(jié)構(gòu)如

15、圖2-1所示。</p><p>  圖2-1系統(tǒng)的框圖結(jié)構(gòu)</p><p><b>  3 單元電路的設(shè)計</b></p><p>  3.1 DA的選擇與論證</p><p>  方案一:采用我們熟悉的8位DA,DAC0832;</p><p>  方案二:采用我們熟悉的10位DA,TLC561

16、5;</p><p>  方案三:采用內(nèi)部自帶基準源的12位DA MAX531。</p><p>  對于方案一:選擇DAC0832雖符合題目的要求,但是輸出精度不高,誤差大,所以我們放棄方案一。</p><p>  對于方案二:為10位DA,輸出精度更高,同時也可通過程序改進精度,使其變?yōu)榫雀叩牟竭M0.01V,同時該DA芯片價格比較合理。</p>

17、<p>  對于方案三:MAX531內(nèi)部自帶2.048V基準源,輸出精度高,但價格太貴,本著滿足設(shè)計要求盡量節(jié)約成本的前提,我們放棄方案三。</p><p>  綜上所述,我們選擇方案二。</p><p>  3.2 穩(wěn)壓輸出方案選擇與論證</p><p>  方案一:DA輸出的電壓經(jīng)過集成運算放大器進行放大,再將放大之后的電壓輸出到LM317的調(diào)節(jié)端,

18、利用LM317能夠可調(diào)輸出,實現(xiàn)穩(wěn)壓輸出。下圖2-1是方案一的原理圖:</p><p>  圖3-1方案一原理框圖</p><p>  方案二:DA輸出的電壓經(jīng)過集成運算放大器放大,再將放大之后的電壓與達林頓管的基極相連,利用達林頓管放大電流,從而達到穩(wěn)定電壓輸出。下圖是方案二的原理圖:</p><p>  圖3-2方案二原理框圖</p><p&

19、gt;  對于方案一:可以實現(xiàn)穩(wěn)壓輸出,但是由于LM317自身調(diào)節(jié)的范圍為1.2V-37V,而我們設(shè)計時要求為從0V輸出到9.9V,所以不能滿足。</p><p>  對于方案二:利用達林頓管的性質(zhì),做成閉環(huán)回路控制。其輸出電壓不受負載影響。當(dāng)DA輸出為0時,其輸出也為0,所以滿足設(shè)計的要求。</p><p>  綜合所述,所以我們選擇方案二。</p><p>  

20、3.3 顯示模塊的選擇與論證</p><p>  方案一:采用1602液晶屏作為顯示模塊</p><p>  方案二:采用四位共陽極數(shù)碼管作為顯示模塊</p><p>  對于方案一:1602可以顯示2行英文字符和數(shù)字,電路連接簡單,占用單片機I/0口少。缺點是顯示字符小,不易看清,價格太高,程序編寫復(fù)雜</p><p>  對于方案二:采用

21、數(shù)碼管至少要4位,則要占用12個I/O口,數(shù)碼管顯示時采用動態(tài)掃描功耗較低。顯示清楚,易于辨認。程序編寫簡單,價格低。缺點是顯示信息量較少,不能顯示符號。</p><p>  綜合考慮,我們決定選取方案二。</p><p>  3.4 輸入按鍵的選擇與論證</p><p>  方案一:采用4*4鍵盤</p><p>  方案二:采用5按鍵,第

22、一個和第二個加減0.1V,第三個和第四個加減1V,第五個確認輸出。</p><p>  對于方案一:主要采用4*4的矩陣鍵盤,可以設(shè)置0-9和步進,小數(shù)點等按鍵,可以快速的輸入。但是4*4鍵盤占用的PCB面積較大,增加了PCB的成本,增加了PCB的布線難度,并且得占用8個單片機I/0口,這種方案不可取。</p><p>  對于方案二:中雖不能直接輸入0-9,但是可以通過“+”和“-”來實

23、現(xiàn)0-9數(shù)字的輸入,這樣只占用了5個單片機I/O口,節(jié)約3個I/O口,同時PCB的面積和成本也進一步縮小。</p><p>  綜上考慮,我們選擇方案二。</p><p>  4 本系統(tǒng)核心器件簡介</p><p>  4.1 STC89C52單片機</p><p>  STC89C52是STC公司生產(chǎn)的一種低功耗、高性能CMOS8位微控制器

24、,具有8K在系統(tǒng)可編程Flash存儲器。STC89C52使用經(jīng)典的MCS-51內(nèi)核,但做了很多的改進使得芯片具有傳統(tǒng)51單片機不具備的功能。在單芯片上,擁有靈巧的8 位CPU和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。具有以下標(biāo)準功能:8k字節(jié)Flash,512字節(jié)RAM,32 位I/O口線,看門狗定時器,內(nèi)置4KB EEPROM,MAX810復(fù)位電路,3個16位定時器/計數(shù)器,4

25、個外部中斷,一個7向量4級中斷結(jié)構(gòu)(兼容傳統(tǒng)51的5向量2級中斷結(jié)構(gòu)),全雙工串行口。另外STC89X52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。最高運作頻率35MHz,6T/12T可選。</p><p>  圖4-1 STC8

26、9C52</p><p>  4.2 TLC5615芯片</p><p>  TLC5615為美國德州儀器公司1999年推出的產(chǎn)品,是具有串行接口的數(shù)模轉(zhuǎn)換器,其輸出為電壓型,最大輸出電壓是基準電壓值的兩倍。帶有上電復(fù)位功能,即把DAC寄存器復(fù)位至全零。性能比早期電流型輸出的DAC要好。只需要通過3根串行總線就可以完成10位數(shù)據(jù)的串行輸入,易于和工業(yè)標(biāo)準的微處理器或微控制器(單片機)接口,

27、適用于電池供電的測試儀表、移動電話,也適用于數(shù)字失調(diào)與增益調(diào)整以及工業(yè)控制場合。</p><p>  TLC5615器件的引腳圖及各引腳功能如下圖:</p><p>  圖4-2 TLC5615引腳圖</p><p>  DIN:串行數(shù)據(jù)輸入端;</p><p>  SCLK:串行時鐘輸入端;</p><p>  /C

28、S:芯片選用通端,低電平有效;</p><p>  DOUT:用于級聯(lián)時的串行數(shù)據(jù)輸出端;</p><p><b>  AGND:模擬地;</b></p><p>  REFIN:基準電壓輸入端。2V~(VDD-2);</p><p>  OUT:DAC模擬電壓輸出端;</p><p>  VDD

29、:正電源端,4.5~5.5V,通常取5V。</p><p>  4.3 TLC431芯片</p><p>  德州儀器公司(TI)生產(chǎn)的TL431是一個有良好的熱穩(wěn)定性能的三端可調(diào)分流基準源。他的輸出電壓用兩個電阻就可以任意的設(shè)置到從Verf(2.5V)到36V范圍內(nèi)的任何值。該器件的典型動態(tài)阻抗為0.2Ω,在很多應(yīng)用中用它代替齊納二極管,例如,數(shù)字電壓表,運放電路,可調(diào)壓電源,開關(guān)電源等

30、。它的引腳圖如下:</p><p>  圖4-3 TLC431引腳圖</p><p>  4.4 LM324芯片</p><p>  LM324系列器件帶有真差動輸入的四運算放大器。與單電源應(yīng)用場合的標(biāo)準運算放大器相比,它們有一些顯著優(yōu)點。</p><p>  該四放大器可以工作在低到3.0伏或者高到32伏的電源下,靜態(tài)電流為MC1741的靜

31、態(tài)電流的五分之一。共模輸入范圍包括負電源,因而消除了在許多應(yīng)用場合中采用外部偏置元件的必要性。LM324的管腳連接圖如下:</p><p>  圖4-4 LM324管腳連接圖</p><p>  每一組運算放大器可用圖1所示的符號來表示,它有5個引出腳,其中“+”、“-”為兩個信號輸入端,“V+”、“V-”為正、負電源端,“Vo”為輸出端。兩個信號輸入端中,Vi-(-)為反相輸入端,表示運

32、放輸出端Vo的信號與該輸入端的位相反;Vi+(+)為同相輸入端,表示運放輸出端Vo的信號與該輸入端的相位相同。</p><p><b>  5 硬件電路設(shè)計</b></p><p>  根據(jù)設(shè)計的要求,本系統(tǒng)可分為電源模塊、DA輸出模塊和穩(wěn)壓輸出模塊三大重要部分,缺一不可。</p><p><b>  5.1 電源電路</b&g

33、t;</p><p>  電源電路采用的是直流線性穩(wěn)壓器組成。圖5-1為電源電路原理圖:</p><p>  圖5-1 電源電路原理圖</p><p>  5.2 DA輸出電路</p><p>  DA輸出主要采用10位DA TLC5615,電壓基準源采用TL431分壓得到。C5為濾波電容,TL431輸出電壓時,流過它的電流最低為1mA,所以

34、我們通過一個2K電阻使其工作電流大于1mA。這樣其1腳對地的電壓就為基準電壓2.5V。如下圖:</p><p>  圖5-2 DA輸出電路</p><p>  5.3 穩(wěn)壓輸出電路</p><p>  穩(wěn)壓部分的原理框圖如下:</p><p>  圖5-3穩(wěn)壓部分原理框圖</p><p>  穩(wěn)壓輸出放大輸出電路圖如下

35、圖所示:</p><p>  圖5-4放大輸出電路圖</p><p>  5.4 數(shù)碼管顯示電路</p><p>  所有數(shù)碼管的段選全部連接在一起,如何能顯示不同的內(nèi)容呢?動態(tài)顯示是多個數(shù)碼管,交替顯示,利用人的視覺暫留作用使人看到多個數(shù)碼管同時顯示。在編程時,需要輸出段選和位選信號,位選信號選中其中一個數(shù)碼管,然后輸出段碼,使該數(shù)碼管顯示所需要的內(nèi)容,延時一段時

36、間后,再選中另一個數(shù)碼管,再輸出對應(yīng)的段碼,高速交替。</p><p>  在動態(tài)顯示程序中,各個位的延時時間長短是非常重要的,如果延時時間長,則會出現(xiàn)閃爍現(xiàn)象;如果延時時間太短,則會出現(xiàn)顯示暗且有重影。</p><p>  圖5-5數(shù)碼管顯示電路</p><p>  5.5 整體電路原理設(shè)計</p><p>  基于單片機數(shù)控直流穩(wěn)壓源的系

37、統(tǒng)整體硬件設(shè)計如圖5-6所示。</p><p>  圖5-6系統(tǒng)整體硬件設(shè)計圖</p><p><b>  6 系統(tǒng)軟件設(shè)計</b></p><p>  6.1 主程序流程圖</p><p>  圖6-1 系統(tǒng)總流程圖</p><p>  系統(tǒng)軟件設(shè)計主要分為DA輸出,AD采集,顯示,按鍵,報警這

38、幾個部分。通電之后,程序先初始化,判斷鍵盤有無輸入,若無輸入,則繼續(xù)等待輸入。若有輸入,則讀取輸入的值,并相應(yīng)的改變輸出,并顯示輸出。輸出時對輸出的電壓進行檢測,再送回單片機進行處理,同時檢測報警電路與單片機的接口,看電平有無變化,若發(fā)現(xiàn)報警電路啟動,則說明過載,此時應(yīng)關(guān)閉DA輸出,并發(fā)出聲光報警。如果沒有過載,則繼續(xù)輸出,并顯示。</p><p>  6.2 DA轉(zhuǎn)換流程圖</p><p&g

39、t;  DA轉(zhuǎn)換流程圖,如下如圖6-2所示。</p><p>  圖6-2 DA轉(zhuǎn)換流程圖</p><p><b>  7 系統(tǒng)調(diào)試與仿真</b></p><p><b>  7.1 系統(tǒng)仿真</b></p><p>  Proteus軟件是英國Labcenter electronics公司出版的E

40、DA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。</p><p>  它是目前最好的仿真單片機及外圍器件的工具。雖然目前國內(nèi)推廣剛起步,但已受到單片機愛好者、從事單片機教學(xué)的教師、致力于單片機開發(fā)應(yīng)用的科技工作者的青睞。</p><p>  Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB

41、設(shè)計,真正實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計。</p><p>  是目前世界上唯一將電路仿真軟件、PCB設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即將增加Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編

42、譯。</p><p>  Proteus軟件具有其它EDA工具軟件(例:multisim)的功能。這些功能是:</p><p><b>  (1)原理布圖</b></p><p>  (2)PCB自動或人工布線</p><p>  (3)SPICE電路仿真 </p><p>  圖7-1Prote

43、us系統(tǒng)界面</p><p>  7.2 DA輸出仿真:</p><p>  為了檢測硬件電路與程序,對DA輸出與顯示部分做了仿真,其仿真圖如下圖所示。輸出從0-9.9V,步進0.1V。</p><p><b>  圖7-2系統(tǒng)仿真</b></p><p><b>  圖7-3系統(tǒng)仿真</b><

44、;/p><p><b>  7.3 PCB制作</b></p><p>  PCB制作把系統(tǒng)的電路原理圖設(shè)計好以后。下一步工作就是進行實物制作了,而實物制作的第一步就是對電路進行排版布線。過程如下:</p><p>  (1)電路原理圖的布局</p><p>  在器件布局的過程中應(yīng)注意以下幾點:①一個模塊及其附屬的一些分離

45、元器件應(yīng)盡量放到一起;②不同的電路模塊盡量劃分清晰,使得在調(diào)試過程中多電路的檢查能夠一目了然;③較容易發(fā)熱的元器件盡量放到電路的邊緣,有利于散熱。</p><p><b>  (2)布線</b></p><p>  PCB布線的好壞對系統(tǒng)性能有直接的影響,在高頻電路表現(xiàn)的尤為突出,所以,在進行電路布線時還需注意以下幾點:①模擬地和數(shù)字地應(yīng)分開接地,避免數(shù)字信號和模擬信

46、號會相互干擾;②每一根走線,能短則短,不要為了盲目追求少跳線而繞遠路,因為線越短電阻越小,干擾也會越??;③電源線和地線盡量從電路板的邊緣走線,且電源線盡量畫的比一般線寬略粗一些;④走線在改變方向時應(yīng)該走45°角或曲線,避免直角的拐角。</p><p><b>  (3)打印與轉(zhuǎn)印</b></p><p>  打印時要注意油紙不能折疊,打印的設(shè)置必須準確,只留

47、下底層的走線和焊盤。而在轉(zhuǎn)印時首先覆銅板要刷洗干凈,以免在轉(zhuǎn)印時油墨不能完全的轉(zhuǎn)印;其次,轉(zhuǎn)印機必須預(yù)熱到機器發(fā)出提示音,這表明,轉(zhuǎn)印機已經(jīng)準備好轉(zhuǎn)印了;第三,轉(zhuǎn)印機的轉(zhuǎn)印速度檔位應(yīng)放在“正?!睓n位,板子的類型應(yīng)放在“印刷板” 檔位。第四,在轉(zhuǎn)印時,注意油紙上的走線圖必須能夠完整的附在覆銅板上,一塊板子最好轉(zhuǎn)印兩次,確保把油墨完全的轉(zhuǎn)印到覆銅板上。</p><p><b>  (4)腐蝕</b&g

48、t;</p><p>  將油紙上的電路圖轉(zhuǎn)印到覆銅板后,接著就要把多余的銅腐蝕掉。不過在剛轉(zhuǎn)印好的時候,首先應(yīng)檢查是否轉(zhuǎn)印完整,若有斷線、走線空心的問題,必須用油墨筆將斷線補起來,空心的走線填完整。確保轉(zhuǎn)印工序完成后,就可以將電路板放入FeCl3溶液里進行腐蝕了,俗稱“爛板”。如果有條件,可以將腐蝕液加熱,再放入電路板,這樣能夠有效的提高腐蝕的速度。</p><p><b> 

49、 (5)打孔</b></p><p>  腐蝕好的板子,在洗凈之后就可以打孔了,打孔時尤其要注意孔的大小不能將焊盤的銅箔完全打掉,否則焊接時,焊盤沒有銅箔就無法進行焊接了。</p><p>  最后,打孔完成,用砂紙將毛糙磨平,這樣PCB板的制作就順利完成了。</p><p><b>  7.4 硬件調(diào)試</b></p>

50、<p>  做硬件焊接完成之后,我們必須對硬件進行調(diào)試,發(fā)現(xiàn)其中可能存在的問題,并對其進行改進。</p><p>  硬件調(diào)試的方法有兩種:</p><p>  方案一用萬用表和其他儀器儀表進行檢測</p><p>  方案二采用軟件測試硬件的方法進行檢測</p><p><b>  方法分析:</b>&l

51、t;/p><p>  這兩種方法各有優(yōu)點,方法一能直接準確的確定元件的故障所在點,并直接進行故障排除。但是此方法必須對元件進行一一檢測,檢測的過程非常慢。對于一個大系統(tǒng)和元件比較多的電路來說,此種方法不適合</p><p>  方法二用軟件來控制硬件,編寫某一電路的控制程序,看這部分的電路的運行結(jié)果是否與書的軟件控制的效果一致。如果不一致,則證明這部分電路有問題。這種方法可以迅速的判斷某一部分

52、電路的故障,對于大系統(tǒng)來說,這種方法可以縮小故障的范圍,再對所出現(xiàn)的故障進行排除,節(jié)約系統(tǒng)調(diào)試的時間。</p><p>  這個數(shù)控直流穩(wěn)壓電源系統(tǒng)中,我們把電路分成幾個小模塊,采取方法一和方法二相結(jié)合的測試方法進行測試。</p><p><b>  測試步驟:</b></p><p>  (1)用萬用表對電路中的電源線進行測量,我們先用萬用表

53、的蜂鳴檔,將萬用表的紅黑表筆接到電路電源線進行測量,若發(fā)現(xiàn)蜂鳴器響,則證明電源線有短路。如蜂鳴器沒有響,則證明電源線無短路現(xiàn)象。</p><p>  (2)再用蜂鳴檔對單片機的電源、晶振、復(fù)位等電路進行測量,看有沒有連接好。若連接正常,則對系統(tǒng)進行通電。通電前先撥出單片機。</p><p>  (3)測量單片機的工作電壓??词欠裾#舨徽?。再用萬用表進行檢測,排除電源故障。</p

54、><p>  (4)若電源工作正常,插上單片機。編程控制,數(shù)碼管的亮滅,以及數(shù)碼管按鍵等,看是否正常。若都正常,測證明電路硬件連接無誤。若有故障,再用萬用表對出故障的模塊進行檢測。</p><p><b>  7.5 軟件調(diào)試</b></p><p>  軟件調(diào)試是建立在硬件調(diào)試的基礎(chǔ)之上的。調(diào)試完硬件之后,我們就開始編寫程序,對程序進行調(diào)試。我們

55、先畫出程序的流程圖,然后根據(jù)流程圖來編寫程序。</p><p><b>  程序編寫調(diào)試方法:</b></p><p>  方法一:根據(jù)流程圖,直接編寫。</p><p>  方法二:先編寫部分模塊的程序,再對模塊程序進行整合。</p><p><b>  方法分析:</b></p>

56、<p>  方法一中直接根據(jù)流程圖寫,適合小規(guī)模的程序,對于大規(guī)模的程序不適合,且程序的可移植性差。</p><p>  方法二中可以移植相似的程序,節(jié)約程序編寫的工作量。對于大規(guī)模的程序比較適合。程序的編寫也相對比較輕松。可以節(jié)約程序的編寫時間。</p><p>  在本系統(tǒng)中,我們采取方法二來進行軟件的編寫與調(diào)試</p><p>  程序編寫和調(diào)試方法

57、:</p><p>  (1)建立主程序,定義各端口。</p><p>  (2)寫出數(shù)碼管、按鍵的模塊程序。</p><p>  (3)對各模塊程序進行整合。</p><p>  (4)對整合的模塊進行調(diào)試。</p><p>  (5)對最終的程序進行優(yōu)化。</p><p><b>

58、  8 結(jié)束語</b></p><p>  這次設(shè)計數(shù)控直流穩(wěn)壓電源,是畢業(yè)前對我們大學(xué)四年所學(xué)知識的一個檢驗。檢驗我們的硬件設(shè)計能力,軟件設(shè)計能力,還有查閱資料與人溝通等各方面的能力。同時也將我們大學(xué)四年的知識運用到實踐中。</p><p>  在設(shè)計的過程中,我首先設(shè)計硬件,要畫原理圖。以前的課程中學(xué)過protel99se這個畫圖軟件。但是由于長時間沒有用,并且那時上這個門

59、時練習(xí)不多也不怎么熟練,所以在設(shè)計原理圖的過程中很吃力,不得不查找protel99se的相關(guān)資料,再進行畫圖。經(jīng)過幾天的查找資料看其操作教程,最后完成了原理圖設(shè)計。</p><p>  在編寫軟件時,為了能盡快把程序調(diào)試好,我學(xué)習(xí)了Proteus仿真軟件,利用這個仿真軟件,在線實時調(diào)試程序。因為利用Proteus在程序編譯完成后,就可以直接運行程序。而如果不仿真,則每次要將編譯完成的代碼通過下載線下載到單片機里面

60、,再通電運行,這樣很浪費時間。所以我先在Proteus仿真軟件里面進行仿真,仿真好了之后,再下載到單片機里面進行檢驗。</p><p>  在寫程序時,也遇到了不少問題,自己平時沒有經(jīng)常的練習(xí)寫程序,所以在面對這樣一個系統(tǒng)時,不知道從哪里下手。于是在網(wǎng)上找了相關(guān)的例程來學(xué)習(xí)。經(jīng)過幾天的學(xué)習(xí),終于找到一點當(dāng)年寫程序的感覺了。在調(diào)試的過程中雖然遇到一些困難,但是通過請教周圍的朋友,最終得以解決。</p>

61、<p>  完成硬件與軟件的設(shè)計之后,再回顧此電源的設(shè)計,心中感慨萬千,從理論到實踐,讓我明白了,學(xué)校里面學(xué)了很多很多的東西,但是我們要和實踐相結(jié)合,否則就是空理論。只有將理論轉(zhuǎn)化為實踐,才能真正的走出校門,走向社會,完成從學(xué)生到社會型人才的轉(zhuǎn)變。</p><p><b>  參考文獻</b></p><p>  [1]鄒紅.數(shù)字電路與邏輯設(shè)計[M].北京

62、:人民郵電出版社,2008.3</p><p>  [2]李祥臣.模擬電子技術(shù)基礎(chǔ)教程.[M].北京:清華大學(xué)出版社,2005.3</p><p>  [3]童詩白,華成英.模擬電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2006.1</p><p>  [4]邱關(guān)源.電路(第四版)[M].北京:高等教育出版社,2006.4</p><p> 

63、 [5]李群芳,張士軍,黃建.單片微型計算機與接口技術(shù)(第二版)[M].北京:電子工業(yè)出版社,2007.12</p><p>  [6]劉文濤.單片機語言C51典型應(yīng)用設(shè)計[M].北京:人民郵電出版社,2006.5</p><p>  [7]于永,戴佳,常江.51單片機實例精講[M].北京:電子工業(yè)出版社,2007.4</p><p>  [8]曹鳳.微機數(shù)控技術(shù)及

64、應(yīng)用[M].四川:電子科技大學(xué)出版社,2002.8</p><p>  [9]胡壽松.自動控制原理[M].北京:科學(xué)出版社,2007.1</p><p>  [10]潘永雄,沙河,劉向陽.電子線路CAD實用教程(第二版)[M].陜西:西安電子科技大學(xué)出版社,2006.9</p><p><b>  致謝</b></p><p

65、>  在論文完成之際,我要忠心的感謝身邊給予過我莫大幫助的老師、同學(xué)和朋友,致以他們最誠摯的謝意。</p><p>  本研究及學(xué)位論文是在我的指導(dǎo)教師xx的親切關(guān)懷和悉心指導(dǎo)下完成的。他嚴肅的科學(xué)態(tài)度,嚴謹?shù)闹螌W(xué)精神,精益求精的工作作風(fēng),深深地感染和激勵著我。從課題的選擇到項目的最終完成,xx老師都始終給予我細心的指導(dǎo)和不懈的支持。xx老師多次詢問研究進程,并為我指點迷津,幫助我開拓研究思路,精心點撥、熱

66、忱鼓勵,這讓我在整個論文的撰寫過程中學(xué)習(xí)到了很多關(guān)于課題研究方面的知識。</p><p>  真誠的感謝參加論文評審和答辯的各位老師,感謝你們的辛勤勞動和即將從你們那里獲得的有益教誨;感謝學(xué)長和同學(xué)們在設(shè)計中給予的指導(dǎo)和幫助。</p><p>  在這四年的學(xué)期中結(jié)識的各位生活和學(xué)習(xí)上的摯友讓我得到了人生最大的一筆財富。在此,也對他們表示衷心感謝。</p><p>

67、  本文參考了大量的文獻資料,在此,向各學(xué)術(shù)界的前輩們致敬。最后要感謝的是我的父母和家人,感謝他們多年來對我默默的支持和幫助。由衷的希望在未來的日子里,周圍的老師、同學(xué)和朋友們一如既往的在各方面繼續(xù)給予我更多的指教和幫助,以期取得新的進步和成績來回報大家。</p><p><b>  附錄一 程序清單</b></p><p>  #include<REG52.h

68、></p><p>  sbit SCLK =P2^0 ; //定義端口</p><p>  sbit DIN =P2^2;</p><p>  sbit CS =P2^1 ;</p><p>  sbit K1 =P3^0;</p><p>  sbit K2 =P3^1;</p><p&g

69、t;  sbit K3 =P3^2;</p><p>  sbit K4 =P3^3;</p><p>  sbit K5 =P3^4;</p><p>  unsigned int temp;//中間變量</p><p>  unsigned char j=0; //j_片選,vout_電壓輸出</p><p>  

70、unsigned char counter[4]={0x08,0x04,0x02,0x01};</p><p>  char scan1,scan2,scan3,scan4;</p><p>  const seven_seg[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//數(shù)碼管的顯示</p><p&

71、gt;  const seven_seg_point[10]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};//有小數(shù)點的數(shù)碼管顯示</p><p><b>  /*</b></p><p>  TI 10位DA TLC5615的驅(qū)動程序 ------------------------------------

72、----------------</p><p>  調(diào)用方式: void da5615(unsigned int da)</p><p>  函數(shù)說明: TI 10位DA TLC5615的驅(qū)動程序</p><p>  --------------------------------------------------------------------------

73、------</p><p><b>  */</b></p><p>  void display();</p><p>  void delay(int x)</p><p><b>  {</b></p><p><b>  int i ;</b>

74、</p><p>  for(i=0;i<x*140;i++)</p><p>  display();</p><p><b>  }</b></p><p>  void display()</p><p><b>  {</b></p><p

75、>  P1=counter[j];</p><p><b>  switch(j)</b></p><p>  { case 0:P0=seven_seg[scan1];break;</p><p>  case 1:P0=seven_seg_point[scan2];break;</p><p>  case

76、2:P0=seven_seg[scan3];break;</p><p>  case 3:P0=seven_seg[scan4];break;</p><p>  default:break;//j為其他情況是跳出循環(huán)</p><p><b>  }</b></p><p><b>  j++;</b

77、></p><p>  if(j==4) j=0; </p><p><b>  }</b></p><p>  void da5615(unsigned int da) //DA子函數(shù)</p><p><b>  {</b></p><p>  unsigne

78、d char i;</p><p><b>  da<<=6; </b></p><p><b>  CS=0;</b></p><p><b>  SCLK=0;</b></p><p>  for (i=0;i<12;i++)</p>&l

79、t;p><b>  {</b></p><p>  DIN=(bit)(da&0x8000);</p><p><b>  SCLK=1;</b></p><p><b>  da<<=1;</b></p><p><b>  SCLK=0;

80、</b></p><p><b>  }</b></p><p><b>  CS=1;</b></p><p><b>  SCLK=0;</b></p><p>  for (i=0;i<12;i++); //12位數(shù)值轉(zhuǎn)換成串行輸給DA芯片</p&

81、gt;<p><b>  } </b></p><p>  /*void delay(int x)</p><p><b>  {</b></p><p><b>  int i,j;</b></p><p>  for(i=0;i<x;i++)</p

82、><p>  for(j=0;j<120;++);</p><p><b>  }*/</b></p><p>  key1()//按鍵1</p><p><b>  {</b></p><p><b>  if(!K1)</b></p>

83、<p><b>  {</b></p><p>  delay(20);</p><p><b>  if(!K1)</b></p><p>  { delay(10);</p><p>  return (1);</p><p><b>  }<

84、;/b></p><p><b>  }</b></p><p>  else return(0);</p><p><b>  }</b></p><p>  key2()//按鍵2</p><p><b>  {</b></p>

85、<p><b>  if(!K2)</b></p><p><b>  {</b></p><p>  delay(20);</p><p><b>  if(!K2)</b></p><p>  { delay(10);</p><p>  

86、return (1);</p><p><b>  }</b></p><p><b>  }</b></p><p>  else return(0);</p><p><b>  }</b></p><p>  key3()//按鍵3</p&g

87、t;<p><b>  {</b></p><p><b>  if(!K3)</b></p><p><b>  {</b></p><p>  delay(20);</p><p><b>  if(!K3)</b></p>

88、<p>  { delay(10);</p><p>  return (1);</p><p><b>  }</b></p><p><b>  }</b></p><p>  else return(0);</p><p><b>  }</

89、b></p><p>  key4()//按鍵4</p><p><b>  {</b></p><p><b>  if(!K4)</b></p><p><b>  {</b></p><p>  delay(20);</p>&

90、lt;p><b>  if(!K4)</b></p><p>  { delay(10);</p><p>  return (1);</p><p><b>  }</b></p><p><b>  }</b></p><p>  else r

91、eturn(0);</p><p><b>  }</b></p><p>  key5()//按鍵4</p><p><b>  {</b></p><p><b>  if(!K5)</b></p><p><b>  {</b>

92、;</p><p>  delay(20);</p><p><b>  if(!K5)</b></p><p>  { delay(10);</p><p>  return (1);</p><p><b>  }</b></p><p><

93、b>  }</b></p><p>  else return(0);</p><p><b>  }</b></p><p>  void vout()</p><p>  {unsigned int num;//中間變量</p><p>  if(key1())//按鍵+

94、</p><p><b>  {</b></p><p><b>  scan1++;</b></p><p>  if(scan1==10) </p><p>  { scan1=0;</p><p><b>  scan2++;</b></p

95、><p>  if(scan2==10)</p><p>  scan2=scan1=9;</p><p><b>  }</b></p><p><b>  }</b></p><p>  if(key2()) //按鍵-</p><p&

96、gt;<b>  { </b></p><p><b>  if(num>1)</b></p><p><b>  {</b></p><p>  scan1--; </p><p>  if(scan1==-1)</p><p>

97、  { scan1=9;</p><p><b>  scan2--;</b></p><p>  if(scan2==-1)</p><p><b>  {</b></p><p><b>  scan2=9;</b></p><p><b&

98、gt;  scan1--;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if

99、(key3())</p><p><b>  {</b></p><p><b>  scan2++;</b></p><p>  if(scan2==10) scan2=9;</p><p><b>  }</b></p><p>  if(key4(

100、)) </p><p><b>  {</b></p><p><b>  scan2--;</b></p><p>  if(scan2==-1) scan2=0;</p><p><b>  }</b></p><p>  num=10*(scan2

101、*10+scan1);//輸出的數(shù)字量</p><p>  if(num==1000) num=990;</p><p>  if(key5())temp=num; //短按確認</p><p><b>  }</b></p><p><b>  main()</b></p>&l

102、t;p><b>  {</b></p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  da5615(temp); </p><p><b>  vout();</b></p>

溫馨提示

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

評論

0/150

提交評論