基于AT89C52单片机的超声波测距仪的设计
管驱动数码管,并连接到单片机AT89C52的P0口上作位眩虽然显示上没有液晶显示屏那么完全,但是也能够完整直观地显示出需要的结果。图5为超声波测距硬件设计的显示电路。
2.4 温度补偿电路设计
本系统中,选择使用温度芯片DS18B20作为温度传感器。DS18B20支持"一线总线"接口,测量温度范围为-55~125℃,在-10~85℃范围内,精度为±0.5℃。现场温度直接以"一线总线"的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量。DS18B20引脚说明如表2所示。
DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。
温度补偿电路的设计如图6所示,数据输入/输出脚连接到单片机的P0.1脚,电源接口接入+5 V的电压,外加5.6 kΩ的上拉电阻,因为DS18B20是单总线温度传感器,数据线是漏极开路,如果DS18B20没接电源,则需要数据线强上拉,给DS18B20供电;如果DS18B20接有电源,则需要一个上拉即可稳定的工作。由于DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内,检测的温度值在内部进行转换,温度测量结果直接以数字信号输出,单片机对由DS18B20输出的信号进行读取,经过软件对温度数字值实现处理。
2.5 主电路原理图
该系统主电路原理图如图7所示,单片机采用89C52系列,单片机使用外部时钟源,外接6MHZ的晶振,由P0.0口直接输出40 KHZ的驱动信号给放大电路。接收到回波后,经由CX20106的滤波,产生中断信号,并由p3.2口输出进行中断。显示电路采用简单实用的3位数码管,连接单片机AT89C52的P0口,而三极管连接P2口,作数码管的位选。工作时,首先将系统初始化,启动计时器。并由P0.0脚发出40KHZ的驱动信号,同时打开INT0中断,并且开始等待接收到的回波和中断信号,若接收到回波(单片机接收到中断信号),计时器停止计时,保存时间信息,并且根据温度补偿计算出当前环境下的声速,计算出当前待测距离后储存,并调用显示子程序。测出距离后结果将以十进制BCD码方式传送到LED显示,然后再发超声波脉冲重复测量过程。
3 结论
经过实测,本测距仪能够迅速的测出250 m以内的短距离障碍物,在30-200 cm范围内,误差能控制在1 cm以内,本设计具有简单实用,能耗低,成本低等特点。经过实际测试,发现系统的精度能满足普通需求,若需要进一步提高精度,可采用精度更高但系统更加复杂的双频超声波测距的方法。
- 基于单片机的高精度温度测量系统设计(05-07)
- 基于DS18B20的家用温度测量器设计(09-18)
- 电池温度智能监测系统的是设计(11-01)
- 电池温度智能监测系统(10-25)
- 串联锂离子电池组监测(11-28)
- 基于DS18B20和AT89C2051的家用温度测量器设计研究(03-07)