基于51單片機(jī)實(shí)現(xiàn)ADC0808數(shù)模轉(zhuǎn)換與顯示_第1頁(yè)
基于51單片機(jī)實(shí)現(xiàn)ADC0808數(shù)模轉(zhuǎn)換與顯示_第2頁(yè)
基于51單片機(jī)實(shí)現(xiàn)ADC0808數(shù)模轉(zhuǎn)換與顯示_第3頁(yè)
基于51單片機(jī)實(shí)現(xiàn)ADC0808數(shù)模轉(zhuǎn)換與顯示_第4頁(yè)
基于51單片機(jī)實(shí)現(xiàn)ADC0808數(shù)模轉(zhuǎn)換與顯示_第5頁(yè)
已閱讀5頁(yè),還剩16頁(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)介

ALE為地址鎖存允許輸入線,高電平有效。當(dāng)ALE線為高電平時(shí),地址鎖存與譯碼器將A,B,C三條地址線的地址信號(hào)進(jìn)行鎖存,經(jīng)譯碼后被選中的通道的模擬量進(jìn)轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。ST為轉(zhuǎn)換啟動(dòng)信號(hào)。當(dāng)ST上跳沿時(shí),所有內(nèi)部寄存器清零;下跳沿時(shí),開(kāi)始進(jìn)行A/D轉(zhuǎn)換;在轉(zhuǎn)換期間,ST應(yīng)保持低電平。EOC為轉(zhuǎn)換結(jié)束信號(hào)。當(dāng)EOC為高電平時(shí),表明轉(zhuǎn)換結(jié)束;否則,表明正在進(jìn)行A/D轉(zhuǎn)換。OE為輸出允許信號(hào),用于控制三條輸出鎖存器向單片機(jī)輸出轉(zhuǎn)換得到的數(shù)據(jù)。OE=1,輸出轉(zhuǎn)換得到的數(shù)據(jù);OE=0,輸出數(shù)據(jù)線呈高阻狀態(tài)。D7-D0為數(shù)字量輸出線。CLK為時(shí)鐘輸入信號(hào)線。因ADC0808的內(nèi)部沒(méi)有時(shí)鐘電路,所需時(shí)鐘信號(hào)必須由外界提供,通常使用頻率為500KHZ,本設(shè)計(jì)采用DCLOCK激勵(lì)源,頻率為12MHz。VREF(+),VREF(-)為參考電壓輸入。圖3-1-3ADC0808的接線圖圖3-1-4ADC0808的時(shí)鐘電路設(shè)置3.1.2AT89C51單片機(jī)的結(jié)構(gòu)原理與引腳功能AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。[1]圖3-1-5AT89C51的引腳圖主要特性:·與MCS-51兼容·4K字節(jié)可編程閃爍存儲(chǔ)器·壽命:1000寫(xiě)/擦循環(huán)·數(shù)據(jù)保留時(shí)間:10年·全靜態(tài)工作:0Hz-24MHz·三級(jí)程序存儲(chǔ)器鎖定·128×8位內(nèi)部RAM·32可編程I/O線·兩個(gè)16位定時(shí)器/計(jì)數(shù)器·5個(gè)中斷源·可編程串行通道·低功耗的閑置和掉電模式·片內(nèi)振蕩器和時(shí)鐘電路管腳說(shuō)明:VCC:供電電壓。GND:接地。P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流。當(dāng)P1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下列所示:P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2/INT0(外部中斷0)P3.3/INT1(外部中斷1)P3.4T0(記時(shí)器0外部輸入)P3.5T1(記時(shí)器1外部輸入)P3.6/WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)P3.7/RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。/PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。/EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來(lái)自反向振蕩器的輸出。圖3-1-6AT89C51的接線圖振蕩器特性:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度。芯片擦除:整個(gè)PEROM陣列和三個(gè)鎖定位的電擦除可通過(guò)正確的控制信號(hào)組合,并保持ALE管腳處于低電平10ms來(lái)完成。在芯片擦操作中,代碼陣列全被寫(xiě)“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM、定時(shí)器、計(jì)數(shù)器、串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能直到下一個(gè)硬件復(fù)位為止。3.2電路設(shè)計(jì)設(shè)計(jì)原理圖如圖所示圖3-2-1設(shè)計(jì)原理電路圖此電路的工作原理是:+5V模擬電壓信號(hào)通過(guò)變阻器RV1分壓后由ADC08008的IN0通道進(jìn)入(由于使用的IN0通道,所以ADDA,ADDB,ADDC均接低電平),經(jīng)過(guò)模/數(shù)轉(zhuǎn)換后,產(chǎn)生相應(yīng)的數(shù)字量經(jīng)過(guò)其輸出通道傳送給AT89C51芯片的P1口,AT89C51負(fù)責(zé)把接收到的數(shù)字量經(jīng)過(guò)數(shù)據(jù)處理,產(chǎn)生正確的7段數(shù)碼管的顯示段碼傳送給六位LED,同時(shí)它還通過(guò)其六位I/O口P0.0、P0.1、P0.2、P0.3、P0.4、P0.5產(chǎn)生位選信號(hào)控制數(shù)碼管的亮滅。此外,ADC0808的CLOCK用DCLOCK激勵(lì)源,當(dāng)激勵(lì)源發(fā)出正脈沖時(shí)啟動(dòng)A/D轉(zhuǎn)換,P3.5檢測(cè)A/D轉(zhuǎn)換是否完成,無(wú)論轉(zhuǎn)換成功,均從P1口讀取結(jié)果送給LED顯示出來(lái)。[2]硬件電路已經(jīng)設(shè)計(jì)完成,就可以選取相應(yīng)的芯片和元器件,利用Proteus軟件繪制出硬件的原理,并仔細(xì)地檢查修改,直至形成完善的硬件原理圖。3.3程序設(shè)計(jì)根據(jù)模塊的劃分原則,將該程序劃分初始化模塊,A/D轉(zhuǎn)換子程序和顯示子程序,這三個(gè)程序模塊構(gòu)成了整個(gè)系統(tǒng)軟件的主程序,如圖3-3-1所示。[3]A/D轉(zhuǎn)換子程序用來(lái)控制對(duì)輸入的模塊電壓信號(hào)的采集測(cè)量,并將對(duì)應(yīng)的數(shù)值存入相應(yīng)的內(nèi)存單元,其轉(zhuǎn)換流程圖如圖3-3-2所示。[3]開(kāi)始初始化開(kāi)始初始化調(diào)用A/D轉(zhuǎn)換子程序調(diào)用顯示子程序結(jié)束圖3-3-1主程序框圖圖3-3-2A/D轉(zhuǎn)換流程圖3.4仿真結(jié)果與分析1.當(dāng)IN0口輸入電壓值為0V時(shí),顯示結(jié)果如圖所示,測(cè)量誤差為0V。圖3-4-1輸入電壓為0V時(shí),LED的顯示結(jié)果2.當(dāng)IN0輸入電壓值為1.60V時(shí),顯示結(jié)果1.601V。測(cè)量誤差為0.001V。圖3-4-2輸入電壓為1.60V時(shí),LED的顯示結(jié)果3.當(dāng)IN0口輸入電壓值為3.70V時(shí),顯示結(jié)果3.691V。測(cè)量誤差為0.009V。圖3-4-3輸入電壓為3.70V時(shí),LED的顯示結(jié)果4.當(dāng)IN0口輸入電壓值為5.00V時(shí),顯示結(jié)果4.980V。測(cè)量誤差為0.02V。圖3-4-4輸入電壓為5.00V時(shí),LED的顯示結(jié)果通過(guò)以上仿真測(cè)量結(jié)果可得到電壓表數(shù)據(jù)與數(shù)碼管測(cè)量顯示數(shù)據(jù)以及相對(duì)誤差如下表3-4-1所示:表3-4-1電壓表值與數(shù)碼管顯示值的相對(duì)誤差表電壓表值/V數(shù)碼管測(cè)量值/V相對(duì)誤差/%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í)候,數(shù)碼管顯示的出的測(cè)量值相對(duì)誤差穩(wěn)定在0.40%;也就是說(shuō)總體相對(duì)誤差在基準(zhǔn)為0.40%上下振蕩,在相鄰兩個(gè)整數(shù)的中間值時(shí)最大(或最?。?。上表顯示2.5V時(shí)相對(duì)誤差最大(0.80%)。也就是說(shuō)當(dāng)電壓值為輸入電壓的一半時(shí),數(shù)據(jù)顯示相對(duì)誤差最大。四、本設(shè)計(jì)改進(jìn)建議由于相對(duì)誤差的振蕩不穩(wěn)定性可能給測(cè)量結(jié)果帶來(lái)較大的偏差。故而可以通過(guò)改進(jìn)電路連接,在AT89C51芯片上加上時(shí)鐘電路和復(fù)位電路代替ADC0808芯片的DCLOCK激勵(lì)源脈沖從而控制ADC0808的工作,也可以校正ADC0808的基準(zhǔn)電壓,減少測(cè)量誤差,提高測(cè)量準(zhǔn)確度。五、總結(jié)經(jīng)過(guò)一段時(shí)間的努力,課程設(shè)計(jì)——ADC0808數(shù)模轉(zhuǎn)換與顯示基本完成。但設(shè)計(jì)中的不足之處仍然存在。這次設(shè)計(jì)是我第一次用Proteus實(shí)現(xiàn)了仿真。在這過(guò)程中,我對(duì)電路設(shè)計(jì),單片機(jī)的使用等都有了新的認(rèn)識(shí)。通過(guò)這次設(shè)計(jì)學(xué)會(huì)了Proteus和Keil軟件的使用方法,掌握了從系統(tǒng)的需要、方案的設(shè)計(jì)、功能模塊的劃分、原理圖的設(shè)計(jì)和電路圖的仿真的設(shè)計(jì)流程,積累了不少經(jīng)驗(yàn)?;趩纹瑱C(jī)的數(shù)字電壓表使用性強(qiáng)、結(jié)構(gòu)簡(jiǎn)單、成本低、外接元件少。在實(shí)際應(yīng)用工作應(yīng)能好,測(cè)量電壓準(zhǔn)確,精度高。系統(tǒng)功能、指標(biāo)達(dá)到了課題的預(yù)期要求、系統(tǒng)在硬件設(shè)計(jì)上充分考慮了可擴(kuò)展性,經(jīng)過(guò)一定的改造,可以增加功能。本文設(shè)計(jì)主要實(shí)現(xiàn)了簡(jiǎn)易數(shù)字電壓表測(cè)量一路電壓的功能,詳細(xì)說(shuō)明了從原理圖的設(shè)計(jì)、電路圖的仿真再到軟件的調(diào)試。通過(guò)本次設(shè)計(jì),我對(duì)單片機(jī)這門(mén)課有了進(jìn)一步的了解。無(wú)論是在硬件連接方面還是在軟件編程方面。本次設(shè)計(jì)采用了AT89C51單片機(jī)芯片,與以往的單片機(jī)相比增加了許多新的功能,使其功能更為完善,應(yīng)用領(lǐng)域也更為廣泛。設(shè)計(jì)中還用到了模/數(shù)轉(zhuǎn)換芯片ADC0808,以前在學(xué)單片機(jī)時(shí)只是對(duì)其理論知識(shí)有了初步的理解。通過(guò)這次設(shè)計(jì),對(duì)它的工作原理有了更深的理解。在調(diào)試過(guò)程中遇到很多問(wèn)題,硬件上的理論知識(shí)學(xué)得不夠扎實(shí),對(duì)電路的仿真方面也不夠熟練??傊@次電路的設(shè)計(jì)和仿真,基本上達(dá)到了設(shè)計(jì)的功能要求。在以后的實(shí)踐中,我將繼續(xù)努力學(xué)習(xí)電路設(shè)計(jì)方面的理論知識(shí),并理論聯(lián)系實(shí)際,爭(zhēng)取在電路設(shè)計(jì)方面能有所提升。六、主要參考文獻(xiàn)[1]喻萍郭文川.單片機(jī)原理與接口技術(shù).化學(xué)工業(yè)出版社.2006[2]宋鳳娟孫軍李國(guó)忠.基于89C51單片機(jī)的數(shù)字電壓表設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī).2007[3]林生葛紅金京林譯數(shù)字設(shè)計(jì)原理與實(shí)踐機(jī)械工業(yè)出版社2011[4]馬明建數(shù)據(jù)采集與處理技術(shù)西安交通大學(xué)出版社2012附錄AT89C51單片機(jī)程序#include<REG51.H>#include<math.h>#include"timer.h"#define_nop{}Unsignedcharshuma[]={0xC0,0xF9,0xA4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x7f};sbitN1=P0^0;sbitN2=P0^1;sbitN3=P0^2;sbitN4=P0^3;sbitN5=P0^4;sbitN6=P0^5;sbitPoint=P2^7;intV=0;voidDelay_nms(unsignedcharn){unsignedchara;for(;n>0;n--){for(a=0;a<100;a++){_nop;_nop;_nop;_nop;}}}voiddisplay(intvolt){unsignedchardis[6];inti,a,j=0,cn=0; for(i=0;i<6;i++) { dis[i]=0; } a=volt; if(a==0) { dis[0]=0; cn=1; } else { j=0; while(a>0) { if(j>=6)break; dis

溫馨提示

  • 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)論