孙正凤++范军
摘要:本文介绍了一种基于STC89C52的超声波语音测距仪的设计。系统由STC89C52单片机做主控MCU,连接超声波模块HC-SR04、语音模块WT588D和液晶显示模块LCD1602构成,能够在LCD上显示测距距离,同时进行实时语音播报,在超出预设距离范围时能够报警。经实物验证,该设计具有硬件结构合理、语音播报正常、测量精度高等特点。
关键词:单片机 超声波测距 语音提示 WT588D
中图分类号:TN912.3 文献标识码:A 文章编号:1007-9416(2014)07-0018-02
1 引言
声波是物体机械振动状态(或能量)的传播形式。超声波是指频率超过20KHz的声波,在均匀介质中能够定向直线传播,具有良好的束射性和方向性[1]。由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,并且超声波的速度相对于光速要小很多,它的传播时间容易检测,强度也易于控制。因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。超声波测距主要应用于倒车提醒、建筑工地、工业现场等的距离测量。
2 超声波测距的工作原理
本文采用渡越时间检测法(时间差距检测法)来测量距离。超声波探头向外发射超声波,遇到障碍物阻拦就会反射回来。超声波从发射开始计时到接受到反射波停止计时,记录总时间T,则障碍物与探头之间的距离为:s=vT/2。其中v为超声波在空气中传播的速度。
考虑到超声波传播速度与环境温度的关系,即:,其中=331.5m/s为0℃时的声速[2];表示温度,单位是℃。因此超声波测量距离可以修正为:
3 系统硬件设计
本系统由STC89C52单片机作为控制芯片,连接超声波发射和接收电路、液晶显示电路、语音播报电路等部分构成,超声波模块用来发射和接收超声波,所需时间由单片机定时器记录,并通过温度传感器测量当时温度,经过计算,在1602液晶显示屏上显示结果,同时语音模块进行实时语音播报,通过按键设定最短距离,当测量的距离小于设定的距离,就会触发报警电路进行报警。
3.1 STC89C52最小系统
3.2 超声波发射和接收电路
超声波发射和接收电路采用HC-SR04超声波模块,其主要参数[4]如下:(1)典型工作用电压:5V;(2)超小静态工作电流:小于2mA; (3)感应角度:不大于15度;(4)探测距离:2cm~450cm;(5)精度:可达 0.2cm。
该模块有四个端口,如图3所示。其工作原理是:(1)给脉冲触发引脚Trig端输入最少为10μs的高电平信号;(2)输入高电平信号后,波模块自动发送8个40kHz的方波,在发送方波后再进行自动检测有没有信号返回;(3)如果检测到有信号返回时,则通过Echo端口输出一个高电平,这个高电平持续的时间就是超声波从发射到返回的时间,然后就可以计算出距离。
3.3 语音播报电路
该电路采用的是WTW-16P模块,如图4所示。该模块内部采用WT588D-20SS语音芯片作为核心控制电路,包含了SPI-FLASH、复位电路、震荡电路等外围电路。WT588D是一款可重复擦除烧写的语音单片机芯片,配套WT588D VoiceChip上位机操作软件可随意更换任何一种控制模式,把信息下载到SPI-Flash上即可[5]。
本设计采用三线串口控制模式,通过片选CS(P02)、数据DATA(P01)、时钟CLK(P03)三个串口可以对语音芯片进行控制,不需要采用按键,支持PWM音频输出,直接驱动扬声器。
3.4 液晶显示电路
液晶显示电路采用LCD1602,3脚V0是液晶显示器的对比度调整端,在3脚外接一个电阻并且与地相接是用来调节液晶的亮度,4脚为RS寄存器选择,高电平时是数据寄存器,低电平时是选择指令寄存器。5脚读写信号线,高电平时是读操作,低电平时是写操作,6脚使能端,当使能端从高电平跳变到低电平时,液晶模块执行命令。
3.5 温度传感器
温度传感器采用DS18B20数字温度传感器。该传感器支持“一线总线”接口方式。测量范围为-55℃~+125℃,在-10℃~+85℃范围内,精度为±0.5℃。单片机通过一个I/O口(P2.5)与DS18B20连接,可实现两者之间的双向通讯[6]。
4 系统软件设计
系统软件主要由主程序、中断子程序、显示子程序、语音播报子程序等部分组成。
4.1 主程序流程图
主程序首先是系统初始化,并且启动温度检测,超声波模块在上电后发射超声波,当超声波遇到障碍物时就会反射回来,接收到回波后,通过单片机计算,在液晶上显示出距离并且开始语音播报。当测出的距离超出了设定范围,就会触发报警电路,并进行报警。
4.2 中断程序设计
超声波测距系统采用了外部中断0检测是否有超声波回波。一旦有接收到超声波回波信号,就会立即进入中断程序。进入中断后,计时器T1停止计时,并计算测量的距离。
4.3 语音播报子程序
语音模块子程序,直接从单片机发地址数据触发语音进入播报状态,当超声波开始测距后,语音模块开始工作,并通过BUSY端口设置,开始实时播报,当距离超过设置的范围就会触发报警电路。
该模块需要通过这种芯片专有的上位机进行下载语音,通过程序编写,用单片机控制,实现语音实时播报的功能。
5 结语
本文利用单片机芯片STC89C52设计的超声波语音测距仪,将测量结果用LCD液晶显示,用WT558D语音模块进行实时播报,采用HC-SR04超声波模块和DS18B20温度补偿电路,提高了测量精度,并具有超限报警功能。本语音测距仪经仿真和实物验证,操作简单、性能稳定、测量精度高、具有较好的推广价值和应用前景。
参考文献
[1]吴超,戴亚文.基于AT89S52单片机的超声波测距系统的设计[J].中原工学院学报,2008,19(5):65-68.
[2]沈燕,高晓蓉等.基于单片机的超声波测距仪设计[J].现代电子技术,2012,35(7):126-129.
[3]陈贵银.单片机原理与接口技术[M].北京:电子工业出版社,2011.
[4]深圳市捷深科技有限公司.HC-SR04超声波测距模块说明书[M].深圳:深圳市捷深科技有限公司,2010.
[5]广州创唯电子有限公司.WT558D语音芯片/模块使用电路[M].广州:广州创唯电子有限公司,2010.
[6]张军.智能温度传感器DS18B20及其应用[J].仪表技术,2010(4):68-70.
摘要:本文介绍了一种基于STC89C52的超声波语音测距仪的设计。系统由STC89C52单片机做主控MCU,连接超声波模块HC-SR04、语音模块WT588D和液晶显示模块LCD1602构成,能够在LCD上显示测距距离,同时进行实时语音播报,在超出预设距离范围时能够报警。经实物验证,该设计具有硬件结构合理、语音播报正常、测量精度高等特点。
关键词:单片机 超声波测距 语音提示 WT588D
中图分类号:TN912.3 文献标识码:A 文章编号:1007-9416(2014)07-0018-02
1 引言
声波是物体机械振动状态(或能量)的传播形式。超声波是指频率超过20KHz的声波,在均匀介质中能够定向直线传播,具有良好的束射性和方向性[1]。由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,并且超声波的速度相对于光速要小很多,它的传播时间容易检测,强度也易于控制。因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。超声波测距主要应用于倒车提醒、建筑工地、工业现场等的距离测量。
2 超声波测距的工作原理
本文采用渡越时间检测法(时间差距检测法)来测量距离。超声波探头向外发射超声波,遇到障碍物阻拦就会反射回来。超声波从发射开始计时到接受到反射波停止计时,记录总时间T,则障碍物与探头之间的距离为:s=vT/2。其中v为超声波在空气中传播的速度。
考虑到超声波传播速度与环境温度的关系,即:,其中=331.5m/s为0℃时的声速[2];表示温度,单位是℃。因此超声波测量距离可以修正为:
3 系统硬件设计
本系统由STC89C52单片机作为控制芯片,连接超声波发射和接收电路、液晶显示电路、语音播报电路等部分构成,超声波模块用来发射和接收超声波,所需时间由单片机定时器记录,并通过温度传感器测量当时温度,经过计算,在1602液晶显示屏上显示结果,同时语音模块进行实时语音播报,通过按键设定最短距离,当测量的距离小于设定的距离,就会触发报警电路进行报警。
3.1 STC89C52最小系统
3.2 超声波发射和接收电路
超声波发射和接收电路采用HC-SR04超声波模块,其主要参数[4]如下:(1)典型工作用电压:5V;(2)超小静态工作电流:小于2mA; (3)感应角度:不大于15度;(4)探测距离:2cm~450cm;(5)精度:可达 0.2cm。
该模块有四个端口,如图3所示。其工作原理是:(1)给脉冲触发引脚Trig端输入最少为10μs的高电平信号;(2)输入高电平信号后,波模块自动发送8个40kHz的方波,在发送方波后再进行自动检测有没有信号返回;(3)如果检测到有信号返回时,则通过Echo端口输出一个高电平,这个高电平持续的时间就是超声波从发射到返回的时间,然后就可以计算出距离。
3.3 语音播报电路
该电路采用的是WTW-16P模块,如图4所示。该模块内部采用WT588D-20SS语音芯片作为核心控制电路,包含了SPI-FLASH、复位电路、震荡电路等外围电路。WT588D是一款可重复擦除烧写的语音单片机芯片,配套WT588D VoiceChip上位机操作软件可随意更换任何一种控制模式,把信息下载到SPI-Flash上即可[5]。
本设计采用三线串口控制模式,通过片选CS(P02)、数据DATA(P01)、时钟CLK(P03)三个串口可以对语音芯片进行控制,不需要采用按键,支持PWM音频输出,直接驱动扬声器。
3.4 液晶显示电路
液晶显示电路采用LCD1602,3脚V0是液晶显示器的对比度调整端,在3脚外接一个电阻并且与地相接是用来调节液晶的亮度,4脚为RS寄存器选择,高电平时是数据寄存器,低电平时是选择指令寄存器。5脚读写信号线,高电平时是读操作,低电平时是写操作,6脚使能端,当使能端从高电平跳变到低电平时,液晶模块执行命令。
3.5 温度传感器
温度传感器采用DS18B20数字温度传感器。该传感器支持“一线总线”接口方式。测量范围为-55℃~+125℃,在-10℃~+85℃范围内,精度为±0.5℃。单片机通过一个I/O口(P2.5)与DS18B20连接,可实现两者之间的双向通讯[6]。
4 系统软件设计
系统软件主要由主程序、中断子程序、显示子程序、语音播报子程序等部分组成。
4.1 主程序流程图
主程序首先是系统初始化,并且启动温度检测,超声波模块在上电后发射超声波,当超声波遇到障碍物时就会反射回来,接收到回波后,通过单片机计算,在液晶上显示出距离并且开始语音播报。当测出的距离超出了设定范围,就会触发报警电路,并进行报警。
4.2 中断程序设计
超声波测距系统采用了外部中断0检测是否有超声波回波。一旦有接收到超声波回波信号,就会立即进入中断程序。进入中断后,计时器T1停止计时,并计算测量的距离。
4.3 语音播报子程序
语音模块子程序,直接从单片机发地址数据触发语音进入播报状态,当超声波开始测距后,语音模块开始工作,并通过BUSY端口设置,开始实时播报,当距离超过设置的范围就会触发报警电路。
该模块需要通过这种芯片专有的上位机进行下载语音,通过程序编写,用单片机控制,实现语音实时播报的功能。
5 结语
本文利用单片机芯片STC89C52设计的超声波语音测距仪,将测量结果用LCD液晶显示,用WT558D语音模块进行实时播报,采用HC-SR04超声波模块和DS18B20温度补偿电路,提高了测量精度,并具有超限报警功能。本语音测距仪经仿真和实物验证,操作简单、性能稳定、测量精度高、具有较好的推广价值和应用前景。
参考文献
[1]吴超,戴亚文.基于AT89S52单片机的超声波测距系统的设计[J].中原工学院学报,2008,19(5):65-68.
[2]沈燕,高晓蓉等.基于单片机的超声波测距仪设计[J].现代电子技术,2012,35(7):126-129.
[3]陈贵银.单片机原理与接口技术[M].北京:电子工业出版社,2011.
[4]深圳市捷深科技有限公司.HC-SR04超声波测距模块说明书[M].深圳:深圳市捷深科技有限公司,2010.
[5]广州创唯电子有限公司.WT558D语音芯片/模块使用电路[M].广州:广州创唯电子有限公司,2010.
[6]张军.智能温度传感器DS18B20及其应用[J].仪表技术,2010(4):68-70.
摘要:本文介绍了一种基于STC89C52的超声波语音测距仪的设计。系统由STC89C52单片机做主控MCU,连接超声波模块HC-SR04、语音模块WT588D和液晶显示模块LCD1602构成,能够在LCD上显示测距距离,同时进行实时语音播报,在超出预设距离范围时能够报警。经实物验证,该设计具有硬件结构合理、语音播报正常、测量精度高等特点。
关键词:单片机 超声波测距 语音提示 WT588D
中图分类号:TN912.3 文献标识码:A 文章编号:1007-9416(2014)07-0018-02
1 引言
声波是物体机械振动状态(或能量)的传播形式。超声波是指频率超过20KHz的声波,在均匀介质中能够定向直线传播,具有良好的束射性和方向性[1]。由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,并且超声波的速度相对于光速要小很多,它的传播时间容易检测,强度也易于控制。因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。超声波测距主要应用于倒车提醒、建筑工地、工业现场等的距离测量。
2 超声波测距的工作原理
本文采用渡越时间检测法(时间差距检测法)来测量距离。超声波探头向外发射超声波,遇到障碍物阻拦就会反射回来。超声波从发射开始计时到接受到反射波停止计时,记录总时间T,则障碍物与探头之间的距离为:s=vT/2。其中v为超声波在空气中传播的速度。
考虑到超声波传播速度与环境温度的关系,即:,其中=331.5m/s为0℃时的声速[2];表示温度,单位是℃。因此超声波测量距离可以修正为:
3 系统硬件设计
本系统由STC89C52单片机作为控制芯片,连接超声波发射和接收电路、液晶显示电路、语音播报电路等部分构成,超声波模块用来发射和接收超声波,所需时间由单片机定时器记录,并通过温度传感器测量当时温度,经过计算,在1602液晶显示屏上显示结果,同时语音模块进行实时语音播报,通过按键设定最短距离,当测量的距离小于设定的距离,就会触发报警电路进行报警。
3.1 STC89C52最小系统
3.2 超声波发射和接收电路
超声波发射和接收电路采用HC-SR04超声波模块,其主要参数[4]如下:(1)典型工作用电压:5V;(2)超小静态工作电流:小于2mA; (3)感应角度:不大于15度;(4)探测距离:2cm~450cm;(5)精度:可达 0.2cm。
该模块有四个端口,如图3所示。其工作原理是:(1)给脉冲触发引脚Trig端输入最少为10μs的高电平信号;(2)输入高电平信号后,波模块自动发送8个40kHz的方波,在发送方波后再进行自动检测有没有信号返回;(3)如果检测到有信号返回时,则通过Echo端口输出一个高电平,这个高电平持续的时间就是超声波从发射到返回的时间,然后就可以计算出距离。
3.3 语音播报电路
该电路采用的是WTW-16P模块,如图4所示。该模块内部采用WT588D-20SS语音芯片作为核心控制电路,包含了SPI-FLASH、复位电路、震荡电路等外围电路。WT588D是一款可重复擦除烧写的语音单片机芯片,配套WT588D VoiceChip上位机操作软件可随意更换任何一种控制模式,把信息下载到SPI-Flash上即可[5]。
本设计采用三线串口控制模式,通过片选CS(P02)、数据DATA(P01)、时钟CLK(P03)三个串口可以对语音芯片进行控制,不需要采用按键,支持PWM音频输出,直接驱动扬声器。
3.4 液晶显示电路
液晶显示电路采用LCD1602,3脚V0是液晶显示器的对比度调整端,在3脚外接一个电阻并且与地相接是用来调节液晶的亮度,4脚为RS寄存器选择,高电平时是数据寄存器,低电平时是选择指令寄存器。5脚读写信号线,高电平时是读操作,低电平时是写操作,6脚使能端,当使能端从高电平跳变到低电平时,液晶模块执行命令。
3.5 温度传感器
温度传感器采用DS18B20数字温度传感器。该传感器支持“一线总线”接口方式。测量范围为-55℃~+125℃,在-10℃~+85℃范围内,精度为±0.5℃。单片机通过一个I/O口(P2.5)与DS18B20连接,可实现两者之间的双向通讯[6]。
4 系统软件设计
系统软件主要由主程序、中断子程序、显示子程序、语音播报子程序等部分组成。
4.1 主程序流程图
主程序首先是系统初始化,并且启动温度检测,超声波模块在上电后发射超声波,当超声波遇到障碍物时就会反射回来,接收到回波后,通过单片机计算,在液晶上显示出距离并且开始语音播报。当测出的距离超出了设定范围,就会触发报警电路,并进行报警。
4.2 中断程序设计
超声波测距系统采用了外部中断0检测是否有超声波回波。一旦有接收到超声波回波信号,就会立即进入中断程序。进入中断后,计时器T1停止计时,并计算测量的距离。
4.3 语音播报子程序
语音模块子程序,直接从单片机发地址数据触发语音进入播报状态,当超声波开始测距后,语音模块开始工作,并通过BUSY端口设置,开始实时播报,当距离超过设置的范围就会触发报警电路。
该模块需要通过这种芯片专有的上位机进行下载语音,通过程序编写,用单片机控制,实现语音实时播报的功能。
5 结语
本文利用单片机芯片STC89C52设计的超声波语音测距仪,将测量结果用LCD液晶显示,用WT558D语音模块进行实时播报,采用HC-SR04超声波模块和DS18B20温度补偿电路,提高了测量精度,并具有超限报警功能。本语音测距仪经仿真和实物验证,操作简单、性能稳定、测量精度高、具有较好的推广价值和应用前景。
参考文献
[1]吴超,戴亚文.基于AT89S52单片机的超声波测距系统的设计[J].中原工学院学报,2008,19(5):65-68.
[2]沈燕,高晓蓉等.基于单片机的超声波测距仪设计[J].现代电子技术,2012,35(7):126-129.
[3]陈贵银.单片机原理与接口技术[M].北京:电子工业出版社,2011.
[4]深圳市捷深科技有限公司.HC-SR04超声波测距模块说明书[M].深圳:深圳市捷深科技有限公司,2010.
[5]广州创唯电子有限公司.WT558D语音芯片/模块使用电路[M].广州:广州创唯电子有限公司,2010.
[6]张军.智能温度传感器DS18B20及其应用[J].仪表技术,2010(4):68-70.