直流電壓表的設(shè)計_第1頁
直流電壓表的設(shè)計_第2頁
直流電壓表的設(shè)計_第3頁
直流電壓表的設(shè)計_第4頁
直流電壓表的設(shè)計_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、目 錄一、設(shè)計要求2二、設(shè)計目的2三、設(shè)計的具體實現(xiàn) 21. 系統(tǒng)概述22. 單元電路設(shè)計33. 軟件程序設(shè)計14四、結(jié)論與展望22五、心得體會及建議23六、附錄23七、參考文獻24一設(shè)計要求設(shè)計一個由8051MCU組成的簡易直流電壓表系統(tǒng)。能夠測量一定范圍的電壓值,并以數(shù)字形式進行顯示。通過這個過程熟悉A/D轉(zhuǎn)換、鍵盤控制、串口通信和七段數(shù)碼管的使用,掌握51系列單片機控制和測試方法。設(shè)計以AT89C51單片機為核心,對電壓信號首先進行比例調(diào)節(jié)以滿足A/D的需要;設(shè)置按鍵用于調(diào)節(jié)不同的電壓檔位;用LED顯示測量得到的電壓值;設(shè)計通信接口電路以實現(xiàn)測量數(shù)據(jù)的傳送。完成基本要求,可以適當發(fā)揮進行

2、擴展設(shè)計。測量范圍0-200V10位模數(shù)轉(zhuǎn)換采樣結(jié)果通過LED數(shù)碼管顯示通過串行口與PC通信  二、設(shè)計目的(1)利用所學單片機的理論知識進行軟硬件整體設(shè)計,鍛煉學生理論聯(lián)系實際、提高我們的綜合應(yīng)用能力。 (2)我們這次的課程設(shè)計是以單片機為基礎(chǔ),設(shè)計并開發(fā)直流電壓表。 (3)掌握各個接口芯片(如ADC0808等)的功能特性及接口方法,并能運用其實現(xiàn)一個簡單的微機應(yīng)用系統(tǒng)功能器件。三、設(shè)計的具體實現(xiàn)1.系統(tǒng)概述 直流電壓表是針對直流屏、太陽能光伏、蓄電池、電鍍、通信電源、直流電動工具等應(yīng)用場合設(shè)計的。該系列的直流電量儀表包含直流電流表、直流電壓表、安培小時計、電壓小時計、直流功率表、

3、直流電能表等。數(shù)字電壓表(Digital Voltmeter)簡稱DVM,它是采用數(shù)字化測量技術(shù),把連續(xù)的模擬量(直流輸入電壓)轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式并加以顯示的儀表.傳統(tǒng)的指針式電壓表功能單一、精度低,不能滿足現(xiàn)代測量的需求,采用單片機的數(shù)字電壓表,它的精度高、抗干擾能力強。可擴展性強、集成方便,還可與PC進行實時通信。目前,有各種單片A/D轉(zhuǎn)換器構(gòu)成的數(shù)字電壓表,已被廣泛用于電子及電工測量、工業(yè)自動化儀表、自動測試系統(tǒng)等智能測量領(lǐng)域,與此同時,也能把電量及非電量測量技術(shù)提高到嶄新水平。該系列產(chǎn)品是一種高精度的安裝式儀表.方案論證方案一:采用數(shù)字化測量技術(shù),把連續(xù)的模擬量(直流輸入電壓

4、)轉(zhuǎn)換成不連續(xù)離散的數(shù)字形式并加以顯示的儀表。這種傳統(tǒng)的指針式電壓表功能單一精度低,不能滿足數(shù)字化時代的要求。方案二:采用單片機與AD轉(zhuǎn)換器設(shè)計一個數(shù)字電壓表,測量直流電壓值,四位數(shù)碼顯示。目前,由于各種單片A/D轉(zhuǎn)換器構(gòu)成的數(shù)字電壓表,已被廣泛用于電子及電工測量,工業(yè)自動化儀表等測量領(lǐng)域,顯示出強大的生命力。從以上兩種方案,很容易看出,按系統(tǒng)功能實現(xiàn)要求,兩者相比較方案二的設(shè)計既簡單又實用,軟件設(shè)計也比較簡單同時也實現(xiàn)了功能要求,故采用方案二。T本系統(tǒng)主要包括三大模塊:轉(zhuǎn)換模塊、數(shù)據(jù)處理模塊及顯示模塊。其中,A/D轉(zhuǎn)換采用ADC0808對輸入的模擬信號進行轉(zhuǎn)換,控制核心AT89C51再對轉(zhuǎn)換

5、的結(jié)果進行運算處理,最后驅(qū)動輸出裝置LED顯示數(shù)字電壓信號。總體結(jié)構(gòu)框圖如圖1所示模擬電 壓AT89C51 單片機ADC0808轉(zhuǎn)換LED數(shù)字顯 示圖1 總體結(jié)構(gòu)框圖2.單元電路設(shè)計(1)各部分概述 A/D轉(zhuǎn)換器的設(shè)計 A/D轉(zhuǎn)換器具有抗干擾能力強的特點,在采用零點校準的前提下,其轉(zhuǎn)換精度也可以做得很高,但顯著的不足是轉(zhuǎn)換速度較慢,并且分辨率越高,其轉(zhuǎn)換速度也就越慢,因此本設(shè)計采用了A/D轉(zhuǎn)換器,可以較好的改善轉(zhuǎn)換速度慢的缺點,它的轉(zhuǎn)換速率分辨率的乘積比傳統(tǒng)的雙積分式A/D轉(zhuǎn)換器提高至少兩個數(shù)量級。 單片機計數(shù)、控制電路設(shè)計 通過對A/D轉(zhuǎn)換器的方案分析,本設(shè)計采用的單片機編程實現(xiàn)A/D轉(zhuǎn)換,

6、脈沖的計數(shù)功能由單片機實現(xiàn),所以對單片機的速度提出了較高的要求,基本要求分辨率為11位,轉(zhuǎn)換速度不低于2次/S,發(fā)揮部分要求分辨率15位,采用MCS-51單片機實現(xiàn)控制和脈沖計數(shù),采用16MHZ晶振,完全能滿足分辨率15位和轉(zhuǎn)換速度2次/S的要求。顯示電路 顯示是電路采用數(shù)碼管顯示器,可顯示各種字體的數(shù)字、字母,還可以自定義內(nèi)容,增加了顯示的美觀性與直觀性,是重要的是提供了友好的人機界面。同時LED 8段數(shù)碼管有靜態(tài)顯示和動態(tài)顯示兩種方式。靜態(tài)顯示方式的各位數(shù)碼管相互獨立,公共端恒定接地或接正電源。每一個字段都要獨占一條I/O口只要有斷碼輸出,顯示器就可以顯示出所要顯示的字符,如果CPU不改寫

7、,則一直保持下去。動態(tài)顯示方式下各位數(shù)碼管的段選線相應(yīng)并連在一起,由一個8位的I/O口控制;各位的為選線有另外的I/O口控制。(2)單元硬件電路本次設(shè)計是以單片機AT89C51芯片、A/D轉(zhuǎn)換器為核心設(shè)計了一個簡易的直流電壓測量電路,在硬件方面,通過一個可變電阻調(diào)節(jié)輸入電壓的變化來反映所檢測到的電壓變化。此變化的電壓通過ADC0808的一個通道(INO)送入并進行A/D轉(zhuǎn)換后再送入單片機AT89C51中進行處理,再轉(zhuǎn)換成相應(yīng)的實際電壓值,最后通過四位LED數(shù)碼管顯示,精確到十分位,LED采用的是動態(tài)掃描顯示,使用74HC02P芯片進行驅(qū)動,軟件方面采用匯編編程。使得整個系統(tǒng)完成一個簡易的數(shù)字電

8、壓表的功能。輸入電壓電路輸入電路的作用是把不同量程的被測的電壓規(guī)范到A/D轉(zhuǎn)換器所要求的電壓值。衰減輸入電路如圖2所示 圖2衰減輸入電路 圖3量程切換開關(guān)本儀表設(shè)計的是0-1000V電壓,靈敏度高,所以只需衰減器,如圖2所示9M 900K 90K 和10K電阻構(gòu)成1/101/1001/1000的衰減器。衰減輸入電路可由開關(guān)來選擇不同的衰減率,從而切換檔位。AT89C51單片機AT89C51是一種帶4K字節(jié)閃存可編程可擦除只讀存儲器(FPEROMFlash Programmable and Erasable Read Only Memory)是低電壓、高性能CMOS 8位微處理器,俗稱單片機。單

9、片機的可擦除只讀存儲器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。外形及引腳排列如圖4所示:單片機最小系統(tǒng)主要由電源、復(fù)位、振蕩電路以及擴展部分等部分組成。最小系統(tǒng)原理圖如圖5所示。 圖4 AT89C51引腳圖 圖5最小系統(tǒng)電路圖接口分配電路設(shè)計如右圖6所示:VCC:供電電壓。 GND:接地。 圖6 單片機接口電路

10、P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/ 地址的第八位。在這里P0口作為輸入與輸出分別與ADC0808的輸出端和LCD顯示的輸入端相連,且P0外部被阻值為1K的電阻拉高。 P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P

11、2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。這里只用到了P2.0P2.3四個端口,其中P2.1P2.3都是作為輸出端口控制顯示電路的寄存器選擇、讀寫信號和使能端口。 P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。 P3口也可作為AT89C51的一些特殊功能口,在這里用到了P3.3 /INT1(外部中斷1)、 P3.6 /WR(外部數(shù)據(jù)存

12、儲器寫選通)、P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)。RST:復(fù)位輸入。當振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平時間。 ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在

13、外部執(zhí)行狀態(tài)ALE禁止,置位無效。 /PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。 /EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。 A/D轉(zhuǎn)換器2.3.1概述 模數(shù)

14、轉(zhuǎn)換器即A/D轉(zhuǎn)換器,或簡稱ADC,通常是指一個將模擬信號轉(zhuǎn)變?yōu)閿?shù)字信號的電子元件。 通常的模數(shù)轉(zhuǎn)換器是將一個輸入電壓信號轉(zhuǎn)換為一個輸出的數(shù)字信號。由于數(shù)字信號本身不具有實際意義,僅僅表示一個相對大小。故任何一個模數(shù)轉(zhuǎn)換器都需要一個參考模擬量作為轉(zhuǎn)換的標準,比較常見的參考標準為最大的可轉(zhuǎn)換信號大小。而輸出的數(shù)字量則表示輸入信號相對于參考信號的大小。 模數(shù)轉(zhuǎn)換器最重要的參數(shù)是轉(zhuǎn)換的精度,通常用輸出的數(shù)字信號的位數(shù)的多少表示。轉(zhuǎn)換器能夠準確輸出的數(shù)字信號的位數(shù)越多,表示轉(zhuǎn)換器能夠分辨輸入信號的能力越強,轉(zhuǎn)換器的性能也就越好。 A/D轉(zhuǎn)換一般要經(jīng)過采樣、保持、量化及編碼4個過程。在實際電路中,有些過

15、程是合并進行的,如采樣和保持,量化和編碼在轉(zhuǎn)換過程中是同時實現(xiàn)的。 一般來說,AD比DA貴,尤其是高速的AD,因為在某些特殊場合,如導(dǎo)彈的攝像頭部分要求有高速的轉(zhuǎn)換能力。一般那樣AD要上千美元。還有通過AD的并聯(lián)可以提高AD的轉(zhuǎn)換效率,多個AD同時處理數(shù)據(jù),能滿足處理器的數(shù)字信號需求了。模數(shù)轉(zhuǎn)換過程包括量化和編碼。量化是將模擬信號量程分成許多離散量級,并確定輸入信號所屬的量級。編碼是對每一量級分配唯一的數(shù)字碼,并確定與輸入信號相對應(yīng)的代碼。最普通的碼制是二進制,它有2n個量級(n為位數(shù)),可依次逐個編號。模數(shù)轉(zhuǎn)換的方法很多,從轉(zhuǎn)換原理來分可分為直接法和間接法兩大類。 直接法是直接將電壓轉(zhuǎn)換成數(shù)

16、字量。它用數(shù)模網(wǎng)絡(luò)輸出的一套基準電壓,從高位起逐位與被測電壓反復(fù)比較,直到二者達到或接近平衡??刂七壿嬆軐崿F(xiàn)對分搜索的控制,其比較方法如同天平稱重。先使二進位制數(shù)的最高位Dn-11,經(jīng)數(shù)模轉(zhuǎn)換后得到一個整個量程一半的模擬電壓VS,與輸入電壓Vin相比較,若Vin>VS,則保留這一位;若Vin<Vin,則Dn-10。然后使下一位Dn-21,與上一次的結(jié)果一起經(jīng)數(shù)模轉(zhuǎn)換后與Vin相比較,重復(fù)這一過程,直到使D01,再與Vin相比較,由Vin>VS還是Vin<V 來決定是否保留這一位。經(jīng)過n次比較后,n位寄存器的狀態(tài)即為轉(zhuǎn)換后的數(shù)據(jù)。這種直接逐位比較型(又稱反饋比較型)轉(zhuǎn)換器

17、是一種高速的數(shù)模轉(zhuǎn)換電路,轉(zhuǎn)換精度很高,但對干擾的抑制能力較差,常用提高數(shù)據(jù)放大器性能的方法來彌補。它在計算機接口電路中用得最普遍。 間接法不將電壓直接轉(zhuǎn)換成數(shù)字,而是首先轉(zhuǎn)換成某一中間量,再由中間量轉(zhuǎn)換成數(shù)字。常用的有電壓-時間間隔(V/T)型和電壓-頻率(V/F)型兩種,其中電壓-時間間隔型中的雙斜率法(又稱雙積分法)用得較為普遍。 模數(shù)轉(zhuǎn)換器的選用具體取決于輸入電平、輸出形式、控制性質(zhì)以及需要的速度、分辨率和精度。 用半導(dǎo)體分立元件制成的模數(shù)轉(zhuǎn)換器常常采用單元結(jié)構(gòu),隨著大規(guī)模集成電路技術(shù)的發(fā)展,模數(shù)轉(zhuǎn)換器體積逐漸縮小為一塊模板、一塊集成電路 接口分配電路設(shè)計如圖7所示:IN0IN7為8路

18、模擬量輸入端,這里只接一路電壓信號,其輸入信號是由直流電源及可調(diào)電阻提供。 OUT1OUT8為8位二進制數(shù)字量 圖7 A/D轉(zhuǎn)換電路 輸出端,其另一端連接到AT89C51單片機進行數(shù)值轉(zhuǎn)換。 ADDA、ADDB、ADDC為3位片選地址輸入線,用于選通8路模擬輸入中的一路。 ALE為地址鎖存允許信號,由單片機P3.6口寫信號與P2.0口相或取反輸入,高電平有效。 START為 AD轉(zhuǎn)換啟動脈沖輸入端,由單片機P3.6口寫信號與P2.0口相或取反輸入一個正脈沖使其啟動(脈沖上升沿使0808復(fù)位,下降沿啟動A/D轉(zhuǎn)換)。 EOC為 AD轉(zhuǎn)換結(jié)束信號,當AD轉(zhuǎn)換結(jié)束時,此端輸出一個高電平取反給P3.3

19、口(轉(zhuǎn)換期間一直為低電平)。 OE為數(shù)據(jù)輸出允許信號,高電平有效。當AD轉(zhuǎn)換結(jié)束時,此端由單片機P3.7讀信號與P2.0口相或后取反輸入一個高電平,才能打開輸出三態(tài)門,輸出數(shù)字量。2.3.2 逐次逼近型A/D轉(zhuǎn)換器原理逐次逼近型A/D轉(zhuǎn)換器是由一個比較器、A/D轉(zhuǎn)換器、存儲器及控制電路組成。它利用內(nèi)部的寄存器從高位到低位一次開始逐位試探比較。轉(zhuǎn)換過程如下:開始時,寄存器各位清零,轉(zhuǎn)換時,先將最高位置1,把數(shù)據(jù)送入A/D轉(zhuǎn)換器轉(zhuǎn)換,轉(zhuǎn)換結(jié)果與輸入的模擬量比較,如果轉(zhuǎn)換的模擬量比輸入的模擬量小,則1保留,如果轉(zhuǎn)換的模擬量比輸入的模擬量大,則1不保留,然后從第二位依次重復(fù)上述過程直至最低位,最后寄存

20、器中的內(nèi)容就是輸入模擬量對應(yīng)的二進制數(shù)字量。其原理框圖如圖8所示:順序脈沖發(fā)生器逐次逼近寄存器ADC電壓比較器輸入電壓輸入數(shù)字量圖8 逐次逼近式A/D轉(zhuǎn)換器原理圖2.3.3 ADC0808 主要特性ADC0808是CMOS單片型逐次逼近式A/D轉(zhuǎn)換器,帶有使能控制端,與微機直接接口,片內(nèi)帶有鎖存功能的8路模擬多路開關(guān),可以對8路0-5V輸入模擬電壓信號分時進行轉(zhuǎn)換,由于ADC0808設(shè)計時考慮到若干種模/數(shù)變換技術(shù)的長處,所以該芯片非常適應(yīng)于過程控制,微控制器輸入通道的接口電路,智能儀器和機床控制等領(lǐng)域5。ADC0808主要特性:8路8位A/D轉(zhuǎn)換器,即分辨率8位;具有鎖存控制的8路模擬開關(guān);

21、易與各種微控制器接口;可鎖存三態(tài)輸出,輸出與TTL兼容;轉(zhuǎn)換時間:128s;轉(zhuǎn)換精度:0.2%;單個+5V電源供電;模擬輸入電壓范圍0- +5V,無需外部零點和滿度調(diào)整;低功耗,約15mW。2.3.4 ADC0808的外部引腳特征 ADC0808芯片有28條引腳,采用雙列直插式封裝,其引腳圖如圖9所示。圖9 ADC0808引腳圖下面說明各個引腳功能:IN0-IN7(8條):8路模擬量輸入線,用于輸入和控制被轉(zhuǎn)換的模擬電壓。地址輸入控制(4條):ALE:地址鎖存允許輸入線,高電平有效,當ALE為高電平時,為地址輸入線,用于選擇IN0-IN7上那一條模擬電壓送給比較器進行A/D轉(zhuǎn)換。ADDA,AD

22、DB,ADDC:3位地址輸入線,用于選擇8路模擬輸入中的一路,其對應(yīng)關(guān)系如表1所示: 表1 ADC0808通道選擇表地址碼 對應(yīng)的輸入通道 C B A 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 START:START為“啟動脈沖”輸入法,該線上正脈沖由CPU送來,寬度應(yīng)大于100ns,上升沿清零SAR,下降沿啟動ADC工作。EOC: EOC為轉(zhuǎn)換結(jié)束輸出線,該線上高電平表示A/D轉(zhuǎn)換已結(jié)束,數(shù)字量已鎖入三態(tài)輸出鎖存器。D1-D8:數(shù)字量輸出端,D1為高位。OE:OE為輸出允許端

23、,高電平能使D1-D8引腳上輸出轉(zhuǎn)換后的數(shù)字量。REF+、REF-:參考電壓輸入量,給電阻階梯網(wǎng)絡(luò)供給標準電壓。Vcc、GND: Vcc為主電源輸入端,GND為接地端,一般REF+與Vcc連接在一起,REF-與GND連接在一起. CLK:時鐘輸入端。2.3.5 ADC0808的內(nèi)部結(jié)構(gòu)及工作流程ADC0808由8路模擬通道選擇開關(guān),地址鎖存與譯碼器,比較器,8位開關(guān)樹型A/D轉(zhuǎn)換器,逐次逼近型寄存器,定時和控制電路和三態(tài)輸出鎖存器等組成,其內(nèi)部結(jié)構(gòu)如圖10所示。圖10 ADC0808的內(nèi)部結(jié)構(gòu)其中:(1)8路模擬通道選擇開關(guān)實現(xiàn)從8路輸入模擬量中選擇一路送給后面的比較器進行比較。(2)地址鎖存

24、與譯碼器用于當ALE信號有效時,鎖存從ADDA、ADDB、ADDC 3根地址線上送來的3位地址,譯碼后產(chǎn)生通道選擇信號,從8路模擬通道中選擇當前模擬通道。(3)比較器,8位開關(guān)樹型A/D轉(zhuǎn)換器,逐次逼近型寄存器,定時和控制電路組成8位A/D轉(zhuǎn)換器,當START信號有效時,就開始對當前通道的模擬信號進行轉(zhuǎn)換,轉(zhuǎn)換完成后,把轉(zhuǎn)換得到的數(shù)字量送到8位三態(tài)鎖存器,同時通過引腳送出轉(zhuǎn)換結(jié)束信號。(4)三態(tài)輸出鎖存器保存當前模擬通道轉(zhuǎn)換得到的數(shù)字量,當OE信號有效時,把轉(zhuǎn)換的結(jié)果送出。ADC0808的工作流程為:(1)輸入3位地址,并使ALE=1,將地址存入地址鎖存器中,經(jīng)地址譯碼器從8路模擬通道中選通1

25、路模擬量送給比較器。(2)送START一高脈沖,START的上升沿使逐次寄存器復(fù)位,下降沿啟動A/D轉(zhuǎn)換,并使EOC信號為低電平。(3)當轉(zhuǎn)換結(jié)束時,轉(zhuǎn)換的結(jié)果送入到輸出三態(tài)鎖存器中,并使EOC信號回到高電平,通知CPU已轉(zhuǎn)換結(jié)束。(4)當CPU執(zhí)行一讀數(shù)據(jù)指令時,使OE為高電平,則從輸出端D0-D7讀出數(shù)據(jù)。2.4.1 LED基本結(jié)構(gòu)LED是發(fā)光二極管顯示器的縮寫。LED由于結(jié)構(gòu)簡單、價格便宜、與單片機接口方便等優(yōu)點而得到廣泛應(yīng)用。LED顯示器是由若干個發(fā)光二極管組成顯示字段的顯示器件6。在單片機中使用最多的是七段數(shù)碼顯示器。LED七段數(shù)碼顯示器由8個發(fā)光二極管組成顯示字段,其中7個長條形的

26、發(fā)光二極管排列成“日”字形,另一個圓點形的發(fā)光二極管在顯示器的右下角作為顯示小數(shù)點用,其通過不同的組合可用來顯示各種數(shù)字。LED引腳排列如下圖11所示:圖11 LED引腳排列2.4.2 LED顯示器的選擇在應(yīng)用系統(tǒng)中,設(shè)計要求不同,使用的LED顯示器的位數(shù)也不同,因此就生產(chǎn)了位數(shù),尺寸,型號不同的LED顯示器供選擇,在本設(shè)計中,選擇4位一體的數(shù)碼型LED顯示器,簡稱“4-LED”。本系統(tǒng)中前一位顯示電壓的整數(shù)位,即個位,后兩位顯示電壓的小數(shù)位。4-LED顯示器引腳如圖12所示,是一個共陰極接法的4位LED數(shù)碼顯示管,其中a,b,c,e,f,g為4位LED各段的公共輸出端,1、2、3、4分別是每

27、一位的位數(shù)選端,dp是小數(shù)點引出端,4位一體LED數(shù)碼顯示管的內(nèi)部結(jié)構(gòu)是由4個單獨的LED組成,每個LED的段輸出引腳在內(nèi)部都并聯(lián)后,引出到器件的外部。圖12 4位LED引腳對于這種結(jié)構(gòu)的LED顯示器,它的體積和結(jié)構(gòu)都符合設(shè)計要求,由于4位LED陰極的各段已經(jīng)在內(nèi)部連接在一起,所以必須使用動態(tài)掃描方式(將所有數(shù)碼管的段選線并聯(lián)在一起,用一個I/O接口控制)顯示。2.4.3 LED譯碼方式譯碼方式是指由顯示字符轉(zhuǎn)換得到對應(yīng)的字段碼的方式,對于LED數(shù)碼管顯示器,通常的譯碼方式有硬件譯碼和軟件譯碼方式兩種。硬件譯碼是指利用專門的硬件電路來實現(xiàn)顯示字符碼的轉(zhuǎn)換。軟件譯碼就是編寫軟件譯碼程序,通過譯碼

28、程序來得到要顯示的字符的字段碼,譯碼程序通常為查表程序。本設(shè)計系統(tǒng)中為了簡化硬件線路設(shè)計,LED譯碼采用軟件編程來實現(xiàn)。由于本設(shè)計采用的是共陰極LED,其對應(yīng)的字符和字段碼如下表2所示。表2 共陰極字段碼表顯示字符共陰極字段碼03FH106H25BH34FH466H56DH67DH707H87FH96FH2.4.4 LED顯示器與單片機接口設(shè)計由于單片機的并行口不能直接驅(qū)動LED顯示器,所以,在一般情況下,必須采用專用的驅(qū)動電路芯片,使之產(chǎn)生足夠大的電流,顯示器才能正常工作。如果驅(qū)動電路能力差,即負載能力不夠時,顯示器亮度就低,而且驅(qū)動電路長期在超負荷下運行容易損壞,因此,LED顯示器的驅(qū)動電

29、路設(shè)計是一個非常重要的問題。為了簡化數(shù)字式直流電壓表的電路設(shè)計,在LED驅(qū)動電路的設(shè)計上,可以利用單片機P0口上外接的上拉電阻來實現(xiàn),即將LED的A-G段顯示引腳和DP小數(shù)點顯示引腳并聯(lián)到P0口與上拉電阻之間,這樣,就可以加大P0口作為輸出口德驅(qū)動能力,使得LED能按照正常的亮度顯示出數(shù)字,如圖13所示。圖13 LED與單片機接口間的設(shè)計3軟件程序設(shè)計(1)系統(tǒng)軟件設(shè)計進行的整體操作流程方案,總體流程圖和A/D轉(zhuǎn)化流程圖最大的不同就在:總體流程圖是將總體控制電路的運行步驟,而A/D轉(zhuǎn)化流程圖是局部中斷運行方式,兩種控制功能融合在一起,是考慮到可以實現(xiàn)全部功能的原因,且原理簡單。如此設(shè)計,其優(yōu)點

30、在于:設(shè)計思想比較簡單,較容易組裝電路?;蛘呤牵B線方便、一清二楚,不容易出錯。要顯示電路的優(yōu)勢,則勢必形成各門電路使用。引導(dǎo)顯示電路的穩(wěn)定性,抗干擾能力增強。主程序的內(nèi)容包括:起始地址、中斷服務(wù)程序的起始地址、有關(guān)內(nèi)存單元及相關(guān)部件的初始化和一些子程序的調(diào)用等。根據(jù)設(shè)計要求,設(shè)計出如圖所示的主程序流程圖。A/D轉(zhuǎn)換子程序設(shè)計: A/D轉(zhuǎn)換程序的功能是采集數(shù)據(jù),在整個系統(tǒng)設(shè)計中占有很高的地位。當系統(tǒng)置好后,單片機掃描轉(zhuǎn)換結(jié)束管腳P3.7的輸入電平狀態(tài),當輸入為高電平則轉(zhuǎn)換完成,將轉(zhuǎn)換的數(shù)值顯示輸出。若輸入為低電平,則繼續(xù)掃描。程序流程圖如下圖所示。(2)程序COM EQU 50H ; 指令寄存

31、器DAT EQU 51H ; 數(shù)據(jù)寄存器RS EQU P2.1 ; LCD寄存器選擇信號RW EQU P2.2 ; LCD讀/寫選擇信號E EQU P2.3 ; LCD使能信號 ORG 0000H LJMP MAIN ;主程序入口 ORG 000BH LJMP BT0 ;T0中斷入口 ORG 0030H ;主程序,初始化MAIN: MOV SP,#60H LCALL INT MOV 30H,#30H MOV 31H,#30H MOV 32H,#0A5H MOV 33H,#30H MOV 34H,#30H MOV R7,#30H LCALL N1 ;顯示 Voltage = 00.00MOV T

32、MOD,#00H ;定時器T0設(shè)為方式0MOV TH0,#00h ;裝入定時常數(shù)MOV TL0,#00hSETB TR0 ;啟動T0MOV 24h, #03h ;裝入T0中斷次數(shù)MOV IE,#82H ;開中斷LP: MOV R7,#30H ;顯示緩沖區(qū)首地址LCALL DISPLYSJMP LP ;循環(huán)顯示DISPLY: MOV COM,#0CAH ;設(shè)置數(shù)據(jù)起始地址(第而行第10位) LCALL PR1 MOV R1,#05H MOV R0,#30Hl: MOV DAT,r0 LCALL PR2 INC R0 DJNZ R1,l RET;1. 逐字依次輸入方式演示程序段N1:MOV COM

33、,#01H ;清屏 LCALL PR1 MOV COM,#06H ;設(shè)置輸入方式 LCALL PR1 MOV COM,#081H ;設(shè)置數(shù)據(jù)起始地址(第一行地二位) LCALL PR1 MOV DPTR,#TAB1 MOV R2,#0EH MOV R3,#00HWRIN1: MOV A,R3 MOVC A,A+DPTR MOV DAT,A LCALL PR2 INC R3 DJNZ R2,WRIN1 MOV COM,#0C1H ;設(shè)置數(shù)據(jù)起始地址(第二行地二位) LCALL PR1 MOV DPTR,#TAB2 MOV R2,#9 MOV R3,#00HWRIN2: MOV A,R3 MOVC

34、 A,A+DPTR MOV DAT,A LCALL PR2 INC R3 DJNZ R2,WRIN2 RETTAB1: DB "VOLTAGE= " LCD間接控制方式下的初始化子程序INT:LCALL DELAY ; 調(diào)延時子程序MOV COM,#38H ; 設(shè)置工作方式(2行,8位數(shù)據(jù))LCALL PR1MOV COM,#01H ; 清屏LCALL PR1MOV COM,#06H ; 設(shè)置輸入方式LCALL PR1MOV COM,#0CH ; 設(shè)置顯示方式LCALL PR1RETDELAY:MOV R6,#0FH ; 延時子程序MOV R7,#00HDELAY1: NO

35、P NOPDJNZ R7,DELAY1DJNZ R6,DELAY1RET;LCD間接控制方式的驅(qū)動子程序如下;1 讀BF和AC值PR0: PUSH ACC MOV P0,#0FFH ; P0置位, 準備讀 CLR RS ; RS=0 SETB RW; R/W=1 SETB E ; E=1 LCALL DELAY MOV COM,P0 ; 讀BF和AC6-4值 CLR E ; E=0 POP ACC RET;2 寫指令代碼子程序PR1: PUSH ACC CLR RS ; RS=0 SETB RW ; R/W=1PR11:MOV P0,#0FFH; P0置位, 準備讀 SETB E ; E=1

36、LCALL DELAY NOP MOV A,P0 CLR E JB ACC.7,PR11;BF=1? CLR RW; R/W=0 MOV P0,COM SETB E ; E=1 CLR E ; E=0; E=0 POP ACC RET;3 寫顯示數(shù)據(jù)子程序PR2:PUSH ACC CLR RS ; RS=0 SETB RW; R/W=1PR21:MOV P0,#0FFH SETB E ; E=1 LCALL DELAY MOV A,P0 ; 讀BF和AC6-4值 CLR E ; E=0 JB ACC.7,PR21 SETB RS CLR RW MOV P0,DAT; 寫入數(shù)據(jù) SETB E C

37、LR E POP ACC RET;4 讀顯示數(shù)據(jù)子程序PR3:PUSH ACC CLR RS ; RS=0 SETB RW; R/W=1PR31:MOV P0,#0FFH ; P0置位, 準備讀 SETB E ; E=1 LCALL DELAY MOV A,P0 ; 讀BF和AC6-4值 CLR E ; E=0 JB ACC.7,PR31 SETB RS SETB RW; R/W=1 MOV P0,#0FFH ; 讀數(shù)據(jù) SETB E ; E=1 MOV DAT,P0 CLR E ; E=0 POP ACC RET; 定時器T0中斷服務(wù)程序,讀取ADC0809第0通道的A/D轉(zhuǎn)換結(jié)果并化為顯示

38、值BT0: PUSH ACC ;保護現(xiàn)場PUSH PSWMOV PSW,#08HCLR TR0 ;停止T0MOV TH0,#00h ;重裝定時常數(shù)MOV TL0,#00hMOV DPTR,#0F6FFH ;0809端口地址MOV A,#0 ;0通道MOVX DPTR,A ;啟動0809MOV R7,#0FFH ;等待A/D轉(zhuǎn)換完DJNZ R7,$MOVX A,DPTR ;讀0809轉(zhuǎn)換結(jié)果 MOV B,#03H ;將轉(zhuǎn)換的值除以3再累加,存入40H中 DIV AB ADD A,40H MOV 40H,A MOV A,B ;將除以3后的余數(shù)累加放入41H中 ADD A,41H MOV 41H,A

39、 DEC 24h ;3次中斷未到則返回MOV A,24HJNZ RNT1 MOV 24h,#03h ;重裝中斷次數(shù) MOV A,41H ;將累加的余數(shù)再除3后相加 DIV AB ADD A,40H MOV 40H,#0 ;清零累加數(shù) MOV 41H,#0RTN: MOV B,#0fh ;A/D轉(zhuǎn)換結(jié)果化為顯示值 MUL AB ;(AD*5)/256 MOV R0,A MOV A,B MOV B,R0 MOV R0,A ADD A,#246 MOV A,R0 MOV 30H,#00H JNC LOOP ADD A,#06H MOV 30H,#01HLOOP: MOV 31H,A ;AD*5的高字

40、節(jié)為整數(shù)部分 MOV A,B MOV B,#0AH MUL AB ;AD*5的低字節(jié)為/256的結(jié)果,為小數(shù)部分 MOV 33H,B ;二進制小數(shù)換為10進制數(shù) MOV B,#0AH MUL AB MOV 34H,B LJMP RTN1RTN1: SETB TR0 ORL 30H,#30H ORL 31H,#30H MOV 32H,#0A5H ;小數(shù)點 ORL 33H,#30H ORL 34H,#30H POP PSWPOP ACCRETI END(3)仿真1.打開WAVE 6000 軟件,菜單欄選擇“文件”中的“新建文件”,在彈出的窗口中編寫程序,然后保存后綴為“*.asm”的程序。2.菜單

41、欄選擇“項目”中的“編譯”,如果程序無誤即編譯成功,否則修改程序直至編譯成功。3.打開Proteus軟件,新建文件FileNew Design,同樣在彈出的原理圖編輯窗口中繪制原理圖,然后保存。4.加載程序,選擇SourceAdd/Remove Source Files,在彈出的對話框中點擊“New”選擇在WAVE 6000軟件中編寫保存的程序如“*.asm”,點擊“OK”即加載成功。5.在Proteus軟件中的左下方點擊圖標仿真調(diào)試開始,即可看到仿真調(diào)試的結(jié)果。四、結(jié)論與展望基于單片機的直流數(shù)字電壓表使用性能好、結(jié)構(gòu)簡單、成本低、外接元件少。在實際應(yīng)用工作中適應(yīng)性強,測量電壓準確,精度高。系統(tǒng)功能、指標達到了課題的預(yù)期要求、系統(tǒng)在硬件設(shè)計上充分考慮了可擴展性,經(jīng)過一定的改造,可以增加功能。本文設(shè)計主要實現(xiàn)了簡易數(shù)字直流電壓表測量電壓的功能,詳細說明了從原理圖的設(shè)計、電路圖的仿真再到軟件的調(diào)試。通過本次設(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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論