基于单片机的超声波测速系统设计内容摘要:

/O 口线,看门狗定时器, 2个数据指针,三个 16位定时器 /计数器,一个 6向量 2级中断结构,全双工串行口,片内晶振及时钟电路。 另外, AT89S52 可降至 0Hz静态逻辑操作,支持 2种软件可选择节电模式。 空闲模式下, CPU停止工作,允许 RAM、定时器 /计数器、串口、中断继续工作。 掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。 它一共有 40个引脚,引脚又分为四类。 其中有四个电源引脚,用来接入单片机的工作电源。 工作电源又分主电源、备用电源和编程电源。 还有两个时钟引脚 XTAL XTAL2。 还有由 P0口、 P1口、 P2口、 P3口的所有引脚构成的单片机的输入 /输出( I\O)引脚。 最后一种是控制引脚,控制引脚有四条,部分引脚具有复位功能。 综上所述,单片机的引脚特点是: 单片 机多功能,少引脚,使得引脚复用现象较多。 单片机具有四种总线形式: P0和 P2组成的 16位地址地址总线; P0分时复用为 8位数据总线; ALE、 PSEN、 RST、 EA和 P3口的 INT0、 INT T0、 T WR、RD以及 P1口的 T T2EX组成控制总线;而 P3口的 RXD、 TXD组成串行通信总线。 鉴 于 89C52 所具备的功能可以实现本测速系统的要求,所以本系统主控芯片选择 89C52,然后在主 芯片外围加上 12MHZ 的晶振,以及电源 等电子元器件构成单片机最小系统,本设计要求按键控制超声波信号的发射,数码管显 示,所以在最小系统的基础上再加以补充电路。 物体的运动速度经过单片机的运算处理后送到数码管显示 ,数码管显示的电路连接图如图 10 所示,数码管显示所用的驱动为集成芯片 74HC573,其引脚图如图 9所示: 15 OE1D12D23D34D45D56D67D78D89GND10LE11Q812Q713Q614Q515Q416Q317Q218Q119VCC20SN74HC573AN 图 9 74HC573引脚图 图 9 为 74HC573 引脚图 , 74HC573 有 三态总线驱动输出 、 置数全并行存取 、 使能输入 以及 有改善抗扰度的滞后作用 等特点。 74HC573 的八个锁 存器都是 透明的 D 型锁存器,当使能( G)为高时, Q 输出将随数据( D)输入而变。 当使能为低时,输出将锁存在已建立的数据电平上。 输 出控制不影响锁存器的内部工作,即老数据可以保持,甚至当输出被关闭时,新的数据也可以置入。 这种 电路可以驱动大电容 或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接口。 特别适用于缓冲寄存器, I/O 通道 , 双向总线驱动器和工作寄存器。 单片机系统设计完成后与前文所设计的超声波发射与接收电路进行连接,整体设计原理图见附录 2。 16 图 10 数码管显示电路 本次设计的所使用的数码管为共阴极,图 10 所示的两个三位数码管,可以 看到所有数码管的阳极,即标有 A、 B、 C、 D、 E、 F、 G、 H的引脚全部连接在一起,然后与上面的 U4 元件 74HC573 锁存器的数据输出端相连,锁存器的数据输入端连接单片机的 P0 口, P0口同时加了上拉电阻。 数码管中WE1, WE2, WE3, WE4, WE5, WE6 是它们的位选端,每一个数码对应一个位选端,与上面的 U5 元件 74HC573 的数据输出端的低 6位相连, U5 的数据输入端也连接到单片机的 P0 口。 两个锁存器的锁存端分别与单片机的 、 相连,因为单片机可以控制锁存器的锁存端,进而控制锁存器的数据输出,这 种分时控制的方法便可以方便的控制数码管显示任意数字。 17 小结 本章 对超声波测速雷达系统的硬件电路进行了设计,其中包括了超声波发射、超声波接收、单片机控制以及数码管显示几部分。 其中超声波发射又包括低通滤波电路和超声波换能电路,超声波接收则包括整形放大电路、波形变换电路以及超声波检测接收电路。 有了超声波发射与接收的硬件电路,为后续单片机控制软件编程打下了基础。 18 第 3章 超声波测速系统软件的 设计 主程序 由超声波超声波测速 用 C语言开发系统可以大大缩短开发周期 ,明显增强程序的可读性,便于改进和扩充。 使用 C语言进行 8052系列单片机系统开发,编程者可以专注于应用软件部分的设计,不必将大量的精力花在内存分配等底层工作上,从而大大加快了软件开发的速度。 因此,本系统采用 C语言来进行系统的软件设计,本次设计软件调试的环境是 Keil uVision4。 本次设计的超声波雷达测速系统同时具有时差法以及多普勒测速功,对单片机进行初始化之后,调用发射子程序产生产生两个周期 40KHZ的方波发射出去,同时定时器 0开始计时,当超声波信号碰到物体反射回来后,当接收器收到回波信号时定时器 0停止工作,同时启动定时器 1,当下一个上升沿到来时,定时器 1停止计时进入外部中断,同理再发射一次超声波信号,利用定时器 0的时间记录得到两次物体与发射探头的距离进而求出物体运动速度,而利用定时器 1的时间记录则可以得出回波信号的频率,进而利用多普勒原理求出物体速度。 超声波雷达测速的主程序流程图如图 12所示,超声波测速源程序见附录 1。 测速系统程序由按键 s1控制单片机发送方波,方波的发射是靠单片机产生方波,由 ,周期的控制由高低电平时间来实现,设计要求产生 40KHZ的方波,所以控制方波的周期为 25us,即高电平 ,低电平。 由于要进行多普勒测速所以理论上至少要发射两个周期以上才能利用定时器捕捉回波信号的周期,以此来得出回波信号与所发 40KHZ之间的频差来得到物体运动速度。 当第一个高电平产生并发送出去后定时器 0开始计时。 发出的的超声波在碰到运动物体反射回来进入超声波接收电路后,经波形变换以及整形放大后通过芯 片 CX20206a进入到单片机的 ,其中CX20206a在没有高电平到时,其输出为高电平,当有信号到时其跳变为低 19 电平。 所以可以根据 ,当收到第一个高电平时,即 0的计时停止,存储 T0的数据为 num1,同时启动定时器 1,当 , T1定时停止,并存储 T1数据为 num2。 等接受完毕后接着再发射一次,同时启动定时器 0,当收到回波后停止,定时器 0记录数据为 num3。 得到定时器数据后,分别利用时差法计算公式以及多普勒计 算公式对速度进行计算。 但测速系统在测速过程中还应该考虑干扰物体对测速的影响,应该考虑此次测速是否有效,本设计拟对 5m以上物体的速度进行测量,所以利用软件编程设计对 T0定时器的时间记录进行判断,即当 num1次测速失败,应该重新测量。 其次就是对两种方法测速结果进行比较如果二者测速结果相差 ,即△ V量。 子程序流程图如图 11所示。 当系统判断测速数据有效时,需要对测量出来的数据进行显示,本次设计是针对 速度在 10m/s以下运动物体速度测量,显示保留两位小数,即利用 3位显示。 图 11 测量结果判断流程图 开始 △ V输出到显示 开始 输出到显示num1 输出到显示 N N Y Y 20 图 12 测速系统流程图 开始 初始化 调发射子程序 定时器 0 开始计时 N到 Y 定时器 0停止计时 是 否有 上升沿 是 否有 回波 N Y 显示 结束 启动定时器 1 定时器 1停 止计时 调发射子程序 是 否有 回波 定时器 0停止计时 计算速度 定时器 0 开始计时 Y N 21 主程序中 对于定时器的控制由 定时中断服务子程序以及外部中断 子程序来实现, 定时中断服务子程序以及外部中断 子程序如图 13 和图 14 所示: 图 13 定时中断服务子程序 图 14 外部中断服务子程序 小结 本章根据超声波 测速系统的 硬件电路 设计,对系统软件进行了设计,从系统的算法入手,按照测速步骤对超声波测速系统软件编程进行了详细的介绍,画出了测速系统的主要流程,将软件和硬件充分结合,测速系统已初步形成。 定时中断 入口 定时器初始化 发射超声波 是否 发射完 停止发射 返回 外部 中断入口 关外部中断 读取时间值 计算速度 结果输出 开外部中断 返回 22 第 4章 系统 性能 分析 系统功能分析 本系统可以实现对变速物体的速度进行比较准确的测量 ,由于现有的超声波换能器最远的探测距离为 35m,所以无法实现对更远距离的物体进行速度测量。 对于时差法测速,是根据两次超声波发射与接收物体的运动位移与所用时间之间的关系得出的,本系统设计本着以最短测量周期实现对速度的 测量,所以经过系统分析超声波探头的探测距离为 10m,设在常温下,即 15℃下声波在空气中传播速度为 340m/s,则在这个基础上可以将测量周期控制在 以内 ,在运动物体的速度不超过 10m/s 的情况下,根据系统的程序计算,测量误差不超过。 对于时差法测速,在测速过程中物体的运动位移是一定的,但在时差上在程序中未能考虑到各部分电路的传输速度,导致。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。