超聲波測(cè)距儀設(shè)計(jì)畢業(yè)論文設(shè)計(jì)_第1頁
超聲波測(cè)距儀設(shè)計(jì)畢業(yè)論文設(shè)計(jì)_第2頁
超聲波測(cè)距儀設(shè)計(jì)畢業(yè)論文設(shè)計(jì)_第3頁
超聲波測(cè)距儀設(shè)計(jì)畢業(yè)論文設(shè)計(jì)_第4頁
超聲波測(cè)距儀設(shè)計(jì)畢業(yè)論文設(shè)計(jì)_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、皖西學(xué)院本科畢業(yè)設(shè)計(jì)畢業(yè)論文設(shè)計(jì)超聲波測(cè)距儀設(shè)計(jì)目錄摘要1abstract21 緒論31.1 設(shè)計(jì)項(xiàng)目概述31.2 設(shè)計(jì)要求31.3 超聲波測(cè)距原理32 超聲波測(cè)距儀硬件系統(tǒng)設(shè)計(jì)52.1 超聲波傳感器52.1.1超聲波傳感器結(jié)構(gòu)52.1.2 超聲波傳感器工作原理62.2 總體方案設(shè)計(jì)72.3 超聲波發(fā)射電路設(shè)計(jì)82.4 超聲波接收電路的設(shè)計(jì)92.5 顯示電路的設(shè)計(jì)103 單片機(jī)at89s52123.1 at89s52單片機(jī)的構(gòu)成123.2 at89s52單片機(jī)的工作原理133.3 at89s52單片機(jī)特性143.3.1 at89s52標(biāo)準(zhǔn)功能143.3.2 管腳說明154 軟件設(shè)計(jì)174.1

2、程序設(shè)計(jì)總體分析174.2 程序流程圖174.3 電路程序設(shè)計(jì)184.4 電路搭建與程序調(diào)試26結(jié)論27致謝28參考文獻(xiàn)29超聲波測(cè)距儀設(shè)計(jì)摘要:本文闡述了超聲波測(cè)距的原理,介紹如何用at89s52單片機(jī)實(shí)現(xiàn)超聲波測(cè)距,分析各個(gè)部分的工作原理,并給出了原理圖和源程序。此超聲波的測(cè)距電路由超聲波傳感器、單片機(jī)、發(fā)射/接收電路和led顯示器組成。由于超聲波指向性強(qiáng),能量消耗緩慢,在介質(zhì)中傳播的距離較遠(yuǎn),因而超聲波被廣泛應(yīng)用于距離的測(cè)量。利用超聲波檢測(cè)比較迅速、方便,計(jì)算簡(jiǎn)單,已做到實(shí)時(shí)控制,并且在測(cè)量精度方面能達(dá)到工業(yè)實(shí)用要求,測(cè)量時(shí)與被測(cè)物體無直接接觸等,這些優(yōu)點(diǎn)使其廣泛應(yīng)用于倒車?yán)走_(dá)、建筑施工

3、工地等場(chǎng)合。關(guān)鍵詞:超聲波 測(cè)距 單片機(jī) the design of ultrasonic rangefinderauthoryang shengteacherhu yonggangabstract:this paper expounds the principle of ultrasonic ranging and describes how to use at89s52 scm realizing ultrasonic ranging. it also analysis of the working principle of each part and gives the principl

4、e diagram and the source program. the ultrasonic ranging is composed by ultrasonic sensors, scm circuit, launch/receiving circuit and led display. due to the strongly directivity, slowly energy consumption and long transmission distance in a medium, thus ultrasonic is widely used in distance measure

5、ment. ultrasonic is quickly, convenient, simple calculation and achieves real-time control. and it can also reach the industrial practical requirements in the measurement precision and without directly contacted with object to be tested. all these advantages make it widely used in reverse radar, con

6、struction site and so on. ultrasonic ranging based on the at89s52 scm easily overcome shortcomings, and is used very extensive. keywords: ultrasonic wave; range finding; one-chip computer; widely1 緒論1.1 設(shè)計(jì)項(xiàng)目概述 由于超聲波指向性強(qiáng),能量消耗緩慢,在介質(zhì)中傳播的距離較遠(yuǎn),因而超聲波被廣泛應(yīng)用于距離的測(cè)量。利用超聲波檢測(cè)往往比較迅速、方便,計(jì)算簡(jiǎn)單,已做到實(shí)時(shí)控制,并且在測(cè)量精度方面能達(dá)到工業(yè)

7、實(shí)用要求,測(cè)量時(shí)與被測(cè)物體無直接接觸等,這些優(yōu)點(diǎn)使其廣泛應(yīng)用于倒車?yán)走_(dá)、建筑施工工地以及一些工業(yè)現(xiàn)場(chǎng),例如液位測(cè)量、精深測(cè)量等場(chǎng)合。目前國(guó)內(nèi)一般實(shí)用專用集成電路設(shè)計(jì)超聲波測(cè)距儀,但是成本高,沒有顯示,操作不便,操作使用不方便,創(chuàng)展不靈活?;趩纹瑱C(jī)的超聲波測(cè)距易克服了上述缺點(diǎn),應(yīng)用非常廣泛。 1.2 設(shè)計(jì)要求設(shè)計(jì)一個(gè)超聲波測(cè)距儀,可以應(yīng)用于汽車倒車、建筑施工工地以及一些工業(yè)現(xiàn)場(chǎng)的位置監(jiān)控,也可用于如液位、井深、管道長(zhǎng)度的測(cè)量等場(chǎng)合。具體要求如下:(1)測(cè)量范圍在0.5-4m,測(cè)量精度1cm。(2)測(cè)量時(shí)與被測(cè)物體無直接接觸,能夠清晰穩(wěn)定地顯示測(cè)量結(jié)果。 1.3 超聲波測(cè)距原理采用單片機(jī)作為主控

8、制器,用led數(shù)碼管作為顯示儀器來顯示所測(cè)的距離。由單片機(jī)發(fā)射和接受超聲波信號(hào),再經(jīng)過單片機(jī)計(jì)算輸出顯示被測(cè)距離,即超聲波發(fā)生器t在某一時(shí)刻發(fā)出一段超聲波信號(hào),當(dāng)超聲波遇到障礙物(被測(cè)物體)后返回被接收器r接受。測(cè)距的原理如圖1.1。 rtt2 t1 圖1.1 測(cè)距的原理這樣只要計(jì)算出發(fā)射超聲波和接收到超聲波之間的時(shí)間,就可以計(jì)算出超聲發(fā)射器與反射物體的距離。距離計(jì)算公式為: 其中:d為被測(cè)物與測(cè)距儀的距離 s為聲速的來回路程 c為聲速 t為聲波來回所用的時(shí)間超聲波是指頻率高于20khz的機(jī)械波。為了以超聲波作為檢測(cè)手段,必須產(chǎn)生超聲波和接收超聲波,完成這種功能的裝置就是超聲波傳感器,習(xí)慣稱之

9、為超聲波換能器或超聲波探頭。超聲波傳感器有發(fā)送器和接收器兩種,但是一個(gè)超聲波傳感器也可具有發(fā)送和接收聲波的雙重作用。超聲波傳感器利用壓電效應(yīng)的原理將超聲波和電能相互轉(zhuǎn)換,即在發(fā)射超聲波的時(shí)候,將電能轉(zhuǎn)換為超聲波,而在收到回波的時(shí)候,則將超聲振動(dòng)轉(zhuǎn)換為電信號(hào)。超聲波測(cè)距的原理一般采用渡越時(shí)間法。首先測(cè)出超聲波從發(fā)射到遇到障礙物返回所經(jīng)歷的時(shí)間,再乘以超聲波的速度就得到二倍的生源與障礙物之間的距離,超聲波測(cè)距適用于高精度的中長(zhǎng)距離測(cè)量,因?yàn)槌暡ㄔ跇?biāo)準(zhǔn)空氣中的傳播速度為332.45m/s。單片機(jī)使用12mhz晶振,所以此系統(tǒng)的測(cè)量精度理論可以達(dá)到毫米級(jí)。 單片機(jī)顯示模塊超聲波接收器r超聲波發(fā)生器t

10、電源電路 圖1.2 基于單片機(jī)的超聲波測(cè)距儀系統(tǒng)框圖2 超聲波測(cè)距儀硬件系統(tǒng)設(shè)計(jì)2.1 超聲波傳感器超聲波傳感器是根據(jù)超聲波的特性而研制成的傳感器。超聲波是一種機(jī)械波,其振動(dòng)頻率高于聲波,由換能晶片在電壓的激勵(lì)下發(fā)生振動(dòng)產(chǎn)生。超聲波的頻率高、波長(zhǎng)短、繞射現(xiàn)象小,方向性好、能夠成為射線而定向傳播。超聲波傳感器是利用壓電效應(yīng)的原理將電能和超聲波相互轉(zhuǎn)換,即在發(fā)射超聲波的時(shí)候,轉(zhuǎn)換電能,發(fā)射超聲波,在收到回波的時(shí)候,則將超聲波振動(dòng)轉(zhuǎn)換為電信號(hào)。超聲波發(fā)生器一般分為兩類:一類是用電氣方式產(chǎn)生超聲波,另一類使用機(jī)械的方式產(chǎn)生超聲波。超聲波測(cè)距儀屬于近距離測(cè)量,可以采用常用的壓電式超聲波換能器來實(shí)現(xiàn)。2.

11、1.1超聲波傳感器結(jié)構(gòu)超聲波探頭主要由壓電晶片組成,既可以發(fā)射超聲波,也可以接收超聲波。小功率超聲探頭多作探測(cè)作用。它有許多不同的結(jié)構(gòu),可分直探頭、斜探頭、表面波探頭、蘭姆波探頭、雙探頭等。超聲波傳感器結(jié)構(gòu)如圖2.1所示。超聲探頭的核心是其外套中的一塊壓電晶片。構(gòu)成晶片的材料可以有許多種。晶片的大小,如直徑和厚度也各不相同,因此每個(gè)探頭的性能是不同的,使用前必須預(yù)先了解它的性能。共振板壓電晶片電極圖2.1 超聲波傳感器結(jié)構(gòu) 圖2.2 超聲波傳感器的實(shí)物圖2.1.2 超聲波傳感器工作原理壓電型超聲波傳感器是利用壓電效應(yīng)的原理,壓電效應(yīng)有逆效應(yīng)和順效應(yīng),由于超聲波傳感器是一種可逆元件,超聲波發(fā)送器

12、就是利用壓電逆效應(yīng)的原理。在壓電元件上施加電壓,元件隨之變形,即稱應(yīng)變,壓電逆效應(yīng)如圖2.3所示。如果在圖a所示的已被極化的壓電陶瓷上加一個(gè)圖b所示極性的電壓,壓電陶瓷的極化正電荷與外部正電荷相互排斥,同時(shí),外部負(fù)電荷與極化負(fù)電荷相互排斥。由于相互排斥的作用,壓電陶瓷的厚度變小,長(zhǎng)度伸長(zhǎng)。若外部施加相反極性的電壓,如圖c所示那樣,則壓電陶瓷厚度變厚,長(zhǎng)度縮短。圖2.3 壓電逆效應(yīng)圖超聲波傳感器采用的是雙晶振子,即把雙壓電陶瓷片以相反極化方向背向粘在一起,則在長(zhǎng)度方向上,一片伸長(zhǎng),另一片縮短。在雙晶振子的兩面涂敷薄膜電極,其上面用引線通過金屬板接到一個(gè)電極端,下面用引線直接接到另一個(gè)電極端。雙晶

13、振子為正方形,正方形的左右兩邊由圓弧形凸起部分支撐著。這兩處的支點(diǎn)就成為振子振動(dòng)的節(jié)點(diǎn)。金屬板的中心有圓錐形振子。發(fā)送超聲波時(shí),圓錐形振子有較強(qiáng)的方向性,因而能高效率地發(fā)送超聲波;接收超聲波時(shí),超聲波的振動(dòng)集中于振子的中心,所以,能產(chǎn)生高效率的高頻電壓。采用雙晶振子的超聲波傳感器,若在發(fā)送器的雙晶振子(諧振頻率為40khz)上施加40khz的高頻電壓,壓電陶瓷片就根據(jù)所加的高頻電壓極性伸長(zhǎng)與縮短,于是就能發(fā)送40khz頻率的超聲波。超聲波以疏密波形式傳播,傳送給超聲波接收器。超聲波接收器是利用壓電效應(yīng)的原理,即在壓電元件的特定方向上施加壓力,元件就發(fā)生應(yīng)變,則產(chǎn)生一面為正極,另一面為負(fù)極的電壓

14、。若接收到發(fā)送器發(fā)送的超聲波,振子就以發(fā)送超聲波的頻率進(jìn)行振動(dòng),于是,就產(chǎn)生與超聲波頻率相同的高頻電壓,當(dāng)然這種電壓是非常小的,必須采用放大器放大。圖2.4 傳感器的方向性2.2 總體方案設(shè)計(jì)單片機(jī)采用at89s52,系采用12mhz高精度晶振得到較為穩(wěn)定的時(shí)鐘頻率以減小測(cè)量誤差。用單片機(jī)p1.0端口輸出40khz方波信號(hào),再經(jīng)過放大電路,驅(qū)動(dòng)超聲波發(fā)射探頭發(fā)射超聲波。發(fā)射出去的超聲波經(jīng)障礙物反射回來后,由超聲波接收頭接收到信號(hào),通過接收電路的檢波放大、積分整形及一系列處理,送至單片機(jī),利用外中斷0檢測(cè)接收返回的超聲波信號(hào)。單片機(jī)利用聲波的傳播速度和發(fā)射脈沖到接收反射脈沖的時(shí)間間隔計(jì)算出障礙物

15、的距離,并由單片機(jī)控制七段數(shù)碼管顯示出來。其時(shí)序圖如圖2.5所示。圖2.5 時(shí)序圖單片機(jī)在t0時(shí)刻發(fā)射方波,同時(shí)啟動(dòng)定時(shí)器開始計(jì)時(shí),當(dāng)收到回波后,產(chǎn)生一負(fù)跳變到單片機(jī)中斷口,單片機(jī)響應(yīng)中斷程序,定時(shí)器停止計(jì)數(shù)。計(jì)算時(shí)間差,即可得到超聲波在媒介中傳播的時(shí)間t,由此便可計(jì)算出距離。該測(cè)距裝置是由超聲波傳感器、單片機(jī)、發(fā)射/接收電路和led顯示器組成。傳感器輸入端與發(fā)射接收電路相連,接收電路輸出端與單片機(jī)相連接,單片機(jī)的輸出端與顯示電路輸入端相連接。2.3 超聲波發(fā)射電路設(shè)計(jì)超聲波發(fā)射采用推挽形式將p1.0端口發(fā)出的方波加到超聲波換能器兩端以提高超聲波發(fā)射的強(qiáng)度。發(fā)射電路主要有74ls04和超聲波換

16、能器構(gòu)成用單片機(jī)p1.0端口輸出40khz方波信號(hào)一路經(jīng)一級(jí)反向后送到超聲波換能器的一個(gè)電極,另一路經(jīng)兩級(jí)反向后送到超聲波換能器的另一個(gè)電極。圖2.6為發(fā)射電路。圖2.6 超聲波發(fā)射電路2.4 超聲波接收電路的設(shè)計(jì)超聲波接收采用的是常用于電視紅外遙控接收器的芯片cx20106a。考慮到紅外遙控常用的載波頻率38khz與測(cè)距超聲波頻率40khz較為接近,可以利用它作為超聲波檢測(cè)電路。實(shí)驗(yàn)證明其具有很高的靈敏度和較強(qiáng)的抗干擾能力。適當(dāng)改變超聲波接收探頭兩端電容的大小,可以接收電路的靈敏度和抗干擾能力。圖2.8為接收電路。圖2.8 超聲波接收電路其中,cxa20106a為紅外線接收專用芯片,可以用于

17、超聲波的接收.。各引腳說明如表2.2。表2.2 cxa20106a各引腳說明引腳號(hào)說明1超聲信號(hào)輸入端,該腳的輸入阻抗約為40k。2該腳與地之間連接rc串聯(lián)網(wǎng)絡(luò),它們是負(fù)反饋串聯(lián)網(wǎng)絡(luò)的一個(gè)組成部分,改變它們的數(shù)值能改變前置放大器的增益和頻率特性。增大電阻r1或減小c1,將使負(fù)反饋量增大,放大倍數(shù)下降,反之則放大倍數(shù)增大。但c1的改變會(huì)影響到頻率特性,一般在實(shí)際使用中不必改動(dòng),推薦選用參數(shù)為r1=4.7,c1=1f。3該腳與地之間連接檢波電容,電容量大為平均值檢波,瞬間相應(yīng)靈敏度低;若容量小,則為峰值檢波,瞬間相應(yīng)靈敏度高,但檢波輸出的脈沖寬度變動(dòng)大,易造成誤動(dòng)作,推薦參數(shù)為3.3f。4接地端。

18、 5該腳與電源間接入一個(gè)電阻,用以設(shè)置帶通濾波器的中心頻率f0,阻值越大,中心頻率越低。例如,取r=200k時(shí),f042khz,若取r=220k,則中心頻率f038khz。6該腳與地之間接一個(gè)積分電容,標(biāo)準(zhǔn)值為330pf,如果該電容取得太大,會(huì)使探測(cè)距離變短。7遙控命令輸出端,它是集電極開路輸出方式,因此該引腳必須接上一個(gè)上拉電阻到電源端,推薦阻值為22k,沒有接受信號(hào)是該端輸出為高電平,有信號(hào)時(shí)則產(chǎn)生下降。8電源正極,4.55.5v。2.5 顯示電路的設(shè)計(jì)數(shù)碼管的結(jié)構(gòu)數(shù)碼管由7個(gè)發(fā)光二極管組成,行成一個(gè)日字形,它門可以共陰極,也可以共陽極,通過解碼電路得到的數(shù)碼接通相應(yīng)的發(fā)光二極而形成相應(yīng)的

19、字,這就是它的工作原理。數(shù)碼管按各發(fā)光二極管電極的連接方式分為共陽數(shù)碼管和共陰數(shù)碼管兩種。數(shù)碼管符號(hào)和引腳如圖2.9(a),共陽數(shù)碼管內(nèi)部連接如圖2.9(b),共陰數(shù)碼管內(nèi)部連接如圖2.9(c)。圖2.9 數(shù)碼管數(shù)碼管要用驅(qū)動(dòng)電路來驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼,可以分為靜態(tài)顯示和動(dòng)態(tài)顯示兩類。(1) 動(dòng)態(tài)顯示:數(shù)碼管動(dòng)態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8 個(gè)顯示筆劃“a, b, c, d, e, f, g, dp“的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極com 由位選通控制電路控制,位選通由各自獨(dú)立的i/o 線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相

20、同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位選通com 端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會(huì)亮。通過分時(shí)輪流控制各個(gè)數(shù)碼管的的com 端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為12ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,但是能夠節(jié)省大量的i/o 端口,功耗更低。(2)靜態(tài)顯示驅(qū)動(dòng):靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè)

21、單片機(jī)的i/o 端口進(jìn)行驅(qū)動(dòng),或者使用如bcd 碼二-十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡(jiǎn)單,顯示亮度高,缺點(diǎn)是占用i/o 端口多,如驅(qū)動(dòng)5個(gè)數(shù)碼管靜態(tài)顯示則需要5×840 根i/o 端口來驅(qū)動(dòng),要知道一個(gè)89s52單片機(jī)可用的i/o 端口才32 ,實(shí)際應(yīng)用時(shí)必須增加譯碼驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),增加了硬件電路的復(fù)雜性。此設(shè)計(jì)顯示電路采用簡(jiǎn)單實(shí)用的4位共陽led數(shù)碼管,段碼輸出端口為單片機(jī)的p0口,位碼輸出端口分別為單片機(jī)的p2.0、p2.1、p2.2、p2.3口,數(shù)碼管位驅(qū)運(yùn)用74ls07驅(qū)動(dòng)。為了減少硬件開銷,提高系統(tǒng)可靠性并降低成本,此超聲波測(cè)距的單片機(jī)控制系統(tǒng)采用動(dòng)態(tài)掃描顯

22、示,并且軟件消影。顯示電路如圖2.10。圖2.10 數(shù)碼管顯示電路圖3 單片機(jī)at89s52 3.1 at89s52單片機(jī)的構(gòu)成at89s52是一種低功耗、高性能cmos8位微控制器,具有8k在系統(tǒng)可編程flash存儲(chǔ)器。使用atmel公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80c51 產(chǎn)品指令和引腳完全兼容。片上flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位cpu和在系統(tǒng)可編程flash,使得at89s52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。at89s52單片機(jī)引腳圖如圖3.1。圖3.1 at89s52單片機(jī)引腳圖3.2 at89s52單

23、片機(jī)的工作原理單片機(jī)是通過執(zhí)行程序來工作的,機(jī)器執(zhí)行不同程序就能完成不同的運(yùn)算任務(wù)。因此,單片機(jī)執(zhí)行程序的過程實(shí)際上也體現(xiàn)了單片機(jī)的基本工作原理。為此,先從指令程序談起。1.單片機(jī)的指令系統(tǒng)和程序編制前面已經(jīng)介紹,指令是一種可以供機(jī)器執(zhí)行的控制代碼,故它又稱為指令碼(instruction code)。指令碼由操作碼(operation code)和地址碼(address code)構(gòu)成:操作碼用于指示機(jī)器執(zhí)行何種操作;地址碼用于指示參加操作的數(shù)在哪里。其格式為:操作碼地址碼指令碼的二進(jìn)制形式既不便于記憶,又不便于書寫,故人們通常采用助記符形式來表示,表3.1所列。表3.1 指令的三種形式指令

24、的二進(jìn)制形式指令的十六進(jìn)制形式指令的匯編形式01110100 data174 data1mov a,#data1;adata100100100 data224 data2add a,#data2;adata1+data210000000 111111080 fesjmp $;停機(jī)2.單片機(jī)執(zhí)行程序的過程程序通常是順序執(zhí)行的,因此程序中的指令也是一條條順序存放的,單片機(jī)在執(zhí)行程序時(shí)要能把這些指令一條條取出并加以執(zhí)行,必須有一個(gè)部件能追蹤指令所在的地址,這一部件就是程序計(jì)數(shù)器pc(包含在cpu中),在開始執(zhí)行程序時(shí),給pc賦以程序中第一條指令所在的地址,然后取得每一條要執(zhí)行的命令,pc在中的內(nèi)容就

25、會(huì)自動(dòng)增加,增加量由本條指令長(zhǎng)度決定,以指向下一條指令的起始地址,保證指令順序執(zhí)行。 3.3 at89s52單片機(jī)特性3.3.1 at89s52標(biāo)準(zhǔn)功能 (1)與mcs-51單片機(jī)產(chǎn)品兼容 (2)8k字節(jié)在系統(tǒng)可編程flash存儲(chǔ)器 (3)1000次擦寫周期 (4)全靜態(tài)操作:0hz33hz (5)三級(jí)加密程序存儲(chǔ)器 (6)32個(gè)可編程i/o口線 (7)三個(gè)16位定時(shí)器/計(jì)數(shù)器 (8)八個(gè)中斷源 (9)全雙工uart串行通道 (10)低功耗空閑和掉電模式 (11)掉電后中斷可喚醒 (12)看門狗定時(shí)器 (13)雙數(shù)據(jù)指針 (14)掉電標(biāo)識(shí)符 3.3.2管腳說明(1) vcc:電源 (2) gn

26、d:地 (3) p0口:p0口是一個(gè)8位漏極開路的雙向i/o口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)ttl邏輯電平。對(duì)p0端口寫“1”時(shí),引腳用作高阻抗輸入。 當(dāng)訪問外部程序和數(shù)據(jù)存儲(chǔ)器時(shí), p0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,p0具有內(nèi)部上拉電阻。 (4) p1口:p1 口是一個(gè)具有內(nèi)部上拉電阻的8位雙向i/o口,p1輸出緩沖器能驅(qū)動(dòng)4個(gè)ttl 邏輯電平。對(duì)p1端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸出口使用。作輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil)。此外,p1.0和p1.2分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(p1.0/t2)和時(shí)器/計(jì)數(shù)器2

27、的觸發(fā)輸入(p1.1/t2ex) ,具體如表3.2所示。 在flash編程和校驗(yàn)時(shí),p1口接收低8位地址字節(jié)。 表3.2 p1口第二功能引腳號(hào)第二功能p1.0t2(定時(shí)器/計(jì)數(shù)器t2的外部計(jì)數(shù)輸入) ,時(shí)鐘輸出p1.1t2ex(定時(shí)器/計(jì)數(shù)器t2的捕捉/重載觸發(fā)信號(hào)和方向控制)p1.5mosi(在系統(tǒng)編程用)p1.6miso(在系統(tǒng)編程用)p1.7sck(在系統(tǒng)編程用) (5) p2 口:p2 口是一個(gè)具有內(nèi)部上拉電阻的 8 位雙向 i/o 口,p2 輸出緩沖器能驅(qū)動(dòng) 4個(gè)ttl 邏輯電平。對(duì) p2 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引

28、腳由于內(nèi)部電阻的原因,將輸出電流(iil) 。 在訪問外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器 (例如執(zhí)行movx dptr)時(shí),p2 口送出高八位地址。在這種應(yīng)用中,p2 口使用很強(qiáng)的內(nèi)部上拉發(fā)送 1。在使用8位地址(如movx ri)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),p2口輸出p2鎖存器的內(nèi)容。 在flash編程和校驗(yàn)時(shí),p2口也接收高8位地址字節(jié)和一些控制信號(hào)。 (6) p3 口:p3 口是一個(gè)具有內(nèi)部上拉電阻的 8 位雙向 i/o 口,p2 輸出緩沖器能驅(qū)動(dòng) 4 個(gè)ttl 邏輯電平。對(duì) p3 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于

29、內(nèi)部電阻的原因,將輸出電流(iil) 。 p3口亦作為at89s52特殊功能(第二功能)使用,如表3.3所示。 在flash編程和校驗(yàn)時(shí),p3口也接收一些控制信號(hào)。 表3.3 p3口第二功能引腳號(hào)第二功能p3.0rxd(串行輸入)p3.1txd(串行輸出)p3.2int0(外部中斷 0)p3.3int0(外部中斷 0)p3.4t0(定時(shí)器0外部輸入)p3.5t1(定時(shí)器1外部輸入)p3.6wr(外部數(shù)據(jù)存儲(chǔ)器寫選通) p3.7rd(外部數(shù)據(jù)存儲(chǔ)器寫選通)(7) rst: 復(fù)位輸入。晶振工作時(shí),rst腳持續(xù)2個(gè)機(jī)器周期高電平將使單片機(jī)復(fù)位??撮T狗計(jì)時(shí)完成后,rst 腳輸出96個(gè)晶振周期的高電平。

30、特殊寄存器 auxr(地址 8eh)上的disrto位可以使此功能無效。disrto默認(rèn)狀態(tài)下,復(fù)位高電平有效。 (8) ale/prog:地址鎖存控制信號(hào)(ale)是訪問外部程序存儲(chǔ)器時(shí),鎖存低 8 位地址的輸出脈沖。在flash編程時(shí),此引腳(prog)也用作編程輸入脈沖。 在一般情況下,ale以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時(shí)器或時(shí)鐘使用。然而,特別強(qiáng)調(diào),在每次訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),ale脈沖將會(huì)跳過。 如果需要,通過將地址為8eh的sfr的第0位置“1”,ale操作將無效。這一位置 “1”,ale僅在執(zhí)行 movx 或movc指令時(shí)有效。否則,ale將被微弱拉高。這個(gè)

31、ale使能標(biāo)志位(地址為8eh的sfr的第0位)的設(shè)置對(duì)微控制器處于外部執(zhí)行模式下無效。 (9) psen:外部程序存儲(chǔ)器選通信號(hào)(psen)是外部程序存儲(chǔ)器選通信號(hào)。 當(dāng) at89s52從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí),psen在每個(gè)機(jī)器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),psen將不被激活。 (10) ea/vpp:訪問外部程序存儲(chǔ)器控制信號(hào)。為使能從0000h 到ffffh的外部程序存儲(chǔ)器讀取指令,ea必須接gnd。 為了執(zhí)行內(nèi)部程序指令,ea應(yīng)該接vcc。 在flash編程期間,ea也接收12伏vpp電壓。 (11) xtal1:振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。 (12

32、) xtal2:振蕩器反相放大器的輸出端。4 軟件設(shè)計(jì)4.1 程序設(shè)計(jì)總體分析超聲波測(cè)距儀軟件設(shè)計(jì)主要由主程序、超聲波發(fā)射子程序、超聲波接收中斷程序及顯示子程序組成。 超聲波主程序首先對(duì)系統(tǒng)初始化,設(shè)置定時(shí)器的初值和工作方式,使總中斷允許位ea=1,并給顯示端口清零。然后調(diào)用超聲波發(fā)生子程序送出一個(gè)超聲波脈沖,為避免超聲波從發(fā)射器直接傳送到接收器引起的直接波觸發(fā),需延時(shí)0.1ms(這也就是測(cè)距儀會(huì)有一個(gè)最小可能測(cè)距的原因)后,才能打開外中斷0接收返回的超聲波信號(hào)。由于采用12mhz的晶振,機(jī)器周期為1us,當(dāng)主程序檢測(cè)到接收成功的標(biāo)志位后,將計(jì)數(shù)器t0中的數(shù)(即超聲波來回所用的時(shí)間)按下式計(jì)算

33、即可測(cè)得被測(cè)物體與測(cè)距儀之間的距離,設(shè)計(jì)時(shí)取20攝氏度時(shí)的聲速344m/s,則有:,(其中t0為計(jì)數(shù)器t0的計(jì)數(shù)值)。 4.2 程序流程圖超聲波測(cè)距儀程序流程圖如圖4.1所示。 系統(tǒng)初始化開始發(fā)射超聲波脈沖接收超聲波脈沖計(jì)算距離顯示結(jié)果 圖4.1 超聲波測(cè)距儀程序流程圖4.3電路程序設(shè)計(jì)*中斷入口程序*org0000h ljmp startorg0003h ljmp pint0org000bh ljmp intt0org0013h retiorg001bh ljmp intt1org0023h retiorg002bh reti*主程序*start: movsp,#4fh movr0,#40h

34、 ;40h43h為顯示數(shù)據(jù)存放單元(40h為最高位) movr7,#0bhcleardisp: mov r0,#00h incr0 djnzr7,cleardisp mov20h,#00h movtmod,#21h; t1為8位自動(dòng)重裝模式,t0為16位定時(shí)器 mov th0, #00h mov tl0, #00h mov th1, #0f2h mov tl1, #0f2h;40khz初值 mov p0, #0ffh mov p1, #0ffh mov p2, #0ffh mov p3, #0ffh mov r4,#04h;超聲波脈沖個(gè)數(shù)控制(為賦值的一半) setb px0 setb et0

35、 setb ea setb tr0;;開啟測(cè)距定時(shí)器start1: lcall display jnb 00h,start1; ;收到反射信號(hào)是標(biāo)志為1 clr ea lcall math; ;計(jì)算距離子程序 setb ea clr 00h setb tr0; ;重新開啟測(cè)距定時(shí)器 mov r2,#64h; ;測(cè)量間隔控制(約4ms×100=400ms)loop: lcall display djnz r2,loop sjmp start1*顯示程序*display: movr1,#40h ;40h為最高位,43h為最低位,先掃描高位 movr5,#0f7hplay: mova,r5

36、 movp0,#0ffh movp2,a mova,r1 movdptr,#tab movca,a+dptr movp0,a lcalldl1ms incr1 mova,r5 jnb acc.0,endout rra movr5,a ajmpplayendout: movp2,#0ffh movp0,#0ffh rettab: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,0ffh,88h,0bfh;共陽段碼表 “0”,“1”,“2”,“3”,“4”,“5”,“6”,“7”,“8”,“9”,“不亮”,“a”,“”*中斷程序*intt0: clr

37、ea;t0中斷,65ms中斷一次 clrtr0 movth0,#00h movtl0,#00h setbet1 setbea setbtr0 ;啟動(dòng)計(jì)數(shù)器t0,用以計(jì)算超聲來回時(shí)間 setbtr1 ;開啟發(fā)超聲波用定時(shí)器t1out: retiintt1: cplvout ;t1中斷,發(fā)超聲波用 djnzr4,retiout clrtr1 ;超聲波發(fā)送完畢,關(guān)t1 clret1 movr4,#04h setbex0 ;開啟接收回波中斷retiout: retipint0: clrtr0 ;外中斷0,收到回波時(shí)進(jìn)入,關(guān)計(jì)數(shù)器 clrtr1 clret1 clrea clrex0 mov44h,tl

38、0 ;將計(jì)數(shù)值移入處理單元 mov45h,th0 setb00h ;接收成功標(biāo)志 reti*延時(shí)程序*dl1ms: movr6,#14hdl: movr7,#19hdl1: djnzr7,dl1 djnzr6,dl ret *距離計(jì)算程序(距離=計(jì)數(shù)值×171000cm)*math: pushacc pushpsw pushb movpsw,#18h movr3,45h movr2,44h movr1,#00d movr0,#17d lcallmul2by2 movr3,#03h movr2,#0e8h lcalldiv4by2 lcalldiv4by2 mov40h,r4 mova

39、,40h jnzj0 mov40h,#0ah;最高位為0,不點(diǎn)亮j0: mova,r0 movr4,a mova,r1 movr5,a movr3,#00d movr2,#100d lcalldiv4by2 mov41h,r4 mova,41h jnzj1 mova,40h ;次高位為0,先看最高位是否為不亮 subba,#0ah jnzj1 mov41h,#0ah;;最高位不亮,次高位也不亮j1: mova,r0 movr4,a mova,r1 movr5,a movr3,#00d movr2,#10d lcalldiv4by2 mov42h,r4 mova,42h jnzj2 mova,4

40、1h;;次次高位為0,先看次高位是否為不亮 subba,#0ah jnzj2 mov42h,#0ah;;次高位不亮,次次高位也不亮j2: mov43h,r0 popb poppsw popacc ret*2字節(jié)無符號(hào)數(shù)乘法程序*mul2by2: clra movr7,a movr6,a movr5,a movr4,a mov46h,#10hmulloop1: clrc mova,r4 rlca movr4,a mova,r5 rlca movr5,a mova,r6 rlca movr6,a mova,r7 rlca movr7,a mova,r0 rlca movr0,a mova,r1 r

41、lca movr1,a jncmulloop2 mova,r4 adda,r2 movr4,a mova,r5 addca,r3 movr5,a mova,r6 addca,#00h movr6,a mova,r7 addca,#00h movr7,amulloop2: djnz46h,mulloop1 ret*4字節(jié)2字節(jié)無符號(hào)數(shù)除發(fā)程序*div4by2: mov46h,#20h movr0,#00h movr1,#00hdivloop1: mova,r4 rlca movr4,a mova,r5 rlca movr5,a mova,r6 rlca movr6,a mova,r7 rlca

42、movr7,a mova,r0 rlca movr0,a mova,r1 rlca movr1,a clrc mova,r0 subba,r2 movb,a mova,r1 subba,r3 jcdivloop2 movr0,b movr1,adivloop2: cplc djnz46h,divloop1 mova,r4 rlca movr4,a mova,r5 rlca movr5,a mova,r6 rlca movr6,a mova,r7 rlca movr7,a ret end;;程序結(jié)束4.4電路搭建與程序調(diào)試超聲波測(cè)距儀的制作和調(diào)試,其中超聲波發(fā)射和接收采用16的超聲波換能器tct40-16f1(t發(fā)射)和tct40-16s1(r接收),中心頻率為40khz,安裝時(shí)應(yīng)保持兩換能器中心軸線平行并相距48cm,其余元件無特殊要求。若能將超聲波接收電路用金屬殼屏蔽起來,則可提高抗干擾能力。根據(jù)測(cè)量范圍要求不同,可適當(dāng)調(diào)整與接收換能器并接的濾波電容c4的大小,以獲得合適的接收靈敏度和抗干擾能力。 硬件電路制作完成并調(diào)試好后,便可將程序編譯好下載到單片機(jī)

溫馨提示

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