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

下載本文檔

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

文檔簡介

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

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

5、ut出現(xiàn)低脈沖時程序往下運(yùn)行MOVDX,04A0HINAL,DXMOVBL,AL;讀計數(shù)器的低八位放入BLINAL,DXMOVBH,AL;讀計數(shù)器的高八位放入BHMOVAX,0FFFFHSUBAX,BX;從發(fā)出信號到接收信號之間計數(shù)器的計數(shù)值N=定時器計數(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;得到距離值的個位放到DX的低四位ORAX,DX;將距離值的千位、百位、十位和個位組合MOVBX,AX;組合的距離值放入BX功能實(shí)現(xiàn)CALLDISP;距離值顯示在數(shù)碼管上CALLD

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

8、II碼的偏移地址MOVAL,CS:DIOUTDX,AL;顯示百位NOPNOPMOVDI,OFFSETSEGCODMOVAL,BLANDAL,0F0HMOVCL,4SHRAL,CL;距離值十位放入ALADDDI,AX;得到十位對應(yīng)ASCII碼的偏移地址MOVAL,CS:DIOUTDX,AL;顯示十位NOPNOPMOVDI,OFFSETSEGCODMOVAL,BLANDAL,0FHH;距離值個位放入ALADDDI,AX;得到個位對應(yīng)ASCII碼的偏移地址MOVAL,CS:DIOUTDX,AL;顯示個位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給低信號CALLCOMD;調(diào)用CALLDELAY=8253定時器初始化=START1:MOVDX,04A6HMOVAX,30HOUTDX,AX;選擇計數(shù)器0MOVDX,0

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

12、跳轉(zhuǎn)到REVREV1:INCBXCMPBX,0FFFFHJESTART1;若沒有收到返回信號,重新發(fā)送信號INAL,DX深集DoutTESTAL,01JEREV;Dout不為1時會跳轉(zhuǎn)到REV,即Dout出現(xiàn)低脈沖往下運(yùn)行MOVDX,04A0HINAL,DXMOVBL,AL;讀計數(shù)器的低八位放入BLINAL,DXMOVBH,AL;讀計數(shù)器的高八位放入BHMOVAX,0FFFFHSUBAX,BX;從發(fā)出信號到接收信號之間計數(shù)器的計數(shù)值N,=定時器計數(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;得到距離值的個位放到DX的低四位ORAX,DX;將距離值的千位,百位,十位和個位組合MOVBX,AX;組合的距離值放入BX,=功能實(shí)現(xiàn)=CALLALARMING;距離值大于300mm會報警(LED1常亮,語音模塊報警)CALLDISP;距離值顯示在LCD上CALLDELAY誕時JMPSTART1;重新開始計數(shù)運(yùn)行,=延時=DELAY:PUSHCXMOVCX,1000DELAY1:NOPLOOPDELAY1;循環(huán)1000次POPCXRETDELAY2:PUSHCXMOVCX,2000DELAY3:NOPLOOPDELAY1;循環(huán)2000次POPCXRET,=報警=ALAR

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

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

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

18、ICALLCOMDCALLDELAY;設(shè)置好十位的縱標(biāo),橫標(biāo)并顯示MOVDI,OFFSETNUMMOVAL,BLANDAL,0FH;距離值個位放入ALADDDI,AX;得到個位對應(yīng)ASCII碼的偏移地址CALLWR1;等待LCD空閑MOVAL,0F1HCALLCOMDMOVAL,07HCALLCOMDCALLWR1MOVAL,15HCALLCOMDCALLWR1MOVAL,DICALLCOMDCALLDELAY;設(shè)置好個位的縱標(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等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論