微機(jī)原理報(bào)告超聲波測距_第1頁
微機(jī)原理報(bào)告超聲波測距_第2頁
微機(jī)原理報(bào)告超聲波測距_第3頁
微機(jī)原理報(bào)告超聲波測距_第4頁
微機(jī)原理報(bào)告超聲波測距_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、超聲波測距系統(tǒng)摘要隨著科學(xué)技術(shù)的發(fā)展,超聲波測距應(yīng)用越來越廣泛。本文介紹了一種采用基于的超聲波測距系統(tǒng)。該設(shè)計(jì)充分利用實(shí)驗(yàn)平臺(tái)的硬件資源,匯編語言編程自動(dòng)實(shí)現(xiàn)超聲波的發(fā)射與接收控制,通過825定3時(shí)器所計(jì)超聲波往返所經(jīng)歷的的時(shí)間,經(jīng)過換算得到超聲波傳感器與反射物體之間的距離。利用82鍵盤顯示電路驅(qū)動(dòng)數(shù)碼管、可編程并口接口芯片825驅(qū)5動(dòng)液晶顯示屏實(shí)現(xiàn)距離值得顯示。超聲波測距有效距離厘米左右,超過一定閾值()會(huì)有燈光和語言報(bào)警。關(guān)鍵詞:超聲波;定時(shí)器;時(shí)間差測距法;數(shù)碼管;LCD;報(bào)警UltrasonicRangingSystemAbstractWiththedevelopmentoftechn

2、ology,theultrasounddistancemeasurementismoreandmorewidelyused.Thisarticleintroducesoneultrasonicrangingsystembasedon8086.Madethemostofhardwareandsoftware,itimplementstheultrasound-transmittedandultrasound-receivedautomatically.Itusesthe8253timertocountthetimeandthenconvertittogetthedistancebetweenul

3、trasoundsensorandreflector.ThedigitaltubeandLCDwilldisplaythedistancedynamicly.Whenthedistanceislargerthan300mm,itwillgivealightalarmandavoicealarm.KeyWords:ultrasound;timer;digitaltube;LCD;alarmTOC o 1-5 h z摘要1Abstract1 HYPERLINK l bookmark2 引言1設(shè)計(jì)內(nèi)容2 HYPERLINK l bookmark6 實(shí)驗(yàn)設(shè)備2 HYPERLINK l bookmark

4、8 設(shè)計(jì)原理2超聲波模塊28253定時(shí)器模塊4數(shù)碼管顯示模塊4LCD顯示模塊5 HYPERLINK l bookmark44 語音錄放模塊6簡單I/O口擴(kuò)展電路6設(shè)計(jì)過程7設(shè)計(jì)思路7程序流程8程序清單9現(xiàn)象結(jié)論11現(xiàn)象11結(jié)論12任務(wù)分配14 HYPERLINK l bookmark50 心得體會(huì)14 HYPERLINK l bookmark52 參考文獻(xiàn)15附錄16微機(jī)原理課程設(shè)計(jì)報(bào)告微機(jī)原理課程設(shè)計(jì)報(bào)告 REV1:INCBXCMPBX,0FFFFHJESTART1;若沒有收到返回信號(hào),重新發(fā)送信號(hào)INAL,DX深集DoutTESTAL,01JEREV;Dout不為1時(shí)會(huì)跳轉(zhuǎn)到REV,即Do

5、ut出現(xiàn)低脈沖時(shí)程序往下運(yùn)行MOVDX,04A0HINAL,DXMOVBL,AL;讀計(jì)數(shù)器的低八位放入BLINAL,DXMOVBH,AL;讀計(jì)數(shù)器的高八位放入BHMOVAX,0FFFFHSUBAX,BX;從發(fā)出信號(hào)到接收信號(hào)之間計(jì)數(shù)器的計(jì)數(shù)值N=定時(shí)器計(jì)數(shù)值轉(zhuǎn)換為距離值=SHRAX,1滁2MOVBX,71HMULBX;乘113MOVBX,1000DIVBX滁1000MOVDX,00H;距離d=(1/(3*10人6)*(N/2)*(340*1000)mm=距離值各位分別用一位16進(jìn)制數(shù)表示=DIVBXMOVCL,12SHLAX,CLPUSHAX;得到距離值的千位放到AH的高四位,并壓入堆棧MOV

6、AX,DXMOVDX,00HMOVBX,100DIVBXANDAX,0FHMOVCL,8SHLAX,CL;得到距離值的百位放到AH的低四位POPCXORAX,CXPUSHAX;將距離值的千位和百位組合壓棧MOVAX,DXMOVDX,00HMOVBX,10DIVBXANDAX,0FHMOVCL,4SHLAX,CL;得到距離值的十位放到AL的高四位POPCXORAX,CX;將距離值的千位、百位和十位組合ANDDX,0FH;得到距離值的個(gè)位放到DX的低四位ORAX,DX;將距離值的千位、百位、十位和個(gè)位組合MOVBX,AX;組合的距離值放入BX功能實(shí)現(xiàn)CALLDISP;距離值顯示在數(shù)碼管上CALLD

7、ELAY;延時(shí)JMPSTART1;重新開始計(jì)數(shù)運(yùn)行=延時(shí)=DELAY:PUSHCXMOVCX,1000DELAY1:NOPLOOPDELAY1;循環(huán)1000次POPCXRET數(shù)碼管顯示=DISP:MOVDI,OFFSETSEGCODMOVDX,DAT8279MOVAX,00HMOVAL,BHANDAL,0F0HMOVCL,4SHRAL,CL;距離值千位放入ALADDDI,AX;得到千位對(duì)應(yīng)ASCII碼的偏移地址MOVAL,CS:DIOUTDX,AL;顯示千位NOPNOPMOVDI,OFFSETSEGCODMOVAL,BHANDAL,0FH;距離值百位放入ALADDDI,AX;得到百位對(duì)應(yīng)ASC

8、II碼的偏移地址MOVAL,CS:DIOUTDX,AL;顯示百位NOPNOPMOVDI,OFFSETSEGCODMOVAL,BLANDAL,0F0HMOVCL,4SHRAL,CL;距離值十位放入ALADDDI,AX;得到十位對(duì)應(yīng)ASCII碼的偏移地址MOVAL,CS:DIOUTDX,AL;顯示十位NOPNOPMOVDI,OFFSETSEGCODMOVAL,BLANDAL,0FHH;距離值個(gè)位放入ALADDDI,AX;得到個(gè)位對(duì)應(yīng)ASCII碼的偏移地址MOVAL,CS:DIOUTDX,AL;顯示個(gè)位MOVAL,40HOUTDX,AL;顯示-OUTDX,AL;顯示-OUTDX,AL;顯示-OUTD

9、X,AL;顯示-RET=數(shù)碼管顯示碼制=SEGCODDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H;共陰數(shù)碼管碼制CODEENDSENDSTARTSoniLCD;=超聲波測距&LCD顯示=;CS0接CS8253,8253CLK0接CLK1;CS1接CS273,273的輸出O0接超聲波模塊上的Din;CS2接CS244,244的輸入I0接超聲波模塊上的DOUT;CS3接8255CS,8255的PA0PA7接A/DPORT單元的DB0DB7;8255的PC7接A/DPORT的BUSY,8255的PC0接A/DPOR

10、T的REQ;8255的PB0接LED1;8255的PB5接語音模塊上的PLAY,撥碼開關(guān)的輸出k1接語音模塊上的REC;=ASSUMECS:CODECODESEGMENTPUBLICORG100H;調(diào)整偏移量為100H=LCD初始化=START:MOVDX,04D6HMOVAX,88HOUTDX,AX;8255控制字(A口方式為輸出,PC7輸入0輸出)MOVAX,70HOUTDX,AXMOVAL,0F4H;PC0輸出0,REQ給低信號(hào)CALLCOMD;調(diào)用CALLDELAY=8253定時(shí)器初始化=START1:MOVDX,04A6HMOVAX,30HOUTDX,AX;選擇計(jì)數(shù)器0MOVDX,0

11、4A0HMOVAX,0FFHOUTDX,AX;計(jì)數(shù)器0低8位為0ffhMOVAX,0FFHOUTDX,AX;計(jì)數(shù)器0高8位為0ffhMOVDX,04B0HMOVCX,10=超聲波模塊發(fā)送信號(hào)=SEND:MOVAL,0FFHOUTDX,AL;Din給高電平MOVAX,0OUTDX,AL;Din給低電平LOOPSEND;Din高低循環(huán)10次形成10個(gè)脈沖MOVCX,10MOVDX,04C0HMOVBX,0H=超聲波模塊接收返回信號(hào)=REV:INCBXCMPBX,0FFFFHJESTART1;若沒有收到返回信號(hào),重新發(fā)送信號(hào)INAL,DX深集DoutTESTAL,01JNEREV;Dout不為0時(shí)會(huì)

12、跳轉(zhuǎn)到REVREV1:INCBXCMPBX,0FFFFHJESTART1;若沒有收到返回信號(hào),重新發(fā)送信號(hào)INAL,DX深集DoutTESTAL,01JEREV;Dout不為1時(shí)會(huì)跳轉(zhuǎn)到REV,即Dout出現(xiàn)低脈沖往下運(yùn)行MOVDX,04A0HINAL,DXMOVBL,AL;讀計(jì)數(shù)器的低八位放入BLINAL,DXMOVBH,AL;讀計(jì)數(shù)器的高八位放入BHMOVAX,0FFFFHSUBAX,BX;從發(fā)出信號(hào)到接收信號(hào)之間計(jì)數(shù)器的計(jì)數(shù)值N,=定時(shí)器計(jì)數(shù)值轉(zhuǎn)換為距離值=SHRAX,1滁2MOVBX,71HMULBX;乘113MOVBX,1000DIVBX;除1000MOVDX,00H;距離d=(1/

13、(3*10人6)*(N/2)*(340*1000)mm,:=距離值各位分別用一位16進(jìn)制數(shù)表示=DIVBXMOVCL,12SHLAX,CLPUSHAX;得到距離值的千位放到AH的高四位,并壓入堆棧MOVAX,DXMOVDX,00HMOVBX,100DIVBXANDAX,0FHMOVCL,8SHLAX,CL;得到距離值的百位放到AH的低四位POPCXORAX,CXPUSHAX;將距離值的千位和百位組合壓棧MOVAX,DXMOVDX,00HMOVBX,10DIVBXANDAX,0FHMOVCL,4SHLAX,CL;得到距離值的十位放到AL的高四位POPCXORAX,CX;將距離值的千位,百位和十位

14、組合ANDDX,0FH;得到距離值的個(gè)位放到DX的低四位ORAX,DX;將距離值的千位,百位,十位和個(gè)位組合MOVBX,AX;組合的距離值放入BX,=功能實(shí)現(xiàn)=CALLALARMING;距離值大于300mm會(huì)報(bào)警(LED1常亮,語音模塊報(bào)警)CALLDISP;距離值顯示在LCD上CALLDELAY誕時(shí)JMPSTART1;重新開始計(jì)數(shù)運(yùn)行,=延時(shí)=DELAY:PUSHCXMOVCX,1000DELAY1:NOPLOOPDELAY1;循環(huán)1000次POPCXRETDELAY2:PUSHCXMOVCX,2000DELAY3:NOPLOOPDELAY1;循環(huán)2000次POPCXRET,=報(bào)警=ALAR

15、MING:CMPAX,0300HJBNOALARM;距離值小于300mm,跳到NOALARMCMPAX,0300HJGALARM;距離值大于300mm,跳到ALARMNOALARM:MOVDX,04D2HMOVAX,0FFHOUTDX,AX;8255的PB端口輸出高電平,LED燈滅,語音模塊停止報(bào)警CALLDELAY2MOVAX,0fHOUTDX,AXCALLDELAY2MOVAX,0FFHOUTDX,AXCALLRETDELAYALARM:MOVDX,04D2HMOVAX,00HOUTDX,AX;8255的PB端口輸出低電平,LED燈亮,語音模塊報(bào)警CALLRETDELAY,=LCD顯示=D

16、ISP:MOVDI,OFFSETNUMMOVAX,00HMOVAL,BHANDAL,0F0HMOVCL,4SHRAL,CL;距離值千位放入ALADDDI,AX;得到千位對(duì)應(yīng)ASCII碼的偏移地址CALLWR1;等待LCD空閑MOVAL,0F1HCALLCOMDCALLWR1MOVAL,04HCALLCOMDCALLWR1MOVAL,15HCALLCOMDCALLWR1MOVCALLCALLAL,DICOMDDELAY;設(shè)置好千位的縱標(biāo),橫標(biāo)并顯示MOVDI,OFFSETNUMMOVAL,BHANDAL,0FH;距離值百位放入ALADDDI,AX;得到百位對(duì)應(yīng)ASCII碼的偏移地址CALLWR1

17、;等待LCD空閑MOVAL,0F1HCALLCOMDCALLWR1MOVAL,05HCALLCOMDCALLWR1MOVAL,15HCALLCOMDCALLWR1MOVAL,DICALLCOMDCALLDELAY;設(shè)置好百位的縱標(biāo),橫標(biāo)并顯示MOVDI,OFFSETNUMMOVAL,BLANDAL,0F0HMOVCL,4SHRAL,CL;距離值十位放入ALADDDI,AX;得到十位對(duì)應(yīng)ASCII碼的偏移地址CALLWR1;等待LCD空閑MOVAL,0F1HCALLCOMDCALLWR1MOVAL,06HCALLCOMDCALLWR1MOVAL,15HCALLCOMDCALLWR1MOVAL,D

18、ICALLCOMDCALLDELAY;設(shè)置好十位的縱標(biāo),橫標(biāo)并顯示MOVDI,OFFSETNUMMOVAL,BLANDAL,0FH;距離值個(gè)位放入ALADDDI,AX;得到個(gè)位對(duì)應(yīng)ASCII碼的偏移地址CALLWR1;等待LCD空閑MOVAL,0F1HCALLCOMDMOVAL,07HCALLCOMDCALLWR1MOVAL,15HCALLCOMDCALLWR1MOVAL,DICALLCOMDCALLDELAY;設(shè)置好個(gè)位的縱標(biāo),橫標(biāo)并顯示MOVSI,OFFSETTABLEMOVCX,50WR2:MOVDX,04D4HINAX,DXANDAX,80HJNZWR2;等待LCD空閑MOVAL,SICALLCOMDINCSILOOPWR2RET;顯示固定字符USTB超聲波測距mm,=等到LCD空閑=WR1:MOVDX,04D4HINA

溫馨提示

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