1、 一、课设题目: 基于单片机的超声波测距器 二、设计目的: 设计一个超声波测距器, 可以应用于汽车倒车位置监控, 也可用于如液位、 井深、管道长度的测量等场合。要求测量范围在 0.10-10.00m,测量精度 1cm, 测量时与被测物体无直接接触,能够清晰稳定地显示测量结果,能够手工设定报 警量值。 三、设计思路: 本系统的设计思想是采用 MCS51 单片机为核心,来设计一种低成本、高 精度、微型化数字显示超声波测距仪。超声波测距可测出回波和发射脉冲之间的 时间间隔,利用 S=Ct/2 就可以算出距离,再在 LED 上显示出来。当然还可以设 置若干个键,以用来控制电路的工作状态。限制的最大可测
2、距离存有四个因素: 超声波的幅度,反射面的质地,反射面和入射声波之间的夹角以及接收换能器的 灵敏度。接收换能器对声波脉冲的直接接收能力将决定最小的可测距离。 根据设计要求并综合各方面因素,采用单片机作为主控制器,用动态扫描法 实现 LED 数字显示,超声波驱动信号可以用单片机的定时器和计数器来完成。 三、设计原理 本设计采用MCS51单片机作为主控制器, 用动态扫描法实现LED数字显示, 超声波驱动信号用单片机的定时器和计数器来完成, 超声波测距器的系统框图如 图 1 所示: 图 1 超声波测距器系统的框图 系统框图中的单片机 MCS51 用来协调各个单元,超声波接收电路用来接收要接 收的信号
3、,超声波发射电路用来发射需要发射的信号,存储器用来存储接收的信 号,用数码管 LED 显示距离。 四、系统框图: 定时器 计时器 调制器 接收检测 声电换能 振荡器 电声换能 障 碍 物 控制 显示器 本设计就是以 MCS51 单片机为核心。它采用模块化设计,由主程序、发射 子程序、接收子程序、定时子程序、显示子程序等模块组成。该系统的主程序处 于键控循环工作方式,当按下测量键时,主程序开始调用发射子程序、查询接收 子程序、定时子程序,并把测量结果用显示子程序在数码管上显示出来。虽然用 一个单独计时器电路也可以测量超声波的传输时间,但利用 MCS51 单片机可以 简化设计,便于操作和直观读数。
4、 为了增强系统的可靠性,应在软硬件上采用一些特殊措施。主程序框图如下 图 2。 图 2 主程序框图 超声波发生子程序的作用是通过 P1.0 端口发送 2 个左右的超声波信号频率 约 40KHz 的方波,脉冲宽度为 12us 左右,同时把计数器 T0 打开进行计时。超 声波测距器主程序利用外中断 0 检测返回超声波信号, 一旦接收到返回超声波信 号(INT0 引脚出现低电平),立即进入中断程序。进入该中断后就立即关闭计时 器 T0 停止计时,并将测距成功标志字赋值 1。如果当计时器溢出时还未检测到 超声波返回信号,则定时器 T0 溢出中断将外中断 0 关闭,并将测距成功标志字 赋值 2 以表示此次测距不成功。 定时中断服务子程序完成三方向超声波的轮流发射, 外部中断服务子程序主 要完成时间值的读取、距离计算、结果的输出等工作。如图 3 和 4。 单片机初始化 开始 定时中断子程序 有回波吗 外部中断子程序 结束 图 3 定时中断子服务子程序框图 图 4 外部中断服务子程序框图 计算距离 读取时间值 关外部中断 外部中断入口 返回 开外部中断 结果输出 定时中断入口 停止发射 发射超声波