用AT89C2051設(shè)計(jì)超聲波測(cè)距儀_第1頁(yè)
用AT89C2051設(shè)計(jì)超聲波測(cè)距儀_第2頁(yè)
用AT89C2051設(shè)計(jì)超聲波測(cè)距儀_第3頁(yè)
用AT89C2051設(shè)計(jì)超聲波測(cè)距儀_第4頁(yè)
用AT89C2051設(shè)計(jì)超聲波測(cè)距儀_第5頁(yè)
已閱讀5頁(yè),還剩2頁(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、用AT89C2051設(shè)計(jì)超聲波測(cè)距儀摘要:本文介紹了AT89C2051單片機(jī)的性能和特點(diǎn),并在分析了超聲波測(cè)距原理的基本系統(tǒng)框圖。該設(shè)計(jì)系統(tǒng)經(jīng)校正后,其測(cè)量精度可達(dá)0.1米。   超聲波測(cè)距主要應(yīng)用于倒車?yán)走_(dá)、建筑施工工地以及一些工業(yè)現(xiàn)場(chǎng),例如:液位、井深、管道長(zhǎng)度等場(chǎng)合。目前國(guó)內(nèi)一般使用專用集成電路設(shè)計(jì)超聲波測(cè)距儀,但是專用集成電路的成本很高,并且沒(méi)有顯示,操作使用很不方便。本文介紹一種以AT89C2051或GSM97C2051單片機(jī)為核心的低成本、高精度、微型化數(shù)字顯示超聲波測(cè)距儀的硬件電路和軟件設(shè)計(jì)方法。實(shí)際使用證明該儀器工作穩(wěn)定,性能良好。1 超聲波測(cè)距原理

2、0;   超聲波測(cè)距是通過(guò)不斷檢測(cè)超聲波發(fā)射后遇到障礙物所反射的回波,從而測(cè)出發(fā)射和接收回波的時(shí)間差t,然后求出距離S=Ct/2,式中的C為超聲波波速。    由于超聲波也是一種聲波,其聲速C與溫度有關(guān),表1列出了幾種不同溫度下的聲速。在使用時(shí),如果溫度變化不大,則可認(rèn)為聲速是基本不變的。如果測(cè)距精度要求很高,則應(yīng)通過(guò)溫度補(bǔ)償?shù)姆椒右孕U?。聲速確定后,只要測(cè)得超聲波往返的時(shí)間,即可求得距離。這就是超聲波測(cè)距儀的機(jī)理。其系統(tǒng)框圖如圖1所示。2 AT89C2051的功能特點(diǎn)    AT89C2051是一個(gè)2k字節(jié)可編

3、程EPROM的高性能微控制器。它與工業(yè)標(biāo)準(zhǔn)MCS-51的指令和引腳兼容,因而是一種功能強(qiáng)大的微控制器,它對(duì)很多嵌入式控制應(yīng)用提供了一個(gè)高度靈活有效的解決方案。AT89C2051有以下特點(diǎn):2k字節(jié)EPROM、128字節(jié)RAM、15根I/O線、2 個(gè)16位定時(shí)/計(jì)數(shù)器、5個(gè)向量二級(jí)中斷結(jié)構(gòu)、1個(gè)全雙向的串行口、并且內(nèi)含精密模擬比較器和片內(nèi)振蕩器,具有4.25V至5.5V的電壓工作范圍和12MHz/24MHz工作頻率,同時(shí)還具有加密陣列的二級(jí)程序存儲(chǔ)器加鎖、掉電和時(shí)鐘電路等。此外,AT89C2051還支持二種軟件可選的電源節(jié)電方式??臻e時(shí),CPU停止,而讓RAM、定時(shí)/計(jì)數(shù)器、串行口和中斷系統(tǒng)繼續(xù)

4、工作。可掉電保存RAM的內(nèi)容,但可使振蕩器停振以禁止芯片所有的其它功能直到下一次硬件復(fù)位。    AT89C2051有2個(gè)16位計(jì)時(shí)/計(jì)數(shù)器寄存器Timer0t Timer1。作為一個(gè)定時(shí)器,每個(gè)機(jī)器周期寄存器增加1,這樣寄存器即可計(jì)數(shù)機(jī)器周期。因?yàn)橐粋€(gè)機(jī)器周期有12個(gè)振蕩器周期,所以計(jì)數(shù)率是振蕩器頻率的1/12。作為一個(gè)計(jì)數(shù)器,該寄存器在相應(yīng)的外部輸入腳P3.4/T0和P3.5/T1上出現(xiàn)從1至0的變化時(shí)增1。由于需要二個(gè)機(jī)器周期來(lái)辨認(rèn)一次1到0的變化,所以最大的計(jì)數(shù)率是振蕩器頻率的1/24,可以對(duì)外部的輸入端P3.2/INT0和P3.3/INT1編程,便于測(cè)量

5、脈沖寬度的門。表1 聲速與溫度關(guān)系表溫度()-30-20-100102030100聲速(米/稱)313319325323338344349386    充分利用AT89C2051的片內(nèi)資源,即可在很少外圍電路的情況下構(gòu)成功能完善的超聲波測(cè)距系統(tǒng)。3 系統(tǒng)硬件電路設(shè)計(jì)    超聲波測(cè)距儀的硬件電路如圖2所示。    AT89C2051通過(guò)外部引腳P1.6輸出脈沖寬度為250s,載波為40kHz的10個(gè)脈沖的脈沖群,以推挽形式加到變壓器的初級(jí),經(jīng)升壓變換推動(dòng)超聲波換能器發(fā)射出去。在發(fā)射的同時(shí),P1.7輸出一個(gè)

6、高電平啟動(dòng),給電容C4充電。發(fā)射結(jié)束時(shí)高電平翻轉(zhuǎn)為低電平,C4開(kāi)始對(duì)R2、R3組成的分壓器放電并輸出到比較器的負(fù)端。超聲波接收換能器將接收到的障礙物反射的超聲波送到放大器進(jìn)行放大,這是一個(gè)高增益、低噪聲放大器,在對(duì)放大后的信號(hào)進(jìn)行檢波后將檢測(cè)回波送到比較器的正輸入端。發(fā)射時(shí)P1.7輸出的電平可以抑制比較器的翻轉(zhuǎn),這樣就可以抑制發(fā)射器發(fā)射的超聲波直接輻射到接收器而導(dǎo)致錯(cuò)誤檢測(cè)。    圖3是超聲波測(cè)距原理的波形圖,從圖中可以看到,測(cè)出回波和發(fā)射脈沖之間的時(shí)間間隔,利用S=Ct/2就可以算出距離,再在LCD上顯示出來(lái)。當(dāng)然還可以設(shè)置若干個(gè)鍵,以用來(lái)控制電路的工作狀態(tài)。

7、限制系統(tǒng)的最大可測(cè)距離存在四個(gè)因素:超聲波的幅度,反射而的質(zhì)地,反射而和入射聲波之間的夾角以及接收換能器的靈敏度。接收換能器對(duì)聲波脈沖的直接接收能力將決定最小的可測(cè)距離。4 系統(tǒng)軟件設(shè)計(jì)    AT89C2051單片機(jī)和其開(kāi)發(fā)應(yīng)用系統(tǒng)具有語(yǔ)言簡(jiǎn)潔、可移植性好、表達(dá)能力強(qiáng)、表達(dá)方式靈活、可進(jìn)行結(jié)構(gòu)化設(shè)計(jì)、可以直接控制計(jì)算機(jī)硬件、生成代碼質(zhì)量高、使用方便等諸多優(yōu)點(diǎn)。超聲波測(cè)距儀就是用AT89C51單片機(jī)開(kāi)發(fā)設(shè)計(jì)的。它采用模塊化設(shè)計(jì),由主程序、發(fā)射子程序、查蟓接收子程序、定時(shí)子程序、顯示子程序等模塊組成。    圖4和圖5分別為主程序和測(cè)量

8、子程序的框圖。該系統(tǒng)的主程序處于鍵控循環(huán)工作方式,當(dāng)按下測(cè)量鍵時(shí),主程序開(kāi)始調(diào)用發(fā)射子程序、查詢接收子程序、定時(shí)子程序,并把測(cè)量結(jié)果用顯示子程序在液晶屏上顯示出來(lái)。    必須指出的是,由于液晶要使用同一P3口,所以必須全部使用位操作,否則將導(dǎo)致LCD不能正常顯示。另外,在系統(tǒng)還可以加入溫度傳感器來(lái)監(jiān)測(cè)環(huán)境溫度,把表1所列的數(shù)據(jù)做到程序中可進(jìn)行溫度被償。為了增強(qiáng)系統(tǒng)的可靠性,應(yīng)在軟硬件上采用一些特殊措施。限于篇幅,下面僅給出部分程序,感興趣者可與作者聯(lián)系。    # pragma DB OE CD OT(5,SPEED) ROM(LA

9、RGE)IV    /*連接所需要的庫(kù)*/    #include<reg52.h>    #include<absacc.h>    #include<stdio.h>    /*定義數(shù)據(jù)類型*/    typedef unsingned char byte;    typedef unsigned int word   

10、; #define uchar unsigned char    #define unint unsigned int    #define ulong unsigned long    /*定義系統(tǒng)常數(shù)*/    #define TRUE 1    #define FALSE 0    #define C=340 /*聲速*/    /*定義功能位*/   

11、; sbit bflag=ACC7;    sbit VOLCK=P15;    sbit MING=P35;    sbit QUIET=P13;    sbit BACK=P12;    /*定義顯示緩沖區(qū)*/    uchar idata ON16=,L,E,N,G,T,H,=,8,.,88,m,;    /*主程序用延時(shí)子程序*/    woid m

12、ain-delay(void)        register i;    TRO=1;    for(i=0;i<15;i+)        TH0=0;    TL0=0;    Dowhile(!TF0);    TF0=0;        TR0=0;&#

13、160;       */通用延時(shí)子程序*/    void delay(void)        unint i;    for(i=0;i<200;i+);        /*鍵盤延時(shí)子程序*/    void key-delay(void)        unint

14、i;    for(i=0;i<200;i+);        /*初始化程序*/    void start_main()        tegister i;    uchar a16=,L,E,N,G,T,H,=,8,.,8,8,m,;    for(i=0;<16;i+)    ONi=ai; &#

15、160;  nitlcd();/*初始化液晶*/    display(ON);/*更新顯示*/        /*主程序*/    void main()        register s,keycode;    long idata t;    start-main();/*初始化*/    main-delay();/*延時(shí)*/;    if(keycoed= =true)        keycode=key-scan-wait();    /*判斷是否有測(cè)量鍵按下*/    t=measure();*/測(cè)量*/    S=0.5*t*C;*/換算*/    Decode-bcd(s.0x09); 

溫馨提示

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