基于51單片機(jī)的數(shù)字電壓表的設(shè)計_第1頁
基于51單片機(jī)的數(shù)字電壓表的設(shè)計_第2頁
基于51單片機(jī)的數(shù)字電壓表的設(shè)計_第3頁
基于51單片機(jī)的數(shù)字電壓表的設(shè)計_第4頁
基于51單片機(jī)的數(shù)字電壓表的設(shè)計_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 數(shù)字電壓表的設(shè)計目錄緒論1第1章 系統(tǒng)總體方案選擇與說明11.1 項目分析及其設(shè)計11.1.1 通道轉(zhuǎn)換方案設(shè)計11.1.2 顯示部分方案設(shè)計1第2章 系統(tǒng)總體結(jié)構(gòu)與系統(tǒng)功能22.1 系統(tǒng)結(jié)構(gòu)框圖22.2 系統(tǒng)功能2第3章 硬件設(shè)計說明及計算方法23.1 單片機(jī)的選擇及時鐘電路23.2 驅(qū)動模塊33.3 LED顯示電路設(shè)計與器件選擇43.4 A/D轉(zhuǎn)換模塊及轉(zhuǎn)化電路設(shè)計6第4章 軟件設(shè)計與說明74.1 數(shù)字電壓表系統(tǒng)軟件設(shè)計方案確定74.2 數(shù)字電壓表應(yīng)用程序設(shè)計9第5章 調(diào)試結(jié)果及其說明95.1 調(diào)試結(jié)果及其說明9參考文獻(xiàn)10附錄A 系統(tǒng)原理圖11附錄B 系統(tǒng)源程序12緒論本設(shè)計采用了以單

2、片機(jī)為開發(fā)平臺,控制系采用AT89C52單片機(jī),A/D轉(zhuǎn)換采用ADC0809。系統(tǒng)除能確保實現(xiàn)要求的功能外,還可以方便進(jìn)行8路其它A/D轉(zhuǎn)換量的測量、遠(yuǎn)程測量結(jié)果傳送等擴(kuò)展功能。簡易數(shù)字電壓測量電路由A/D轉(zhuǎn)換、數(shù)據(jù)處理、顯示控制等組成。關(guān)鍵詞: 單片機(jī) AT89C52 A/D轉(zhuǎn)換 ADC0808 數(shù)據(jù)處理課程設(shè)計要求:利用八位A/D轉(zhuǎn)換器實現(xiàn)分辨率位八位二進(jìn)制數(shù)的電壓表,測量結(jié)果用四位數(shù)碼管顯示。第一章系統(tǒng)總體方案與選擇實現(xiàn)數(shù)字電壓表的方案很多,目前廣泛采用的時基于74系列邏輯器件,本設(shè)計將介紹基于單片機(jī)實現(xiàn)的方案。1.1 項目分析及其設(shè)計方案設(shè)計此設(shè)計包含兩個模塊,通道轉(zhuǎn)換和顯示部分方案。

3、1.1.1通道轉(zhuǎn)換方案設(shè)計方案一:考慮到ADC0808的8路模擬量輸入本質(zhì)上也是模擬開關(guān),因此可以利用其8個模擬通道中的3個作為通道轉(zhuǎn)換器,即根據(jù)通道對應(yīng)的電壓測量范圍確定對應(yīng)的電壓方法倍數(shù)設(shè)計對應(yīng)的放大電路。方案二:利用手動開關(guān)實現(xiàn)通道轉(zhuǎn)換。該方案可簡化控制程序,消減系統(tǒng)開銷??s短反應(yīng)時間,不足之處在于操作麻煩。綜上所述:方案二所需元件少、成本低且易于實現(xiàn),則選此方案。1.1.2顯示部分方案設(shè)計方案一:單片機(jī)的P0、P2口分別接74LS248和ULN2003A芯片來驅(qū)動四位數(shù)碼管方案二:直接用單片機(jī)的P1、P2口驅(qū)動數(shù)碼管,此處把ADC0808的輸出端接P1口 ,因為P1口能夠驅(qū)動數(shù)碼管。綜

4、上所述,兩個方案都可行,但方案二所需元件少、成本低,則選擇此方案。第二章 系統(tǒng)總體結(jié)構(gòu)2.1 系統(tǒng)結(jié)構(gòu)框圖根據(jù)項目要求,確定該系統(tǒng)的設(shè)計方案,圖2-1為該系統(tǒng)設(shè)計方案的結(jié)構(gòu)框圖。硬件電路由6各部分組成,即單片機(jī)、時鐘電路、復(fù)位電路、LED顯示電路、A/D裝喚器和測量電壓輸入電路。 圖2-1 系統(tǒng)結(jié)構(gòu)框圖2.2系統(tǒng)功能在一切準(zhǔn)備就緒以后,滑動變阻器RV1的阻值,A/D采樣數(shù)據(jù),經(jīng)過單片機(jī)的處理,在4位一體的LED數(shù)碼管管上顯示當(dāng)前電壓值。每改變一次RV1的阻值,在數(shù)碼管上就會獲得一個新的數(shù)值。 第3章 硬件電路設(shè)計3.1 單片機(jī)的選擇及時鐘電路根據(jù)初步設(shè)計方案的分析,設(shè)計這樣一個簡單的應(yīng)用系統(tǒng),

5、可以選擇帶有EPROM的單片機(jī),應(yīng)用程序直接存儲在片內(nèi),不用在外部擴(kuò)展程序存儲器,電路可以簡化。此電路選擇ATmel公司生產(chǎn)的AT89C51。AT89系列與MCS-51系列單片機(jī)相比有兩大優(yōu)勢:第一,片內(nèi)程序存儲器采用閃速存儲器,使程序的寫入更加方便;第二,提供了更小尺寸的芯片,使整個電路體積更小。它以較小的體積、良好的性價比倍受青睞。單片機(jī)工作的時間基準(zhǔn)是由時鐘電路提供的。在單片機(jī)的XTAL1和XTAL2兩個管腳,接一只晶振及兩只電容就構(gòu)成了單片機(jī)的時鐘電路。電路中,電容C1和C2對震蕩電路有微調(diào)的作用,通常的取值范圍位(30+10)pF。石英晶體選擇6MHz或12MHz都可以,其結(jié)果只是機(jī)

6、器周期時間不同,影響計數(shù)器的計數(shù)初值,此設(shè)計取12MHz。圖3-1 單片機(jī)最小系統(tǒng)3.2驅(qū)動模塊該設(shè)計的驅(qū)動電路是由74LS245來驅(qū)動的。74LS245是我們常用的芯片,用來驅(qū)動LED或其他設(shè)備,它是8路同相三態(tài)雙向總線收發(fā)器,課雙向傳輸數(shù)據(jù)。74LS245還具有雙向三態(tài)功能,既可以輸出,也可以輸入數(shù)據(jù)。當(dāng)51單片機(jī)的P0口總線負(fù)載達(dá)到或超過P0最大負(fù)載能力時,必須接入74LS245等總線驅(qū)動器。當(dāng)片選端CE低電平有效時,AB/BA=0;信號由B向A傳輸;AB/BA=1,信號由A向B傳輸;當(dāng)CE位高電平時,A,B均為高阻圖3-2 74LS245管腳圖3.3 LED 顯示電路設(shè)計與器件選擇單片

7、機(jī)應(yīng)用系統(tǒng)中,通常都需要進(jìn)行人機(jī)對話。這包括人對應(yīng)用系統(tǒng)的狀態(tài)干預(yù)與數(shù)據(jù)輸入,以及應(yīng)用系統(tǒng)向人們顯示運行狀態(tài)與運行結(jié)果。顯示器、鍵盤電路就是用來完成人機(jī)對話活動的人機(jī)通道。 圖3-3 LED顯示管腳LED顯示器的驅(qū)動是一個非常重要的問題,由圖3-2-1可知,顯示電路由LED顯示器、段驅(qū)動電路和位驅(qū)動電路組成。此設(shè)計不采用段驅(qū)動芯片和位驅(qū)動芯片,直接由單片機(jī)的P0,P2口驅(qū)動,實驗證明可行。在應(yīng)用系統(tǒng)中,設(shè)計要求不同,使用的LED顯示器的位數(shù)也不同,因此生產(chǎn)廠家就生產(chǎn)了多種位數(shù)、尺寸、型號不同的LED顯示器。在我們的設(shè)計中,選擇4位一體的共陰極時鐘型LED顯示器,采用動態(tài)顯示方式。圖3-4 LE

8、D動態(tài)顯示采用P0口作為LED的段碼輸出信號,P2口的低四位作為LED位碼的輸出控制信號。硬件電路的連接如圖3-2-2所示。該電路的工作原理:當(dāng)P0口輸出段碼信號的BCD碼后,輸出具有一定驅(qū)動能力的七段字形碼,由于4-LED的段碼輸入管腳是并聯(lián)在一起的,所以每一位LED的段碼輸入管腳都能獲得這個段碼信號。若要控制在每一時刻只有一位LED被點亮,必須靠位碼信號控制。P2口低四位輸出位碼信號后接到LED的位碼控制端,因此P2口的低四位的位碼信號在每一時刻只有一位是“0”,其他位全為“1”,然后按時間順序改變輸出“0”的位置,控制在每一時刻只有一位LED被點亮,達(dá)到動態(tài)顯示的目的。3.4 A/D轉(zhuǎn)換

9、模塊及轉(zhuǎn)換電路設(shè)計A/D轉(zhuǎn)換器的功能是將模擬量轉(zhuǎn)換為與其大小成正比的數(shù)字量信號。能實現(xiàn)這種轉(zhuǎn)換的原理和方法很多,此設(shè)計采用ADC0808轉(zhuǎn)換器。ADC0808是一種逐次逼近型的8位A/D轉(zhuǎn)換器件,片內(nèi)有8路模擬開關(guān),可輸入8個模擬量,單極性,量程為0+5V。3.4.1 ADC0808 簡介1. ADC0808引腳功能圖3-5ADC0808引腳圖(1) IN0IN7:8路模擬量輸入。(2) ADDA、ADDB、ADDC:模擬量輸入通道地址選擇,其8位編碼分別對應(yīng)IN0IN7.(3) ALE:地址鎖存允許,上升沿將通道選擇信號存入地址鎖存器。(4) START:ADC轉(zhuǎn)換啟動信號,正脈沖有效,引腳

10、信號要求保持在200ns以上,其上升沿將內(nèi)部逐次逼近寄存器清零。(5) EOC:轉(zhuǎn)換解釋信號,可做為中斷請求信號或供CPU查詢。(6) CLK:時鐘輸入端,要求頻率范圍在10kHz1.2MHz.(7) OE:允許輸出信號。(8) Vcc:芯片工作電壓。(9) VREF(+)、VREF(-):基準(zhǔn)參考電壓的正、負(fù)值。(10) OUT1OUT8:8路數(shù)字量輸出端。3.4.2 A/D轉(zhuǎn)換電路設(shè)計集成摸數(shù)轉(zhuǎn)換芯片ADC0808實現(xiàn)的A/D轉(zhuǎn)換電路被測信號由ADC0808模擬輸入端輸入,完成A/D轉(zhuǎn)換后送入單片機(jī),經(jīng)相應(yīng)處理后送出顯示。 第四章 軟件設(shè)計與說明進(jìn)行應(yīng)用軟件設(shè)計時可以采用模塊化結(jié)構(gòu)設(shè)計,其

11、優(yōu)點是:每個模塊的程序結(jié)構(gòu)簡單,任務(wù)明確,易于編寫、調(diào)試和修改;程序可讀性好,對程序的修改可局部進(jìn)行,其他部分可以保持不變,易于功能擴(kuò)充和版本升級;易于使用頻繁的子程序可以建立子程序,便于多個模塊調(diào)用;便于分工合作,多個程序員同時進(jìn)行程序的編寫和調(diào)試工作,加快軟件研制進(jìn)度。4.1 數(shù)字電壓表系統(tǒng)軟件設(shè)計方案確定(1)根據(jù)設(shè)計要求,根據(jù)系統(tǒng)所要完成的功能,設(shè)計出圖4-1所示的功能模塊。 圖4-1 數(shù)字電壓表軟件設(shè)計的模塊(2)程序的設(shè)計主程序的設(shè)計 主程序的內(nèi)容一般包括:主程序的起始地址、中斷服務(wù)額程序的起始地址、有關(guān)內(nèi)存單元及相關(guān)部件的初始化和一些子程序調(diào)用等。根據(jù)設(shè)計要求,設(shè)計出如圖4-2所

12、示的主程序流程圖。 圖4-2 主程序流程圖 圖4-3 A/D轉(zhuǎn)換子程序流程圖 A/D轉(zhuǎn)換子程序的設(shè)計 A/D轉(zhuǎn)換程序的功能是采集數(shù)據(jù),再整個系統(tǒng)設(shè)計中占有很高的地位。當(dāng)系統(tǒng)置好后,單片機(jī)掃描轉(zhuǎn)換結(jié)束管腳P2.6的輸入電平狀態(tài),當(dāng)輸入為高電平則轉(zhuǎn)換完成,將轉(zhuǎn)換的數(shù)值轉(zhuǎn)換并顯示輸出。若輸入為低電平,則繼續(xù)掃描。程序流程圖如圖4-3所示。數(shù)碼轉(zhuǎn)換及顯示子程序的設(shè)計 由于人們?nèi)粘A?xí)慣使用十進(jìn)制數(shù),而計算機(jī)的鍵盤輸入、輸出以及顯示常采用二進(jìn)制編碼的十進(jìn)制數(shù)(即BCD碼)或ASCII碼。因此,在程序設(shè)計中經(jīng)常要進(jìn)行數(shù)碼轉(zhuǎn)換。4.2 數(shù)字電壓表應(yīng)程序設(shè)計(1)程序起始地址 MCS-51系列單片機(jī)復(fù)位后,(P

13、C)=0000H,而0003H002BH分別為各中斷源的入口地址。所以,編程序時應(yīng)在0000H處寫一條跳轉(zhuǎn)指令。當(dāng)CPU接到中斷請求信號并予以響應(yīng)后,CPU把當(dāng)前的PC內(nèi)容壓入棧中進(jìn)行保護(hù),然后轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序入口處執(zhí)行。(2)LED動態(tài)顯示延時 LED顯示器每一位的顯示時間是5ms,延時5ms子程序是典型的軟件定時程序。說明:LED采用7段字形代碼,第1位采用把dp置1的方式顯示小數(shù)點。第五章調(diào)試結(jié)果及其說明5.1 調(diào)試結(jié)果及其說明采用Keil Vision編譯器進(jìn)行源程序編譯,調(diào)試好程序后將.Hex文件導(dǎo)入Proteus進(jìn)行軟件調(diào)試。在Proteus ISIS編輯窗口中單擊開始仿真按

14、鈕,4位LED數(shù)碼管顯示相應(yīng)的電壓值。當(dāng)通道打到通道0時,滑動變阻器RV1的阻值調(diào)至最小位置時,LED顯示0.000,正確顯示數(shù)值;把RV1調(diào)至中間位置時,LED顯示2.650,同樣正確讀出數(shù)據(jù);當(dāng)把RV1的阻值調(diào)至最大位置時,LED顯示5.000,正確讀出數(shù)據(jù)。同理調(diào)試其他通道時,能正確顯示通道數(shù)和電壓值,證明該8路電壓表合格。調(diào)試結(jié)果如圖5-1 圖5-1 調(diào)試結(jié)果 參考文獻(xiàn)1 單片微機(jī)原理及應(yīng)用 徐春暉 主編 電子工業(yè)出版社2 單片機(jī)應(yīng)用技術(shù)(C語言版) 王靜霞 主編 電子工業(yè)出版社3 新概念51單片機(jī)C語言教程 郭天祥 主編 電子工業(yè)大學(xué) 4 單片機(jī)典型系統(tǒng)設(shè)計實例精講 彭為等 電子工業(yè)

15、出版社5 單片機(jī)原理與應(yīng)用設(shè)計 張毅剛等電子工業(yè)出版社附錄A 系統(tǒng)原理圖第 10 頁附錄A 系統(tǒng)原理圖附錄B 系統(tǒng)源程序LED_0EQU 30HLED_1 EQU 31HLED_2 EQU 32HLED_3 EQU33H/存放四個數(shù)碼管的段碼ADCEQU35H/存放轉(zhuǎn)換后的數(shù)據(jù)ST BIT P3.2OE BIT P3.0EOC BIT P3.1ORG 0000HSTART: MOVLED_0,#00HMOVLED_1,#00HMOVLED_2,#00HMOV LED_3,#00HMOVDPTR,#TABLE/送段碼表首地址SETBP3.4SETBP3.5CLRP3.6 /選擇ADC0808的通

16、道3WAIT: CLR STSETB STCLR ST/啟動轉(zhuǎn)換 JNB EOC,$ /等待轉(zhuǎn)換結(jié)束SETB OE /允許輸出MOV ADC,P1/暫存轉(zhuǎn)換結(jié)果CLR OE /關(guān)閉輸出LCALL INTOVLCALLDISP /顯示AD轉(zhuǎn)換結(jié)果SJMP WAITINTOV:MOV DPTR,#TAB/因為所用的滑動變阻器為0.01的精度,所以MOVA,ADC/最小的讀數(shù)為0.05,其余均為0.05的倍數(shù)MOVCA,A+DPTR/因此,第三位小數(shù),要么是5,要么是0MOV B,#2 DIV AB MOV R0,B/A/2的余數(shù)付給R0,通過判斷R0的值,MOV B,#100DIV ABMOV R

17、1,A /將A 除以100,并將商賦給R1MOV A,#10XCH A,B /交換數(shù)據(jù)DIV AB / 得到得商為整數(shù)位,余數(shù)為第一個小數(shù)位MOV LED_3,A /整數(shù)位MOV LED_2,B /第一位小數(shù)MOV LED_0,R1 /第三位小數(shù)CJNER0,#01,KK1 /若R0=1,則執(zhí)行下條語句,否則轉(zhuǎn)移到KK1MOV LED_1,#05 /第二位小數(shù)BACK: RETKK1: MOV LED_1,#00AJMPBACKDISP: / 采用4位共陰數(shù)碼管,故選通開關(guān)低有效,MOVDPTR,#TABLE/整數(shù)位MOVA,LED_3MOVCA,A+DPTRSETB ACC.7CLRP2.0

18、MOVP0,ALCALLDELAYSETBP2.0MOVDPTR,#TABLE /十分位MOVA,LED_2MOVCA,A+DPTRCLRP2.1MOVP0,ALCALLDELAYSETBP2.1MOVDPTR,#TABLE/百分位MOVA,LED_1MOVCA,A+DPTRCLRP2.2MOVP0,ALCALLDELAYSETBP2.2MOV DPTR,#TABLE/千分位 MOVA,LED_0MOVCA,A+DPTRCLRP2.3MOVP0,ALCALLDELAYSETBP2.3RETDELAY:MOVR6,#10/延時5毫秒D1:MOVR7,#250DJNZR7,$DJNZR6,D1RETTABLE: DB 3FH,06H,5BH,4FH,66H /數(shù)碼管0-9的碼表DB 6DH,7DH,07H,7FH,6FHTAB:DB 0,0 , 0 ,1,0,2,0,0,3,0/存放AD轉(zhuǎn)換后的數(shù)DB4,0,0,5,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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論