




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
前言伴隨微電子技術(shù)不停發(fā)展,微處理器芯片集成程度越來越高,單片機已能夠在一塊芯片上同時集成CPU、存放器、定時器/計數(shù)電路,這就很輕易將計算機技術(shù)與測量控制技術(shù)結(jié)合,組成智能化測量控制系統(tǒng)。數(shù)字電壓表(DigitalVoltmeter)簡稱DVM,它是采取數(shù)字化測量技術(shù),把連續(xù)模擬量(直流輸入電壓)轉(zhuǎn)換成不連續(xù)、離散數(shù)字形式并加以顯示儀表。與此同時,由DVM擴展而成各種通用及專用數(shù)字儀器儀表,也把電量及非電量測量技術(shù)提升到嶄新水平。本章重點介紹單片A/D轉(zhuǎn)換器以及由它們組成基于單片機數(shù)字電壓表工作原現(xiàn)在,由各種單片A/D轉(zhuǎn)換器組成數(shù)字電壓表,已被廣泛用于電子及電工測量、工業(yè)自動化儀表、自動測試系統(tǒng)等智能化測量領(lǐng)域,示出強大生命力理。本設(shè)計AT89C51單片機一個電壓測量電路,該電路采取ADC0808本文介紹一個基于A/D轉(zhuǎn)換電路,測量范圍直流0~5V4路輸入電壓值,并在四位LED數(shù)碼管上顯示或單路選擇顯示。測量最小分辨率為0.019V,測量誤差約為正負0.02V。但因為本人水平有限,在實習匯報中難免會有疏漏和不足之處,懇請老師們批評指正。1仿真軟件介紹1.1MATLAB軟件1.1.1MATLAB軟件概述 應(yīng)用MATLABSimulink仿真試驗方法能夠建立仿真試驗環(huán)境。直接應(yīng)用MATLAB工具箱中測量儀器或構(gòu)建滿足工作需要測量儀器,既能提升仿真試驗工作效率,又使仿真試驗豐富多彩。本章介紹應(yīng)用Simulink構(gòu)建和使用測量儀器方法。1.1.2電壓測量-正弦波示波器用計算機仿真示波器應(yīng)用是數(shù)字技術(shù),能夠觀察單次現(xiàn)象,正確設(shè)置參數(shù)后,能夠保持結(jié)束時波形,如圖1-1所表示,為正玄波仿真圖。圖1-1正弦波仿真框圖正弦波示波顯示如圖1-2所表示圖1-2正弦波示波顯示1.1.3數(shù)字式電壓表數(shù)字式電壓表取自LED(自發(fā)光)二極管模塊如圖1-3所表示 圖1-3數(shù)字式電壓表仿真框圖1.1.4指針式電壓表指針式儀表將輸入量值用圖形化指針與對應(yīng)刻度表示出來,并經(jīng)過參數(shù)設(shè)置對話框來設(shè)置儀表外觀、量程、刻度、顏色及字型等。如圖1-4所表示圖1-4指針式電壓表1.1.5多蹤示波器(Scope)仿真示波器顯示七蹤信號仿真,如圖1-5所表示,為多蹤示波器仿真框圖。圖1-5多蹤示波器仿真框圖圖1-6為多蹤示波器仿真顯示圖圖1-6多蹤示波器仿真顯示圖1.2Keil軟件1.2.1Keil軟件概述KeilC51是美國KeilSoftware企業(yè)出品51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功效上、結(jié)構(gòu)性、可讀性、可維護性上有顯著優(yōu)勢,因而易學易用。Keil提供了包含C編譯器、宏匯編、連接器、庫管理和一個功效強大仿真調(diào)試器等在內(nèi)完整開發(fā)方案,經(jīng)過一個集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。運行Keil軟件需要WIN98、NT、WIN、WINXP等操作系統(tǒng)。假如你使用C語言編程,那么Keil幾乎就是你不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用集成環(huán)境、強大軟件仿真調(diào)試工具也會令你事半功倍。1.2.2KeilC51軟件系統(tǒng)KeilC51軟件提供豐富庫函數(shù)和功效強大集成開發(fā)調(diào)試工具,全Windows界面。另外主要一點,只要看一下編譯后生成匯編代碼,就能體會到KeilC51生成目標代碼效率非常之高,多數(shù)語句生成匯編代碼很緊湊,輕易了解。在開發(fā)大型軟件時更能表現(xiàn)高級語言優(yōu)勢。1.2.3KeilC51單片機軟件開發(fā)整體結(jié)構(gòu)C51工具包整體結(jié)構(gòu),uVision與Ishell分別是C51forWindows和forDos集成開發(fā)環(huán)境(IDE),能夠完成編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及C51編譯器編譯生成目標文件(.OBJ)。目標文件可由LIB51創(chuàng)建生成庫文件,也能夠與庫文件一起經(jīng)L51連接定位生成絕對目標文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標準Hex文件,以供調(diào)試器dScope51或tScope51使用進行源代碼級調(diào)試,也可由仿真器使用直接對目標板進行調(diào)試,也能夠直接寫入程序存貯器如EPROM中。1.2.4KeilC51軟件優(yōu)點(1)KeilC51生成目標代碼效率非常之高,多數(shù)語句生成匯編代碼很緊湊,輕易了解。在開發(fā)大型軟件時更能表現(xiàn)高級語言優(yōu)勢。(2)與匯編相比,C語言在功效上、結(jié)構(gòu)性、可讀性、可維護性上有顯著優(yōu)勢,因而易學易用。用過匯編語言后再使用C來開發(fā),體會愈加深刻。KeilC51軟件提供豐富庫函數(shù)和功效強大集成開發(fā)調(diào)試工具,全Windows界面。1.2.5使用獨立Keil仿真器注意事項(1)仿真器標配11.0592MHz晶振,但用戶能夠在仿真器上晶振插孔中換插其余頻率晶振。(2)仿真器上復(fù)位按鈕只復(fù)位仿真芯片,不復(fù)位目標系統(tǒng)。(3)仿真芯片31腳(/EA)已接至高電平,所以仿真時只能使用片內(nèi)ROM,不能使用片外ROM;但仿真器外引插針中31腳并不與仿真芯片31腳相連,故該仿真器仍可插入到擴展有外部ROM(其CPU/EA引腳接至低電平)目標系統(tǒng)中使用。1.3PROTUES軟件1.3.1Proteus軟件概述Proteus軟件是英國Labcenterelectronics企業(yè)出版EDA工具軟件(該軟件中國總代理為廣州風標電子技術(shù)有限企業(yè))。它不但具備其它EDA工具軟件仿真功效,還能仿真單片機及外圍器件。它是現(xiàn)在最好仿真單片機及外圍器件工具。即使現(xiàn)在國內(nèi)推廣剛起步,但已受到單片機興趣者、從事單片機教學教師、致力于單片機開發(fā)應(yīng)用科技工作者青睞。Proteus是世界上著名EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計,真正實現(xiàn)了從概念到產(chǎn)品完整設(shè)計。是現(xiàn)在世界上唯一將電路仿真軟件、PCB設(shè)計軟件和虛擬模型仿真軟件三合一設(shè)計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,即將增加Cortex和DSP系列處理器,并連續(xù)增加其余系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多個編譯器。1.3.2功效特點Proteus軟件具備其它EDA工具軟件(例:multisim)功效。(1)原理布圖(2)PCB自動或人工布線(3)SPICE電路仿真革命性特點1.互動電路仿真用戶甚至能夠?qū)崟r采取諸如RAM,ROM,鍵盤,馬達,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。2.仿真處理器及其外圍電路能夠仿真51系列、AVR、PIC、ARM、等慣用主流單片機。還能夠直接在基于原理圖虛擬原型上編程,再配合顯示及輸出,能看到運行后輸入輸出效果。配合系統(tǒng)配置虛擬邏輯分析儀、示波器等,它建立了完備電子設(shè)計開發(fā)環(huán)境。1.3.3Proteus工作過程運行proteusISIS程序后,進入該仿真軟件主界面,如圖1-1所表示。在工作前,要設(shè)置view菜單下捕捉對齊和system下顏色、圖形界面大小等項目。經(jīng)過工具欄中p(從庫中選擇元件命令)命令,在pickdevices窗口中選擇電路所需元件,放置元件并調(diào)整其相對位置,元件參數(shù)設(shè)置,元器件間連線,編寫程序;在source菜單Definecodegenerationtools菜單命令下,選擇程序編譯工具、路徑、擴展名等項目;在source菜單Add/removesourcefiles命令下,加入單片機硬件電路對應(yīng)程序;經(jīng)過debug菜單對應(yīng)命令仿真程序和電路運行情況。圖1-7仿真軟件主界面1.3.4Protues電路仿真在PROTEUS繪制好原理圖后,調(diào)入已編譯好目標代碼文件:*.HEX,能夠在PROTEUS原理圖中看到模擬實物運行狀態(tài)和過程。PROTEUS不但可將許多單片機實例功效形象化,也可將許多單片機實例運行過程形象化。前者可在相當程度上得到實物演示試驗效果,后者則是實物演示試驗難以達成效果。它元器件、連接線路等卻和傳統(tǒng)單片機試驗硬件高度對應(yīng)。這在相當程度上代替了傳統(tǒng)單片機試驗教學功效,例:元器件選擇、電路連接、電路檢測、電路修改、軟件調(diào)試、運行結(jié)果等。而且因為PROTEUS提供了試驗室無法相比大量元器件庫,提供了修改電路設(shè)計靈活性、提供了試驗室在數(shù)量、質(zhì)量上難以相比虛擬儀器、儀表,因而也提供了培養(yǎng)學生實踐精神、創(chuàng)造精神平臺。伴隨科技發(fā)展,“計算機仿真技術(shù)”已成為許多設(shè)計部門主要前期設(shè)計伎倆。它具備設(shè)計靈活,結(jié)果、過程統(tǒng)一特點??墒乖O(shè)計時間大為縮短、耗資大為降低,也可降低工程制造風險。相信在單片機開發(fā)應(yīng)用中PROTEUS也能茯得愈來愈廣泛應(yīng)用。2設(shè)計原理及要求本設(shè)計是利用單片機AT89C51與ADC0808設(shè)計一個數(shù)字電壓表,測量0-5V之間直流電壓值,四位數(shù)碼顯示,但要求使用元器件數(shù)目最少。2.1數(shù)字電壓表實現(xiàn)原理ADC0808是8位A/D轉(zhuǎn)換器。當輸入電壓為5.00V時,輸出數(shù)據(jù)值為255(0FFH),所以最大分辨率為0.0196(5/255)。ADC0808具備8路模擬量輸入端口,經(jīng)過3位地址輸入端能從8路中選擇一路進行轉(zhuǎn)換。如每隔一段時間依次輪番改變3位地址輸入端地址,就能依次對8路輸入電壓進行測量。LED數(shù)碼管顯示采取軟件譯碼動態(tài)顯示。經(jīng)過按鍵選擇可對8路循環(huán)顯示,也可單路顯示,單路顯示可經(jīng)過按鍵選擇顯示通道數(shù)。2.2數(shù)字電壓表設(shè)計要求能夠測量0~5V范圍內(nèi)3路直流電壓值。在4位LED數(shù)碼管上輪番顯示各路電壓值或單路選擇顯示,其中3位LED數(shù)碼管顯示電壓值,顯示范圍為0.00V~5.00V,1位LED數(shù)碼管顯示路數(shù),3路分別為0-2。3軟件仿真電路設(shè)計3.1設(shè)計思緒多路數(shù)字電壓表應(yīng)用系統(tǒng)硬件電路由單片機、A/D轉(zhuǎn)換器、數(shù)碼管顯示電路和按鍵處理電路組成,因為ADC0808在進行A/D轉(zhuǎn)換時需要有CLK信號,本試驗中ADC0808CLK直接由外部電源提供為500kHz方波。因為ADC0808參考電壓VREF=VCC,所以轉(zhuǎn)換之后數(shù)據(jù)要經(jīng)過數(shù)據(jù)處理,在數(shù)碼管上顯示出電壓值。實際顯示電壓值(D/256*VREF)ADC0808采取逐次迫近法轉(zhuǎn)換,把模擬電壓轉(zhuǎn)換成16進制D,因為是對直流電壓0~5V進行采集,所以D對應(yīng)電壓為V0
,我們目標就是要把V0顯示在LED顯示器上,因為單片機不好進行小數(shù)點計算,所以有:V0=2*D擴大了100倍,擴大100倍后結(jié)果高八位放存放器B,低八位放存放器A,分存放器B為0或不為0情況進行存取數(shù)據(jù),得到結(jié)果個位放入R0,十位放入R1,經(jīng)過查表使之顯示在LED顯示器。3.2仿真電路圖用Protues軟件仿真設(shè)計電路如圖3-1所表示,其為仿真設(shè)計原理圖。圖3-1仿真設(shè)計原理圖3.3設(shè)計過程簡易數(shù)字電壓測量電路由A/D轉(zhuǎn)換、數(shù)據(jù)處理及顯示控制等組成。電路原理圖見附錄2。A/D轉(zhuǎn)換由集成電路0808完成。0808具備8路模擬輸入端口,地址(23-25)腳可決定對哪路模擬輸入作A/D轉(zhuǎn)換,22腳為地址鎖存控制,當輸入為高電平時,對地址信號進行鎖存。6腳為測試控制,當輸入一個2us寬高電平脈沖時,就開始A/D轉(zhuǎn)換。7腳為A/D轉(zhuǎn)換結(jié)束標志,當A/D轉(zhuǎn)換結(jié)束時7腳輸出高電平。9腳為A/D轉(zhuǎn)換數(shù)據(jù)輸出允許控制,當OE腳為高電平時,A/D轉(zhuǎn)換數(shù)據(jù)從該端口輸出。10腳為0808時鐘輸入端,由外部信號源提供。單片機P1、P3.0-P3.3端口作為四位LED數(shù)碼管現(xiàn)實控制。P3.5端口用作單路顯示/循環(huán)顯示轉(zhuǎn)換按鈕,P3.6端口用作單路顯示時選擇通道。P0端口作A/D轉(zhuǎn)換數(shù)據(jù)讀入用,P2端口用作0808A/D轉(zhuǎn)換控制。3.4AT89C51功效介紹3.4.1簡單概述AT89C51是一個帶4K字節(jié)閃存可編程可擦除只讀存放器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)低電壓、高性能CMOS8位微處理器,俗稱單片機。AT89C51是一個帶2K字節(jié)閃存可編程可擦除只讀存放器單片機。單片機可擦除只讀存放器能夠重復(fù)擦除1000次。該器件采取ATMEL高密度非易失存放器制造技術(shù)制造,與工業(yè)標準MCS-51指令集和輸出管腳相兼容。因為將多功效8位CPU和閃爍存放器組合在單個芯片中,ATMEL圖3-2AT89C51芯片模型AT89C51是一個高效微控制器,AT89C2051是它一個精簡版本。AT89C51單片機為很多嵌入式控制系統(tǒng)提供了一個靈活性高且價廉方案。外形及引腳排列如圖3-2所表示。3.4.2主要功效特征(1)4K字節(jié)可編程閃爍存放器。(2)32個雙向I/O口;128×8位內(nèi)部RAM。(3)2個16位可編程定時/計數(shù)器中止,時鐘頻率0-24MHz。(4)可編程串行通道。(5)5個中止源。(6)2個讀寫中止口線。(7)低功耗閑置和掉電模式。(8)片內(nèi)振蕩器和時鐘電路。3.4.3AT89C51引腳介紹89C51單片機多采取40只引腳雙列直插封裝(DIP)方式,下面分別簡單介紹。(1)電源引腳電源引腳接入單片機工作電源。Vcc(40引腳):+5V電源。GND(20引腳):接地。(2)時鐘引腳XTAL1(19引腳):片內(nèi)振蕩器反相放大器和時鐘發(fā)生器電路輸入端。XTAL2(20引腳):片內(nèi)振蕩器反相放大器輸出端。圖3-3電源接入方式(3)復(fù)位RST(9引腳)在振蕩器運行時,有兩個機器周期(24個振蕩周期)以上高電平出現(xiàn)在此引腳時,將使單片機復(fù)位,只要這個腳保持高電平,51芯片便循環(huán)復(fù)位。(4)/Vpp(31引腳)為外部程序存放器訪問允許控制端。當它為高電平時,單片機讀片內(nèi)程序存放器,在PC值超出0FFFH后將自動轉(zhuǎn)向外部程序存放器。當它為低電平時,只限定在外部程序存放器,地址為0000H~FFFFH。Vpp為該引腳第二功效,為編程電壓輸入端。(5)ALE/(30引腳)ALE為低八位地址鎖存允許信號。在系統(tǒng)擴展時,ALE負跳沿江P0口發(fā)出第八位地址鎖存在外接地址鎖存器,然后再作為數(shù)據(jù)端口。為該引腳第二功效,在對片外存放器編程時,此引腳為編程脈沖輸入端。(6)(29引腳)片外程序存放器讀選通信號。在單片機讀片外程序存放器時,此引腳輸出脈沖負跳沿作為讀片外程序存放器選通信號。(7)pin39-pin32為P0.0-P0.7輸入輸出腳,稱為P0口。P0是一個8位漏極開路型雙向I/O口。內(nèi)部不帶上拉電阻,當外接上拉電阻時,P0口能以吸收電流方式驅(qū)動八個LSTTL負載電路。通常在使用時外接上拉電阻,用來驅(qū)動多個數(shù)碼管。在訪問外部程序和外部數(shù)據(jù)存放器時,P0口是分時轉(zhuǎn)換地址(低8位)/數(shù)據(jù)總線,不需要外接上拉電阻。(8)Pin1-Pin8為P1.0-P1.7輸入輸出腳,稱為P1口,是一個帶內(nèi)部上拉電阻8位雙向I/0口。P1口能驅(qū)動4個LSTTL負載。(9)Pin21-Pin28為P2.0-P2.7輸入輸出腳,稱為P2口。P2口是一個帶內(nèi)部上拉電阻8位雙向I/O口,P2口能驅(qū)動4個LSTTL負載。端口置1時,內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對內(nèi)部Flash程序存放器編程時,接收高8位地址和控制信息。在訪問外部程序和16位外部數(shù)據(jù)存放器時,P2口送出高8位地址。而在訪問8位地址外部數(shù)據(jù)存放器時其引腳上內(nèi)容在此期間不會改變。
(10)Pin10-Pin17為P3.0-P3.7輸入輸出腳,稱為P3口。P3口是一個帶內(nèi)部上拉電阻8位雙向I/O口,P2口能驅(qū)動4個LSTTL負載,這8個引腳還用于專門第二功效。端口置1時,內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對內(nèi)部Flash程序存放器編程時,接控制信息。3.5ADC0808引腳及功效介紹3.5.1芯片概述ADC0808是一個經(jīng)典A/D轉(zhuǎn)換器。它是由8位A/D轉(zhuǎn)換器,一個8路模擬量開關(guān),8位模擬量地址鎖存譯碼器和一個三態(tài)數(shù)據(jù)輸出鎖存器組成;+5V單電源供電,轉(zhuǎn)化時間在100us左右;內(nèi)部沒有時鐘電路,故需外部提供時鐘信號。芯片模型如圖3-4所表示。圖3-4ADC0808芯片模型3.5.2引腳介紹(1)IN0~IN7:8路模擬量輸入端。(2)D0~D7:8位數(shù)字量輸出端口。(3)START:A/D轉(zhuǎn)換開啟信號輸入端。(4)ALE:地址鎖存允許信號,高電平有效。(5)EOC:輸出允許控制信號,高電平有效。(6)OE:輸出允許控制信號,高電平有效。(7)CLK:時鐘信號輸入端。(8)A、B、C:轉(zhuǎn)換通道地址,控制8路模擬通道切換。A、B、C分別與地址線或數(shù)據(jù)線相連,三位編碼對應(yīng)8個通道地址端口,A、B、C=000~111分別對應(yīng)IN0~IN7通道地址端口。3.5.3ADC0808轉(zhuǎn)換原理ADC0808采取逐次比較方法完成A/D轉(zhuǎn)換,由單一+5V電源供電。片內(nèi)帶有鎖存功效8路選1模擬開關(guān),由A、B、C編碼來決定所選通道。ADC0809完成一次轉(zhuǎn)換需100μs左右,它具備輸出TTL三態(tài)鎖存緩沖器,可直接連接到AT89C51數(shù)據(jù)總線上。經(jīng)過適當外接電路,ADC0808可對0~5V模擬信號進行轉(zhuǎn)換。3.6LED數(shù)碼管控制顯示3.6.1LED數(shù)碼管模型LED數(shù)碼管模型如圖3-6所表示。圖3-5LED數(shù)碼管模型4系統(tǒng)軟件程序設(shè)計多路數(shù)字電壓表系統(tǒng)軟件程序主要有主程序、A/D轉(zhuǎn)換子程序和中止顯示程序組成。4.1主程序主程序包含初始化部分、調(diào)用A/D轉(zhuǎn)換子程序和對應(yīng)外部0中止顯示電壓數(shù)值程序,初始化部分包含存放通道緩沖區(qū)初始化和顯示緩沖區(qū)初始化。另外,對于單路顯示和循環(huán)顯示,系統(tǒng)設(shè)置了一個標志位00H控制,初始化時00H位設(shè)置為0,默認為循環(huán)顯示,當它為1時改變?yōu)閱温凤@示控制,00H位經(jīng)過單路、循環(huán)按鍵控制。流程圖如圖4-1所表示。開始開始顯示子程序A/D轉(zhuǎn)換子程序初始化圖4-1主程序流程圖4.2A/D轉(zhuǎn)換子程序A/D轉(zhuǎn)換子程序用于對ADC08084路輸入模擬電壓進行A/D轉(zhuǎn)換,并將轉(zhuǎn)換數(shù)值存入4個對應(yīng)存放單元中,A/D轉(zhuǎn)換子程序每隔一定時間調(diào)用一次,即隔一段時間對輸入電壓采樣一次,如圖4-2所表示。4.2A/D轉(zhuǎn)換子程序A/D轉(zhuǎn)換子程序用于對ADC08084路輸入模擬電壓進行A/D轉(zhuǎn)換,并將轉(zhuǎn)換數(shù)值存入4個對應(yīng)存放單元中,A/D轉(zhuǎn)換子程序每隔一定時間調(diào)用一次,即隔一段時間對輸入電壓采樣一次,如圖4-2所表示。進行十六進制調(diào)整進行十六進制調(diào)整開始A/D轉(zhuǎn)換調(diào)用延時存轉(zhuǎn)換后十六進制數(shù)數(shù)據(jù)指針加一入棧保護4路轉(zhuǎn)換次數(shù)減一顯示電壓值NY圖4-2轉(zhuǎn)換子程序流程圖判斷是否為04.3中止顯示程序設(shè)計中采取中止方式來讀取轉(zhuǎn)換完成數(shù)據(jù)能節(jié)約CPU資源當系統(tǒng)設(shè)置好后,一旦數(shù)據(jù)轉(zhuǎn)換完成,便會進入外部中止0,然后在中止中讀取轉(zhuǎn)換數(shù)值,處理數(shù)據(jù)并送數(shù)碼管顯示輸出。LED數(shù)碼管采取軟件譯碼動態(tài)掃描方式。在中止程序中包含多路循環(huán)顯示程序和單路顯示程序,多路循環(huán)顯示程序把4個存放單元數(shù)值依次取出送到4個數(shù)碼管上顯示,每一路顯示一秒。單路顯示程序只對當前選中一路數(shù)據(jù)進行顯示。每路數(shù)據(jù)顯示時需經(jīng)過轉(zhuǎn)換變成十進制BCD碼,放于4個數(shù)碼管顯示緩沖區(qū)中。單路或多路循環(huán)顯示經(jīng)過標志位00H控制。在顯示控制程序中加入了對單路或多路循環(huán)按鍵判斷。數(shù)字量送P1口數(shù)字量送P1口取段碼地址P3.1=1?調(diào)用循環(huán)顯示程序調(diào)用單路顯示程序顯示是第4路重新調(diào)用顯示程序NYNY圖4-3中止顯示程序流程圖5數(shù)字電壓表仿真5.1調(diào)試與測試本設(shè)計應(yīng)用Proteus6及KEIL51軟件,首先依照自己設(shè)計電路圖用Proteus6軟件畫出電路模型,關(guān)于這個軟件使用經(jīng)過查一些資料和自己探索學習;然后我們用KEIL51軟件對所編寫程序進行編譯、鏈接,假如沒有錯誤和警告便可生成程序hex文件,將此文件加到電路圖上使軟硬件結(jié)合運行,最終進行端口電壓對比測試,測試第一路對比見圖4-1中標準電壓值采取Proteus6軟件中模擬電壓表測得。圖5-1數(shù)字電壓表與標準電壓表比較從圖中能夠看出,簡易數(shù)字電壓表與“標準”數(shù)字電壓表測得絕對誤差均在0.02V以內(nèi),這與采取8位A/D轉(zhuǎn)換器所能達成理論誤差精度相一致,在通常應(yīng)用場所能夠完全滿足要求。5.2性能分析因為單片機為8位處理器,當輸入電壓為5.00V時,輸出數(shù)據(jù)值為255(FFH)所以單片機最大數(shù)值分辨率為0.0196V(5/255)。這就決定了該電壓表最大分辨率(精度)只能達成0.0196V。測試時電壓數(shù)值改變通常以0.02V電壓幅度改變,如要取得更高精度要求,應(yīng)采取12位、13位A/D轉(zhuǎn)換器。簡易數(shù)字電壓表測得值基本上均比標準值偏大0.01-0.02V。這能夠經(jīng)過校正0808基準電壓來處理,因為該電壓表設(shè)計時直接用7805供電電源作為基準電壓,電壓可能有偏差。另外能夠用軟件編程來校正測量值。ADC0808直流輸入阻抗為1M歐姆,能滿足通常電壓測試需要。另外,經(jīng)測試ADC0808可直接在2MHz頻率下工作,這么可省去分頻率14024。5.3數(shù)字電壓表仿真圖圖5-2數(shù)字電壓表仿真圖5.4仿真源程序ORG0000HSJMPMAINORG0003HLJMPPINT0MAIN:MOV50H,#19HMOV54H,#78HMOVDPTR,#7FF8HMOV51H,DPHMOV52H,DPLMOVR0,#04HMOV53H,#00HMOVR7,#00HSETBEASETBIT0SETBEX0L4:MOVR1,#00H;R1存放十六進制轉(zhuǎn)換成十進制后低兩位MOVR2,#00H;R2存放十六進制轉(zhuǎn)換成十進制后高兩位MOVR3,#0FFH;循環(huán)顯示十進制數(shù)MOVR4,#00H;存放A/D轉(zhuǎn)換后十六進制數(shù)MOVR5,#00H;存放0.5相加后數(shù)MOVX@DPTR,A;開始A/D轉(zhuǎn)換LCALLDELAY;調(diào)用延時大于A/D轉(zhuǎn)換時間MOVXA,@DPTR;取A/D轉(zhuǎn)換后十六進制數(shù)INCDPTR;A/D轉(zhuǎn)換芯片地址加一PUSHDPL;壓入堆棧PUSHDPHDECR0;4路轉(zhuǎn)換次數(shù)減一JZSB2;判斷是否是0VMOVR4,AL1:MOVA,R1;進行十六進制到十進制調(diào)整ADDA,50H;每次加19DAAMOVR1,AJCL2;假如溢出則跳轉(zhuǎn)到L2MOVA,R5;進行0.5V相加ADDA,54HDAAMOVR5,AJCL3;假如溢出則跳轉(zhuǎn)到L3SB1:DJNZR4,L1;判斷十六進制數(shù)是否轉(zhuǎn)換完成,假如沒有則循環(huán)MOVA,R5SWAPAANLA,#0FHMOVB,R1ADDA,BDAAMOVR1,ASB2:LCALLDISPLCALLDJWDJNZR3,SB2POPDPHPOPDPLMOVA,53HINCAMOV53H,ACJNER0,#00H,L4LJMPMAINL2:CLRCMOVA,R2ADDA,#01HDAAMOVR2,ALJMPSB1L3:CLRC;0.5V相加溢出后進位MOVA,R1ADDA,#01HDAAMOVR1,ALJMPSB1DISP:MOVA,R1;顯示電壓子程序SWAPAANLA,#0FHMOVDPTR,#TAB1MOVCA,@A+DPTRCLRP3.0MOVP1,ALCALLDELAYSETBP3.0MOVA,R2ANLA,#0FHMOVDPTR,#TAB1MOVCA,@A+DPTRCLRP3.1MOVP1,ALCALLDELAYSETBP3.1MOVA,R2SWAPAANLA,#0FHMOVDPTR,#TAB2MOVCA,@A+DPTRCLRP3.4MOVP1,ALCALLDELAYSETBP3.4RETDJW:MOVA,53H;顯示第幾路轉(zhuǎn)換電壓子程序MOVDPTR,#TAB1MOVCA,@A+DPTRCLRP3.5MOVP1,ALCALLDELAYSETBP3.5RETINTV:PUSHACC;只顯示其中一路中止PUSH53HMOV53H,#00HCX2:MOVR1,#00HMOVR2,#00HMOVR3,#0FFHMOVR4,#00HMOVDPH,51HMOVDPL,52HMOVX@DPTR,ALCALLDELAYMOVXA,@DPTRMOVR4,AJZSB22L11:MOVA,R1ADDA,50HDAAMOVR1,AJCL22MOVA,R5;進行0.5V相加ADDA,54HDAAMOVR5,AJCL33SB11:DJNZR4,L11MOVA,R5SWAPAANLA,#0FHMOVB,R1ADDA,BDAAMOVR1,ASB22:LCALLDISPLCALLDJWJNBP3.3,EXITDJNZR3,SB22JNBP3.2,CX1LJMPCX2L22:CLRCMOVA,R2ADDA,#01HDAAMOVR2,ALJMPSB11L33:CLRCMOVA,R1ADDA,#01HDAAMOVR1,ALJMPSB11
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 假山施工合同承包書
- 房屋建筑工程保修合同協(xié)議
- 影視制作與發(fā)行合作合同
- 三方消防施工合同
- 苗木種植土地承包合同
- 加氣塊砌筑合同協(xié)議書
- 勞務(wù)中介公司服務(wù)合同
- 溫州浙江溫州瑞安市人民醫(yī)院招聘合同制工作人員筆試歷年參考題庫附帶答案詳解
- 法語獨家商務(wù)代理合同
- 廣州華商職業(yè)學院《典型企業(yè)云平臺搭建》2023-2024學年第二學期期末試卷
- 30萬室內(nèi)裝修預(yù)算表
- 拉線的制作詳細
- 律師報價函(訴訟)
- 新生兒沐浴評分標準
- 潛水作業(yè)指導(dǎo)書
- (完整版)設(shè)計管理
- 感謝對手閱讀附答案
- 材料性能學(第2版)付華課件0-緒論-材料性能學
- GB/T 8012-2000鑄造錫鉛焊料
- 第一課 第一章 AutoCAD 2012概述入門
- 2023年湖南省普通高中學業(yè)水平考試數(shù)學版含答案
評論
0/150
提交評論