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

下載本文檔

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

文檔簡介

1、唐 山 學 院 單片機原理及應(yīng)用 課 程 設(shè) 計 題 目 單片機數(shù)字電壓表設(shè)計 系 (部) 信息工程系 班 級 10通信本2 姓 名 jinke 學 號 指導(dǎo)教師 _ 2013 年 1 月 2 日至 1 月 6 日 共 1 周 單片機原理及應(yīng)用 課程設(shè)計任務(wù)書一、設(shè)計題目、內(nèi)容及要求設(shè)計題目:單片機數(shù)字電壓表設(shè)計設(shè)計內(nèi)容及要求:(1)可以測量05V的8路直流電壓。 (2)在LED數(shù)碼管上顯示測量電壓值,顯示范圍為0.00V5.00V,一位LED數(shù)碼管顯示路數(shù),8路輪流顯示。(3)拓展部分:通過控制鍵可以改變顯示模式,8通道輪流顯示或單路選擇顯示。(4)其他功能,創(chuàng)新部分(自定)。二、設(shè)計原始資

2、料Proteus,KEIL三、要求的設(shè)計成果(課程設(shè)計說明書、設(shè)計實物、圖紙等) 設(shè)計結(jié)果在計算機上能正確仿真;設(shè)計說明書一份(包括硬件原理電路、源程序清單等)四、進程安排周一:利用proteus完成硬件電路繪制周二:編寫各部分應(yīng)用程序周三:程序組合并調(diào)試周四:編寫設(shè)計說明書周五:答辯五、主要參考資料 1、何立民主編,單片機中級教程,北京航空航天大學出版社。2、張毅剛主編,單片機原理與應(yīng)用設(shè)計,電子工業(yè)出版社。指導(dǎo)教師(簽名):教研室主任(簽名):課程設(shè)計成績評定表出勤情況出勤天數(shù) 缺勤天數(shù)成績評定出勤情況及設(shè)計過程表現(xiàn)(20分)課設(shè)答辯(20分)設(shè)計成果(60分)總成績(100分)提問(答辯

3、)問題情況第二組:1. A/D轉(zhuǎn)換器與單片機之間數(shù)據(jù)傳輸是采用何種方法,寫出相應(yīng)的程序段。2. A/D轉(zhuǎn)換器中的start信號,eoc信號和oe信號的功能分別是什么?程序中如何控制信號的。3. 7段數(shù)碼管選用的是共陰極還是共陽極數(shù)碼管?多個數(shù)碼管顯示時采用何種方法,簡述程序設(shè)計思路,寫出程序段。4. 在設(shè)計中選用了幾個數(shù)碼管?數(shù)碼管的位碼和段碼分別和單片機的那些引腳相連?綜合評定 指導(dǎo)教師簽名: 年 月 日目 錄1引言12 單片機簡介22.1 概述22.2 發(fā)展歷史22.3 基本結(jié)構(gòu)32.3.1 運算器32.3.2 控制器32.3.3 主要寄存器43 硬件設(shè)計及其工作原理53.1 數(shù)字電壓表主

4、要器件53.1.1 單片機AT89C5153.1.2 芯片ADC080873.1.3 七段數(shù)碼管簡介83.2 數(shù)字電壓表電路設(shè)計93.2.1處理器電路93.2.2 A/D轉(zhuǎn)換電路103.3 控制電路103.4 顯示電路113.5 整體電路圖設(shè)計114 數(shù)字電壓表軟件設(shè)計135 軟件仿真145.1 Proteus ISIS軟件簡介145.1.1 Proteus ISIS啟動145.1.2 Proteus ISIS工作界面155.2 Keil軟件簡介155.3 利用Proteus ISIS仿真與調(diào)試166 總結(jié)18參考文獻19附 錄201 引言數(shù)字電壓表的基本工作原理是利用A/D轉(zhuǎn)換電路將待測的模

5、擬信號轉(zhuǎn)換成數(shù)字信號,通過相應(yīng)換算后將測試結(jié)果以數(shù)字形式顯示出來的一種電壓表。較之于一般的模擬電壓表,數(shù)字電壓表具有精度高、測量準確、讀數(shù)直觀、使用方便等優(yōu)點。在測量儀器中,電壓表是必須的,而且電壓表的好壞直接影響到測量精度。具有一個精度高、轉(zhuǎn)換速度快、性能穩(wěn)定的電壓表才能符合測量的要求。為此,我們設(shè)計了數(shù)字電壓表,此作品主要由A/D0808轉(zhuǎn)換器和單片機AT89C51構(gòu)成,A/D轉(zhuǎn)換器在單片機的控制下完成對模擬信號的采集和轉(zhuǎn)換功能,最后由數(shù)碼管顯示采集的電壓值。電壓表的數(shù)字化測量,關(guān)鍵在于如何把隨時連續(xù)變化的模擬量轉(zhuǎn)化成數(shù)字量,完成這種轉(zhuǎn)換的電路叫模數(shù)轉(zhuǎn)換器(A/D)。數(shù)字電壓表的核心部件就

6、是A/D轉(zhuǎn)換器,由于各種不同的A/D轉(zhuǎn)換原理構(gòu)成了各種不同類型的DVM。一般說來,A/D轉(zhuǎn)換的方式可分為兩類:積分式和逐次逼近式。積分式A/D轉(zhuǎn)換器是先用積分器將輸入的模擬電壓轉(zhuǎn)換成時間或頻率,再將其數(shù)字化。根據(jù)轉(zhuǎn)化的中間量不同,它又分為U-T(電壓-時間)式和U-F(電壓-頻率)式兩種。逐次逼近式A/D轉(zhuǎn)換器分為比較式和斜坡電壓式,根據(jù)不同的工作原理,比較式又分為逐次比較式及零平衡式等。斜坡電壓式又分為線性斜坡式和階梯斜坡式兩種。在高精度數(shù)字電壓表中,常采用由積分式和比較式相結(jié)合起來的復(fù)合式A/D轉(zhuǎn)換器。本設(shè)計以AT89C51單片機為核心,以逐次比較型A/D轉(zhuǎn)換器ADC0808、七段數(shù)碼管為

7、主體,構(gòu)造了一款簡易的數(shù)字電壓表,能夠?qū)崿F(xiàn)自動和手動測量8路0.005.00V的直流電壓,最小分辨率為0.02V。2 單片機簡介2.1 概述2.1單片機芯片單片微型計算機簡稱單片機,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的縮寫MCU表示單片機,單片機又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機系統(tǒng)集成到一個芯片上。單片機由運算器,控制器,存儲器,輸入輸出設(shè)備構(gòu)成,相當于一個微型的計算機,和計算機相比,單片機只缺少了I/O設(shè)備。概括的講:一塊芯片就成了一臺計算機。它的體積小、質(zhì)量輕、價格便宜、為學習、應(yīng)用和開發(fā)提供了便利條件。同時,

8、學習使用單片機是了解計算機原理與結(jié)構(gòu)的最佳選擇。它最早是被用在工業(yè)控制領(lǐng)域。由于單片機在工業(yè)控制領(lǐng)域的廣泛應(yīng)用,單片機由芯片內(nèi)僅有CPU的專用處理器發(fā)展而來。最早的設(shè)計理念是通過將大量外圍設(shè)備和CPU集成在一個芯片中,使計算機系統(tǒng)更小,更容易集成進復(fù)雜的而對體積要求嚴格的控制設(shè)備當中。INTEL的Z80是最早按照這種思想設(shè)計出的處理器,當時的單片機都是8位或4位的。其中最成功的是INTEL的8031,此后在8031上發(fā)展出了MCS51系列單片機系統(tǒng)。因為簡單可靠而性能不錯獲得了很大的好評。盡管2000年以后ARM已經(jīng)發(fā)展出了32位的主頻超過300M的高端單片機,直到目前基于8031的單片機還在

9、廣泛的使用。在很多方面單片機比專用處理器更適合應(yīng)用于嵌入式系統(tǒng),因此它得到了廣泛的應(yīng)用。事實上單片機是世界上數(shù)量最多處理器,隨著單片機家族的發(fā)展壯大,單片機和專用處理器的發(fā)展便分道揚鑣?,F(xiàn)代人類生活中所用的幾乎每件電子和機械產(chǎn)品中都會集成有單片機。手機、電話、計算器、家用電器、電子玩具、掌上電腦以及鼠標等電腦配件中都配有1-2部單片機。 汽車上一般配備40多部單片機,復(fù)雜的工業(yè)控制系統(tǒng)上甚至可能有數(shù)百臺單片機在同時工作!單片機的數(shù)量因此遠超過PC機和其他計算的總和。單片機作為計算機發(fā)展的一個重要分支領(lǐng)域,根據(jù)目前發(fā)展情況,從不同角度單片機大致可以分為通用型/專用型、總線型/非總線型及工控型/家

10、電型。2.2 發(fā)展歷史單片機誕生于1971年,經(jīng)歷了SCM、MCU、SoC三大階段,早期的SCM單片機都是8位或4位的。其中最成功的是INTEL的8031,此后在8031上發(fā)展出了MCS51系列MCU系統(tǒng)。基于這一系統(tǒng)的單片機系統(tǒng)直到現(xiàn)在還在廣泛使用。隨著工業(yè)控制領(lǐng)域要求的提高,開始出現(xiàn)了16位單片機,但因為性價比不理想并未得到很廣泛的應(yīng)用。90年代后隨著消費電子產(chǎn)品大發(fā)展,單片機技術(shù)得到了巨大提高。隨著INTEL i960系列特別是后來的ARM系列的廣泛應(yīng)用,32位單片機迅速取代16位單片機的高端地位,并且進入主流市場。而傳統(tǒng)的8位單片機的性能也得到了飛速提高,處理能力比起80年代提高了數(shù)百

11、倍。目前,高端的32位Soc單片機主頻已經(jīng)超過300MHz,性能直追90年代中期的專用處理器,而普通的型號出廠價格跌落至1美元,最高端的型號也只有10美元。當代單片機系統(tǒng)已經(jīng)不再只在裸機環(huán)境下開發(fā)和使用,大量專用的嵌入式操作系統(tǒng)被廣泛應(yīng)用在全系列的單片機上。而在作為掌上電腦和手機核心處理的高端單片機甚至可以直接使用專用的Windows和Linux操作系統(tǒng)。2.3 基本結(jié)構(gòu)2.3.1 運算器運算器由運算部件算術(shù)邏輯單元(Arithmetic & Logical Unit,簡稱ALU)、累加器和寄存器等幾部分組成。ALU的作用是把傳來的數(shù)據(jù)進行算術(shù)或邏輯運算,輸入來源為兩個8位數(shù)據(jù),分別來自累加器

12、和數(shù)據(jù)寄存器。ALU能完成對這兩個數(shù)據(jù)進行加、減、與、或、比較大小等操作,最后將結(jié)果存入累加器。例如,兩個數(shù)6和7相加,在相加之前,操作數(shù)6放在累加器中,7放在數(shù)據(jù)寄存器中,當執(zhí)行加法指令時,ALU即把兩個數(shù)相加并把結(jié)果13存入累加器,取代累加器原來的內(nèi)容6。運算器有兩個功能:1. 執(zhí)行各種算術(shù)運算。2. 執(zhí)行各種邏輯運算,并進行邏輯測試,如零值測試或兩個值的比較。運算器所執(zhí)行全部操作都是由控制器發(fā)出的控制信號來指揮的,并且,一個算術(shù)操作產(chǎn)生一個運算結(jié)果,一個邏輯操作產(chǎn)生一個判決。2.3.2 控制器控制器由程序計數(shù)器、指令寄存器、指令譯碼器、時序發(fā)生器和操作控制器等組成,是發(fā)布命令的“決策機構(gòu)

13、”,即協(xié)調(diào)和指揮整個微機系統(tǒng)的操作。其主要功能有:1. 從內(nèi)存中取出一條指令,并指出下一條指令在內(nèi)存中的位置。2. 對指令進行譯碼和測試,并產(chǎn)生相應(yīng)的操作控制信號,以便于執(zhí)行規(guī)定的動作。3. 指揮并控制CPU、內(nèi)存和輸入輸出設(shè)備之間數(shù)據(jù)流動的方向。微處理器內(nèi)通過內(nèi)部總線把ALU、計數(shù)器、寄存器和控制部分互聯(lián),并通過外部總線與外部的存儲器、輸入輸出接口電路聯(lián)接。外部總線又稱為系統(tǒng)總線,分為數(shù)據(jù)總線DB、地址總線AB和控制總線CB。通過輸入輸出接口電路,實現(xiàn)與各種外圍設(shè)備連接。2.3.3 主要寄存器1. 累加器A累加器A是微處理器中使用最頻繁的寄存器。在算術(shù)和邏輯運算時它有雙功能:運算前,用于保存

14、一個操作數(shù);運算后,用于保存所得的和、差或邏輯運算結(jié)果。2. 數(shù)據(jù)寄存器DR數(shù)據(jù)寄存器通過數(shù)據(jù)總線向存儲器和輸入/輸出設(shè)備送(寫)或?。ㄗx)數(shù)據(jù)的暫存單元。它可以保存一條正在譯碼的指令,也可以保存正在送往存儲器中存儲的一個數(shù)據(jù)字節(jié)等等。3. 指令寄存器IR和指令譯碼器ID指令包括操作碼和操作數(shù)。指令寄存器是用來保存當前正在執(zhí)行的一條指令。當執(zhí)行一條指令時,先把它從內(nèi)存中取到數(shù)據(jù)寄存器中,然后再傳送到指令寄存器。當系統(tǒng)執(zhí)行給定的指令時,必須對操作碼進行譯碼,以確定所要求的操作,指令譯碼器就是負責這項工作的。其中,指令寄存器中操作碼字段的輸出就是指令譯碼器的輸入。4. 程序計數(shù)器PCPC用于確定下

15、一條指令的地址,以保證程序能夠連續(xù)地執(zhí)行下去,因此通常又被稱為指令地址計數(shù)器。在程序開始執(zhí)行前必須將程序的第一條指令的內(nèi)存單元地址(即程序的首地址)送入PC,使它總是指向下一條要執(zhí)行指令的地址。5. 地址寄存器AR地址寄存器用于保存當前CPU所要訪問的內(nèi)存單元或I/O設(shè)備的地址。由于內(nèi)存與CPU之間存在著速度上的差異,所以必須使用地址寄存器來保持地址信息,直到內(nèi)存讀/寫操作完成為止。顯然,當CPU向存儲器存數(shù)據(jù)、CPU從內(nèi)存取數(shù)據(jù)和CPU從內(nèi)存讀出指令時,都要用到地址寄存器和數(shù)據(jù)寄存器。同樣,如果把外圍設(shè)備的地址作為內(nèi)存地址單元來看的話,那么當CPU和外圍設(shè)備交換信息時,也需要用到地址寄存器和

16、數(shù)據(jù)寄存器。3 硬件設(shè)計及其工作原理3.1 數(shù)字電壓表主要器件 本次課程設(shè)計是以AT89C51單片機為控制核心,以A/D轉(zhuǎn)換器ADC0808為數(shù)據(jù)采樣系統(tǒng),實現(xiàn)被測電壓的數(shù)據(jù)采樣;用共陰數(shù)碼管顯示結(jié)果的簡易數(shù)字電壓表,能夠?qū)崿F(xiàn)8路0.005.00V的直流電壓,最小分辨率為0.02V。3.1.1 單片機AT89C51AT89C51是一種帶4K字節(jié)FLASH存儲器(FPEROMFlash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機。單片機的可擦除只讀存儲器可以反復(fù)擦除1000次。該器件采用ATMEL高密度

17、非易失存儲器制造技術(shù)制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器。AT89C51單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。外形及引腳排列如圖3-1所示:圖3-1 AT89C51單片機引腳圖AT89C51引腳介紹: 4個8位的I/O引腳,P0,P1,P2,P3 P0口(P0.0-P0.7):8位雙向三態(tài)I/O口線,既可作普通I/O口,也可作數(shù)據(jù)/低 8位地址總線。 P1口(P1.0-P1.7):8位準雙向三態(tài)I/O口線,作普通I/O口。P2口(P2.0-P2.7):8位準雙向

18、三態(tài)I/O口線,既可作普通I/O口,也可作數(shù)據(jù)/高8位地址。 表3-1 P3口引腳第二個功能P3口(P3.0-P3.7):8位準雙向三態(tài)I/O口線,既可作普通I/O口,另外每個引腳還有第二個功能。如下表所示:端口引腳第二功能P3.0RXDP3.1TXDP3.2INT0P3.3INT1P3.4T0P3.5T1P3.6WRP3.7RDP3口還接收一些用于閃爍存儲器編程和程序校驗的控制信號。RST:復(fù)位輸入。當震蕩器工作時,RET引腳出現(xiàn)兩個機器周期以上的高電平將使單片機復(fù)位。ALE/PROG:當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE輸出脈沖用于鎖存地址的低8位字節(jié)。即使不訪問外部存儲器,ALE以

19、時鐘震蕩頻率的1/16輸出固定的正脈沖信號,因此它可對輸出時鐘或用于定時目的。要注意的是:每當訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖時,閃爍存儲器編程時,這個引腳還用于輸入編程脈沖。如果必要,可對特殊寄存器區(qū)中的8EH單元的D0位置禁止ALE操作。這個位置后只有一條MOVX和MOVC指令A(yù)LE才會被應(yīng)用。此外,這個引腳會微弱拉高,單片機執(zhí)行外部程序時,應(yīng)設(shè)置ALE無效。PSEN:程序儲存允許輸出是外部程序存儲器的讀選通信號,當AT89C51由外部程序存儲器讀取指令時,每個機器周期兩次PSEN 有效,即輸出兩個脈沖。在此期間,當訪問外部數(shù)據(jù)存儲器時,這兩次有效的PSEN 信號不出現(xiàn)。EA/VP

20、P:外部訪問允許。欲使中央處理器僅訪問外部程序存儲器,EA端必須保持低電平。需要注意的是:如果加密位LBI被編程,復(fù)位時內(nèi)部會鎖存EA端狀態(tài)。如EA端為高電平,CPU則執(zhí)行內(nèi)部程序存儲器中的指令。閃爍存儲器編程時,該引腳加上+12V的編程允許電壓VPP,當然這必須是該器件是使用12V編程電壓VPP。XTAL1:震蕩器反相放大器及內(nèi)部時鐘發(fā)生器的輸入端。XTAL2:震蕩器反相放大器的輸出端。VCC:電源電壓 GND:地3.1.2 芯片ADC0808本電路采用芯片ADC0808來進行模數(shù)轉(zhuǎn)換。其引腳圖如圖3-2所示:圖3-2 ADC0808引腳圖利用ADC0808作為AD數(shù)據(jù)采樣器件, ADC08

21、08是CMOS單片型逐次逼近式A/D轉(zhuǎn)換器它由8路模擬開關(guān)、地址鎖存與譯碼器、比較器、8位開關(guān)樹型D/A轉(zhuǎn)換器、逐次逼近。ADC0808的工作過程是:首先輸入3位地址,并使ALE=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通8路模擬輸入之一到比較器。START上升沿將逐次逼近寄存器復(fù)位。下降沿啟動 A/D轉(zhuǎn)換,之后EOC輸出信號變低,指示轉(zhuǎn)換正在進行。直到A/D轉(zhuǎn)換完成,EOC變?yōu)楦唠娖剑甘続/D轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個信號可用作中斷申請。當OE輸入高電平 時,輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。ADC0808各個管腳功能:IN0IN7:8路模擬量輸入端。ADDA、

22、ADDB、ADDC:3位地址輸入線,用于選通8路模擬輸入中的一路D0D7:8位數(shù)字量輸出端。ALE:地址鎖存允許信號,輸入,高電平有效。START: A/D轉(zhuǎn)換啟動信號,輸入,高電平有效。EOC: A/D轉(zhuǎn)換結(jié)束信號,輸出,當A/D轉(zhuǎn)換結(jié)束時,此端輸出一個高電平(轉(zhuǎn)換期間一直為低電平)。OE:數(shù)據(jù)輸出允許信號,輸入,高電平有效。當A/D轉(zhuǎn)換結(jié)束時,此端輸入一個高電平,才能打開輸出三態(tài)門,輸出數(shù)字量。CLK:時鐘脈沖輸入端。要求時鐘頻率不高于640KHZ。REF(+)、REF(-):基準電壓。ADC0808內(nèi)部結(jié)構(gòu)圖:逐次逼近型A/D轉(zhuǎn)換器ADC0808由八路模擬開關(guān)、地址鎖存與譯碼器、比較器、

23、D/A轉(zhuǎn)換器、寄存器、控制電路和三態(tài)輸出鎖存器等組成。其內(nèi)部結(jié)構(gòu)如圖3-3所示。圖3-3 ADC0808內(nèi)部結(jié)構(gòu)3.1.3 七段數(shù)碼管簡介7段LED數(shù)碼管,是在一定形狀的絕緣材料上,利用單只LED組合排列成“8”字型的數(shù)碼管,分別引出它們的電極,點亮相應(yīng)的點劃來顯示出0-9的數(shù)字。如圖1-6。 LED數(shù)碼管根據(jù)LED的接法不同分為共陰和共陽兩類,了解LED的這些特性,對編程是很重要的,因為不同類型的數(shù)碼管,除了它們的硬件電路有差異外,編程方法也是不同的。右圖是共陰和共陽極數(shù)碼管的內(nèi)部電路,它們的發(fā)光原理是一樣的,只是它們的電源極性不同而已。 將多只LED的陰極連在一起即為共陰式,而將多只LED

24、的陽極連在一起即為共陽式。以共陰式為例,如把陰極接地,在相應(yīng)段的陽極接上正電源,該段即會發(fā)光。當然,LED的電流通常較小,一般均需在回路中接上限流電阻。假如將b和c段接上正電源,其它端接地或懸空,那么b和c段發(fā)光,此時,數(shù)碼管顯示將顯示數(shù)字“1”。而將a、b、d、e和g段都接上正電源,其它引腳懸空,此時數(shù)碼管將顯示“2”。依此類推。圖3-4 7段LED數(shù)碼管3.2 數(shù)字電壓表電路設(shè)計3.2.1 處理器電路主處理器采用AT89C51單片機,外接A/D轉(zhuǎn)換電路,控制電路和顯示電路。其工作原理是從ADC0808中采集電壓的數(shù)字量并把它轉(zhuǎn)換為十進制量,將其在LED上顯示出來。單片機還接受控制電路的控制

25、,以改變顯示模式和切換測試通道。圖3-5 單片機系統(tǒng)電路3.2.2 A/D轉(zhuǎn)換電路本次設(shè)計共采集八路模擬電壓值,占用IN0、IN1、IN2、IN3、IN4、IN5、IN6、IN7單個通道。時鐘由單片機提供矩形波。正負基準電壓分別為+5V和0V。EOC與P2.5相連,以查詢的方式通知單片機轉(zhuǎn)換完成。以P2.4控制START和ALE,控制其開始轉(zhuǎn)換和地址鎖存。以P2.6控制模數(shù)轉(zhuǎn)換器的輸出。電路圖如圖3-6所示。圖3-6 A/D轉(zhuǎn)換電路3.3 控制電路控制電路主要的作用是控制顯示模式和切換測試通道。按鍵BUTTON接P3.4口,功能是切換通道;開關(guān)SWITCH接P3.5口,通過查詢的方式來間接控制

26、LED是按通道循環(huán)顯示電壓還是只顯示某一通道的值。其電路圖如圖3-7所示。 圖3-7 控制電路3.4 顯示電路圖4 控制電路本顯示電路采用共陰極4位8段數(shù)碼管。段碼由單片機的P1口控制,位碼由P2.0、P2.1、 P2.2 、P2.3四個端口控制。很明顯采用的是動態(tài)顯示方式。其中第一位顯示通道數(shù),后三位顯示電壓值,有兩位小數(shù)。電路圖如圖3-8所示。圖3-8 顯示電路3.5 整體電路圖設(shè)計整體電路如下圖所示,左上角的八組變化電壓分時輸入ADC0808經(jīng)AT89C51控制進行模數(shù)轉(zhuǎn)換將轉(zhuǎn)換的數(shù)值用數(shù)碼管顯示出來。控制電路控制是否自動循環(huán)顯示及手動循環(huán)顯示。電路圖如圖3-9所示。圖3-9 系統(tǒng)總電路

27、圖4 數(shù)字電壓表軟件設(shè)計根據(jù)硬件電路編寫相應(yīng)的程序,實現(xiàn)電壓的采集、轉(zhuǎn)換、處理、顯示幾個功能,從而實現(xiàn)測量電壓的效果。另外利用外部中斷一實現(xiàn)通道的手動和自動之間的轉(zhuǎn)換,這是本軟件設(shè)計的思想。具體程序參見附錄一。主設(shè)計流程如圖4-1。圖4-1 數(shù)字電壓表程序設(shè)計流程要實現(xiàn)的功能有:1. 可以測量05V范圍內(nèi)的8路直流電壓值。2. 在4位LED數(shù)碼管上輪流顯示各路電壓值或單路選擇顯示,其中3位LED數(shù)碼管顯示電壓值,顯示范圍為0.00V5.00V,1位LED數(shù)碼管顯示路數(shù),8路分別為0-7。3. 測量最小分辨率為0.02V。5 軟件仿真5.1 Proteus ISIS軟件簡介Proteus ISI

28、S是英國Labcenter公司開發(fā)的電路分析與實物仿真軟件。它運行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點是:實現(xiàn)了單片機仿真和SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、RS232動態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。支持主流單片機系統(tǒng)的仿真。目前支持的單片機類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。提供軟件調(diào)試功能

29、。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點等調(diào)試功能,同時可以觀察各個變量、寄存器等的當前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision2等軟件。具有強大的原理圖繪制功能??傊?,該軟件是一款集單片機和SPICE分析于一身的仿真軟件,功能極其強大。5.1.1 Proteus ISIS啟動雙擊桌面上的ISIS 6 Professional圖標或者單擊屏幕左下方的“開始”“程序”“Proteus 6 Professional” “ISIS 6 Professional”,出現(xiàn)如圖3-1所示屏幕,表明進入Proteus ISIS

30、集成環(huán)境。圖5-1 啟動時的屏幕5.1.2 Proteus ISIS工作界面Proteus ISIS的工作界面是一種標準的Windows界面,如圖3-2所示。包括:標題欄、主菜單、標準工具欄、繪圖工具欄、狀態(tài)欄、對象選擇按鈕、預(yù)覽對象方位控制按鈕、仿真進程控制按鈕、預(yù)覽窗口、對象選擇器窗口、圖形編輯窗口。圖5-2 Proteus ISIS的工作界面5.2 Keil軟件簡介1. 系統(tǒng)概述 Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。用過匯編語言后再使用C來開發(fā),體

31、會更加深刻。 Keil C51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。下面詳細介紹Keil C51開發(fā)系統(tǒng)各部分功能和使用。 2. Keil C51單片機軟件開發(fā)系統(tǒng)的整體結(jié)構(gòu) C51工具包的整體結(jié)構(gòu),如圖(1)所示,其中uVision與Ishell分別是C51 for Windows和for Dos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程。開發(fā)人

32、員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及A51編譯器編譯生成目標文件(.OBJ)。目標文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51連接定位生成絕對目標文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標準的Hex文件,以供調(diào)試器dScope51或tScope51使用進行源代碼級調(diào)試,也可由仿真器使用直接對目標板進行調(diào)試,也可以直接寫入程序存貯器如EPROM中。 使用獨立的Keil仿真器時,注意事項: (1) 仿真器標配11.0592MHz的晶振,但用戶可以在仿真器上的晶振插孔中換插其他頻率的晶振。 (2) 仿真器上的復(fù)位按鈕只復(fù)位仿真芯片,不復(fù)位目標系統(tǒng)。

33、(3) 仿真芯片的31腳(/EA)已接至高電平,所以仿真時只能使用片內(nèi)ROM,不能使用片外ROM;但仿真器外引插針中的31腳并不與仿真芯片的31腳相連,故該仿真器仍可插入到擴展有外部ROM(其CPU的/EA引腳接至低電平)的目標系統(tǒng)中使用。5.3 利用Proteus ISIS仿真與調(diào)試將匯編程序經(jīng)Keil編譯后生成的.HEX文件裝入到AT89C51中對其仿真,將Switch開關(guān)打開,數(shù)碼管將循環(huán)顯示八個通道的電壓值;將Switch開關(guān)閉合,Button按鈕控制通道切換。分別將滑動變阻器位于不同位置得到不同阻值分別在數(shù)碼上顯示出來。閉合switch開關(guān),按動button,顯示不同通道電壓值,并將

34、該路電壓值與電壓表顯示電壓值比較,得到如下圖。圖5-3電壓表顯示不同通道電壓值圖5-4八路電壓值循環(huán)顯示仿真圖 由圖本數(shù)字電壓表測量的誤差都在0.02V以內(nèi),精度高,反應(yīng)快,可以完成對多路電壓的測試。6 總結(jié)做了一周的課程設(shè)計,我基本上圓滿的完成了課設(shè)的相關(guān)任務(wù),達到了課程設(shè)計的技術(shù)要求,相信這對以后也是有幫助的。通過課程設(shè)計這一實踐環(huán)節(jié),我對這個學期以來所學到知識有了更深層的理解,而且自己分析問題和解決實際問題的能力也有一定的提高。同時在這個過程中我也發(fā)現(xiàn)了自己許多的不足,包括對所學的基礎(chǔ)知識理解不是很透徹,以至于電路設(shè)計了很長時間,最后還得連夜趕著寫課程設(shè)計論文。本設(shè)計以AT89C51單片

35、機為控制核心,通過集成摸數(shù)轉(zhuǎn)換芯片ADC0808將被測信號轉(zhuǎn)換成數(shù)字信號,經(jīng)單片機內(nèi)部程序處理后,由七段數(shù)碼管顯示測量結(jié)果。仿真測試表明,系統(tǒng)性能良好,測量讀數(shù)穩(wěn)定易讀、更新速度合理,直流電壓測量范圍為0.005.00V,最小分辨率為0.02V,滿足任務(wù)書指標要求。認真的做完這次課程設(shè)計實踐后,我自己感覺在這些都有了很大的提高。但由于時間原因,這次課程設(shè)計沒能達到自己預(yù)想那么好,但所幸的是功夫不負有心人,所有功能指標都已基本實現(xiàn)了。在接下來的時間里,我會繼續(xù)把它做好。最后我還總結(jié)出了一個結(jié)論,當認真的投入到一項工作中時,不但會得到許多收獲,還會感覺到很大的樂趣。最后在此再次向帶領(lǐng)我們這次課程設(shè)

36、計的老師說聲:謝謝!參考文獻1 何立民主編.單片機中級教程(第二版).北京航空航天大學出版社,2006.102 張毅剛主編.單片機原理與應(yīng)用設(shè)計.電子工業(yè)出版社,2008.43 吳金戌,沈慶陽,郭庭吉.8051單片機實踐與應(yīng)用.北京:清華大學出版社,2002.94 汪德彪.MCS-51單片機原理及接口技術(shù)(第二版).北京:電子工業(yè)出版社,2009.6附 錄;源程序ADCEQU50HORG 0000HAJMP MAINORG 000BHAJMP NT0ORG 0030HMAIN:LCALL CLK ;初始化MOV R4,#7CLR F0START2:MOV R0,#50START1:MOV DPTR,#7FF0H

溫馨提示

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

最新文檔

評論

0/150

提交評論