基于51單片機實現(xiàn)ADC0808數(shù)模轉(zhuǎn)換與顯示(共20頁)_第1頁
基于51單片機實現(xiàn)ADC0808數(shù)模轉(zhuǎn)換與顯示(共20頁)_第2頁
基于51單片機實現(xiàn)ADC0808數(shù)模轉(zhuǎn)換與顯示(共20頁)_第3頁
基于51單片機實現(xiàn)ADC0808數(shù)模轉(zhuǎn)換與顯示(共20頁)_第4頁
基于51單片機實現(xiàn)ADC0808數(shù)模轉(zhuǎn)換與顯示(共20頁)_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 電 子 科 技 大 學(xué)UNIVERSITY OF ELECTRONIC SCIENCE AND TECHNOLOGY OF CHINA綜合(zngh)課程設(shè)計題 目 基于(jy)51單片機實現(xiàn)ADC0808數(shù)模轉(zhuǎn)換與顯示 學(xué)生(xu sheng)姓名 學(xué) 號 專 業(yè) 學(xué) 院 行政班號 2014年6 月 15 日 摘 要摘要(zhiyo)通過上學(xué)期對數(shù)據(jù)采集的學(xué)習(xí),讓我對A/D轉(zhuǎn)化器有了一定的了解.A/D轉(zhuǎn)換器是把采集到的采樣模擬信號量化和編碼后,轉(zhuǎn)換成數(shù)字信號并輸出的一種器件.而現(xiàn)在A/D轉(zhuǎn)換電路已集成在一塊芯片上.本課程設(shè)計采用芯片是ADC0808.ADC0808是帶有8位A/D轉(zhuǎn)換器、8

2、路多路開關(guān)以及微處理機兼容的控制(kngzh)邏輯的CMOS組件。它是逐次逼近式A/D轉(zhuǎn)換器,可以和單片機直接接口。 本課程(kchng)設(shè)計以AT89C51單片機為核心,實現(xiàn)ADC0808的數(shù)模轉(zhuǎn)換與顯示,然后把轉(zhuǎn)換后的結(jié)果顯示在數(shù)碼管上。關(guān)鍵字:數(shù)據(jù)采集,A/D轉(zhuǎn)化器,ADC0808,逐次逼近式,單片機目 錄目 錄 TOC o 1-3 h z u HYPERLINK l _Toc17195 一、設(shè)計(shj)目的 一、設(shè)計(shj)目的本課程設(shè)計的目的就是要鍛煉學(xué)生的實際動手能力。在理論學(xué)習(xí)的基礎(chǔ)上,通過完成一個具有綜合(zngh)功能的小系統(tǒng),使學(xué)生將課堂上學(xué)到的理論知識與實際應(yīng)用結(jié)合起

3、來,對電子電路、電子元器件等方面的知識進(jìn)一步加深認(rèn)識,同時在軟件編程、調(diào)試、相關(guān)儀器設(shè)備的使用技能等方面得到較全面的鍛煉和提高,為今后能夠獨立設(shè)計單片機應(yīng)用系統(tǒng)的開發(fā)設(shè)計工作打下一定的基礎(chǔ)。二、設(shè)計(shj)要求和設(shè)計指標(biāo)以AT89C51單片機為核心,實現(xiàn)ADC0808的數(shù)模轉(zhuǎn)換與顯示。轉(zhuǎn)換后的結(jié)果顯示在數(shù)碼管上。三、設(shè)計內(nèi)容3.1 芯片簡介3.1.1 A/D轉(zhuǎn)換模塊ADC0808是帶有8位A/D轉(zhuǎn)換器、8路多路開關(guān)以及微處理機兼容的控制邏輯的CMOS組件。它是逐次逼近式A/D轉(zhuǎn)換器,可以和單片機直接接口。1(1)ADC0808的內(nèi)部邏輯結(jié)構(gòu)由下圖3-1-1可知,ADC0808由一個8路模擬開

4、關(guān)、一個地址鎖存與譯碼器、一個A/D轉(zhuǎn)換器和一個三態(tài)輸出鎖存器組成。多路開關(guān)可選通8個模擬通道,允許8路模擬量分時輸入,共用A/D轉(zhuǎn)換器轉(zhuǎn)換。三態(tài)輸出鎖器用于鎖存A/D轉(zhuǎn)換完的數(shù)字量,當(dāng)OE端高電平時,才可從三態(tài)輸出鎖存器取走轉(zhuǎn)換完的數(shù)據(jù)。圖3-1-1 ADC0808的內(nèi)部(nib)邏輯結(jié)構(gòu)(2)ADC0808引腳結(jié)構(gòu)(jigu)ADC0808各腳功能如下(rxi):D7-D0:8位數(shù)字量輸出引腳。IN0-IN7:8位模擬量輸入引腳。VCC:+5V工作電壓。GND:地。REF(+):參考電壓正端。REF(-):參考電壓負(fù)端。START:A/D轉(zhuǎn)換啟動信號輸入端。ALE:地址鎖存允許信號輸入端。

5、(以上兩種信號用于啟動A/D轉(zhuǎn)換) HYPERLINK /dz/analog/0/analog-372-1.html t _blank .EOC:轉(zhuǎn)換結(jié)束信號輸出引腳,開始轉(zhuǎn)換時為低電平,當(dāng)轉(zhuǎn)換結(jié)束時為高電平。OE:輸出允許控制端,用以打開三態(tài)數(shù)據(jù)輸出鎖存器。CLK:時鐘信號輸入端(一般為500KHz)。本設(shè)計采用DCLOCK激勵源,頻率為12MHz。A、B、C:地址輸入線。 圖3-1-2 ADC0808引腳圖ADC0808對輸入模擬量要求:信號單極性,電壓范圍是05V,若信號太小,必須進(jìn)行放大;輸入的模擬量在轉(zhuǎn)換過程中應(yīng)該保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路。地址(dz

6、h)輸入和控制線:4條ALE為地址鎖存允許輸入(shr)線,高電平有效。當(dāng)ALE線為高電平時,地址鎖存與譯碼器將A,B,C三條地址線的地址信號進(jìn)行鎖存,經(jīng)譯碼后被選中的通道的模擬量進(jìn)轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。ST為轉(zhuǎn)換啟動信號。當(dāng)ST上跳沿時,所有內(nèi)部寄存器清零;下跳沿時,開始進(jìn)行A/D轉(zhuǎn)換;在轉(zhuǎn)換期間,ST應(yīng)保持低電平。EOC為轉(zhuǎn)換結(jié)束信號。當(dāng)EOC為高電平時,表明轉(zhuǎn)換結(jié)束;否則,表明正在進(jìn)行A/D轉(zhuǎn)換。OE為輸出允許信號,用于控制三條輸出鎖存器向單片機輸出轉(zhuǎn)換得到的數(shù)據(jù)。OE1,輸出轉(zhuǎn)換得到的數(shù)據(jù);OE0,輸出數(shù)據(jù)線呈高阻狀態(tài)(zhungti)。D7D0為數(shù)字量輸出線。CLK為時鐘輸入信號線。因AD

7、C0808的內(nèi)部沒有時鐘電路,所需時鐘信號必須由外界提供,通常使用頻率為500KHZ,本設(shè)計采用DCLOCK激勵源,頻率為12MHz。VREF(),VREF()為參考電壓輸入。 圖3-1-3 ADC0808的接線圖 圖3-1-4 ADC0808的時鐘電路設(shè)置 3.1.2 AT89C51單片機的結(jié)構(gòu)原理與引腳功能AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,高性能CMOS8位微處理器,俗稱單片機。單片機的可擦除只讀存儲器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。AT89C單片機為很多嵌入式控制系統(tǒng)

8、提供了一種靈活性高且價廉的方案。1圖3-1-5 AT89C51的引腳圖主要(zhyo)特性: 與MCS-51 兼容(jin rn) 4K字節(jié)(z ji)可編程閃爍存儲器 壽命:1000寫/擦循環(huán) 數(shù)據(jù)保留時間:10年 全靜態(tài)工作:0Hz-24MHz 三級程序存儲器鎖定 1288位內(nèi)部RAM 32可編程I/O線 兩個16位定時器/計數(shù)器 5個中斷源 可編程串行通道 低功耗的閑置和掉電模式 片內(nèi)振蕩器和時鐘電路 管腳說明: VCC:供電(n din)電壓。 GND:接地(jid)。 P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入

9、。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以(ky)被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗時,P0輸出原碼,此時P0外部必須被拉高。 P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并

10、因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。 P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。 P3口也可作為AT89C51的一些特殊功能

11、口,如下列所示: P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 /INT0(外部中斷0) P3.3 /INT1(外部中斷1) P3.4 T0(記時器0外部輸入) P3.5 T1(記時器1外部輸入) P3.6 /WR(外部數(shù)據(jù)存儲器寫選通) P3.7 /RD(外部(wib)數(shù)據(jù)存儲器讀選通) P3口同時為閃爍編程和編程校驗(xio yn)接收一些控制信號。 RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機器周期(zhuq)的高電平時間。ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程

12、脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。 /PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。 /EA/VPP:當(dāng)/EA保持低電平時,則在此期間外部程序存儲器

13、(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。 圖3-1-6 AT89C51的接線圖振蕩器特性:XTAL1和XTAL2分別為反向放大器的輸入和輸出(shch)。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何

14、要求,但必須保證脈沖的高低電平要求的寬度。 芯片擦除:整個PEROM陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ALE管腳處于低電平10ms 來完成(wn chng)。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以(ky)在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM、定時器、計數(shù)器、串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能直到下一個硬件復(fù)位為止。3.2電路設(shè)計設(shè)計原理圖如圖所示圖3-2-1 設(shè)計(sh

15、j)原理電路圖此電路的工作原理是:+5V模擬電壓信號通過變阻器RV1分壓后由ADC08008的IN0通道進(jìn)入(由于使用的IN0通道,所以ADDA,ADDB,ADDC均接低電平),經(jīng)過(jnggu)模/數(shù)轉(zhuǎn)換后,產(chǎn)生相應(yīng)的數(shù)字量經(jīng)過其輸出通道傳送給AT89C51芯片的P1口,AT89C51負(fù)責(zé)把接收到的數(shù)字量經(jīng)過數(shù)據(jù)處理,產(chǎn)生正確的7段數(shù)碼管的顯示段碼傳送給六位LED,同時它還通過其六位I/O口P0.0、P0.1、P0.2、P0.3、P0.4、P0.5產(chǎn)生位選信號控制數(shù)碼管的亮滅。此外,ADC0808的CLOCK用DCLOCK激勵源,當(dāng)激勵源發(fā)出正脈沖時啟動A/D轉(zhuǎn)換,P3.5檢測A/D轉(zhuǎn)換是否

16、完成,無論轉(zhuǎn)換成功,均從P1口讀取結(jié)果送給LED顯示出來。2硬件電路已經(jīng)設(shè)計完成,就可以選取相應(yīng)的芯片和元器件,利用Proteus軟件繪制出硬件的原理,并仔細(xì)地檢查(jinch)修改,直至形成完善的硬件原理圖。3.3程序設(shè)計根據(jù)模塊的劃分原則,將該程序劃分初始化模塊,A/D轉(zhuǎn)換子程序和顯示子程序,這三個程序模塊構(gòu)成了整個系統(tǒng)軟件的主程序,如圖3-3-1所示。3A/D轉(zhuǎn)換子程序用來(yn li)控制對輸入的模塊電壓信號的采集測量,并將對應(yīng)的數(shù)值存入相應(yīng)的內(nèi)存單元,其轉(zhuǎn)換流程圖如圖3-3-2所示。3開始初始化調(diào)用A/D轉(zhuǎn)換子程序調(diào)用顯示子程序結(jié)束圖3-3-1 主程序框圖 圖3-3-2 A/D轉(zhuǎn)換(

17、zhunhun)流程圖3.4仿真(fn zhn)結(jié)果與分析1.當(dāng)IN0口輸入電壓值為0V時,顯示結(jié)果如圖所示,測量誤差為0V。圖3-4-1 輸入(shr)電壓為0V時,LED的顯示結(jié)果2.當(dāng)IN0輸入(shr)電壓值為1.60V時,顯示結(jié)果1.601V。測量誤差為0.001V。圖3-4-2 輸入(shr)電壓為1.60V時,LED的顯示結(jié)果3.當(dāng)IN0口輸入電壓值為3.70V時,顯示結(jié)果3.691V。測量誤差為0.009V。圖3-4-3 輸入電壓為3.70V時,LED的顯示結(jié)果4.當(dāng)IN0口輸入電壓值為5.00V時,顯示結(jié)果4.980V。測量誤差為0.02V。圖3-4-4 輸入電壓為5.00V

18、時,LED的顯示結(jié)果通過以上仿真測量結(jié)果可得到(d do)電壓表數(shù)據(jù)與數(shù)碼管測量顯示數(shù)據(jù)以及相對誤差如下表3-4-1所示:表3-4-1 電壓表值與數(shù)碼管顯示(xinsh)值的相對誤差表電壓表值/V數(shù)碼管測量值/V相對誤差/%0.000.000.000.500.507-1.391.000.9960.401.501.503-0.192.001.9920.402.502.4800.803.002.9880.403.503.4760.684.003.9840.405.004.9800.40從上表顯示結(jié)果分析,當(dāng)電壓表顯示數(shù)值為整數(shù)(不包括0)的時候(sh hou),數(shù)碼管顯示的出的測量值相對誤差穩(wěn)定在

19、0.40%;也就是說總體相對誤差在基準(zhǔn)為0.40%上下振蕩,在相鄰兩個整數(shù)的中間值時最大(或最?。?。上表顯示2.5V時相對誤差最大(0.80%)。也就是說當(dāng)電壓值為輸入電壓的一半時,數(shù)據(jù)顯示相對誤差最大。四、本設(shè)計改進(jìn)建議由于相對誤差的振蕩不穩(wěn)定性可能給測量結(jié)果帶來較大的偏差。故而可以通過改進(jìn)電路連接,在AT89C51芯片上加上時鐘電路和復(fù)位電路代替ADC0808芯片的DCLOCK激勵源脈沖從而控制ADC0808的工作,也可以校正ADC0808的基準(zhǔn)電壓,減少測量誤差,提高測量準(zhǔn)確度。五、總結(jié) 經(jīng)過一段時間的努力,課程設(shè)計ADC0808數(shù)模轉(zhuǎn)換與顯示基本完成。但設(shè)計中的不足之處仍然存在。這次設(shè)

20、計是我第一次用Proteus實現(xiàn)了仿真。在這過程中,我對電路設(shè)計,單片機的使用等都有了新的認(rèn)識。通過這次設(shè)計學(xué)會了Proteus和Keil軟件的使用方法,掌握了從系統(tǒng)的需要、方案的設(shè)計、功能模塊的劃分、原理圖的設(shè)計和電路圖的仿真的設(shè)計流程,積累了不少經(jīng)驗?;趩纹瑱C的數(shù)字電壓表使用性強、結(jié)構(gòu)簡單、成本低、外接元件少。在實際應(yīng)用工作應(yīng)能好,測量電壓準(zhǔn)確,精度高。系統(tǒng)功能、指標(biāo)達(dá)到了課題的預(yù)期要求、系統(tǒng)在硬件設(shè)計上充分考慮了可擴展性,經(jīng)過一定的改造,可以增加功能。本文設(shè)計主要實現(xiàn)了簡易數(shù)字電壓表測量一路電壓的功能,詳細(xì)說明了從原理圖的設(shè)計、電路圖的仿真再到軟件的調(diào)試。通過本次設(shè)計(shj),我對單

21、片機這門課有了進(jìn)一步的了解。無論是在硬件連接方面還是在軟件編程方面。本次設(shè)計采用了AT89C51單片機芯片,與以往的單片機相比增加了許多新的功能,使其功能更為完善,應(yīng)用領(lǐng)域也更為廣泛。設(shè)計中還用到了模/數(shù)轉(zhuǎn)換芯片ADC0808,以前(yqin)在學(xué)單片機時只是對其理論知識有了初步的理解(lji)。通過這次設(shè)計,對它的工作原理有了更深的理解。在調(diào)試過程中遇到很多問題,硬件上的理論知識學(xué)得不夠扎實,對電路的仿真方面也不夠熟練??傊@次電路的設(shè)計和仿真,基本上達(dá)到了設(shè)計的功能要求。在以后的實踐中,我將繼續(xù)努力學(xué)習(xí)電路設(shè)計方面的理論知識,并理論聯(lián)系實際,爭取在電路設(shè)計方面能有所提升。六、主要參考文獻(xiàn)1喻萍 郭文川. 單片機原理與接口技術(shù). 化學(xué)工業(yè)出版社. 20062宋鳳娟 孫軍 李國忠. 基于89C51單片機的數(shù)字電壓表設(shè)計J. 工業(yè)控制計算機. 20073林生 葛紅 金京林 譯 數(shù)字設(shè)計原理與實踐 機械工業(yè)出版社 20114馬明建 數(shù)據(jù)采集與處理技術(shù) 西安交通大學(xué)出版社 2012附錄AT89C51單片機程序#include #include #include timer.h#define _nop Unsigned char shuma=0 xC0,0

溫馨提示

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

評論

0/150

提交評論