汇编课设 2.docx
《汇编课设 2.docx》由会员分享,可在线阅读,更多相关《汇编课设 2.docx(12页珍藏版)》请在冰豆网上搜索。
汇编课设2
摘要
本文研究了单片机汽车倒车测距仪。
利用超声测距技术与单片机设计制作出超声波汽车倒车测距仪。
该系统在常见的汽车倒车预警装置的基础上采用计算机控制技术和超声波测距技术,通过显示障碍物与汽车的距离并根据其距离远近实时发出报警,解除了驾驶员泊车和起动车辆时前后左右探视所引起的困扰,提高了驾驶安全性。
本文在研究单片机汽车倒车测距仪过程中,运用理论分析、电路设计和计算机仿真等研究手段,完成了单片机汽车倒车测距仪硬件和软件的设计。
本文在查阅、分析国内外单片机汽车倒车测距仪相关技术的基础上,结合最新研究成果,对基于超声波测距的倒车测距系统的研制进行了深入探讨和研究。
该系统分为测距模块、系统控制模块和显示报警模块,并分别对其进行方案分析,构建了单片机汽车倒车测距仪构架和设计方案;在硬件电路中,详细阐述了运用单片机技术实现的可视倒车预警系统的测距实现原理,分析了以单片机为主控单元的系统硬件和软件设计,并对该系统进行了试验和误差分析,给出了本系统的稳定性指标。
试验结果显示,该系统对室内有限距离的距离测量具有较高的精度,实现了倒车提示和距离报警功能,其主要技术指标达到了系统设计要求,并通过系统仿真研究,验证了系统的可靠性和可行性。
目录
1汽车倒车测距仪设计1
2小组成员:
1
3设计内容及要求2
4硬件设计3
4.1硬件组成3
4.2硬件电路图4
4.2.1单片机最小系统5
4.2.2单片机测距原理5
4.2.4 超声波检测接收电路7
4.2.5 LED显示电路及报警7
5软件设计9
5.1系统软件的设计9
6结论10
7参考文献11
8心得体会12
附录13
1汽车倒车测距仪设计
2小组成员:
。
。
。
。
。
。
。
。
。
3设计内容及要求
1、设计一个微机控制的汽车倒车测距仪,能测量并显示车辆后部障碍物离车辆的距离,同时用间歇的“嘟嘟”声发出警报,“嘟嘟”声间隙随障碍物距离缩短而缩短,驾驶员不但可以直接观察到检测的距离,还可以凭听觉判断车后障碍物离车辆距离的远近;
1开机后先显示“———”,并有开机指示灯。
2CPU发射超声波1ms,然后显示60ms;即1ms+60ms为一个工作周期,等待回波,在次周期内完成一次探测。
3根据距离远近发出报警声并显示距离。
障碍物距离小于1m,距离值变化5cm更换显示,否则不更换;距离在1m以上,新值与原显示值之差大于10cm更换,否则不更换。
4用三LED位数码管显示障碍物距离
2、硬件电路原理图和软件框图;
3、编写控制程序,写出设计任务书(总结报告)。
4硬件设计
4.1硬件组成
按照系统所需功能,系统硬件结构可以划分为三大主要模块:
测距系统、控制系统以及显示和语音报警系统。
系统总体结构框图1
图1系统总体结构框
4.2硬件电路图
硬件总电路图如图2
图2
4.2.1单片机最小系统
其作用主要是为了保证单片机系统能正常工作。
如图2所示,单片机最小系统主要由AT89S51单片机、外部振荡电路、复位电路和+5V电源组成。
在外部振荡电路中,单片机的XTAL1和XTAL2管脚分别接至由12MHZ晶振和两个30PF电容构成的振荡电路两侧,为电路提供正常的时钟脉冲。
在复位电路中,单片机RESET管脚一方面经20F的电容接至电源正极,实现上电自动复位,另一方面经开关s接电源。
其主要功能是把PC初始化为0000H,是单片机从0000H单元开始执行程序,除了进入系统的初始化之外,当由于程序出错或者操作错误使系统处于死锁状态时,为了摆脱困境,也需要按复位键重新启动,因此,复位电路是单片机系统中不可缺少的一部分。
图3单片机最小系统
4.2.2单片机测距原理
单片机发出超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接收回波的时间差tr,然后求出距离S=Ct/2,式中的C为超声波波速。
限制该系统的最大可测距离存在4个因素:
超声波的幅度、反射的质地、反射和入射声波之间的夹角以及接收换能器的灵敏度。
接收换能器对声波脉冲的直接接收能力将决定最小的可测距离。
为了增加所测量的覆盖范围、减小测量误差,可采用多个超声波换能器分别作为多路超声波发射或接收的设计方法,限于实际需要,本电路只采用单路超声波发射接收。
4.2.3 超声波发射电路
压电超声波转换器的功能:
利用压电晶体谐振工作。
内部结构上图所示,它有两个压电晶片和一个共振板。
当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动产生超声波,这时它就是一超声波发生器。
本设计中发射器电路采用集成电路模块不需考虑这些问题,主要是采用4069反相器在换能器两端提供脉冲信号。
其原理图如图4所示。
图4超声破发射电路
4.2.4 超声波检测接收电路
集成电路CX20106A是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。
考虑到红外遥控常用的载波频率38kHz与测距的超声波频率40kHz较为接近,可以利用它制作超声波检测接收电路(如图2-3)。
实验证明用CX20106A接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。
适当更改电容CS的大小,可以改变接收电路的灵敏度和抗干扰能力。
此部分电路在集成芯片上。
如图5
图5超生波接受电路
4.2.5 LED显示电路及报警
根据设计要求并综合各方面因素,可以采用AT89S51单片机作为主控制器,用动态扫描法实现LED数字显示,超声波驱动信号用单片机的定时器完成,并实现报警,电路如下图6
图6LED显示及报警电
5软件设计
5.1系统软件的设计
主程序流程图7
Yes
no
Yesno
图7
6结论
由于时间和其它客观上的原因,此次设计没有成功做出实物。
但是对设计有一个很好的理论基础。
设计的最终结果是使超声波测距仪能够产生超声波,实现超声波的发送与接收,从而实现利用超声波方法测量物体间的距离。
以数字的形式显示测量距离。
超声波测距的原理是利用超声波的发射和接受,根据超声波传播的时间来计算出传播距离。
实用的测距方法有两种,一种是在被测距离的两端,一端发射,另一端接收的直接波方式,适用于身高计;一种是发射波被物体反射回来后接收的反射波方式,适用于测距仪。
此次设计采用反射波方式。
超声波测距仪硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分。
单片机采用AT89S51或其兼容系列。
采用12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。
单片机用P1.0端口输出超声波换能器所需的40kHz的方波信号,利用外中断0口监测超声波接收电路输出的返回信号。
显示电路采用简单实用的4个七段共阳数码管组成动态扫描电路。
超声波检测接收电路主要是由集成电路CX20106A组成,它是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。
考虑到红外遥控常用的载波频率38kHz与测距的超声波频率40kHz较为接近,可以利用它制作超声波检测接收电路。
7参考文献
[1].张迎新.单片微型计算机原理、应用及接口技术.北京:
国防工业出版社,2004
[2].王福瑞等.单片微机测控系统设计大全.北京:
北京航空航天大学出版社,2002
[3].胡萍.超声波测距仪的研制.计算机现与代化,2003.10
[4].华兵.MCS-51单片机原理及应该用.武汉:
武汉华中科技大学出版社,2002.5
[5].李华.MCS-51系列单片机使用接口技术.北京:
北京航空航天大学出版社,1993.6
[6].陈光东.单片机微型计算机原理与借口技术(第二版).武汉:
华中理工大学出版社,1999.4
8心得体会
在这次的课程设计中感谢彭元修老师对我的指导。
这次课设收获很大,学习了汇编编程。
编程用去了很多时间,从完全不懂到编能进行模拟的程序,其中需要自己学习很多东西,并在很短的时间内融会贯通,考验了自己的学习能力。
跟组员的协作过程也是很愉快的,这是次难忘的课设。
附录
DATASEGMENT
TDB?
;单片机计时器传送过来的时间
BDB?
;分别为百十个位
SDB?
GDB?
CDW?
;寄存比较数的
TAB:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH,88H,0BFH;
共阳段码表"0""1""2""3""4""5""6""7""8""9""不亮""A""-"
DATAENDS
CODESEGMENT
ASSUMEDS:
DATA,CS:
CODE
START:
MOVAX,DATA
MOVDS,AX
MOVAL,F8H;设置数码管的位选信号,即三个全选
OUT70H,AL;假设70H为位选控制端口
MOVAL,TAB+0DH;0dh为在数码管上显示"-"
OUT71H,AL;假设71H为三个数码管的段选控制端口
MOVAL,01;假设给指示灯一个高电平就亮,低电平就灭
OUT72H,AL;假设72H为指示灯控制口
MOVAL,01H;一个脉冲驱动外设,即让发射
OUT73H,AL;装置每一毫秒发射一个信号
XORAL,AL
OUT73H,AL
MOVDX,74H;假设74H为接受返回信号的端
INAL,DX;口,并且接收到低电平表示
IN1:
CMPAL,0;接到了返回信号
JNEIN1;不等于0时继续接收
CALLJLJS
MOVC,DX
CALLDIAPLAY
CALLDL60MS;
AGAIN:
MOVDX,74H;假设74H为接受返回信号的端
INAL,DX;口,并且接收到低电平表示
IN2:
CMPAL,0;接到了返回信号
JNEIN2;不等于0时继续接收
CALLJLJS
CMPDX,64H
JADAYU100
CMPDX,32H
JABT50_100
JMPXYU50
DAYU100:
MOVAL,01H
OUT75H,AL;假设75H为低频报警控制端口
SUBC,AH;C减10
CMPDX,C
JBENEXT1
JMPAGAIN
NEXT1:
CALLDISPLAY
JMPAGAIN
BT50_100:
MOVAL,01H
OUT76H,AL;假设76H为中频报警控制端口
SUBC,5
CMPDX,C
JBENEXT2
JMPAGAIN
NEXT2:
CALLDISPLAY
JMPAGAIN
XYU50:
MOVAL,01H
OUT77H,AL;假设77H为高频报警控制端口
SUBC,5
CMPDX,C
JBENEXT3
JMPAGAIN
NEXT3:
CALLDISPLAY
JMPAGAIN
;****************************************************
;*DELAY60MS子程序*
;****************************************************设选择的芯片执行一条指令时间为1微秒
DELAY60MSPROCNEAR/FAR
PUSHAX
MOVAX,000E1600H;即把60000赋给AX
DECAX
CMPAX,0H
JAAGAIN
POPAX
RET
DELAY60MSENDP
;****************************************************
;*距离计算子程序*
;****************************************************距离=17*T单位:
厘米,超声波按340m/s算
JLJSPROCNEAR/FAR
PUSHAX
MOVAL,11H
MULT
MOVDX,AX
POPAX
RET
JLJSENDP
;****************************************************
;*显示子程序*
;****************************************************
DISPLAYPROCNEAR/FAR
PUSHAX
MOVAX,DX
DIV64H;除以100取得百位
MOVB,AL;B为百位
MOVAL,AH;把余数取出扩展成字
XORAH,AH
MUL0AH;取十位和个位
MOVS,AL
MOVG,AH
MOVAL,FBH;位选为11111011
OUT70H,AL
MOVAL,TAB+B;显示百位
OUT71H,AL
MOVAL,FDH;位选为11111101
OUT70H,AL
MOVAL,TAB+S;显示十位
OUT71H,AL
MOVAL,FEH,位选为11111110
OUT70H,AL
MOVAL,TAB+G
OUT71H,AL
POPAX
RET
DISPLAYENDP