首页 > 范文大全 > 正文

基于单片机的语音式转速表设计与实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于单片机的语音式转速表设计与实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:针对传统的汽车转速里程表需要用眼睛去看的弊端,设计出以STC89C52为主控芯片的语音式电子转速里程表系统。该系统使用SPI串行总线方式通信,霍尔传感器采集车辆在行驶过程中所得到的信号,液晶屏显示汽车行驶的速度和总里程数,并用ISD4004语音播报速度,用蜂鸣器和LED灯构成超速声光报警器。具有精确度高、显示清楚醒目、语音报数清晰、稳定可靠等特点。具有一定的实际应用价值。

关键词:电子转速表;语音播报;单片机

中图分类号:TP399 文献标识码:A 文章编号:1009-3044(2016)19-0253-02

汽车转速里程表是用来标示汽车运行过程中的瞬时速度和记载汽车行驶的总里程。传统的汽车里程表是用钢丝软轴驱动的机械装置来标示速度和记录里程,行驶过程中车速的不断提高或者道路环境的影响,钢丝软轴在高速旋转过程中受到钢丝交变应力的影响易出现断裂的现象[1],钢丝软轴能否正常工作对于传统的汽车里程表是一个不小的挑战。另一方面易产生形变过大和迟滞现象。对于不同车型,软轴长度和弯曲程度也影响装置的安装位置。对比于单片机作为主控芯片的电子式转速里程表,传统汽车里程表没有优势可言;另一方面,传统转速里程表没有语音提示功能,需要眼睛去看才能知道当前行驶的速度和离限制速度的区间大小,有了语音提示,可以一键播报当前速度,并且带有超速提醒。

1 系统的总体设计

系统以STC89C52单片机为控制核心,LCD1602作为显示器,ISD4004语音模块播报的电子式转速里程表装置,并且还有掉电信息不丢失,数据信息能够擦除重写。单片机采用的是STC公司生产的型号STC89C52的单片机,目前为止最实用和最实惠的单片机芯片。STC89C52的工作频率是0~40MHz,本装置用的是单片机的内部振荡器和石英晶体作为振荡源,振荡频率设定为12MHz。通过单片机编程液晶显示模块LCD1602显示累计里程和本次里程[2]。系统组成框图见图1。

2 系统的硬件设计

系统的硬件部分是由测速系统、显示系统、语音系统三大部分组成。测速系统主要是霍尔传感器的应用,显示系统主要是LCD1602液晶显示屏的应用,语音系统主要是ISD4004语音模块的应用。以下是关键部分的设计和原理说明。

2.1 霍尔传感器的应用

应用霍尔传感器测量转速有多种实现方式,最主要的还是应用脉冲计数(一种是脉冲的频率,一种是脉冲的周期,还有一种是脉冲的频率和周期的联合)来测量器械的运转速度。本设计中是应用霍尔传感器计量两个脉冲之间的时间间隔来计算得到装置的运转速度。把一块永久磁铁用胶水贴在装置转轴上固定的圆盘的边角,当装置运转时圆盘随着装置的转轴转动,当然磁铁也跟着一起转动,霍尔传感器就在转盘的边上,磁铁产生的磁场就是霍尔元件垂直面受到的磁场,于是能够产生脉冲信号,装置的运转速度越快一个计时单位内产生的脉冲的数量大小就越多。下面给出脉冲信号的周期和电机的转速关系式:

方程式(1)中:电机的运转速度是n;电机运转一圈的所得到的脉冲数是p;输出的方波信号周期是t。应用方程式(1)带入n和p的相对应参数就可以计算出当前电机的运转速度。如图2所示霍尔传感器的1号引脚接在电源正极,也就是单片机的VCC端口,并且接了一个10kΩ的电阻,它的作用是构成测量电路的内阻,保护电路正常工作;2号引脚接地,和装置的GND口接在一起,形成公共端接地;3号接口连接单片机的P3^2口,用来接收测量器件发来的脉冲(霍尔传感器电机转盘上的永久磁铁的作用下产生霍尔电势形成脉冲信号),再由单片机处理,从而得到系统所需要的数据。

2.2 液晶显示器LCD1602的应用

目前液晶显示器用途非常广泛。在本电子式转速里程表装置中采LCD1602液晶作为装置的信息显示模块,它是能够同步呈现32个字符的工业字符型液晶,也就是本设计所应用到的LCD1602液晶显示屏,并且这个显示屏是分为上下两部分,上半部分显示16个字符,下半部分显示16个字符[3]。LCD1602液晶显示屏的上半部分用来显示当前的行驶速度和程序中设定的速度上限值(速度上限值可调节);下半部分用来显示现行驶的总里程。

2.3 语音播报系统的硬件设计

本设计播报电路采用ISD4004语音模块。模块电路板上有一枚LM386音频放大器和一枚STC15F104E单片机[4]。ISD4004语音模块它的通信方式是串行外设接口通信方式,其特点是通信速度快、全双工、同步;使用时电压接的是5V,并且这个模块可以应用在手机电话以及别的通信设备或者电子产品[5]。

在装置实物中单片机引脚到语音模块的接线是:后者的RECORD端口接前者的P3^0口、后者的PLAY端口接前者的P3^1口、后者的SS端口接前者的P3^6口、后者的SCLK端口接前者的P3^0口、后者的MOSI端口接前者的P3^5口、后者的INT端口接前者的P2^0口、后者的MISO端口接前者的P2^1口、后者的RAC接前者的P2^2口[6]。语音模块上有一枚STC15F104E单片机,可以很容易的把ISD4004语音录放模块和单片机系统连接起来,达到预期功能的实现。模块使用前确定好语音存放地址,提前录好语音,需要播放时只要给板载单片机发送语音播放控制信号就能够实现语音的播放。应用它不是很难,和单片机结合起来就可以达到预期的功能[7]。

语音录放模块使用遵从上述录放音原理以及接口使用规则,并且在装置硬件电路中添加了一个蓝色LED灯作为录放音提示信号,用此蓝色LED灯的亮灭标示ISD4004语音录放模块在录放音时的工作状态,也可用它来判断ISD4004语音录放模块是否工作异常。

装置使用过程中,当录音键按下系统开始录音,启动模块,把前期预定的语音存放地址发出交给程序,开始录制所需要录得语音,当程序刷到OVF出现时,马上进入中断状态,ISD4004语音录音系统掉电停止,也代表着录音部分完成。

装置使用过程中,当系统检测到放音按键按下时,经由程序比对调用出所需要播放的语音地址,当程序刷到EOM出现时,马上进入中断状态,ISD4004语音模块掉电停止工作,也代表着放音结束。

3 系统的软件设计

测速系统总共由三部分构成,霍尔传感器的测量部分、声光报警电路部分、模拟车轮转动电机控制系统部分。按下电源开关启动装置,程序开始运行初始化,总里程计数清除归零,LCD1602液晶显示屏的速度显示是零,总里程为零,等待电机启动准备测速。按下电机启动开关后,霍尔传感器测量电路开始测速,测得的脉冲信号传递给单片机,经过单片机的程序运算将测得的脉冲信号周期按照公式(1)转换成速度数据和里程数据,再将这两个数据发送给LCD1602液晶显示屏显示出来,使用者可以直观的查看出此时的运转速度和行驶里程。

语音模块的工作流程是根据芯片的使用说明先确定好语音存放的地址,接下来将数字语音录进芯片,按下一次录音键录音一次,直到录音完成,语音模块停止工作;当检测到播放按键按下时,语音模块上电开始工作,接着再根据所需调出语音存放地址,让模块播出语音,语音播放完毕后关闭语音模块。

4 结束语

硬件平台搭建成功后,用Keil μVision4 IDE开发环境来实现C51程序的编写和调试,对单片机进行编程,经过对系统的调试与检测,将各功能模块功能很好的实现出来,从而实现语音播报的电子式转速里程表系统功能,达到预期的效果,具有广阔的应用前景和发展空间。

参考文献:

[1] 姚金明.自行车转速里程表的设计[J].上海电力学院学报,2013,29(3):249-252.

[2] 李伟.基于单片机的智能自行车里程表系统设计[J].东西南北:教育,2012,3(2):142-142.

[3] 周前能.集成电路原理及应用教学探索[M].科学咨询, 2011:22-25.

[4] 赵亮.液晶显示模块LCD1602应用[J].电子制作,2007,3(5):43-46.

[5] 杨海东,陈高平.ISD4004-16M语音芯片的循环录放电路设计[J].单片机与嵌入式系统应用,2004,12(4):36-40.

[6] 胡汉才.单片机原理及其接口技术[M].北京:清华大学出版社,1996:26-37.

[7] 张爽.基于PSTN的智能家居控制系统的实现[D].北京:北京邮电大学,2009.