超聲波測距儀實驗報告_第1頁
超聲波測距儀實驗報告_第2頁
超聲波測距儀實驗報告_第3頁
超聲波測距儀實驗報告_第4頁
超聲波測距儀實驗報告_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、主題:超聲波測距儀序隨著人類社會從工業(yè)化社會向信息化社會的發(fā)展,視覺傳達設(shè)計經(jīng)歷了商業(yè)藝術(shù)、工藝美術(shù)、印刷藝術(shù)設(shè)計、裝飾設(shè)計、平面設(shè)計等幾個階段的演變。,并最終成為以視覺媒體為載體,用視覺符號來表達和傳達信息的設(shè)計。對于每一個“為溝通而設(shè)計”的設(shè)計師來說,如何正確、充分地傳達信息,是我們始終要面對的中心問題。然而,在當今社會,由于科技的進步,社會環(huán)境和社會秩序的更新,各種視覺媒體的泛濫,人們的思維、觀念和感受受到影響。僅僅定位關(guān)鍵詞來正確充分地傳達信息顯然是不夠的。鑒于時代的要求和設(shè)計的性質(zhì),我們必須重視視覺傳達設(shè)計的創(chuàng)新,在創(chuàng)新的前提下充分準確地傳達信息。設(shè)計界存在大量抄襲和模仿的作品,使設(shè)

2、計活動成為一種程序。比如說大學標志,就相當于篆書加一個圓形的配套印章;說到VIS設(shè)計,就是一大堆千篇一律的模板拷貝;說到數(shù)字視覺符號,就是好多螞蟻的“1”+“0”;說到商品的廣告,就是醫(yī)生或者戴眼鏡的美女的推薦代言,等等。人們無時無刻不被這些“模仿”的設(shè)計所侵擾和騷擾。這些設(shè)計給我們帶來視覺污染,人們不禁要問:設(shè)計怎么了?面對這些,我們每個人 HYPERLINK ./%20%20%20%20:/baike.baidu%20%20%20%20/view/282148.htm t _blank 設(shè)計師責無旁貸?,F(xiàn)在是大力提倡“設(shè)計創(chuàng)新”的時候了,因為這個時代比以往任何時候都更需要清晰、原創(chuàng)的視覺傳

3、達設(shè)計。那么,視覺傳達設(shè)計的創(chuàng)新體現(xiàn)在哪些方面呢?目錄TOC o 1-3 h z u HYPERLINK l _RefHeading_Toc296418305 一、超聲波測距儀的制作3 HYPERLINK l _RefHeading_Toc296418306 1.1 超聲波測距的原理3 HYPERLINK l _RefHeading_Toc296418307 1.2 超聲測距儀的硬件電路5 HYPERLINK l _RefHeading_Toc296418308 1.2.1回流信號放大電路5 HYPERLINK l _RefHeading_Toc296418309 1.2.2 信號檢波電路6

4、HYPERLINK l _RefHeading_Toc296418310 1.3超聲波測距程序設(shè)計7 HYPERLINK l _RefHeading_Toc296418311 二、總結(jié):20 HYPERLINK l _RefHeading_Toc296418312 三、參考文獻20一、超聲波測距儀的制作1.1超聲波測距原理根據(jù)相關(guān)的物理學知識,聲音在空氣、石頭等介質(zhì)中傳播時,其衰減特性與其頻率有關(guān)。頻率越高,越不容易衰減,相應的,它的傳播距離也就越遠。當聲音的頻率在20KHz以上時,超過了人耳的聽覺范圍,成為超聲波,可以傳播很遠的距離而不衰減,其本身的信號頻率特性不易受環(huán)境噪聲的干擾。我們可以

5、利用超聲波的這一特性來測量距離。我們可以使用一對并排安裝的超聲波探頭來發(fā)射和接收超聲波。發(fā)射頭標為T(發(fā)射),接收頭標為R(接收)。他們使用共振頻率為40KHz的壓電晶體來發(fā)射和接收超聲波。當發(fā)射機外接40KHz的振蕩源,如單片機的端口時,可以發(fā)射最大功率的超聲波。接收頭只有在接收到中心頻率為40KHz的超聲波時才能共振。由于壓電效應,物理振蕩轉(zhuǎn)化為電信號輸出,輸出電壓信號的幅度在uV量級。測距時,這對探頭對準被測物體,如車輛、墻壁等。,單片機的端口輸出的40KHz PWM(脈寬調(diào)制信號)驅(qū)動超聲波發(fā)射器(T頭)發(fā)射40KHz (0.20.5ms)的短脈沖。然后單片機開始計時,直到接收器和接收

6、放大電路檢測到回波信號,然后停止計時得到總的超聲波傳播時間ts,乘以當?shù)販囟认碌穆曀賄s得到超聲波。注意:超聲波脈沖應該有5-10個頻率周期。如果太長,測距誤差會太大。如果太短,能量就會不足,導致收不到。聲速與溫度和當?shù)乜諝饷芏扔嘘P(guān),最好取實測值,否則可能會導致較大誤差。T/R40超聲波探頭(40KHz固有頻率)發(fā)射和接收超聲波的硬件電路1.2超聲波測距儀的硬件電路1.2.1回流信號放大電路用電路實現(xiàn)測距儀功能的主要難點在于微弱回波信號的檢測。由于接收探頭壓電晶體兩端產(chǎn)生的回波信號極其微弱,在紫外量級,需要高增益放大才能有效探測。這里,我們使用三個NPN 8050三極管的共發(fā)射極交流耦合配置進

7、行三級放大。0.1uF電容用于兩級級聯(lián)的交流耦合。集電極接5V電源,提供集電極結(jié)的反向偏置電壓,基極接兩個串聯(lián)的50K電阻,得到DC工作點(2.5V)。放大后的信號從上圖中的信號端子輸出。單極性電流增益:單級DC電壓增益:交流電壓增益低于DC增益。經(jīng)過實測,該電路的三級交流電壓增益約為30000,可以將紫外級別的電壓信號放大到10到100 mV的量級。1.2.2信號檢測電路經(jīng)過回波信號放大電路后,已經(jīng)進入數(shù)字芯片可以檢測的范圍,但此時的信號仍然是頻率信號,單片機無法直接識別。所以需要一個檢測解碼芯片,可以識別40KHz的頻率波,轉(zhuǎn)換成數(shù)字電平信號。LM567是典型的音頻信號解碼芯片,音頻信號通

8、過它的三個引腳引入。當該音頻信號的頻率與LM567的設(shè)定頻率相同時,其第8個引腳的輸出電平由高變低。LM567的設(shè)置頻率由連接在引腳5和引腳6之間的可調(diào)電阻器的電阻來調(diào)節(jié)??勺冸娮枵{(diào)整方法:將40KHz頻率源連接到LM567的引腳3,將LM567的OUT端子連接到電壓表,然后調(diào)整引腳5和6之間的電位計,直到OUT端子的電平變低。此時,微弱的回波電信號已經(jīng)轉(zhuǎn)化為LM567的out端輸出的數(shù)字電平信號,可以被單片機識別。1.3超聲波測距程序設(shè)計程序流程源代碼:/*/*文件名;clock_c */*程序描述:顯示時鐘*/*/系統(tǒng)中包含的頭文件#include #include /中斷函數(shù)和子函數(shù)聲明

9、部分void _ ADC _ Interrupt(void);/ADC中斷子程序void _ KBD _ Interrupt(void);/鍵盤中斷子程序void _ TOF _ Interrupt(void);/定時器溢出中斷子程序void _ tch 1 _ Interrupt(void);/定時器通道1中斷子程序void _ tch 0 _ Interrupt(void);/定時器通道0的中斷子程序void _ IRQ _ Interrupt(void);/外部中斷中斷子程序void _ Startup(void);/復位中斷子程序/用戶子程序定義void SYS _ Init(void

10、);/系統(tǒng)初始化子程序void pled(無符號字符k);/串行數(shù)據(jù)輸出子程序void顯示(unsigned char dispchar,unsigned char n);/數(shù)碼管顯示子程序/宏定義#define config1_VAL 0 x3D /用戶配置config1寄存器的值存儲# define config 1 _ adr0 x fdea/config 1 _ val的地址#定義JMP_TAB_ADR 0 xFDEB /用戶中斷向量起始地址#定義JMP _代碼0 xCC /跳轉(zhuǎn)指令直接尋址方式的指令代碼typedef void(* tint func)(void);/聲明指向函數(shù)的數(shù)

11、據(jù)類型type struct jumpEntry /聲明結(jié)構(gòu)jump entry類型無符號字符jmpIstrtIntFunc intFunc/定義tIntFunc類型的變量 JumpEntry/CONFIG1_VAL存儲在CONFIG1_ADR定義的地址中。const無符號char CONFIGX config 1 _ ADR = config 1 _ VAL;/定義每個中斷向量的中斷入口。const JumpEntry IntJmpTableJMP _ tab _ ADR = /定義一個數(shù)組IntJmpTable,其元素屬于jump entry類型。JMP _代碼,_ ADC _中斷,/AD

12、轉(zhuǎn)換中斷向量地址:$FDEBJMP _代碼,_ KBD _中斷,/鍵盤喚醒中斷向量地址:$FDEEJMP代碼,_ TOF _中斷,/定時器計數(shù)器溢出中斷向量地址:$FDF1JMP _代碼,_ TCH1 _中斷,/定時器通道1溢出中斷向量地址:$FDF4JMP代碼,_ TCH0 _中斷,/定時器通道0溢出中斷向量地址:$FDF7JMP _代碼,_ IRQ _中斷,/IRQ向量地址:$FDFAJMP _代碼,_啟動/復位向量地址:$FDFD;/數(shù)碼管的顯示編碼容量為:0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,-,threeconst unsigned char SG code

13、20= 0 x3f,6,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,7,0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71,0,0 x40,0 x49,0 x 66 ;無符號字符dspbf4=0 x0d,0 x0c,0 x0d,0 x0c ;/存儲要顯示的數(shù)據(jù)/無符號字符mscnt/定時器溢出計數(shù)位int backtime/定義一個全局變量來存儲超聲波傳播時間。bool int flag = 0;/定義一個全局變量來存儲超聲波接收中斷標志。bool int flag 2 = 0;/定義一個全局變量來存儲超聲波發(fā)射標志。內(nèi)部溫度;int

14、 temp1/主程序啟動。無效總管(無效)無符號字符I;無符號字符j;SYS _ Init();TSC _ ts top = 0;/允許開始計數(shù)for(;)禁用中斷;/禁用所有中斷if(intflag=0) /intflag標志用于確定超聲波接收是否中斷。/如果有接收中斷,則置位;如果不是,則為0,數(shù)碼管上顯示“dcdc”。DSP BF0= 0 x0d;DSP BF1= 0 x0c;DSP BF2= 0 x0d;DSP BF3= 0 x0c;for(I = 0;I 4;i+) display(dspbfi,I);/分別發(fā)送顯示for(I = 0;I 4;i+) display(dspbfi,I

15、);/分別發(fā)送顯示int flag 2 = 0;int flag = 0;TSC _ TOIE = 0;/停止計數(shù)中斷back time = 0;TSC _ TOIE = 1;for(I = 0;I 5;+)/發(fā)送40KHz的短脈沖pta=0 x12;/PTA1和PTA4共同驅(qū)動超聲波發(fā)射探頭進行逐位異或。_ ASM(nop);for(I = 0;i 10+)/超聲波發(fā)射后,延遲一小段時間,禁止所有接收中斷,防止接收錯誤。_ ASM(nop);/C語言中嵌入的空操作指令啟用中斷;/打開所有中斷int flag 2 = 1;/超聲波發(fā)射后設(shè)置超聲波發(fā)射標志,接收后清零。for(j = 0;j 2

16、0+)/顯示并長時間等待接收回流中斷并處理距離值。for(I = 0;I 4;i+) display(dspbfi,I);/分別發(fā)送顯示for(I = 0;I 4;i+) display(dspbfi,I);/分別發(fā)送顯示for(I = 0;I 4;i+) display(dspbfi,I);/分別發(fā)送顯示/*/*文件名:系統(tǒng)初始化子程序*/*程序描述:包括配置寄存器、端口寄存器和定時器寄存器的設(shè)置*/*輸入?yún)?shù):無*/* return:無*/*/void SYS_Init(void)CONFIG2 = 0 x00/使用部分晶體振蕩器關(guān)閉reset引腳。CONFIG1 = 0 x3d/禁用看門

17、狗,禁用LVI模塊,禁用LVI復位/int SCR = 0 x 00;/端口AB的初始化DDRB = 0 x ff;/PTB7、PTB6為輸入,其余為輸出。PTBPUE = 0 xc0/PTB7和PTB6設(shè)置上拉電阻。PTB = 0 xff/將所有端口B設(shè)置為1。DDRA = 0 x 12;/端口a為輸入模式,PTA1 PTA4為輸出模式。PTA = 0 x02/端口a全為0。/定時器計數(shù)器初始化TSC = 0 x63/設(shè)置允許定時器溢出中斷,設(shè)置分頻因子為32 n=t*f/p p作為分頻因子。TMOD = 1;/將預置寄存器值定時器的本振頻率設(shè)置為3.2Mhz /TMOD=0.00001*3

18、.2M/32=1。/鍵盤控制狀態(tài)寄存器的初始化。KBSCR = 0 x00/鍵盤狀態(tài)和控制寄存器允許鍵盤中斷下降沿觸發(fā)。KBIER = 0 x04/鍵盤中斷控制寄存器禁止自動喚醒鍵盤中斷,并將PTA2設(shè)置為中斷輸入端口。啟用中斷;/打開總中斷/*/*文件名:display函數(shù)*/*程序描述:在N位置,顯示數(shù)值DSPCHAR */*調(diào)用子程序:傳遞數(shù)值的pled函數(shù)*/*輸入?yún)?shù):dspchar,n */* dspcar:段選擇信號,輸入用戶要顯示的數(shù)據(jù)*/* n:位選擇信號,*/*返回參數(shù):none */*/void顯示(無符號字符dspchar,無符號字符n)無符號字符I,j,k = 1;f

19、or(j = 0;j (n+2);j+)k * = 2;pled(SG codedspchar);/將代碼發(fā)送到LEDPTB = 0 x00pt b+ = k;/位選擇for(I = 0;i 25i+)/延遲_ ASM(nop);PTB = 0 x00/*/*文件名:pled函數(shù)*/*程序描述:8位并行輸出串行移位編程,PTB1為時鐘信號,PTB0的輸出為并行輸出*/*輸入?yún)?shù):要顯示的值的代碼k */* return:無*/*/void pled(無符號字符k)無符號字符I;PTB = 0 x00/所有/PTB端口變?yōu)榈碗娖絝or(I = 0;I 8;i+)PTB _ pt B1 = 0;/

20、將PTB1拉低,即時鐘信號變低。if(k 0 x 80)PTB _ PTB 0 = 1;/從高位開始發(fā)送,檢查最高位是否為1,如果為0,PTB0=1,如果高位為1,默認為0。PTB _ pt B1 = 1;/給一個下降沿信號,移動信號PTB = 0 x00/準備處理下一位k = 1;/向左移動/*/*/下面的中斷函數(shù)可以在需要的時候?qū)懺谙鄳暮瘮?shù)里。中斷void _ ADC _中斷(void) 中斷void _ KBD _中斷(void)If(intflag2=1) /如果超聲波已經(jīng)發(fā)出If(intflag=0) /如果超聲波發(fā)射后第一次接收到回波,為了防止雜散回波的干擾int flag 2 = 0;禁用中斷;/收到回應后禁用所有中斷TSC _ TOIE = 0;/禁止定時溢出中斷temp =(float)(back time)* 1.89;back time = 0;/重寫backtime的值時,必須禁止計時溢出中斷。TSC _ TOIE = 1;int flag 2 = 0;int flag = 1;/處理距離值并顯示temp 1 = temp/10;/距離值除以10,并賦給一個中間變量。DSP BF0= temp/1000;/在第0個數(shù)碼管存儲器中存儲千位。DSP BF2= temp 1% 10;/在第二個數(shù)碼管

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論