數(shù)字電壓表單片機(jī)課程設(shè)計(jì)報(bào)告_第1頁
數(shù)字電壓表單片機(jī)課程設(shè)計(jì)報(bào)告_第2頁
數(shù)字電壓表單片機(jī)課程設(shè)計(jì)報(bào)告_第3頁
數(shù)字電壓表單片機(jī)課程設(shè)計(jì)報(bào)告_第4頁
數(shù)字電壓表單片機(jī)課程設(shè)計(jì)報(bào)告_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、桂林電子科技大學(xué)課程設(shè)計(jì)報(bào)告用紙 編號(hào): 單片機(jī)課程設(shè)計(jì)報(bào)告書課 題: 數(shù)字電壓表 院 (系): 機(jī)電工程學(xué)院 專 業(yè): 電氣工程及其自動(dòng)化 學(xué)生姓名: 閆奧博 學(xué) 號(hào): 1200120334 題目類型:¨理論研究 ¨實(shí)驗(yàn)研究 þ工程設(shè)計(jì) ¨工程技術(shù)研究 ¨軟件開發(fā) 2014 年 1 月 6 日前 言一、數(shù)字電壓表的主要內(nèi)容1.1任務(wù)要求和內(nèi)容 (1)用ADC0809設(shè)計(jì)一個(gè)數(shù)字電壓表,能測量05V間的直流電壓。(2)在2位數(shù)碼管上顯示0.0 5.0 V。1.2數(shù)字電壓表的使用步驟為:(1)系統(tǒng)上電,上電后數(shù)碼管顯示測量的電壓。(2)調(diào)節(jié)輸入電

2、壓,數(shù)字電壓表及時(shí)測出當(dāng)前的輸入電壓值。二、資料收集2.1 芯片資料的收集此次課設(shè)中用到STC89C51單片機(jī),該單片機(jī)是宏晶公司生產(chǎn)的STC89C51,其片內(nèi)帶有8K字節(jié)閃速可編程、可擦除壽命1000次程序存儲(chǔ)器。2.2 數(shù)字電壓表的資料根據(jù)題目的要求在單片機(jī)教材了解單片機(jī)的基本使用方法和性能,查找ADC0809芯片的原理,綜合這些資料來先在PROTEUS仿真軟件中繪圖并仿真,最后用Altium Designer 10版本繪制原理圖和PCB圖。三、工作過程簡介選好題目以后根據(jù)題目要求進(jìn)行一個(gè)總體的思路設(shè)計(jì),硬件分有三大模塊,最小單片機(jī)系統(tǒng)模塊、模數(shù)轉(zhuǎn)換模塊、顯示模塊;軟件部分有一大模塊,模數(shù)

3、轉(zhuǎn)換模塊,然后在PROTEUS仿真軟件中繪圖并仿真。仿真沒有問題以后用Altium Designer 10繪制原理圖和PCB圖。將打印好的電路圖轉(zhuǎn)印打銅板上,進(jìn)行腐蝕、打孔、焊接元器件,最后進(jìn)行電路板調(diào)試 。在調(diào)試過程中沒有達(dá)到預(yù)期的效果,顯示偏暗,測量出的數(shù)據(jù)跳變很快,后面在程序中加了定時(shí)的程序,經(jīng)過短暫的時(shí)間的間隔測量數(shù)據(jù),使得測得的數(shù)據(jù)很穩(wěn)定,顯示效果非常理想。目 錄1 系統(tǒng)概述11.1 數(shù)字電壓表的基本功能11.2 數(shù)字電壓表的工作過程11.3 模數(shù)轉(zhuǎn)換原理11.3.1 ADC0809芯片工作過程12 數(shù)字電壓表硬件部分22.1 最小單片機(jī)系統(tǒng)模塊22.1.1 晶振電路32.1.2 復(fù)

4、位電路32.2 模數(shù)轉(zhuǎn)換模塊42.3 顯示模塊53 數(shù)字電壓表軟件部分53.1 系統(tǒng)軟件53.2 模數(shù)轉(zhuǎn)換程序53.3 顯示子程序64 電路的調(diào)試與安裝64.1 系統(tǒng)硬件調(diào)試64.2 系統(tǒng)軟件調(diào)試65 結(jié)束語和心得體會(huì)76 參考文獻(xiàn)77 元件清單7附錄18附錄21第 13頁 共 12 頁桂林電子科技大學(xué)課程設(shè)計(jì)報(bào)告用紙1 系統(tǒng)概述1.1 數(shù)字電壓表的基本功能:(1)測量0.0V-5.0V之間的電壓 。(2)數(shù)碼管顯示2位測量數(shù)據(jù)。系統(tǒng)框圖如圖1-1所示:單片機(jī)數(shù)碼管顯示測量 圖1-1 系統(tǒng)框圖1.2 數(shù)字電壓表的工作過程硬件分有三大模塊,最小單片機(jī)系統(tǒng)模塊、模數(shù)轉(zhuǎn)換模塊、顯示模塊;軟件部分有一

5、大模塊,模數(shù)轉(zhuǎn)換模塊。工作原理:電路上電后,數(shù)碼管顯示測量電壓。1.3 模數(shù)轉(zhuǎn)換原理1.3.1 ADC0809芯片工作過程首先輸入3位地址,并使ALE=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通8路模擬輸入之一到比較器。START上升沿將逐次逼近寄存器復(fù)位。下降沿啟動(dòng) A/D轉(zhuǎn)換,之后EOC輸出信號(hào)變低,指示轉(zhuǎn)換正在進(jìn)行。直到A/D轉(zhuǎn)換完成,EOC變?yōu)楦唠娖剑甘続/D轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個(gè)信號(hào)可用作中斷申請。當(dāng)OE輸入高電平 時(shí),輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。轉(zhuǎn)換數(shù)據(jù)的傳送 A/D轉(zhuǎn)換后得到的數(shù)據(jù)應(yīng)及時(shí)傳送給單片機(jī)進(jìn)行處理。數(shù)據(jù)傳送的關(guān)鍵問題是如何確認(rèn)A/

6、D轉(zhuǎn)換的完成,因?yàn)橹挥写_認(rèn)完成后,才能進(jìn)行傳送。為此可采用下述三種方式。(1)定時(shí)傳送方式對于一種A/D轉(zhuǎn)換器來說,轉(zhuǎn)換時(shí)間作為一項(xiàng)技術(shù)指標(biāo)是已知的和固定的。例如ADC0809轉(zhuǎn)換時(shí)間為128s,相當(dāng)于6MHz的MCS-51單片機(jī)共64個(gè)機(jī)器周期??蓳?jù)此設(shè)計(jì)一個(gè)延時(shí)子程序,A/D轉(zhuǎn)換啟動(dòng)后即調(diào)用此子程序,延遲時(shí)間一到,轉(zhuǎn)換肯定已經(jīng)完成了,接著就可進(jìn)行數(shù)據(jù)傳送。(2)查詢方式A/D轉(zhuǎn)換芯片有表明轉(zhuǎn)換完成的狀態(tài)信號(hào),例如ADC0809的EOC端。因此可以用查詢方式,測試EOC的狀態(tài),即可確認(rèn)轉(zhuǎn)換是否完成,并接著進(jìn)行數(shù)據(jù)傳送。(3)中斷方式把表明轉(zhuǎn)換完成的狀態(tài)信號(hào)(EOC)作為中斷請求信號(hào),以中斷方

7、式進(jìn)行數(shù)據(jù)傳送。不管使用上述哪種方式,只要一旦確定轉(zhuǎn)換完成,即可通過指令進(jìn)行數(shù)據(jù)傳送。首先送出口地址并以信號(hào)有效時(shí),OE信號(hào)即有效,把轉(zhuǎn)換數(shù)據(jù)送上數(shù)據(jù)總線,供單片機(jī)接受。表1-2 ADC0809芯片工作脈沖圖2 數(shù)字電壓表硬件部分2.1 最小單片機(jī)系統(tǒng)模塊單片機(jī)最小系統(tǒng)由復(fù)位電路、時(shí)鐘振蕩電路。數(shù)字電壓表采用STC89C51單片機(jī)作為控制芯片,圖2-1是其最小系統(tǒng)電路。主要包括:時(shí)鐘電路、復(fù)位電路。其中各個(gè)部分的功能如下:(1)時(shí)鐘電路:給單片機(jī)提供一個(gè)外接的12MHz的石英晶振。(2)復(fù)位電路:在電壓達(dá)到正常值時(shí)給單片機(jī)一個(gè)復(fù)位信號(hào)。 圖2-1 單片機(jī)最小系統(tǒng)2.1.1 晶振電路本設(shè)計(jì)選用的

8、是12MHZ無源晶振、2個(gè)22pF電容,使得一個(gè)機(jī)器周期是1s。晶振的作用是為系統(tǒng)提供基本的時(shí)鐘信號(hào),而兩個(gè)電容則是起到并聯(lián)諧振的作用,如果沒電容,振蕩電路會(huì)因?yàn)闆]有回路而停振,電路不能正常工作。圖2-2 晶振電路2.1.2 復(fù)位電路復(fù)位電路的作用是在上電或復(fù)位過程中,控制CPU的復(fù)位狀態(tài),當(dāng)系統(tǒng)處于正常工作狀態(tài)時(shí),且振蕩器穩(wěn)定后,如果RST引腳上有一個(gè)高電平并維持2個(gè)機(jī)器周期(24個(gè)振蕩周期)以上,則CPU就可以響應(yīng)并將系統(tǒng)復(fù)位。本設(shè)計(jì)采用的電容值為10F的電容和電阻采用10K的電阻。如圖2-3所示上電后,由于電容充電,使RST持續(xù)一段高電平時(shí)間。當(dāng)單片機(jī)已在運(yùn)行之中時(shí),按下復(fù)位鍵也能使RS

9、T持續(xù)一段時(shí)間的高電平,從而實(shí)現(xiàn)上電且開關(guān)復(fù)位的操作。圖2-3 復(fù)位電路2.2 模數(shù)轉(zhuǎn)換模塊電路的原理如下圖示,三個(gè)地址位ADDA、ADDB、ADDC均接低電平,因而所需測量的外部電壓可由ADC0809的IN0口端口輸入。由于ADC0809在進(jìn)行A/D轉(zhuǎn)換時(shí)需要有CLK信號(hào),本設(shè)計(jì)利用AT89C51的定時(shí)中斷產(chǎn)生一個(gè)25KHz的脈沖,由P1.5口送給ADC0809的時(shí)鐘端,通過軟件給其輸入一個(gè)正脈沖,可立即啟動(dòng)A/D轉(zhuǎn)換。圖2-4 模數(shù)轉(zhuǎn)換電路2.3 顯示模塊本次使用的是2位7段共陰數(shù)碼管,其實(shí)物圖和引腳圖如圖2-5、2-6所示: 圖2-5 共陰數(shù)碼管實(shí)物圖 圖2-6 共陰數(shù)碼引腳圖 3 數(shù)字

10、電壓表軟件部分3.1 系統(tǒng)軟件系統(tǒng)流程圖如下:開始初始化調(diào)用A/D轉(zhuǎn)換程序調(diào)用數(shù)據(jù)采集程序調(diào)用顯示程序圖3-1 程序流程圖3.2 模數(shù)轉(zhuǎn)換程序模數(shù)轉(zhuǎn)換程序如下:ST=0;ST=1;ST=0; /啟動(dòng) A/D轉(zhuǎn)換 while(!EOC);/等待轉(zhuǎn)換完成 OE=1; getdata=value_in;OE=0;temp=getdata*196/1000;/ 50/255=0.1963.3 顯示子程序void Display(uint temp)/顯示 qu_value=dispbitcodetemp%10; A0=1;A1=0;Delay(10);qu_value=0x00;qu_value=di

11、spbitcodetemp/10;P17=1;A0=0;A1=1;Delay(10); qu_value=0x00;利用定時(shí)器1中斷程序,把顯示延遲顯示使顯示更加穩(wěn)定,子程序如下:void t1() interrupt 3TH1=(65536-4000)/256; TL1=(65536-4000)%256;Display(temp);4 電路的調(diào)試與安裝4.1 系統(tǒng)硬件調(diào)試將所需要的元器件都焊接在電路板,檢查有沒有虛焊或則短路。上電以后電路能夠正常工作,硬件沒有問題。4.2 系統(tǒng)軟件調(diào)試硬件電路制作完成并調(diào)試好后,便可將程序編譯好下載到單片機(jī)試運(yùn)行。將程序下載到單片機(jī)以后,顯示跳變很快,顯示不

12、穩(wěn)定偏暗。解決的方案是通過定時(shí)器來延遲顯示。5 結(jié)束語和心得體會(huì)在這次課設(shè)中讓我獲益匪淺,受益良多。至今制作的每一個(gè)步驟和每一個(gè)環(huán)節(jié)都在我的腦海里時(shí)隱時(shí)現(xiàn),這個(gè)過程真的令我印象太深刻,在這個(gè)課設(shè)中,我做之前做了大量的準(zhǔn)備,主要查詢模數(shù)轉(zhuǎn)換的工作原理,在弄懂原理以后在PROTEUS仿真軟件進(jìn)行仿真。在這次的單片機(jī)課設(shè)中,我第一大心得體會(huì)就是作為設(shè)計(jì)者,要求具備的首要素質(zhì)絕對是嚴(yán)謹(jǐn)。在這次難得的課設(shè)過程中我鍛煉了自己的思考能力和動(dòng)手能力。通過題目選擇和設(shè)計(jì)電路的過程中,加強(qiáng)了我思考的完整性和實(shí)際生活生活聯(lián)系的可行性。在方案的設(shè)計(jì)選擇和芯片的選擇上,培養(yǎng)了我們綜合應(yīng)用單片機(jī)的能力,對單片機(jī)的各個(gè)管腳

13、的功能也用了進(jìn)一步的認(rèn)識(shí)。還鍛煉我們個(gè)人的查閱技術(shù)資料的能力,動(dòng)手能力,發(fā)現(xiàn)問題,解決問題的能力,并且我們熟練掌握了有關(guān)期間的性能及調(diào)試方法。再次感謝老師的輔導(dǎo)以及同學(xué)的幫助,是他們讓我有了一個(gè)更好的認(rèn)識(shí),無論學(xué)習(xí)還是生活,生活是實(shí)在的,要踏實(shí)走路。課設(shè)的時(shí)間雖然很短,但我學(xué)習(xí)了很多東西,使我眼界打開,感受頗深。為今后踏入社會(huì)做了一定的基礎(chǔ)準(zhǔn)備。6 參考文獻(xiàn)1趙全利. 單片機(jī)原理及應(yīng)用教程(第3版)M.北京:機(jī)械工業(yè)出版社,2013.68-105 2康華光.電子技術(shù)基礎(chǔ) 數(shù)電部分M.北京:高等教育出版社,2006.103-1591及力. DXP2004SP2實(shí)用設(shè)計(jì)教程(第2版)M.北京:電子

14、工業(yè)出版社,2013.68-105 7 原件清單表7-1 原件清單序號(hào)名稱數(shù)量1STC89C511222pF電容2310uF極性電容142段共陰數(shù)碼管15ADC080916電阻10K1附錄1附圖1 數(shù)字電壓表原理圖附圖2 數(shù)字電壓表PCB原理圖附圖3 數(shù)字電壓表仿真圖附錄2#include<at89x52.h>#define uchar unsigned char #define uint unsigned int#define value_in P0/ADC0809數(shù)據(jù)輸入口#define qu_value P2/數(shù)碼管數(shù)據(jù)端sbit A0=P10;/位sbit A1=P11;s

15、bit ST=P12;/啟動(dòng)信號(hào) sbit OE=P13;/輸出使能sbit EOC=P14;/轉(zhuǎn)換結(jié)束信號(hào) sbit CLK=P15;/時(shí)鐘信號(hào)sbit P17=P27;/數(shù)碼管上的點(diǎn)uchar code dispbitcode=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/數(shù)據(jù)碼uint getdata;uint temp;uint i;void Display(uint temp);/顯示void TimeInitial();/初始化void Delay(uint i);/延遲函數(shù)void main()TimeInitial();w

16、hile(1)ST=0;ST=1;ST=0; /啟動(dòng) A/D轉(zhuǎn)換 while(!EOC);/等待轉(zhuǎn)換完成 OE=1; getdata=value_in;OE=0;temp=getdata*196/1000;/ 50/255=0.196void t0(void) interrupt 1 CLK=CLK;void t1() interrupt 3TH1=(65536-4000)/256; TL1=(65536-4000)%256;Display(temp);void TimeInitial()/初始化 TMOD=0x12;TH0=216; TL0=216; TH1=(65536-4000)/256; TL1=(65536-4000)%256;EA

溫馨提示

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

最新文檔

評論

0/150

提交評論