基于單片機(jī)實(shí)現(xiàn)的數(shù)字電壓表設(shè)計(jì)說(shuō)明書(shū)_第1頁(yè)
基于單片機(jī)實(shí)現(xiàn)的數(shù)字電壓表設(shè)計(jì)說(shuō)明書(shū)_第2頁(yè)
基于單片機(jī)實(shí)現(xiàn)的數(shù)字電壓表設(shè)計(jì)說(shuō)明書(shū)_第3頁(yè)
基于單片機(jī)實(shí)現(xiàn)的數(shù)字電壓表設(shè)計(jì)說(shuō)明書(shū)_第4頁(yè)
基于單片機(jī)實(shí)現(xiàn)的數(shù)字電壓表設(shè)計(jì)說(shuō)明書(shū)_第5頁(yè)
已閱讀5頁(yè),還剩32頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 PAGE0 / NUMPAGES37信息職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文)設(shè)計(jì)(論文)題目: 基于單片機(jī)實(shí)現(xiàn)的 數(shù)字電壓表 專 業(yè): 通信技術(shù) 班 級(jí):學(xué) 號(hào):姓 名:指導(dǎo)教師:二八年十二月三十日信息職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文)任務(wù)書(shū)學(xué) 生姓 名學(xué)號(hào)0班級(jí)通技06-2專業(yè)通信技術(shù)設(shè)計(jì)(或論文)題目基于單片機(jī)實(shí)現(xiàn)的數(shù)字電壓表指導(dǎo)教師職 稱工作單位與所從事專業(yè)聯(lián)系方式備 注助教高級(jí)工程師四設(shè)計(jì)容:1設(shè)計(jì)一款基于單片機(jī)實(shí)現(xiàn)的直流數(shù)字電壓表。2主要功能:(1)可測(cè)量050V直流電壓,分辨率0.02V;(2)具有數(shù)碼管或LCD顯示電壓值功能;(3)具有量程自動(dòng)轉(zhuǎn)換功能;(4)能實(shí)現(xiàn)多路信號(hào)的分時(shí)測(cè)量(

2、可選項(xiàng))。進(jìn)度安排:第5周:查詢資料和制定方案;第79周:電路設(shè)計(jì)與仿真;第1011周:軟件設(shè)計(jì)與仿真;第1215周:樣機(jī)聯(lián)調(diào)與撰寫(xiě)設(shè)計(jì)報(bào)告;第1617周:參加答辯。主要參考文獻(xiàn)、資料(寫(xiě)清楚參考文獻(xiàn)名稱、作者、出版單位):1徐愛(ài)鈞智能化測(cè)量控制儀表原理與設(shè)計(jì)(第二版)航空航天大學(xué),20042吳金戌,慶陽(yáng)8051單片機(jī)實(shí)踐與應(yīng)用郭庭吉清華大學(xué),20023黃智偉全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽訓(xùn)練教程電子工業(yè),20044汪德彪MCS-51單片機(jī)原理與接口技術(shù)(第一版)電子工業(yè),2003審批意見(jiàn)教研室負(fù)責(zé)人:年 月 日備注:任務(wù)書(shū)由指導(dǎo)教師填寫(xiě),一式二份。其中學(xué)生一份,指導(dǎo)教師一份。目錄 TOC o 1-3

3、 h z u HYPERLINK l _Toc210982571摘要 PAGEREF _Toc210982571 h 1HYPERLINK l _Toc210982572第1章緒論 PAGEREF _Toc210982572 h 2HYPERLINK l _Toc210982573第2章方案設(shè)計(jì) PAGEREF _Toc210982573 h 3HYPERLINK l _Toc2109825742.1方案選擇 PAGEREF _Toc210982574 h 3HYPERLINK l _Toc2109825752.1.1量程轉(zhuǎn)換方案設(shè)計(jì) PAGEREF _Toc210982575 h 3HYPE

4、RLINK l _Toc2109825762.1.2顯示部分方案設(shè)計(jì) PAGEREF _Toc210982576 h 3HYPERLINK l _Toc2109825772.2方案論證 PAGEREF _Toc210982577 h 4HYPERLINK l _Toc210982578第3章硬件設(shè)計(jì) PAGEREF _Toc210982578 h 5HYPERLINK l _Toc2109825793.1單片機(jī)控制模塊設(shè)計(jì) PAGEREF _Toc210982579 h 5HYPERLINK l _Toc2109825803.1.1時(shí)鐘電路 PAGEREF _Toc210982580 h 5H

5、YPERLINK l _Toc2109825813.1.2復(fù)位電路 PAGEREF _Toc210982581 h 5HYPERLINK l _Toc2109825823.2量程轉(zhuǎn)換模塊設(shè)計(jì) PAGEREF _Toc210982582 h 6HYPERLINK l _Toc2109825833.2.1電路選擇 PAGEREF _Toc210982583 h 6HYPERLINK l _Toc2109825843.2.2工作原理與換算關(guān)系 PAGEREF _Toc210982584 h 6HYPERLINK l _Toc2109825853.3逐次逼近式A/D轉(zhuǎn)換模塊設(shè)計(jì) PAGEREF _To

6、c210982585 h 6HYPERLINK l _Toc2109825863.3.1ADC0808簡(jiǎn)介 PAGEREF _Toc210982586 h 6HYPERLINK l _Toc2109825873.3.2A/D轉(zhuǎn)換電路設(shè)計(jì) PAGEREF _Toc210982587 h 8HYPERLINK l _Toc2109825883.4顯示模塊設(shè)計(jì) PAGEREF _Toc210982588 h 9HYPERLINK l _Toc2109825893.4.1LCD顯示模塊 PAGEREF _Toc210982589 h 9HYPERLINK l _Toc2109825903.4.2LCD

7、1602的引腳功能 PAGEREF _Toc210982590 h 9HYPERLINK l _Toc2109825913.4.3LCD1602的顯示操作 PAGEREF _Toc210982591 h 9HYPERLINK l _Toc210982592第4章系統(tǒng)軟件設(shè)計(jì) PAGEREF _Toc210982592 h 14HYPERLINK l _Toc2109825934.1主程序設(shè)計(jì) PAGEREF _Toc210982593 h 14HYPERLINK l _Toc2109825944.2A/D轉(zhuǎn)換程序 PAGEREF _Toc210982594 h 15HYPERLINK l _T

8、oc2109825954.3中斷服務(wù)程序 PAGEREF _Toc210982595 h 15HYPERLINK l _Toc210982596第5章系統(tǒng)仿真與調(diào)試 PAGEREF _Toc210982596 h 16HYPERLINK l _Toc2109825975.1分局部調(diào)試 PAGEREF _Toc210982597 h 16HYPERLINK l _Toc2109825985.2整機(jī)調(diào)試 PAGEREF _Toc210982598 h 16HYPERLINK l _Toc2109825995.3系統(tǒng)仿真 PAGEREF _Toc210982599 h 17HYPERLINK l _

9、Toc210982600結(jié)論 PAGEREF _Toc210982600 h 18HYPERLINK l _Toc210982601致 PAGEREF _Toc210982601 h 19HYPERLINK l _Toc210982602參考文獻(xiàn) PAGEREF _Toc210982602 h 20HYPERLINK l _Toc210982603附錄系統(tǒng)源程序 PAGEREF _Toc210982603 h 21HYPERLINK l _Toc210982604附錄整機(jī)原理圖 PAGEREF _Toc210982604 h 31摘要電壓表是測(cè)量?jī)x器中不可缺少的設(shè)備,目前廣泛應(yīng)用的是采用專用集

10、成電路實(shí)現(xiàn)的數(shù)字電壓表。本系統(tǒng)以AT89C51單片機(jī)為核心,以逐次逼近式A/D轉(zhuǎn)換器ADC0808、液晶顯示器LCD1602為主體,設(shè)計(jì)了一款簡(jiǎn)易的數(shù)字電壓表,能夠測(cè)量050V的直流電壓,最小分辨率為0.02V。關(guān)鍵詞AT89C51單片機(jī);電壓測(cè)量;A/D轉(zhuǎn)換;LCD1602液晶顯示第1章緒論數(shù)字電壓表的基本工作原理是利用A/D轉(zhuǎn)換電路將待測(cè)的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),通過(guò)相應(yīng)換算后將測(cè)試結(jié)果以數(shù)字形式顯示出來(lái)的一種電壓表。較之于一般的模擬電壓表,數(shù)字電壓表具有精度高、測(cè)量準(zhǔn)確、讀數(shù)直觀、使用方便等優(yōu)點(diǎn)。電壓表的數(shù)字化測(cè)量,關(guān)鍵在于如何把隨時(shí)連續(xù)變化的模擬量轉(zhuǎn)化成數(shù)字量,完成這種轉(zhuǎn)換的電路叫模數(shù)

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

12、A/D轉(zhuǎn)換器ADC0808、液晶顯示器LCD1602為主體,構(gòu)造了一款簡(jiǎn)易的數(shù)字電壓表,能夠測(cè)量1路050V直流電壓,最小分辨率0.02V。第2章方案設(shè)計(jì)實(shí)現(xiàn)數(shù)字電壓表的方案較多,目前廣泛采用的是基于74系列邏輯器件方案,本設(shè)計(jì)將介紹基于單片機(jī)實(shí)現(xiàn)的方案。74系列邏輯器件方案采用雙積分電路+液晶顯示器+邏輯電路+定時(shí)采樣電路+數(shù)據(jù)處理實(shí)現(xiàn),被測(cè)電壓信號(hào)由信號(hào)輸入端加到測(cè)量系統(tǒng),進(jìn)行預(yù)處理后送到后級(jí)電路。單片機(jī)系統(tǒng)方案此方案采用輸入處理電路+ADC0808+AT89C51+液晶顯示實(shí)現(xiàn),被測(cè)信號(hào)由ADC0808模擬輸入端輸入,單片機(jī)采集轉(zhuǎn)換數(shù)據(jù),將轉(zhuǎn)換數(shù)據(jù)送出顯示。2.1方案選擇2.1.1量程轉(zhuǎn)

13、換方案設(shè)計(jì)方案一:考慮到ADC0808的八路模擬量輸入通道本質(zhì)上也是模擬開(kāi)關(guān),因此可以利用其八個(gè)模擬通道中的三個(gè)作為量程轉(zhuǎn)換器,即根據(jù)通道對(duì)應(yīng)的電壓測(cè)量圍確定對(duì)應(yīng)的電壓放大倍數(shù)設(shè)計(jì)對(duì)應(yīng)的前置放大電路。方案二:選用模擬開(kāi)關(guān)芯片4066實(shí)現(xiàn)量程轉(zhuǎn)換。4066集成了4個(gè)模擬開(kāi)關(guān),每一路開(kāi)關(guān)都有一個(gè)控制端控制對(duì)應(yīng)開(kāi)關(guān)的通斷。用單片機(jī)對(duì)控制端進(jìn)行控制,實(shí)現(xiàn)不同量程的轉(zhuǎn)換。方案三:利用手動(dòng)開(kāi)關(guān)實(shí)現(xiàn)量程轉(zhuǎn)換。該方案可簡(jiǎn)化控制程序,減小系統(tǒng)開(kāi)銷,縮短反應(yīng)時(shí)間,不足之處在于操作麻煩。終上所述:方案三所需元件少、成本低且易于實(shí)現(xiàn),可選此方案。2.1.2顯示部分方案設(shè)計(jì)方案一:用液晶LCD1602來(lái)顯示電壓讀數(shù)可進(jìn)

14、行片選,實(shí)現(xiàn)液晶的動(dòng)態(tài)點(diǎn)亮。因?yàn)橹恍枰黄壕Ь涂梢酝瓿涩F(xiàn)示工作,所以當(dāng)單片機(jī)控制前兩個(gè)控制端時(shí),最高位控制端應(yīng)接地。用軟件作為液晶的驅(qū)動(dòng)顯示,且具體譯碼由軟件控制。方案二:同方案一選用ADC0808進(jìn)行片選,在譯碼驅(qū)動(dòng)部分選用液晶LCD1602,用軟件譯碼。終上所述:由于兩個(gè)方案都可以實(shí)現(xiàn)同樣的功能,但方案二設(shè)計(jì)簡(jiǎn)單、系統(tǒng)開(kāi)銷小、反應(yīng)速度較快,因此選擇此方案。2.2方案論證經(jīng)過(guò)以上方案設(shè)計(jì),決定采用如圖2-1所示方案。圖2-1系統(tǒng)框圖第3章硬件設(shè)計(jì)3.1單片機(jī)控制模塊設(shè)計(jì)單片機(jī)控制模塊的作用是為控制各單元電路的運(yùn)行并完成數(shù)據(jù)的換算或處理,主要由單片機(jī)、時(shí)鐘電路、復(fù)位電路組成。3.1.1時(shí)鐘電路

15、單片機(jī)工作的時(shí)間基準(zhǔn)是由時(shí)鐘電路提供的,在單片機(jī)的XTAL1和XYAL2兩個(gè)管腳接一只晶振與兩只電容就構(gòu)成了單片機(jī)的時(shí)鐘電路,電路中電容器和對(duì)振蕩頻率有微調(diào)作用,通常取(3010)pF石英晶體選擇6MHz或12MHz都可以。時(shí)鐘電路如圖3-1所示。圖3-1系統(tǒng)時(shí)鐘電路 圖3-2系統(tǒng)復(fù)位電路3.1.2復(fù)位電路單片機(jī)的RST管腳為主機(jī)提供了一個(gè)外部復(fù)位信號(hào)輸入口。復(fù)位信號(hào)是高電平有效,高電平有效的持續(xù)時(shí)間為2個(gè)機(jī)器周期以上。單片機(jī)的復(fù)位方式可由手動(dòng)復(fù)位方式完成。電阻、電容器的參考值=10K、=10uF、=0.01uF。復(fù)位電路如圖3-2所示。3.2量程轉(zhuǎn)換模塊設(shè)計(jì)3.2.1電路選擇圖3-3量程轉(zhuǎn)換

16、開(kāi)關(guān) 圖3-4衰減輸入電路輸入電路的作用是把不同量程的被測(cè)電壓,規(guī)到A/D轉(zhuǎn)換器所要求的電壓值。數(shù)字電壓表所采用的是逐次逼近式A/D轉(zhuǎn)換芯片ADC0808,它要求輸入電壓0-2V。本儀表設(shè)計(jì)的是0-50V電壓,靈敏度高所以可以不加前置放大器,只需衰減器,如圖所示9M、900K、90K、和10K電阻構(gòu)成1/10、1/100、1/1000的衰減器。衰減輸入電路可由開(kāi)關(guān)來(lái)選擇不同的衰減率,從而切換檔位。3.2.2工作原理與換算關(guān)系如上圖通過(guò)電阻網(wǎng)絡(luò)實(shí)現(xiàn)電壓衰減測(cè)量的輸入阻抗約為R4、R5、R6。1端、2端單獨(dú)合上時(shí),Vout的大小分別是:1腳單獨(dú)合上Vout=Vin1;2腳單獨(dú)合上Vout= Vin

17、(R4+ R5+ R6)/(R3+ R4+ R5+ R6)。由上式可以看出,Vout在一定圍時(shí)電阻網(wǎng)絡(luò)衰減程度越大其可輸入電壓Vin。量程調(diào)節(jié),只要把R5,R6的參數(shù)選好然后,由開(kāi)關(guān)1端、2斷選擇測(cè)量電壓輸出端即完成量程選定。3.3逐次逼近式A/D轉(zhuǎn)換模塊設(shè)計(jì)逐次逼近型A/D轉(zhuǎn)換器屬于直接型A/D轉(zhuǎn)換器,它能把輸入的模擬電壓直接轉(zhuǎn)換為輸出的數(shù)字代碼,而不需要經(jīng)過(guò)中間變量。主要由比較器、環(huán)形分配器、控制門、寄存器與D/A轉(zhuǎn)換器組成。3.3.1ADC0808簡(jiǎn)介1ADC0808引腳功能圖3-5ADC0808引腳圖IN0IN7:8路模擬量輸入。A、B、C:3位地址輸入,2個(gè)地址輸入端的不同組合選擇八

18、路模擬量輸入。ALE:地址鎖存啟動(dòng)信號(hào),在ALE的上升沿,將A、B、C上的通道地址鎖存到部的地址鎖存器。D0D7:八位數(shù)據(jù)輸出線,A/D轉(zhuǎn)換結(jié)果由這8根線傳送給單片機(jī)。OE:允許輸出信號(hào)。當(dāng)OE=1時(shí),即為高電平,允許輸出鎖存器輸出數(shù)據(jù)。START:?jiǎn)?dòng)信號(hào)輸入端,START為正脈沖,其上升沿清除ADC0808的部的各寄存器,其下降沿啟動(dòng)A/D開(kāi)始轉(zhuǎn)換。EOC:轉(zhuǎn)換完成信號(hào),當(dāng)EOC上升為高電平時(shí),表明部A/D轉(zhuǎn)換已完成。2ADC0808部結(jié)構(gòu)圖逐次逼近型A/D轉(zhuǎn)換器ADC0808由八路模擬開(kāi)關(guān)、地址鎖存與譯碼器、比較器、D/A轉(zhuǎn)換器、寄存器、控制電路和三態(tài)輸出鎖存器等組成。其部結(jié)構(gòu)如圖3-6

19、所示。圖3-6ADC0808部結(jié)構(gòu)3.3.2A/D轉(zhuǎn)換電路設(shè)計(jì)集成摸數(shù)轉(zhuǎn)換芯片ADC0808實(shí)現(xiàn)的A/D轉(zhuǎn)換電路如圖3-7所示,被測(cè)信號(hào)由ADC0808模擬輸入端輸入,完成A/D轉(zhuǎn)換后送入單片機(jī),經(jīng)相應(yīng)處理后送出顯示。圖3-7ADC0808與單片機(jī)的連接3.4顯示模塊設(shè)計(jì)3.4.1LCD顯示模塊LCD顯示器分為字段顯示和字符顯示兩種。其中字段顯示與LED顯示相似,只要送對(duì)應(yīng)的信號(hào)到相應(yīng)的管腳就能顯示。字符顯示是根據(jù)需要顯示基本字符。本設(shè)計(jì)采用的是字符型顯示。系統(tǒng)中采用LCD1602作為顯示器件輸出信息。與傳統(tǒng)的LED數(shù)碼管顯示器件相比,液晶顯示模塊具有體積小、功耗低、顯示容豐富等優(yōu)點(diǎn),而且不需

20、要外加驅(qū)動(dòng)電路,現(xiàn)在液晶顯示模塊已經(jīng)是單片機(jī)應(yīng)用設(shè)計(jì)中最常用的顯示器件了。LCD1602可以顯示2行16個(gè)漢字。3.4.2LCD1602的引腳功能LCD1602模塊的引腳如圖3-8所示,其引腳功能如下:RS:數(shù)據(jù)和指令選擇控制端,RS=0命令狀態(tài);RS=1數(shù)據(jù)R/W:讀寫(xiě)控制線,R/W=0寫(xiě)操作;R/W=1讀操作A:背光控制正電源 K:背光控制地E:數(shù)據(jù)讀寫(xiě)操作控制位,E線向LCD模塊發(fā)送一個(gè)脈沖,LCD模塊與單片機(jī)間將進(jìn)行一次數(shù)據(jù)交換DB0DB7:數(shù)據(jù)線,可以用8位連接,也可以只用高4位連接,節(jié)約單片機(jī)資源。VDD:電源端 VEE:亮度控制端(1-5V)VSS VDD VO RS R/W E

21、 DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 A KLCD 模 塊1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 VSS:接地端圖3-8LCD1602模塊3.4.3LCD1602的顯示操作1四種基本操作LCD有四種基本操作,具體如表3-1所示。表3-1LCD與單片機(jī)之間有四種基本操作RSR/W操作00寫(xiě)命令操作(初始化,光標(biāo)定位等)01讀狀態(tài)操作(讀忙標(biāo)志位)10寫(xiě)數(shù)據(jù)操作(要顯示容)11讀數(shù)據(jù)操作(可以把顯示存儲(chǔ)區(qū)中的數(shù)據(jù)反讀出來(lái))(1)讀狀態(tài)字執(zhí)行讀狀態(tài)字操作,如表3-1滿足RS=0,R/W=1。根據(jù)管腳功能,當(dāng)為有效電平時(shí),狀態(tài)命令字可從

22、LCD模塊傳輸?shù)綌?shù)據(jù)總線。同時(shí)可以保持一段時(shí)間,從而實(shí)現(xiàn)讀狀態(tài)字的功能。讀狀態(tài)字流程如圖3-9所示。圖3-9讀入狀態(tài)字流程圖(2)命令字表3-2所示為命令字,其主要介紹了指令名稱、控制信號(hào)與控制代碼。其指令名稱是指要實(shí)現(xiàn)的功能;控制代號(hào)是采用的十六進(jìn)制的數(shù)值表示的。1)清零操作是指輸入某命令字后即能將整個(gè)屏幕顯示的容全部清除;2)歸home位:將光標(biāo)送到初始位;其中的號(hào)為任意,高低電平均可;3)輸入方式:設(shè)光標(biāo)移動(dòng)方向并指定整體顯示,是否移動(dòng)。I/D=0:減量方式,S=1:移位方式,S=0:不移位;4)顯示狀態(tài):D指設(shè)置整體顯示開(kāi)關(guān);C指設(shè)置光標(biāo)顯示開(kāi)關(guān);B指設(shè)置光標(biāo)的字符閃耀;5)光標(biāo)畫(huà)面滾

23、動(dòng):R/L指右移或左移;S/C指移動(dòng)總體或光標(biāo);6)功能設(shè)置:DL接口數(shù)位,L指顯示行數(shù),F(xiàn)顯示字型;如DL=1:8位=0,4位N=1:2行=0:1行,G=1:510=0:57(點(diǎn)陣)7)CGRAM地址設(shè)制:相當(dāng)于一個(gè)數(shù)據(jù)庫(kù),可以在其中選擇所需要的符號(hào);8)DDRAM地址設(shè)制:顯示定位;9)讀BF和AC:B為最高位忙的標(biāo)志,F(xiàn)為標(biāo)志位;10)寫(xiě)數(shù)據(jù):將數(shù)據(jù)按要求寫(xiě)入到對(duì)應(yīng)的單元;11)讀數(shù)據(jù):讀相應(yīng)單元的數(shù)據(jù);表3-2命令字指令名稱控制信號(hào)控制代碼RSRWD7D6D5D4D3D2D1D0清屏0000000001歸HOME位000000001*輸入方式設(shè)制00000001I/DS顯示狀態(tài)設(shè)制00

24、00001DCB無(wú)標(biāo)畫(huà)面滾動(dòng)000001S/CRL*功能設(shè)置00001DLNF*CGRAM地址設(shè)制0001A5A4A3A2A1A0DDRAM地址設(shè)制001A6A5A4A3A2A1A0讀BF和AC01BFAC6AC5AC4AC3AC2AC1AC0寫(xiě)數(shù)據(jù)10數(shù) 據(jù)讀數(shù)據(jù)11數(shù) 據(jù)(3)寫(xiě)命令字由表3-2可知當(dāng)RS=0,R/W=0時(shí),才可以通過(guò)單片機(jī)或用戶指令把數(shù)據(jù)寫(xiě)到LCD模塊,此時(shí)就對(duì)LCD進(jìn)行調(diào)制??刹捎貌樵兎绞剑合茸x入狀態(tài)字,再判斷忙標(biāo)志位,最后寫(xiě)命令字。圖3-10所示為寫(xiě)命令字的流程圖。圖3-10寫(xiě)命令字流程圖1)定義光標(biāo)位置顯示數(shù)據(jù)的某位,就是把顯示數(shù)據(jù)寫(xiě)在相應(yīng)的DDRAM地址中,DDR

25、AM地址占7位。SetDDRAMaddress命令如表3-3所示。光標(biāo)定位,寫(xiě)入一個(gè)顯示字符后,DDRAM地址會(huì)自動(dòng)加1或減1,加或減由輸入方式設(shè)置。表3-3Set DDRAM address命令RSR/WDB7DB6DB5DB4DB3DB2DB1DB0001AC6AC5AC4AC3AC2AC1AC0第1行DDRAM地址與第2行DDRAM地址并不連續(xù),如表3-4所示。表3-4DDRAM地址row12345141516line180H81H82H83H84H8dH8eH8fHline20c0H0c1H0c2H0c3H0c4H0cdH0ceH0cfH2)LCD初始化從通電開(kāi)始延時(shí),先經(jīng)過(guò)判忙后再進(jìn)

26、行功能設(shè)置,過(guò)一段時(shí)間后可以設(shè)制顯示狀態(tài)(如設(shè)制行、位或陣列)再經(jīng)過(guò)延時(shí)清屏后才可以設(shè)置輸入方式,具體實(shí)現(xiàn)過(guò)程如圖3-11所示。圖3-11LCD初始化流程圖2LCD顯示程序設(shè)計(jì)LCD顯示程序的設(shè)計(jì)一般先要確定LCD的初始化、光標(biāo)定位、確定顯示字符后,顯示流程如圖3-12顯示。圖3-12LCD顯示程序流程圖第4章系統(tǒng)軟件設(shè)計(jì)根據(jù)需要,可將系統(tǒng)軟件按照功能劃分為4個(gè)模塊,分別是主程序模塊、A/D轉(zhuǎn)換模塊、液晶顯示模塊、中斷服務(wù)程序模塊(改變顯示的小數(shù)點(diǎn)位置),各模塊的功能關(guān)系如圖4-1所示。編寫(xiě)系統(tǒng)軟件時(shí),可首先編寫(xiě)各模塊的底層驅(qū)動(dòng)程序,而后是系統(tǒng)聯(lián)機(jī)調(diào)試,編寫(xiě)上層主程序。系統(tǒng)主程序液晶管顯示A/

27、D轉(zhuǎn)換中斷服務(wù).圖4-1系統(tǒng)軟件框圖4.1主程序設(shè)計(jì)圖4-2主程序流程圖主程序主要負(fù)責(zé)各個(gè)模塊的初始化工作:設(shè)置定時(shí)器、寄存器的初值,啟動(dòng)A/D轉(zhuǎn)換,讀取轉(zhuǎn)換結(jié)果,處理量程轉(zhuǎn)換響應(yīng),控制液晶實(shí)時(shí)顯示等,其流程圖如圖4-2所示。4.2A/D轉(zhuǎn)換程序A/D轉(zhuǎn)換程序的功能是采集數(shù)據(jù),在整個(gè)系統(tǒng)設(shè)計(jì)中占有很高的地位。當(dāng)系統(tǒng)設(shè)置好后,單片機(jī)掃描轉(zhuǎn)換結(jié)束管腳P2.6的輸入電平狀態(tài),當(dāng)輸入為高電平則轉(zhuǎn)換完成,將轉(zhuǎn)換的數(shù)值轉(zhuǎn)換并顯示輸出。若輸入為低電平,則繼續(xù)掃描。程序流程圖如圖4-3所示。圖4-3A/D轉(zhuǎn)換程序流程圖4.3中斷服務(wù)程序中斷服務(wù)程序的功能是為ADC0808提供時(shí)鐘信號(hào),當(dāng)中斷發(fā)生時(shí)將AT89C

28、51單片機(jī)的P2.4管腳將輸出信號(hào)取反,為ADC0808提供12kHz時(shí)鐘信號(hào)。第5章系統(tǒng)仿真與調(diào)試在進(jìn)行電路的局部調(diào)試之后,我又進(jìn)行了系統(tǒng)整機(jī)調(diào)試。首先為ADC0808接上+12V的電壓,為其它芯片接上+5V的工作電壓。另外還要輸入待測(cè)的模擬電壓,該電壓從200mV以下的電壓開(kāi)始輸起,依次增大,直到達(dá)到待測(cè)電壓的上限50V為止,記錄測(cè)量數(shù)據(jù)并分析系統(tǒng)性能。5.1分局部調(diào)試1檢查ADC0808是否工作ADC0808集成了三個(gè)控制端。如果某一控制端為高電平則對(duì)應(yīng)的開(kāi)關(guān)將接通。為測(cè)量其是否工作,我們將它的三個(gè)控制端用導(dǎo)線引出分別接高低電平,發(fā)現(xiàn)測(cè)量結(jié)果與理論分析結(jié)果一致,ADC0808工作正常。2

29、各量程調(diào)節(jié)這一步調(diào)試是建立在上述兩步調(diào)試的基礎(chǔ)上的。針對(duì)不同的檔位,我們通過(guò)接入不同待測(cè)的模擬量來(lái)調(diào)節(jié)電壓。5.2整機(jī)調(diào)試本系統(tǒng)的測(cè)試采用Proteus軟件,系統(tǒng)在Proteus軟件中仿真時(shí)使用的元件如表5-1所示。測(cè)試表明,系統(tǒng)運(yùn)行正常,能準(zhǔn)確將直流模擬信號(hào)的電壓轉(zhuǎn)換成數(shù)值顯示,并能精確到5位有效數(shù)字,達(dá)到了設(shè)計(jì)的要求。表5-1元件名稱與屬性序號(hào)元件名屬性序號(hào)元件名屬性1AT89C51單片機(jī)7LM016LLCD16023CAP電容8ADC08088位A/D轉(zhuǎn)換器4CAP-ELEC電解電容9PULLUP上拉電阻5CRYSTAL晶振10SW-POT44路模擬開(kāi)關(guān)6RES電阻1174LS02與非門

30、5.3系統(tǒng)仿真采用Keil編譯器進(jìn)行源程序編譯與仿真調(diào)試,調(diào)好程序后將目標(biāo)程序?qū)隤roteus進(jìn)行軟硬件調(diào)試,基于單片機(jī)實(shí)現(xiàn)的數(shù)字電壓表測(cè)試值見(jiàn)表5-2所示。表5-2測(cè)試值與真實(shí)值電壓表測(cè)得值/V0.000.3320.390.5070.9961.2501.5032.0002.480絕對(duì)誤差/V0.00+0.02+0.01+0.02+0.01+0.01+0.03+0.00+0.01電壓表測(cè)得值/V4.9805.079.9612.5015.0319.9229.8839.8449.80絕對(duì)誤差/V+0.00+0.02+0.01+0.01+0.02+0.02+0.02+0.03+0.02從表中可以看

31、出,電壓表測(cè)得值誤差均在0.02V以,這與采用8位A/D轉(zhuǎn)換器所能達(dá)到的理論誤差精度相比較接近,因此在一般的應(yīng)用場(chǎng)合都可以滿足要求。結(jié)論本設(shè)計(jì)以AT89C51單片機(jī)為控制核心,通過(guò)集成摸數(shù)轉(zhuǎn)換芯片ADC0808將被測(cè)信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),經(jīng)單片機(jī)部程序處理后,由液晶顯示器LCD1602顯示測(cè)量結(jié)果。仿真測(cè)試表明,系統(tǒng)性能良好,測(cè)量讀數(shù)穩(wěn)定易讀、更新速度合理,直流電壓測(cè)量圍為050V,最小分辨率為0.02V,滿足任務(wù)書(shū)指標(biāo)要求。但是,該系統(tǒng)也存在一定程度的不足,例如:1、輸入電壓易發(fā)生干擾不穩(wěn)定,且驅(qū)動(dòng)能力可能存在不足,需在被測(cè)信號(hào)的輸入端加上一部分驅(qū)動(dòng)電路,比如將量程轉(zhuǎn)換電路改成帶放大能力的自動(dòng)

32、量程轉(zhuǎn)換電路,將幅值較小的信號(hào)經(jīng)適當(dāng)放大后再測(cè)量,可顯著提高精度;2、輸出量可用平均值算法來(lái)改善,使測(cè)量準(zhǔn)確度更高。3、若能將測(cè)量的電壓值實(shí)時(shí)保存,使用時(shí)將更方便。4、ADC0808可實(shí)現(xiàn)對(duì)8個(gè)通道的輸入信號(hào)輪流轉(zhuǎn)換,本設(shè)計(jì)僅僅使用了其中一個(gè)通道,造成了較大的資源浪費(fèi)。若能對(duì)電路稍加改進(jìn),實(shí)現(xiàn)對(duì)多路信號(hào)的輪流測(cè)量并自動(dòng)保存相應(yīng)結(jié)果,其應(yīng)用價(jià)值將會(huì)更大。致本文是在柳老師的精心指導(dǎo)下完成的。在此向他表示衷心的感。感同學(xué)的鼓勵(lì)和幫助,讓我順利完成本次設(shè)計(jì)任務(wù)。通過(guò)短暫的畢業(yè)設(shè)計(jì),從而提高了我的理論水平,真正做到學(xué)有所用,雖然在其過(guò)程中我也遇到一些困難,但是從中我也得到了很多的幫助,沒(méi)有半途而廢,沒(méi)有

33、灰心喪氣,我都一一克服了,這些都是一種收獲,最讓我感到高興的是終于按質(zhì)按量的完成了畢業(yè)設(shè)計(jì)。感我的指導(dǎo)老師,他嚴(yán)謹(jǐn)細(xì)致、一絲不茍的作風(fēng)一直是我工作、學(xué)習(xí)中的榜樣;他循循善誘的教導(dǎo)和不拘一格的思路給予我無(wú)盡啟迪。本次畢業(yè)設(shè)計(jì)的每一個(gè)細(xì)節(jié)都離不開(kāi)您的細(xì)心指導(dǎo)。感同學(xué)、朋友的幫助,在這里請(qǐng)接受我誠(chéng)摯的意!參考文獻(xiàn)1徐愛(ài)鈞智能化測(cè)量控制儀表原理與設(shè)計(jì)(第二版):航空航天大學(xué),20042吳金戌,慶陽(yáng),郭庭吉8051單片機(jī)實(shí)踐與應(yīng)用:清華大學(xué),20023黃智偉全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽訓(xùn)練教程:電子工業(yè),20044汪德彪MCS-51單片機(jī)原理與接口技術(shù)(第一版):電子工業(yè),2003附錄系統(tǒng)源程序COMEQU5

34、0HDATEQU51HRSEQUP2.1;LCD寄存器選擇信號(hào)RWEQUP2.2;LCD讀/寫(xiě)選擇信號(hào)EEQUP2.3;LCD使能信號(hào)ORG0000HLJMPMAINORG000BHLJMPBT0;T0中斷入口ORG0030H;主程序初始化MAIN:MOVSP,#60HLCALL INTMOV30H,#30HMOV31H,#0A5HMOV32H,#30HMOV33H,#30HMOV34H,#30HMOVR7,#30HLCALLN1;顯示Voltage=0.000LCALLN2;定時(shí)器初始化程序MOVTMOD,#00HMOVTH0,#00HMOVTL0,#00HSETBTR0MOV24H,#03

35、HMOVIE,#82HLP:MOVR7,#30H;顯示緩沖區(qū)首地址LCALLDISPLYSJMPLP;循環(huán)顯示;定時(shí)器中斷服務(wù)程序,讀取0809第0通道的轉(zhuǎn)換結(jié)果并轉(zhuǎn)換為顯示值BT0:PUSHACCPUSHPSWMOVPSW,#00HCLRTR0MOVTH0,#00HMOVTL0,#00HDEC24HMOVA,24HMOVA,P1ANLA,#03HDECAZLC0DECAJZLC1LC0:JNZRTN1MOV24H,#03HMOVDPTR,#0F6FFHMOVA,#00HMOVXDPTR,AMOVR7,#0ccHDJNZR7,$MOVXA,DPTRMOV40H,AMOVB,#05H;A/D轉(zhuǎn)換

36、結(jié)果化為顯示值MULAB;(AD*5)/25MOV30H,B;AD*5的高字節(jié)為整數(shù)部分MOVB,#0AHMULAB;AD*5的低字節(jié)為/256的結(jié)果,為小數(shù)部分MOV32H,B;二進(jìn)制小數(shù)換為10進(jìn)制數(shù)MOVB,#0AHMULABMOV33H,BMOVB,#0AHMULABMOV34H,BRTN1: SETBTR0ORL30H,#30HMOV31H,#0A5HORL32H,#30HORL33H,#30HORL34H,#30HMOV35H,#30HLJMPLCCLC1: JNZRTN2MOV24H,#03HMOVDPTR,#0F6FFHMOVA, #00HMOVXDPTR,AMOVR7,#0c

37、cHDJNZR7,$MOVXA,DPTRMOV40H,AMOVB,#05H; A/D轉(zhuǎn)換結(jié)果顯示值MULAB;(AD*5)/25MOV30H,B;AD*5的高字節(jié)為整數(shù)部分MOVB,#0AHMULAB;AD*5的低字節(jié)為/256的結(jié)果,為小數(shù)部分MOV31H,B;二進(jìn)制小數(shù)換為10進(jìn)制數(shù)MOVB,#0AHMULABMOV33H,BMOVB,#0AHMULABMOV34H,BRTN2: SETBTR0ORL30H,#30HORL31H,#30HMOV32H,#0A5HORL33H,#30HORL34H,#30HMOV35H,#30H;AJMPLCCLCC:NOPPOPPSWPOPACCRETID

38、ISPLY:;LCD顯示子程序MOVCOM,#0CAHLCALLPR1MOVR1,#05HMOVR0,#30HL:MOVDAT,R0LCALLPR2INCR0DJNZR1,LRET;逐字依次輸入方式演示程序段N1:MOVCOM,#01HLCALLPR1MOVCOM,#06HLCALLPR1MOVCOM,#0EHLCALLPR1MOVDPTR,#TABMOVR2,#8HWRIN1:MOVR3,#00HWRIN:;寫(xiě)入MOVA,R3MOVCA,A+DPTRMOVDAT,ALCALLPR2INCR3DJNZR2,WRINRETN2:MOVCOM,#06HLCALLPR1MOVCOM,#0C0HLCA

39、LLPR1MOVDPTR,#TAB1MOVR2,#9HSJMPWRIN1TAB:DBlicaiyuTAB1:DBVOLTAG= ;LCD間接控制方式下的初始化子程序INT:LCALLDELAY;調(diào)用延時(shí)子程序MOVCOM,#3CH;設(shè)置工作方式LCALLPR1MOVCOM,#01H;清屏LCALLPR1MOVCOM,#06H;設(shè)置輸入方式LCALLPR1MOVCOM,#080H;設(shè)置顯示方式LCALLPR1RETDELAY:MOVR6,#0FH;延時(shí)MOVR7,#00HDELAY1: NOPDJNZR7,DELAY1DJNZR6,DELAY1RET;LCD間接工致方式的驅(qū)動(dòng)子程序;讀BF和AC

40、的值PR0:PUSHACCMOVP0,#0FFH;P0置位,準(zhǔn)備讀CLRRS;RS=0,選擇指令寄存器SETBRW;RW=1,讀SETBE;片選,1有效LCALLDELAYMOVCOM,P0;讀BF和AC6-4值CLREPOPACCRET;寫(xiě)指令代碼子程序PR1:PUSHACCCLRRS;指令寄存器SETBRWPR11:MOVP0,#0FFH;P0置位,準(zhǔn)備讀SETBELCALLDELAYNOPMOVA,P0CLREACC.7,PR11;BF=1CLRRWMOVP0,COMSETBECLREPOPACCRET;寫(xiě)顯示數(shù)據(jù)程序PR2:PUSHACCCLRRSSETBRWPR21:MOVP0,#0

41、FFHSETB ELCALLDELAYMOVA,P0;讀BF和AC6-4CLREACC.7,PR21SETBRSCLRRWMOVP0,DAT;寫(xiě)入數(shù)據(jù)高4位SETBECLREPOPACCRET;讀顯示數(shù)據(jù)程序PR3:PUSHACCCLRRSSETBRWPR31:MOVP0,#0FFH;P0置位,準(zhǔn)備讀SETBELCALLDELAYMOVA,P0;讀BF和AC6-4CLREACC.7,PR31SETBRS;RS=1,選通數(shù)據(jù)寄存器SETBRWMOVP0,#0FFH;讀數(shù)據(jù)SETBEMOVDAT,P0CLREPOPACCRETEND;單片機(jī)畢業(yè)設(shè)計(jì)程序:數(shù)字電壓表的設(shè)計(jì)COMEQU50HDATEQ

42、U51HRSEQUP2.1;LCD積存器選擇信號(hào)RWEQUP2.2;LCD讀/寫(xiě)選擇信號(hào)EEQUP2.3;LCD使能信號(hào)ORG0000HLJMPMAINORG000BHLJMPBT0;T0中斷入口ORG0030H;主程序初始化MAIN:MOVSP,#60HLCALL INTMOV30H,#30HMOV31H,#0A5HMOV32H,#30HMOV33H,#30HMOV34H,#30HMOVR7,#30HLCALLN1;顯示Voltage=0.000LCALLN2;定時(shí)器初始化程序MOVTMOD,#00HMOVTH0,#00HMOVTL0,#00HSETBTR0MOV24H,#03HMOVIE,

43、#82HLP:MOVR7,#30H;顯示緩沖區(qū)首地址LCALLDISPLYSJMPLP;循環(huán)顯示;定時(shí)器中斷服務(wù)程序,讀取0808第0通道的轉(zhuǎn)換結(jié)果并轉(zhuǎn)換為顯示值BT0:PUSHACCPUSHPSWMOVPSW,#00HCLRTR0MOVTH0,#00HMOVTL0,#00HDEC24HMOVA,24HJNZRTN1MOV24H,#03HMOVDPTR,#0F6FFHMOVA,#00HMOVXDPTR,AMOVR7,#0ccHDJNZR7,$MOVXA,DPTRMOV40H,ARTN:MOVB,#05H;A/D轉(zhuǎn)換結(jié)果化為顯示值MULAB;(AD*5)/25MOV30HB;AD*5的高字節(jié)為整數(shù)部分MOVB,#0AHMULAB;AD*5的低字節(jié)為/256的結(jié)果,為小數(shù)部分MOV32HB;二進(jìn)制小數(shù)換為10進(jìn)制數(shù)MOVB,#0AHMULABMOV33H,BMOVB,#0AHMULABMOV34H,BRTN1:SETBTR0ORL30H,#

溫馨提示

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

評(píng)論

0/150

提交評(píng)論