- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理及应用设计
摘要
由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量。利用超声波检测距离,设计比较方便,计算处理也较简单,并且在测量精度方面也能达到日常使用的要求。
设计的超声波测距器利用超声波传输中距离与时间的关系,采用以AT89S51单片机为核心进行控制及数据处理,最终完成低成本、高精度、微型化数字显示超声波测距器的硬件电路和软件设计。该测距器主要由超声波发射电路、超声波接收检测电路、单片机控制电路、系统电源电路及显示电路构成。整个程序采用模块化设计,由主程序、发射子程序、接收子程序、显示子程序等模块组成。各探头的信号经单片机综合分析处理,实现超声波测距器的各种功能。在此基础上设计了系统的总体方案,最后通过硬件和软件实现了各个功能模块。
经过实验表明,这套系统软硬件设计合理、抗干扰能力强、实时性良好,经过系统扩展和升级,可应用于汽车倒车、建筑施工工地以及一些工业现场的位置监控,还能有效地解决汽车倒车,液位、水深、管道长度的测量问题。
关键词:超声波;AT89S51;LED;中断;测距
目 录
摘要 I
目 录 I
1 设计目的 1
2 总体方案 2
2.1 超声波测距原理 2
2.2 设计思路 2
3 硬件设计 3
3.1 单片机系统及显示电路 3
3.2 超声波发射电路 4
3.3 超声波检测接收电路 4
4 软件设计 4
4.1主程序设计 5
4.1.1 主程序框图设计 5
4.1.2 主程序代码设计 6
4.2 中断子程序设计 7
4.2.1 中断子程序框图设计 7
4.2.2 中断子程序代码设计 8
4.3 显示子程序代码设计 8
4.4 距离计算子程序代码设计 9
5 结论 11
参考文献 12
1 设计目的
设计一个超声波测距器,可应用于汽车倒车、建筑施工工地以及一些工业现场的位置监控,也可用于如液位、井深、管道长度的测量等场合。要求测量范围在0.10~4.00m,测量精度1 cm,测量时与被测物体无直接接触,能够清晰稳定地显示测量结果。
2 总体方案
2.1 超声波测距原理
超声波测距的原理一般采用渡越时间法TOF(time?of?flight)。S=Ct/2就可以算出距离。即首先测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的声源与障碍物之间的距离单片机通过P1.0引脚控制超声波的发送,然后单片机不停的检测INT0引脚,当INT0引脚的电平由高电平变为低电平时就认为超声波已经返回。计数器的数据就是超声波所经历的时间,通过换算就可以得到传感器与障碍物之间的距离。根据设计要求并综合各方面因素,可以采用AT89S51单片机作为主控制器,用动态扫描法实现LED数字显示,超声波驱动信号用单片机的定时器完成
图2.2系统框图
3 硬件设计
系统硬件主要由单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分组成。单片机采用89S51或其兼容系列。采用12MHz高精度的晶振,以获得较稳定的时钟频率,减小测量误差。单片机用P1.0端口输出超声波转化器所需的40KHz方波信号,利用外中断0口检测超声波接受电路输出的返回信号。显示电路采用简单实用的4位共阳LED数码管,位码用PNP三极管驱动。单片机系统及显示电路如下图所示
图3.1.1单片机系统晶振电路 图3.1.2 单片机系统复位电路
图3.1.3单片机显示电路
3.2 超声波发射电路
单片机通过PI.0引脚控制超声波的发射。
图3.2超声波发射电路
3.3 超声波检测接收电路
参考红外转化接收期刊的电路采用集成电路CX20106A,这是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38KHz与测距超声波频率40KHz较为接近,可以利用它作为超声波检测电路。实验证明其具有很高的灵敏度和较强的抗干扰能力。
图3.3超声波检测接收电路
4 软件设计
系统软件设计主要由主程序、子程序、超声波接收中断程序显示子程序等部分。主程序首先对系统环境初始化,设置定时器T0工作模式为16位的定时计数器模式,置位总中断允许位EA并给显示端口P0和P2清0。然后调用超声波发生子程序送出一个超声波脉冲,为避免超声波从发射器直接传送到接收器引起的直接波触发,需延迟0.1ms(这也就是测距器会有一个最小可测距离的原因)后,才打开外中断0接收返回的超声波信号。由于采用12MHz的晶振,机器周期为1us,当主程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)按下式计算即可测得被测物体与测距仪之间的距离,设计时取20℃时的声速为344 m/s则有:
d=(C*T0)/2 =172T0/10000
文档评论(0)