微机原理报告超声波测距_第1页
微机原理报告超声波测距_第2页
微机原理报告超声波测距_第3页
微机原理报告超声波测距_第4页
微机原理报告超声波测距_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、超声波测距系统摘要随着科学技术的发展,超声波测距应用越来越广泛。本文介绍了一种采用基于的超声波测距系统。该设计充分利用实验平台的硬件资源,汇编语言编程自动实现超声波的发射与接收控制,通过825定3时器所计超声波往返所经历的的时间,经过换算得到超声波传感器与反射物体之间的距离。利用82键盘显示电路驱动数码管、可编程并口接口芯片825驱5动液晶显示屏实现距离值得显示。超声波测距有效距离厘米左右,超过一定阈值()会有灯光和语言报警。关键词:超声波;定时器;时间差测距法;数码管;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设计内容2 HYPERLINK l bookmark6 实验设备2 HYPERLINK l bookmark

4、8 设计原理2超声波模块28253定时器模块4数码管显示模块4LCD显示模块5 HYPERLINK l bookmark44 语音录放模块6简单I/O口扩展电路6设计过程7设计思路7程序流程8程序清单9现象结论11现象11结论12任务分配14 HYPERLINK l bookmark50 心得体会14 HYPERLINK l bookmark52 参考文献15附录16微机原理课程设计报告微机原理课程设计报告 REV1:INCBXCMPBX,0FFFFHJESTART1;若没有收到返回信号,重新发送信号INAL,DX深集DoutTESTAL,01JEREV;Dout不为1时会跳转到REV,即Do

5、ut出现低脉冲时程序往下运行MOVDX,04A0HINAL,DXMOVBL,AL;读计数器的低八位放入BLINAL,DXMOVBH,AL;读计数器的高八位放入BHMOVAX,0FFFFHSUBAX,BX;从发出信号到接收信号之间计数器的计数值N=定时器计数值转换为距离值=SHRAX,1滁2MOVBX,71HMULBX;乘113MOVBX,1000DIVBX滁1000MOVDX,00H;距离d=(1/(3*10人6)*(N/2)*(340*1000)mm=距离值各位分别用一位16进制数表示=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功能实现CALLDISP;距离值显示在数码管上CALLD

7、ELAY;延时JMPSTART1;重新开始计数运行=延时=DELAY:PUSHCXMOVCX,1000DELAY1:NOPLOOPDELAY1;循环1000次POPCXRET数码管显示=DISP:MOVDI,OFFSETSEGCODMOVDX,DAT8279MOVAX,00HMOVAL,BHANDAL,0F0HMOVCL,4SHRAL,CL;距离值千位放入ALADDDI,AX;得到千位对应ASCII码的偏移地址MOVAL,CS:DIOUTDX,AL;显示千位NOPNOPMOVDI,OFFSETSEGCODMOVAL,BHANDAL,0FH;距离值百位放入ALADDDI,AX;得到百位对应ASC

8、II码的偏移地址MOVAL,CS:DIOUTDX,AL;显示百位NOPNOPMOVDI,OFFSETSEGCODMOVAL,BLANDAL,0F0HMOVCL,4SHRAL,CL;距离值十位放入ALADDDI,AX;得到十位对应ASCII码的偏移地址MOVAL,CS:DIOUTDX,AL;显示十位NOPNOPMOVDI,OFFSETSEGCODMOVAL,BLANDAL,0FHH;距离值个位放入ALADDDI,AX;得到个位对应ASCII码的偏移地址MOVAL,CS:DIOUTDX,AL;显示个位MOVAL,40HOUTDX,AL;显示-OUTDX,AL;显示-OUTDX,AL;显示-OUTD

9、X,AL;显示-RET=数码管显示码制=SEGCODDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H;共阴数码管码制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,拨码开关的输出k1接语音模块上的REC;=ASSUMECS:CODECODESEGMENTPUBLICORG100H;调整偏移量为100H=LCD初始化=START:MOVDX,04D6HMOVAX,88HOUTDX,AX;8255控制字(A口方式为输出,PC7输入0输出)MOVAX,70HOUTDX,AXMOVAL,0F4H;PC0输出0,REQ给低信号CALLCOMD;调用CALLDELAY=8253定时器初始化=START1:MOVDX,04A6HMOVAX,30HOUTDX,AX;选择计数器0MOVDX,0

11、4A0HMOVAX,0FFHOUTDX,AX;计数器0低8位为0ffhMOVAX,0FFHOUTDX,AX;计数器0高8位为0ffhMOVDX,04B0HMOVCX,10=超声波模块发送信号=SEND:MOVAL,0FFHOUTDX,AL;Din给高电平MOVAX,0OUTDX,AL;Din给低电平LOOPSEND;Din高低循环10次形成10个脉冲MOVCX,10MOVDX,04C0HMOVBX,0H=超声波模块接收返回信号=REV:INCBXCMPBX,0FFFFHJESTART1;若没有收到返回信号,重新发送信号INAL,DX深集DoutTESTAL,01JNEREV;Dout不为0时会

12、跳转到REVREV1:INCBXCMPBX,0FFFFHJESTART1;若没有收到返回信号,重新发送信号INAL,DX深集DoutTESTAL,01JEREV;Dout不为1时会跳转到REV,即Dout出现低脉冲往下运行MOVDX,04A0HINAL,DXMOVBL,AL;读计数器的低八位放入BLINAL,DXMOVBH,AL;读计数器的高八位放入BHMOVAX,0FFFFHSUBAX,BX;从发出信号到接收信号之间计数器的计数值N,=定时器计数值转换为距离值=SHRAX,1滁2MOVBX,71HMULBX;乘113MOVBX,1000DIVBX;除1000MOVDX,00H;距离d=(1/

13、(3*10人6)*(N/2)*(340*1000)mm,:=距离值各位分别用一位16进制数表示=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,=功能实现=CALLALARMING;距离值大于300mm会报警(LED1常亮,语音模块报警)CALLDISP;距离值显示在LCD上CALLDELAY诞时JMPSTART1;重新开始计数运行,=延时=DELAY:PUSHCXMOVCX,1000DELAY1:NOPLOOPDELAY1;循环1000次POPCXRETDELAY2:PUSHCXMOVCX,2000DELAY3:NOPLOOPDELAY1;循环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;得到千位对应ASCII码的偏移地址CALLWR1;等待LCD空闲MOVAL,0F1HCALLCOMDCALLWR1MOVAL,04HCALLCOMDCALLWR1MOVAL,15HCALLCOMDCALLWR1MOVCALLCALLAL,DICOMDDELAY;设置好千位的纵标,横标并显示MOVDI,OFFSETNUMMOVAL,BHANDAL,0FH;距离值百位放入ALADDDI,AX;得到百位对应ASCII码的偏移地址CALLWR1

17、;等待LCD空闲MOVAL,0F1HCALLCOMDCALLWR1MOVAL,05HCALLCOMDCALLWR1MOVAL,15HCALLCOMDCALLWR1MOVAL,DICALLCOMDCALLDELAY;设置好百位的纵标,横标并显示MOVDI,OFFSETNUMMOVAL,BLANDAL,0F0HMOVCL,4SHRAL,CL;距离值十位放入ALADDDI,AX;得到十位对应ASCII码的偏移地址CALLWR1;等待LCD空闲MOVAL,0F1HCALLCOMDCALLWR1MOVAL,06HCALLCOMDCALLWR1MOVAL,15HCALLCOMDCALLWR1MOVAL,D

18、ICALLCOMDCALLDELAY;设置好十位的纵标,横标并显示MOVDI,OFFSETNUMMOVAL,BLANDAL,0FH;距离值个位放入ALADDDI,AX;得到个位对应ASCII码的偏移地址CALLWR1;等待LCD空闲MOVAL,0F1HCALLCOMDMOVAL,07HCALLCOMDCALLWR1MOVAL,15HCALLCOMDCALLWR1MOVAL,DICALLCOMDCALLDELAY;设置好个位的纵标,横标并显示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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论