單片機(jī)課程設(shè)計(jì)-數(shù)字電壓表_第1頁(yè)
單片機(jī)課程設(shè)計(jì)-數(shù)字電壓表_第2頁(yè)
單片機(jī)課程設(shè)計(jì)-數(shù)字電壓表_第3頁(yè)
單片機(jī)課程設(shè)計(jì)-數(shù)字電壓表_第4頁(yè)
單片機(jī)課程設(shè)計(jì)-數(shù)字電壓表_第5頁(yè)
已閱讀5頁(yè),還剩12頁(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、 數(shù)字電壓表的設(shè)計(jì)課 題 名 稱 基于單片機(jī)的數(shù)字電壓表 作 者 姓 名 專 業(yè) 班 級(jí) 指導(dǎo)教師姓名 摘 要單片機(jī)是一種集成電路芯片,采用超大規(guī)模技術(shù)把具有數(shù)據(jù)處理能力(如算術(shù)運(yùn)算,邏輯運(yùn)算、數(shù)據(jù)傳送、中斷處理)的微處理器(CPU)。隨著單片機(jī)技術(shù)的飛速發(fā)展,各種單片機(jī)蜂擁而至,單片機(jī)技術(shù)已成為一個(gè)國(guó)家現(xiàn)代化科技水平的重要標(biāo)志。單片機(jī)可單獨(dú)地完成現(xiàn)代工業(yè)控制所要求的智能化控制功能,這是單片機(jī)最大的特征。單片機(jī)控制系統(tǒng)能夠取代以前利用復(fù)雜電子線路或數(shù)字電路構(gòu)成的控制系統(tǒng),可以軟件控制來(lái)實(shí)現(xiàn),并能夠?qū)崿F(xiàn)智能化?,F(xiàn)在單片機(jī)控制范疇無(wú)所不在,例如通信產(chǎn)品、家用電器、智能儀器儀表、過程控制和專用控制裝

2、置等等,單片機(jī)的應(yīng)用領(lǐng)域越來(lái)越廣泛。本畢業(yè)設(shè)計(jì)的課題是“簡(jiǎn)易數(shù)字電壓表的設(shè)計(jì)”。主要考核我們對(duì)單片機(jī)技術(shù),編程能力等方面的情況。觀察獨(dú)立分析、設(shè)計(jì)單片機(jī)的能力,以及實(shí)際編程技能。本文利用了單片機(jī)在測(cè)量技術(shù)中的應(yīng)用,采用AT89C51單片機(jī)實(shí)現(xiàn)模擬電壓信號(hào)的檢測(cè)與顯示,構(gòu)成數(shù)字式電壓表。本課題中主要解決數(shù)模轉(zhuǎn)換,數(shù)據(jù)處理和顯示控制三個(gè)主要模塊。其中的ADC0804用于模擬電壓信號(hào)轉(zhuǎn)換成單片機(jī)用于識(shí)別的數(shù)字信號(hào),AT89C51主要用于信號(hào)的控制和處理顯示,74LS47用于譯碼和驅(qū)動(dòng)顯示。該電路設(shè)計(jì)簡(jiǎn)單實(shí)用,實(shí)現(xiàn)了數(shù)字電壓表的智能化控制。關(guān)鍵詞:?jiǎn)纹瑱C(jī) AT89C51 ADC0804目 錄1設(shè)計(jì)原理

3、及要求11.1數(shù)字電壓表的實(shí)現(xiàn)原理11.2數(shù)字電壓表的設(shè)計(jì)要求12軟件仿真電路設(shè)計(jì)22.1設(shè)計(jì)思路2 2.2設(shè)計(jì)基本框圖.32.3 AT89C51的功能介紹22.3.1簡(jiǎn)單概述22.3.2主要功能特性32.3.3 AT89C51的引腳介紹32.4 ADC0808的引腳及功能介紹52.4.1芯片概述52.4.2 引腳簡(jiǎn)介52.4.3 ADC0808的轉(zhuǎn)換原理.83系統(tǒng)軟件程序的設(shè)計(jì)63.1 主程序63.2 A/D轉(zhuǎn)換子程序73.3 中斷顯示程序84總結(jié)9參考文獻(xiàn)10附錄111附錄2 . 12附錄3. 17341設(shè)計(jì)原理及要求1.1數(shù)字電壓表的實(shí)現(xiàn)原理 ADC0808是8位的A/D轉(zhuǎn)換器。當(dāng)輸入電

4、壓為5.00V時(shí),輸出的數(shù)據(jù)值為255(0FFH),因此最大分辨率為0.0196(5/255)。ADC0808具有8路模擬量輸入端口,通過3位地址輸入端能從8路中選擇一路進(jìn)行轉(zhuǎn)換。如每隔一段時(shí)間依次輪流改變3位地址輸入端的地址,就能依次對(duì)8 路輸入電壓進(jìn)行測(cè)量。LED數(shù)碼管顯示采用軟件譯碼動(dòng)態(tài)顯示。通過按鍵選擇可對(duì)8路循環(huán)顯示,也可單路顯示,單路顯示可通過按鍵選擇顯示的通道數(shù)。1.2數(shù)字電壓表的設(shè)計(jì)要求可以測(cè)量05V范圍內(nèi)的3路直流電壓值。在3位LED數(shù)碼管上輪流顯示各路電壓值或單路選擇顯示。利用ADC0808設(shè)計(jì)實(shí)現(xiàn)數(shù)字電壓表的測(cè)量值為05V,用電位器模擬ADC0808的輸入電壓,用3位數(shù)碼

5、管顯示,實(shí)時(shí)模擬數(shù)字電壓表。 2軟件仿真電路設(shè)計(jì)2.1設(shè)計(jì)思路 多路數(shù)字電壓表應(yīng)用系統(tǒng)硬件電路由單片機(jī)、A/D轉(zhuǎn)換器、數(shù)碼管顯示電路和按鍵處理電路組成,由于ADC0808在進(jìn)行A/D轉(zhuǎn)換時(shí)需要有CLK信號(hào),本試驗(yàn)中ADC0808的CLK直接由外部電源提供為500kHz的方波。由于ADC0808的參考電壓VREFVCC,所以轉(zhuǎn)換之后的數(shù)據(jù)要經(jīng)過數(shù)據(jù)處理,在數(shù)碼管上顯示出電壓值。實(shí)際顯示的電壓值(D/256*VREF) ADC0808采用逐次逼近法轉(zhuǎn)換,把模擬電壓轉(zhuǎn)換成16進(jìn)制的D,由于是對(duì)直流電壓05V進(jìn)行采集,所以D對(duì)應(yīng)的電壓為V0 ,我們的目的就是要把V0顯示在LED顯示器上,因?yàn)?/p>

6、單片機(jī)不好進(jìn)行小數(shù)點(diǎn)計(jì)算,所以有:V0=2*D擴(kuò)大了100倍,擴(kuò)大100倍后的結(jié)果高八位放寄存器B,低八位放寄存器A,分寄存器B為0或不為0的情況進(jìn)行存取數(shù)據(jù),得到的結(jié)果個(gè)位放入R0,十位放入R1,通過查表使之顯示在LED顯示器。2.2設(shè)計(jì)基本框圖AT89S52單片機(jī)A/D轉(zhuǎn)換器LCD顯示器模擬電壓輸入量程控制電路 圖2-1 設(shè)計(jì)基本框圖2.3 AT89C51的功能介紹2.3.1簡(jiǎn)單概述AT89C51是一種帶4K字節(jié)閃存可編程可擦除只讀存儲(chǔ)器(FPEROMFlash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗

7、稱單片機(jī)。AT89C51是一種帶2K字節(jié)閃存可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡(jiǎn)版本。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。外形及引腳排列如圖2-2所示。圖2-2 AT89C51芯片模型2.3.2主要功能特性(1) 4K字節(jié)可編程閃爍存儲(chǔ)器。 (2) 32個(gè)雙向I/O口;128×8

8、位內(nèi)部RAM 。(3) 2個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷,時(shí)鐘頻率0-24MHz。 (4) 可編程串行通道。 (5) 5個(gè)中斷源。 (6) 2個(gè)讀寫中斷口線。 (7) 低功耗的閑置和掉電模式。(8) 片內(nèi)振蕩器和時(shí)鐘電路。2.3.3 AT89C51的引腳介紹89C51單片機(jī)多采用40只引腳的雙列直插封裝(DIP)方式,下面分別簡(jiǎn)單介紹。(1)電源引腳電源引腳接入單片機(jī)的工作電源。Vcc(40引腳):+5V電源。GND(20引腳):接地。(2)時(shí)鐘引腳XTAL1(19引腳):片內(nèi)振蕩器反相放大器和時(shí)鐘發(fā)生器電路的輸入端。XTAL2(20引腳):片內(nèi)振蕩器反相放大器的輸出端。圖2-3 電源接入方式

9、(3)復(fù)位RST(9引腳)在振蕩器運(yùn)行時(shí),有兩個(gè)機(jī)器周期(24個(gè)振蕩周期)以上的高電平出現(xiàn)在此引腳時(shí),將使單片機(jī)復(fù)位,只要這個(gè)腳保持高電平,51芯片便循環(huán)復(fù)位。(4)/Vpp(31引腳)為外部程序存儲(chǔ)器訪問允許控制端。當(dāng)它為高電平時(shí),單片機(jī)讀片內(nèi)程序存儲(chǔ)器,在PC值超過0FFFH后將自動(dòng)轉(zhuǎn)向外部程序存儲(chǔ)器。當(dāng)它為低電平時(shí),只限定在外部程序存儲(chǔ)器,地址為0000HFFFFH。Vpp為該引腳的第二功能,為編程電壓輸入端。(5)ALE/(30引腳)ALE為低八位地址鎖存允許信號(hào)。在系統(tǒng)擴(kuò)展時(shí),ALE的負(fù)跳沿P0口發(fā)出的第八位地址鎖存在外接的地址鎖存器,然后再作為數(shù)據(jù)端口。為該引腳的第二功能,在對(duì)片外

10、存儲(chǔ)器編程時(shí),此引腳為編程脈沖輸入端。(6)(29引腳)片外程序存儲(chǔ)器的讀選通信號(hào)。在單片機(jī)讀片外程序存儲(chǔ)器時(shí),此引腳輸出脈沖的負(fù)跳沿作為讀片外程序存儲(chǔ)器的選通信號(hào)。(7) pin39-pin32為P0.0-P0.7輸入輸出腳,稱為P0口。P0是一個(gè)8位漏極開路型雙向I/O口。內(nèi)部不帶上拉電阻,當(dāng)外接上拉電阻時(shí),P0口能以吸收電流的方式驅(qū)動(dòng)八個(gè)LSTTL負(fù)載電路。通常在使用時(shí)外接上拉電阻,用來(lái)驅(qū)動(dòng)多個(gè)數(shù)碼管。 在訪問外部程序和外部數(shù)據(jù)存儲(chǔ)器時(shí),P0口是分時(shí)轉(zhuǎn)換的地址(低8位)/數(shù)據(jù)總線,不需要外接上拉電阻。(8)Pin1-Pin8為P1.0-P1.7輸入輸出腳,稱為P1口,是一個(gè)帶內(nèi)部上拉電阻

11、的8位雙向I/0口。P1口能驅(qū)動(dòng)4個(gè)LSTTL負(fù)載。(9)Pin21-Pin28為P2.0-P2.7輸入輸出腳,稱為P2口。P2口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P2口能驅(qū)動(dòng)4個(gè)LSTTL負(fù)載。端口置1時(shí),內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對(duì)內(nèi)部Flash程序存儲(chǔ)器編程時(shí),接收高8位地址和控制信息。在訪問外部程序和16位外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口送出高8位地址。而在訪問8位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí)其引腳上的內(nèi)容在此期間不會(huì)改變。 (10)Pin10-Pin17為P3.0-P3.7輸入輸出腳,稱為P3口。P3口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P2口能驅(qū)動(dòng)4個(gè)LSTTL負(fù)載,這8

12、個(gè)引腳還用于專門的第二功能。端口置1時(shí),內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對(duì)內(nèi)部Flash程序存儲(chǔ)器編程時(shí),接控制信息。2.4 ADC0808的引腳及功能介紹2.4.1芯片概述ADC0808是一種典型的A/D轉(zhuǎn)換器。它是由8位A/D轉(zhuǎn)換器,一個(gè)8路模擬量開關(guān),8位模擬量地址鎖存譯碼器和一個(gè)三態(tài)數(shù)據(jù)輸出鎖存器組成; +5V單電源供電,轉(zhuǎn)化 時(shí)間在100us左右;內(nèi)部沒有時(shí)鐘電路,故需外部提供時(shí)鐘信號(hào)。芯片模型如圖2-4所示。圖2-4 ADC0808芯片模型2.4.2 引腳簡(jiǎn)介 (1) IN0IN7:8路模擬量輸入端。(2) D0D7:8位數(shù)字量輸出端口。(3) START:A/D轉(zhuǎn)換啟動(dòng)信

13、號(hào)輸入端。(4) ALE:地址鎖存允許信號(hào),高電平有效。(5) EOC:輸出允許控制信號(hào),高電平有效。(6) OE: 輸出允許控制信號(hào),高電平有效。(7) CLK:時(shí)鐘信號(hào)輸入端。(8)A、B、C:轉(zhuǎn)換通道地址,控制8路模擬通道的切換。A、B、C分別與地址線或數(shù)據(jù)線相連,三位編碼對(duì)應(yīng)8個(gè)通道地址端口,A、B、C=000111分別對(duì)應(yīng)IN0IN7通道的地址端口。2.4.3 ADC0808的轉(zhuǎn)換原理ADC 0808 采用逐次比較的方法完成A/D轉(zhuǎn)換,由單一的+5V電源供電。片內(nèi)帶有鎖存功能的8路選1的模擬開關(guān),由A、B、C的編碼來(lái)決定所選的通道。ADC0809完成一次轉(zhuǎn)換需100s左右,它具有輸出

14、TTL三態(tài)鎖存緩沖器,可直接連接到AT89C51的數(shù)據(jù)總線上。通過適當(dāng)?shù)耐饨与娐?,ADC0808可對(duì)05V的模擬信號(hào)進(jìn)行轉(zhuǎn)換。3系統(tǒng)軟件程序的設(shè)計(jì)多路數(shù)字電壓表系統(tǒng)軟件程序主要有主程序、A/D轉(zhuǎn)換子程序和中斷顯示程序組成。3.1 主程序主程序包含初始化部分、調(diào)用A/D轉(zhuǎn)換子程序和相應(yīng)外部0中斷顯示電壓數(shù)值程序,初始化部分包含存放通道的緩沖區(qū)初始化和顯示緩沖區(qū)初始化。另外,對(duì)于單路顯示和循環(huán)顯示,系統(tǒng)設(shè)置了一個(gè)標(biāo)志位00H控制,初始化時(shí)00H位設(shè)置為0,默認(rèn)為循環(huán)顯示,當(dāng)它為1時(shí)改變?yōu)閱温凤@示控制,00H位通過單路、循環(huán)按鍵控制。流程圖如圖3-1所示。 開始 顯示子程序 A/D轉(zhuǎn)換子程序 初始化

15、圖3-1主程序流程圖3.2 A/D轉(zhuǎn)換子程序A/D轉(zhuǎn)換子程序用于對(duì)ADC0808的3路輸入模擬電壓進(jìn)行A/D轉(zhuǎn)換,并將轉(zhuǎn)換的數(shù)值存入3個(gè)相應(yīng)的存儲(chǔ)單元中,A/D轉(zhuǎn)換子程序每隔一定時(shí)間調(diào)用一次,即隔一段時(shí)間對(duì)輸入電壓采樣一次,如圖3-2所示。進(jìn)行十六進(jìn)制調(diào)整 開始A/D轉(zhuǎn)換調(diào)用延時(shí)存轉(zhuǎn)換后的十六進(jìn)制數(shù)數(shù)據(jù)指針加一入棧保護(hù)4路轉(zhuǎn)換次數(shù)減一顯示電壓值NY圖3-2轉(zhuǎn)換子程序流程圖 判斷是否為03.3 中斷顯示程序設(shè)計(jì)中采用中斷的方式來(lái)讀取轉(zhuǎn)換完成的數(shù)據(jù)能節(jié)省CPU的資源當(dāng)系統(tǒng)設(shè)置好后,一旦數(shù)據(jù)轉(zhuǎn)換完成,便會(huì)進(jìn)入外部中斷0,然后在中斷中讀取轉(zhuǎn)換的數(shù)值,處理數(shù)據(jù)并送數(shù)碼管顯示輸出。 LED 數(shù)碼管采用軟件

16、譯碼動(dòng)態(tài)掃描的方式。在中斷程序中包含多路循環(huán)顯示程序和單路顯示程序,多路循環(huán)顯示程序把3個(gè)存儲(chǔ)單元的數(shù)值依次取出送到3個(gè)數(shù)碼管上顯示,每一路顯示一秒。單路顯示程序只對(duì)當(dāng)前選中的一路數(shù)據(jù)進(jìn)行顯示。每路數(shù)據(jù)顯示時(shí)需經(jīng)過轉(zhuǎn)換變成十進(jìn)制BCD碼,放于3個(gè)數(shù)碼管顯示緩沖區(qū)中。單路或多路循環(huán)顯示通過標(biāo)志位00H控制。在顯示控制程序中加入了對(duì)單路或多路循環(huán)按鍵的判斷。數(shù)字量送P1口取段碼地址P3.1=1?調(diào)用循環(huán)顯示程序調(diào)用單路顯示程序顯示的是第3路重新調(diào)用顯示程序NYNY圖3-3中斷顯示程序流程圖4總結(jié)本設(shè)計(jì)參考了教材上AT89C51與ADC0809轉(zhuǎn)換的接口連線,設(shè)計(jì)出電路圖的連線,從并中理解了許多基本

17、的知識(shí)和接線方法,在程序的設(shè)計(jì)與電壓表調(diào)試的過程中中遇到了很多的問題,剛開始時(shí)3個(gè)數(shù)碼管根本不顯示,后來(lái)發(fā)現(xiàn)用的是共陽(yáng)極的數(shù)碼管,而設(shè)計(jì)是共陰極的,更換后數(shù)碼管終于顯示,但問題又出現(xiàn)了,單路顯示和循環(huán)顯示的開關(guān)不能控制電路的單路顯示和循環(huán)顯示,經(jīng)過仔細(xì)地檢查電路和修改程序,采用中斷的方法,產(chǎn)生一次外部中斷0,程序轉(zhuǎn)移到單路顯示,按一次單路顯示開關(guān),地址加一,轉(zhuǎn)換的模擬通道相應(yīng)的加一,如果按下循環(huán)按鍵就返回循環(huán)顯示的程序,功夫不負(fù)有心人,最后終于調(diào)試成功。參考文獻(xiàn)1 蔣廷彪,劉電霆,高富強(qiáng),方華.單片機(jī)原理及應(yīng)用.出版社:重慶大學(xué)出版社.出版時(shí)間:2005年1月第2次印刷2 8051實(shí)驗(yàn)指導(dǎo)書電

18、子電氣綜合實(shí)訓(xùn)系統(tǒng).出版社:北京精儀達(dá)盛科技有限公司3 徐愛鈞.智能化測(cè)量控制儀表原理與設(shè)計(jì)(第二版)M.北京:北京航空航天大學(xué)出版社,20044 吳金戌,沈慶陽(yáng),郭庭吉.8051單片機(jī)實(shí)踐與應(yīng)用M.北京:清華大學(xué)出版社,20025 張國(guó)勛.縮短ICL7135A/D采樣程序時(shí)間的一種方法J.電子技術(shù)應(yīng)用.1993.第一期6 高峰.單片微型計(jì)算機(jī)與接口技術(shù)M.北京科學(xué)出版社,2003.7 劉偉,趙俊逸,黃勇.一種基予C8051F單片機(jī)的SOC型數(shù)據(jù)采錄器的設(shè)計(jì)與實(shí)現(xiàn)8新型AT89S52系列單片機(jī)及其應(yīng)用 孫育才 北京:清華大學(xué)出版社 2005-59MCS-51系列單片機(jī)系統(tǒng)及其應(yīng)用 蔡美琴 高等教育出版附錄1程序原理電路 附錄2源程序CLR164 EQU P1.3CLK EQU P1.2DINA EQU P1.1DINB EQU P1.0 EOC EQU P3.2NO1 EQU P1.7NO2 EQU P1.6NO3 EQU P1.5ORG 0000HSJMP MAINORG 0030HMAIN:MOV DPTR,#7FF8HMOVX DPTR,ASETB EOCJNB EOC,$MOVX A,DPTRMOV 30H,AL

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論