單片機(jī)課程設(shè)計(jì)電壓表_第1頁
單片機(jī)課程設(shè)計(jì)電壓表_第2頁
單片機(jī)課程設(shè)計(jì)電壓表_第3頁
單片機(jī)課程設(shè)計(jì)電壓表_第4頁
單片機(jī)課程設(shè)計(jì)電壓表_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、數(shù) 字 電 壓 表單片機(jī)課程設(shè)計(jì)報(bào)告班 級(jí): 姓 名: 學(xué) 號(hào): 指導(dǎo)教師: 2011 年 3 月 29 日數(shù)字電壓表電路設(shè)計(jì)報(bào)告一、題目及設(shè)計(jì)要求采用51系列單片機(jī)和ADC設(shè)計(jì)一個(gè)數(shù)字電壓表,輸入為05V線性模擬信號(hào),輸出通過LED顯示,要求顯示兩位小數(shù)。二、主要技術(shù)指標(biāo)1、數(shù)字芯片A/D轉(zhuǎn)換技術(shù)2、單片機(jī)控制的數(shù)碼管顯示技術(shù)3、單片機(jī)的數(shù)據(jù)處理技術(shù)三、方案論證及選擇主要設(shè)計(jì)方框圖如下:數(shù)碼管顯示單片機(jī)處理模數(shù)轉(zhuǎn)換電壓采集 1、主控芯片方案1:選用專用轉(zhuǎn)化芯片INC7107實(shí)現(xiàn)電壓的測量和實(shí)現(xiàn),用四位數(shù)碼管顯示出最后的轉(zhuǎn)換電壓結(jié)果。缺點(diǎn)是京都比較低,內(nèi)部電壓轉(zhuǎn)換和控制部分不可控制。優(yōu)點(diǎn)是價(jià)格

2、低廉。方案2:選用單片機(jī)AT89C51和A/D轉(zhuǎn)換芯片ADC0809實(shí)現(xiàn)電壓的轉(zhuǎn)換和控制,用四位數(shù)碼管顯示出最后的轉(zhuǎn)換電壓結(jié)果。缺點(diǎn)是價(jià)格稍貴;優(yōu)點(diǎn)是轉(zhuǎn)換京都高,且轉(zhuǎn)換的過程和控制、顯示部分可以控制。 基于課程設(shè)計(jì)的要求和實(shí)驗(yàn)室能提供的芯片,我選用了:方案2。2、顯示部分方案1:選用4個(gè)單體的共陰極數(shù)碼管。優(yōu)點(diǎn)是價(jià)格比較便宜;缺點(diǎn)是焊接時(shí)比較麻煩,容易出錯(cuò)。方案2:選用一個(gè)四聯(lián)的共陰極數(shù)碼管,外加四個(gè)三極管驅(qū)動(dòng)。這個(gè)電路幾乎沒有缺點(diǎn);優(yōu)點(diǎn)是便于控制,價(jià)格低廉,焊接簡單。基于課程設(shè)計(jì)的要求和實(shí)驗(yàn)室所能提供的儀器,我選用了:方案2。四、電路設(shè)計(jì)原理模擬電壓經(jīng)過檔位切換到不同的分壓電路篩減后,經(jīng)隔離

3、干擾送到A/D轉(zhuǎn)換器進(jìn)行A/D轉(zhuǎn)換。然后送到單片機(jī)中進(jìn)行數(shù)據(jù)處理。處理后的數(shù)據(jù)送到LED中顯示。同時(shí)通過串行通訊與上位通信。硬件電路及軟件程序。而硬件電路又大體可分為A/D轉(zhuǎn)換電路、LED顯示電路,各部分電路的設(shè)計(jì)及原理將會(huì)在硬件電路設(shè)計(jì)部分詳細(xì)介紹;程序的設(shè)計(jì)使用匯編語言編程,利用Keil和PROTEUS 軟件對(duì)其編譯和仿真。一般I/O接口芯片的驅(qū)動(dòng)能力是很有限的,在LED顯示器接口電路中,輸出口所能提供的驅(qū)動(dòng)電流一般是不夠的尤其是設(shè)計(jì)中需要用到多位LED,此時(shí)就需要增加LED驅(qū)動(dòng)電路。驅(qū)動(dòng)電路有多種,常用的是TTL或MOS集成電路驅(qū)動(dòng)器,在本設(shè)計(jì)中采用了74LS244驅(qū)動(dòng)電路。 本實(shí)驗(yàn)采用

4、AT89C51單片機(jī)芯片配合ADC0808模/數(shù)轉(zhuǎn)換芯片構(gòu)成一個(gè)簡易的數(shù)字電壓表,原理電路如圖1所示。該電路通過ADC0808芯片采樣輸入口IN0輸入的05 V的模擬量電壓,經(jīng)過模/數(shù)轉(zhuǎn)換后,產(chǎn)生相應(yīng)的數(shù)字量經(jīng)過其輸出通道D0D7傳送給AT89C51芯片的P0口。AT89C51負(fù)責(zé)把接收到的數(shù)字量經(jīng)過數(shù)據(jù)處理,產(chǎn)生正確的7段數(shù)碼管的顯示段碼,并通過其P1口傳送給數(shù)碼管。同時(shí)它還通過其三位I/O口P1.0、P1.1、P1.2、P1.3產(chǎn)生位選信號(hào),控制數(shù)碼管的亮滅。另外,AT89C51還控制著ADC0808的工作。其ALE管腳為ADC0808提供了1MHz工作的時(shí)鐘脈沖;P2.4控制ADC080

5、8的地址鎖存端(ALE);P2.1控制ADC0808的啟動(dòng)端(START);P2.3控制ADC0808的輸出允許端(OE);P2.0控制ADC0808的轉(zhuǎn)換結(jié)束信號(hào)(EOC)。數(shù)據(jù)處理及控制模塊AT89C51P0P2顯示模塊4位一體LED數(shù)碼管數(shù)據(jù)采集模塊ADC0808控制信號(hào)輸出顯示AnalogDigitalLED位控制信號(hào)P2P31、模數(shù)轉(zhuǎn)換電路原理圖如下所示,三個(gè)地址位ADDA,ADDB,ADDC均接高電平+5V電壓,因而所需測量的外部電壓可由ADC0808的IN7端口輸入。由于ADC0808在進(jìn)行A/D轉(zhuǎn)換時(shí)需要有CLK信,本設(shè)計(jì)中利用AT89C51的定時(shí)中斷產(chǎn)生一個(gè)100KHZ的脈沖

6、,由P1.4口送給ADC0808的時(shí)鐘端,通過軟件給其輸入一個(gè)正脈沖,可立即啟動(dòng)A/D轉(zhuǎn)換。在軟件設(shè)計(jì)中,由于我們對(duì)單片機(jī)知識(shí)還沒能很熟練的掌握,用中斷方式較復(fù)雜,且這個(gè)程序CPU工作量不大,查詢方式對(duì)速度不會(huì)產(chǎn)生影響,所以我們采用查詢方式,確保仿真的進(jìn)度和準(zhǔn)確度。系統(tǒng)原理圖51系列單片機(jī)數(shù)據(jù)顯示A/D電壓放大電壓輸入在A/D轉(zhuǎn)換開始之前,逐次逼近寄存器的SAR的內(nèi)容為0,在A/D轉(zhuǎn)換過程中,SAR存放“試探”數(shù)字量,在轉(zhuǎn)換完畢后,它的內(nèi)容即為A/D轉(zhuǎn)換的結(jié)果數(shù)字量。邏輯控制與定時(shí)電路在START正脈沖啟動(dòng)后工作,沒來一個(gè)CLK脈沖,該電路就可能告知向SAR中傳送一次試探值,對(duì)應(yīng)輸出U0與U1

7、比較,確定一次逼近值,經(jīng)過8次逼近,即可獲得最后轉(zhuǎn)換的結(jié)果數(shù)字量。此處,EOC端口的信號(hào)顯示ADC0808的狀態(tài),開始A/D轉(zhuǎn)換時(shí),EOC為低電平,轉(zhuǎn)換結(jié)束后,輸出高電平。2、 數(shù)據(jù)處理及控制A/D轉(zhuǎn)換完畢后,單片機(jī)的P1.6口接收到一高電平,立馬通過P2將OE置1,ADC0808的三態(tài)輸出鎖存器被打開,轉(zhuǎn)換完的數(shù)字信號(hào)經(jīng)過與D0D7相連的P0口進(jìn)入AT89C51。AT89C51根據(jù)公式1-1將數(shù)字信號(hào)轉(zhuǎn)換為模擬量,然后利用程序獲取模擬量的每一位,分別通過P2口輸出到LED上。與此同時(shí),AT89C51會(huì)通過P2.0P2.3口選擇用哪一段LED顯示所傳出的數(shù)據(jù)。例如,當(dāng)P2.0P2.3=1110

8、,則LED接收到的數(shù)據(jù)會(huì)在第四段LED上顯示。 另外,AT89C51一旦獲得了數(shù)據(jù)后便會(huì)將ST置0,即模數(shù)轉(zhuǎn)換器停止轉(zhuǎn)換,知道LED獲得新的數(shù)據(jù)并顯示出來,ST才會(huì)重新置1.由于AT89C51轉(zhuǎn)換速率很快(微妙量級(jí)),所以不會(huì)影響其接收新的數(shù)據(jù)。 四、主要元器件的介紹 1、AT89C51單片機(jī)簡介AT89C51是51系列單片機(jī)的一個(gè)型號(hào),它是ATMEL公司生產(chǎn)的。AT89C52是一個(gè)低電壓、高性能CMOS 8為單片機(jī)。將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,可反復(fù)擦寫的Flash存儲(chǔ)器可有效地降低開發(fā)成本。AT89C51有PDIP、PQFP/TQFP及PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)

9、品的需求。主要功能特性:1、 低功耗空閑和掉電模式,軟件設(shè)置睡眠和喚醒功能。2、 兼容MCS51指令系統(tǒng),8K可反復(fù)擦寫(>1000次)Flash ROM。3、 3個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷,時(shí)鐘頻率0-24MHz。4、 32個(gè)雙向I/O口,256B內(nèi)部RAM。5、 2個(gè)串行中斷,可編程UART串行通道。6、 2個(gè)外部中斷源,共6個(gè)中斷源。7、 2個(gè)讀寫中斷口線,3級(jí)加密位。2、ADC0808模數(shù)轉(zhuǎn)換芯片簡介 ADC0808是采樣分辨率為8位的、以逐次逼近原理進(jìn)行模/數(shù)轉(zhuǎn)換的器件。其內(nèi)部有一個(gè)8通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號(hào),只選通8路模擬輸入信號(hào)中的一個(gè)進(jìn)行A/D轉(zhuǎn)

10、換。ADC0808是ADC0809的簡化版本,功能基本相同。一般在硬件仿真時(shí)采用ADC0808進(jìn)行A/D轉(zhuǎn)換,實(shí)際使用時(shí)采用ADC0809進(jìn)行A/D轉(zhuǎn)換。引腳功能(外部特性)ADC0808芯片有28條引腳,采用雙列直插式封裝,如右圖所示。各引腳功能如下: 15和2628(IN0IN7):8路模擬量輸入端。 8、14、15和1721:8位數(shù)字量輸出端。 22(ALE):地址鎖存允許信號(hào),輸入,高電平有效。 6(START): AD轉(zhuǎn)換啟動(dòng)脈沖輸入端,輸入一個(gè)正脈沖(至少100ns寬)使其啟動(dòng)(脈沖上升沿使0809復(fù)位,下降沿啟動(dòng)A/D轉(zhuǎn)換)。 7(EOC): AD轉(zhuǎn)換結(jié)束信號(hào),輸出,當(dāng)AD轉(zhuǎn)換結(jié)

11、束時(shí),此端輸出一個(gè)高電平(轉(zhuǎn)換期間一直為低電平)。 9(OE):數(shù)據(jù)輸出允許信號(hào),輸入,高電平有效。當(dāng)AD轉(zhuǎn)換結(jié)束時(shí),此端輸入一個(gè)高電平,才能打開輸出三態(tài)門,輸出數(shù)字量。 10(CLK):時(shí)鐘脈沖輸入端。要求時(shí)鐘頻率不高于640KHZ。 12(VREF(+)和16(VREF(-):參考電壓輸入端 11(Vcc):主電源輸入端。 13(GND):地。 2325(ADDA、ADDB、ADDC):3位地址輸入線,用于選通8路模擬輸入中的一路。3、四位共陰極數(shù)碼管簡介 數(shù)碼管有兩種:一種共陰極、另一種為共陽極,本次課程設(shè)計(jì)用的是共陰極。下面比較詳細(xì)說明共陰極與共陽極的共同點(diǎn)與區(qū)別:圖(b)的左邊為共陰

12、極數(shù)碼管,也就是數(shù)碼管的陰極管接地。那時(shí)某段亮,這段就必須接高電平。共陰極數(shù)碼管09的C51編碼為:1、 uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x7f,0x6f;2、 uchar code table=0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef;其中1不帶小數(shù)點(diǎn),2帶小數(shù)點(diǎn)。共陽極就是數(shù)碼管的每段都接高電平,這樣要是哪段亮就這段就得接地。四、部分電路介紹1、晶振電路接12MHz晶振,根據(jù)芯片手冊(cè),適合并聯(lián)30pf微調(diào)電容,從而構(gòu)成并聯(lián)諧振,幫助和穩(wěn)定輸出波形。2、復(fù)位電路

13、AT89C51單片機(jī)要求至少兩個(gè)高電平,以便單片機(jī)做好準(zhǔn)備工作。當(dāng)上電時(shí),由于電容的電壓不能突變,會(huì)輸出高電平,當(dāng)電容充電到一定程度,就會(huì)輸出低電平,單片機(jī)利用輸出高電平的這段時(shí)間復(fù)位。電阻和電容的值選擇要合適。在這要求R1<<R2,所以選取R1=1,R2=10。3、 模擬輸入電路通過可變電阻一端接電源+5v,一端接地GND,通過改變電阻的阻值,從而改變所測電壓值,實(shí)現(xiàn)電壓的模擬信號(hào)輸入。4、 ADC0808芯片與單片機(jī)接口電路ADC0808的輸出接到P1口,OUT1對(duì)應(yīng)的是最高位,START與ALE可以接在一起。在這里,START接P3.0,OE接P3.1,EOC接P3.2,Cl

14、OCK接P3.4。5、顯示電路通過P0口控制四位共陰極數(shù)碼管段選,通過P2口的低四位控制位選。值得注意的是P0需要接上拉電阻,否則P0會(huì)處于高阻態(tài)。總電路如下:設(shè)計(jì)原理:將模擬量通過IN0輸入,經(jīng)過ADC0808芯片轉(zhuǎn)換,得到數(shù)字量輸出到單片機(jī)P0口,經(jīng)過單片機(jī)處理后,送到四位共陰極數(shù)碼管上顯示。仿真結(jié)果如下:根據(jù)上述分析及原理,可設(shè)計(jì)程序流程圖如下:設(shè)計(jì)程序如下:#include<absacc.h>#include<reg51.h>#define uchar unsigned char#define uchar unsigned char#define uint un

15、signed intsbit START=P30;sbit OE=P31;sbit EOC=P32;sbit P07=P07;sbit CLK=P34;uchar data led4;uint data tvdata; uchar code tv=0xfe,0xfd,0xfb,0xf7;uchar code a=0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07,0x7f,0x6f; void delay(void) /延時(shí)程序 uint i; for(i=0;i<10;i+);void ledxianshi(void) /顯示模塊 uchar k,i; i

16、f(tvdata>5000) tvdata=5000; led0=tvdata%10; led1=tvdata/10%10; led2=tvdata/100%10; led3=tvdata/1000; for(k=0;k<4;k+) P2=tvk; i=ledk; P0=ai; if(k=3) P07 =1; delay(); void main(void) ET0=1; EA=1; TMOD=0x02; TH0=216; TL0=216; TR0=1; while(1) START=1; START=0; /啟動(dòng)轉(zhuǎn)換 while(EOC=0); OE=1; tvdata=P1;

17、tvdata*=20-0.01; OE=0; ledxianshi(); delay(); void t0(void) interrupt 1 using 0CLK=CLK;六、硬件制作與測試1、主要儀器及使用方法主要儀器:5v直流電源,剝線鉗,數(shù)字萬用表,通用版電路板,電烙鐵,鑷子,USB轉(zhuǎn)串口線。其中5v電源可以從電腦的USB接口引出,使用電烙鐵時(shí)注意不要手直接觸摸。調(diào)試電路的方法和技巧:(1)目測 檢查外部的各種元件或者是電路是否有斷點(diǎn),有無虛焊(2)用萬用表測試 先用萬用表符合目測中有疑問的點(diǎn),再檢查各種電源線 與地線之間是否有短路現(xiàn)象(3)加電檢測 給板子加電,檢測所有的插座或是器件

18、的電源端的電壓 是否符合要求的值(4) 注意事項(xiàng) 在通電檢查前,一定要確保電路板沒有短路2、硬件制作步驟(1)將單片機(jī)的最小系統(tǒng)焊接出來,進(jìn)行調(diào)試,檢驗(yàn)是否能下載程序、進(jìn)行電路復(fù)位、晶振是否起振。(2)擴(kuò)展部分的焊接,在這我采用了ADC0809作為擴(kuò)展芯片,原因是ADC0808和ADC0809的功能、引腳幾乎都相同,用74ls244驅(qū)動(dòng)數(shù)碼管顯示。(3)焊接完后對(duì)電路進(jìn)行調(diào)試,檢查結(jié)果是否正確。焊接的電路圖如下:七、設(shè)計(jì)過程中的問題及解決方案(1)單片機(jī)的最小系統(tǒng)完成后,接上發(fā)現(xiàn)顯示燈不亮。 檢查發(fā)光二極管是否接地或接電源,若都接了則檢查晶振是否起振,電路是否短路或斷路,結(jié)果發(fā)現(xiàn)忘記將發(fā)光二極管接地。(2)通電后發(fā)現(xiàn)數(shù)碼管顯示亮度不均勻 檢查與數(shù)碼連接電路是否有誤、短路或短路,若沒有則檢查74ls244驅(qū)動(dòng)是否問題,經(jīng)過仔細(xì)發(fā)現(xiàn)及測試,發(fā)現(xiàn)74ls244壞了,換了個(gè)芯片后即可顯示均勻。(3)下載程序到單片機(jī)后,通電運(yùn)行,發(fā)現(xiàn)怎么改變電壓都沒有變化且顯示5 檢查ADC0809所對(duì)應(yīng)的各個(gè)引腳有沒有接錯(cuò),若沒有則通過將P1口置0,觀察各個(gè)線路的顯示結(jié)果,發(fā)現(xiàn)ADC0809芯片有問題,換了芯片后可正常顯示。(4)發(fā)現(xiàn)每個(gè)數(shù)碼管顯示相同的數(shù)字 檢驗(yàn)段掃描連接是否正確,若無誤,在檢查程序是否正確,最后發(fā)現(xiàn)延時(shí)函數(shù)有一個(gè)地方寫錯(cuò),以致不能掃描,顯示相同的數(shù),修改程序后,即可進(jìn)行掃描。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論