论文部分内容阅读
摘 要:本文旨在设计一个基于单片机的语音提醒系统。该系统以STC89C51单片机为核心,分为语音存储与回放模块、按键控制模块和LED屏幕显示模块,同时扩展一个256KB的外部RAM存储器用于存储大容量的语音信息。该设计简单易行,高效实用,在特定场合取得了良好的效果。
关键词:语音提醒;单片机;语音信号处理
中文分类号: TP311 文献标识码: A 文章编号:2095-2163(2015)01-
Abstract: This paper aims to design a voice reminder system based on MCU. Using the STC89C51 as the microcontroller core, the system divides into voice storage and playback module, key control module and LED screen display module, while extending an external RAM memory of 256KB, used to store large-capacity voice information. The design is simple, efficient and practical, which achieves good results in certain situations.
Key words: Voice Remainder; MCU; Voice Signal Processing
0引 言
随着社会经济的飞速发展,信息与计算机技术的不断进步,嵌入式技术与通信技术也相应得到了长足进展。具体地,基于嵌入式的数字化语音信号处理即已成为信息科学高科技应用领域的关注热点。传统的语音存储与回放系统则因其处理速度慢、存储容量小、音效差、传输距离有限等受到了巨大的挑战。而在实际工作中,却由于其传输过程中存在的语音丢失、失真以及在专门场所难于固定播报的局限性,使之尚未获取预期的沟通效果。针对这一现象,即迫切需要一种在相关场合固定的、体积较小的、功能强大的数字化语音提醒系统。本文将围绕此一问题展开研究
1 系统设计原理
现在市场上语音芯片种类繁多,但由于其缺乏灵活性、难以满足用户在不同场合的要求,故选用以微处理器控制芯片为核心的语音存储与回放系统。系统采用STC89C51单片机作为控制芯片、麦克风(microphone,MIC)和NE5532组成的放大电路,其中带通滤波器和A/D模数转换器则负责语音信号采集,D/A转换器和扬声器将负责语音回放,外部存储器负责语音存储[1],而LED点阵显示屏即负责显示提示信息,另有单片机自带键盘可负责控制语音录入和回放。
当按下录入键,语音信号由MIC录入,经过放大和滤波后,送入A/D转换器转换为语音数字信号,在单片机的控制下,就将语音数字信号存储在外部存储器中。当按下回放键,单片机提取相应的数字信号,再经D/A转换为模拟信号,而经滤波和功率放大后,将由扬声器输出,同时屏幕在单片机控制下,显示语音信息的编号。
2结构分析
本系统的基本思想是用A/D转换器将语音模拟信号转换为数字信号进行存储,待接受命令后,再将数字信号通过D/A转换器转换为模拟信号经扬声器输出。本系统设计结构如图1所示。
3 模块设计
3.1语音存储与控制模块
本系统以STC89C51单片机为核心控制芯片进行控制,负责录音、放音、对于中断命令的响应和对外部存储器RAM进行读写操作。控制芯片控制协调各部分电路,将语音模拟信号转换为数字信号,并存储到外部存储器;当收到回放请求,则调出数字信号并转换为模拟信号输出。
存储器采用随机存储器RAM。这是一种存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的存储器,因此选取此外部存储芯片就大大提高了系统的灵活性。
由上所述,语音存储与回放装置的流程图如图2和图3所示。
3.2按键控制模块
在单片机控制系统中,通过按键实现控制功能是常规选择。本系统由于涉及到多个用户的语音存储,因此引入按键来对各个用户加以区分。按键的控制流程大致分为两个方面:消除按键抖动和按键响应。其中,对按键控制的重要环节是去抖动,即消除按下和抬起瞬间的抖动,而消除抖动后面临的更大问题就是解决按键的响应问题。下面将对其展开具体分析。
3.2.1 处理按键抖动
在该环节中,按键抖动时间的长短由按键的机械特性来决定,一般为5~10 ms[2]。去抖动的方法有很多种,如使用R-S触发器等的硬件方法和运用不同算法的软件方法等。硬件方法会增加成本和体积;而软件方法消除抖动则是检测到有触发后,将延时一段时间后再检测触发状态,如果与之前的一样,则认为有按键按下,这种方法的使用更为普遍。现在常应用加固定软件延时来去抖动。具体方法就是在有按键按下时,利用软件延时10ms或稍长的时间后再次检测按键是否按下,实际上就是避开了按键按下时的抖动时间[3]。
3.2.2 处理按键响应
本系统选用的键盘形式为编码式键盘。采用线反转法(或者称为行列翻转法)对键盘进行处理。实现方法为:
(1)初始化键盘状态,行全部输出0,列全部输出1,如果有键按下,则相应的列读回来的值应该为低,即按键列的位置已经确定。
(2)将行列反过来,把行作为输入,列作为输出,如果按键仍然被按下,则相应的行的值应该为低,即确定了行的位置[4]。
按键控制流程如图4所示。
3.3 LED屏幕显示模块
LED点阵显示屏具有运行可靠安全、节能、成本低和使用方便等特点[5],故本设计通过单片机芯片控制行列驱动电路在LED显示屏上展现提示信息。LED显示屏的硬件图如图5所示。
4软件部分的实现
通过以上的研究与设计,对整个系统进行整合和调试。具体的程序流程图如图6所示。
系统启动后,由键盘的相应按键表示有关人的请求录音,同时在LED显示屏上显示相关提示信息,接着语音录制与存储模块启动。录制完成后存入扩展的存储器中。请求放音之前需先通过键盘的相关按键选择语音信息,同时在LED屏幕上显示提示信息,而后语音回放模块启动,就将相应的语音播放出来。
5 结束语
本项目以STC89C51单片机为控制中心,结合语音存储与回放模块、按键控制模块和LED屏幕显示模块,实现了语音提醒系统,经过多次实验和调试,具有良好的稳定性和用户友好性。设计成果降低了管理工作失误,同时显著提高了管理工作效率与沟通水平,因而本研究具有重要的现实意义及应用价值。
参考文献:
[1]李斌,梁龙学.基于单片机的语音存储与回放系统[J].甘肃科技纵横,2011,01:18-20.
[2]王春武,李岩,孟祥英,尹冬梅.C51中对按键的处理方法[J].吉林师范大学学报(自然科学版),2007(4):86-87.
[3]胡泊.卫浴产品工作状态自动控制系统研究[D].武汉:华中科技大学,2008.
[4] 倪原,杨高兴,李智.全自动梯度凝胶胶片制作装置控制系统设计[J]. 西安工业大学学报,2009(4):357-360.
[5]韩团军.基于单片机的LED点阵显示控制的设计[J].电子设计工程,2011(5):180-182.
关键词:语音提醒;单片机;语音信号处理
中文分类号: TP311 文献标识码: A 文章编号:2095-2163(2015)01-
Abstract: This paper aims to design a voice reminder system based on MCU. Using the STC89C51 as the microcontroller core, the system divides into voice storage and playback module, key control module and LED screen display module, while extending an external RAM memory of 256KB, used to store large-capacity voice information. The design is simple, efficient and practical, which achieves good results in certain situations.
Key words: Voice Remainder; MCU; Voice Signal Processing
0引 言
随着社会经济的飞速发展,信息与计算机技术的不断进步,嵌入式技术与通信技术也相应得到了长足进展。具体地,基于嵌入式的数字化语音信号处理即已成为信息科学高科技应用领域的关注热点。传统的语音存储与回放系统则因其处理速度慢、存储容量小、音效差、传输距离有限等受到了巨大的挑战。而在实际工作中,却由于其传输过程中存在的语音丢失、失真以及在专门场所难于固定播报的局限性,使之尚未获取预期的沟通效果。针对这一现象,即迫切需要一种在相关场合固定的、体积较小的、功能强大的数字化语音提醒系统。本文将围绕此一问题展开研究
1 系统设计原理
现在市场上语音芯片种类繁多,但由于其缺乏灵活性、难以满足用户在不同场合的要求,故选用以微处理器控制芯片为核心的语音存储与回放系统。系统采用STC89C51单片机作为控制芯片、麦克风(microphone,MIC)和NE5532组成的放大电路,其中带通滤波器和A/D模数转换器则负责语音信号采集,D/A转换器和扬声器将负责语音回放,外部存储器负责语音存储[1],而LED点阵显示屏即负责显示提示信息,另有单片机自带键盘可负责控制语音录入和回放。
当按下录入键,语音信号由MIC录入,经过放大和滤波后,送入A/D转换器转换为语音数字信号,在单片机的控制下,就将语音数字信号存储在外部存储器中。当按下回放键,单片机提取相应的数字信号,再经D/A转换为模拟信号,而经滤波和功率放大后,将由扬声器输出,同时屏幕在单片机控制下,显示语音信息的编号。
2结构分析
本系统的基本思想是用A/D转换器将语音模拟信号转换为数字信号进行存储,待接受命令后,再将数字信号通过D/A转换器转换为模拟信号经扬声器输出。本系统设计结构如图1所示。
3 模块设计
3.1语音存储与控制模块
本系统以STC89C51单片机为核心控制芯片进行控制,负责录音、放音、对于中断命令的响应和对外部存储器RAM进行读写操作。控制芯片控制协调各部分电路,将语音模拟信号转换为数字信号,并存储到外部存储器;当收到回放请求,则调出数字信号并转换为模拟信号输出。
存储器采用随机存储器RAM。这是一种存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的存储器,因此选取此外部存储芯片就大大提高了系统的灵活性。
由上所述,语音存储与回放装置的流程图如图2和图3所示。
3.2按键控制模块
在单片机控制系统中,通过按键实现控制功能是常规选择。本系统由于涉及到多个用户的语音存储,因此引入按键来对各个用户加以区分。按键的控制流程大致分为两个方面:消除按键抖动和按键响应。其中,对按键控制的重要环节是去抖动,即消除按下和抬起瞬间的抖动,而消除抖动后面临的更大问题就是解决按键的响应问题。下面将对其展开具体分析。
3.2.1 处理按键抖动
在该环节中,按键抖动时间的长短由按键的机械特性来决定,一般为5~10 ms[2]。去抖动的方法有很多种,如使用R-S触发器等的硬件方法和运用不同算法的软件方法等。硬件方法会增加成本和体积;而软件方法消除抖动则是检测到有触发后,将延时一段时间后再检测触发状态,如果与之前的一样,则认为有按键按下,这种方法的使用更为普遍。现在常应用加固定软件延时来去抖动。具体方法就是在有按键按下时,利用软件延时10ms或稍长的时间后再次检测按键是否按下,实际上就是避开了按键按下时的抖动时间[3]。
3.2.2 处理按键响应
本系统选用的键盘形式为编码式键盘。采用线反转法(或者称为行列翻转法)对键盘进行处理。实现方法为:
(1)初始化键盘状态,行全部输出0,列全部输出1,如果有键按下,则相应的列读回来的值应该为低,即按键列的位置已经确定。
(2)将行列反过来,把行作为输入,列作为输出,如果按键仍然被按下,则相应的行的值应该为低,即确定了行的位置[4]。
按键控制流程如图4所示。
3.3 LED屏幕显示模块
LED点阵显示屏具有运行可靠安全、节能、成本低和使用方便等特点[5],故本设计通过单片机芯片控制行列驱动电路在LED显示屏上展现提示信息。LED显示屏的硬件图如图5所示。
4软件部分的实现
通过以上的研究与设计,对整个系统进行整合和调试。具体的程序流程图如图6所示。
系统启动后,由键盘的相应按键表示有关人的请求录音,同时在LED显示屏上显示相关提示信息,接着语音录制与存储模块启动。录制完成后存入扩展的存储器中。请求放音之前需先通过键盘的相关按键选择语音信息,同时在LED屏幕上显示提示信息,而后语音回放模块启动,就将相应的语音播放出来。
5 结束语
本项目以STC89C51单片机为控制中心,结合语音存储与回放模块、按键控制模块和LED屏幕显示模块,实现了语音提醒系统,经过多次实验和调试,具有良好的稳定性和用户友好性。设计成果降低了管理工作失误,同时显著提高了管理工作效率与沟通水平,因而本研究具有重要的现实意义及应用价值。
参考文献:
[1]李斌,梁龙学.基于单片机的语音存储与回放系统[J].甘肃科技纵横,2011,01:18-20.
[2]王春武,李岩,孟祥英,尹冬梅.C51中对按键的处理方法[J].吉林师范大学学报(自然科学版),2007(4):86-87.
[3]胡泊.卫浴产品工作状态自动控制系统研究[D].武汉:华中科技大学,2008.
[4] 倪原,杨高兴,李智.全自动梯度凝胶胶片制作装置控制系统设计[J]. 西安工业大学学报,2009(4):357-360.
[5]韩团军.基于单片机的LED点阵显示控制的设计[J].电子设计工程,2011(5):180-182.