




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
用 51 系列单片机实现语音输出本文是一编介绍如何通过51系列单片机来实现语音输出的文章,相信现在大家可以轻松地在网上,各种书本上找到如何用单片机来实现音乐及各种报警声的输出。当我在撑握了各音乐及报警声的输出技巧后,我就一直在想,是否可以用单片机实现语音的输出?且要如何才能实现语音的输出?后来在我查找和学习了各方面的资料后,终于找到了一种可以使单片机实用语音输出的方法,并且是一种很简单的方法,下面我就同大家分享我的成果。原理在这样的,先在电脑中用COOL EDIT PRO 2.0来记录我的语音,记录完成后再进行一定的编辑和处理,把一些多余的声音删去(因为在这里一秒的语音数据就要占去8k的空间)。然后再通过这个软件把我所要的语音信号输出转换为取样率为8k的数据(为文本格式),然后再编程使单片机每间隔1/8k秒输出一字节的数据。这样每一次输出的8位数据通过DAC0800数模转换,转换成相应的电流信号,然后再通过运放LM358转换成电压信号来驱动扬声器来发出语音信号。下面就一步一步详细教大家如何完成这些工作。1硬件我们先按图(1)用面包板焊接好所需的线图(我就是用面包板做的),有条件的朋友可以自已做热转印板或请PCB厂家加工。只要大家的元零焊接正确且参数正确,硬件部份是没问题的。元零的参数如下:R1 R2 R4 R5 R61kR32kC1 C230PC3100PC410uFY112MU189C52U2DAC0800U3LM358图(1)2软件写入到单片机中的程式如下面所示。每个指令我做了注释,相信大家应都可在看得明的了。*dac_out equp2 ;定义p2口为DAC的数据输出端口;*org00hjmpstart ;程式从100开始org0100hstart:out_loop:movp2,#0h;清p2口movdptr,#dac0800_table;取DAC输出数据的首址到dptr中mova,#0h;清累加器Amovca,a+dptr;取A+dptr所指位置的数据到累加器A中movdac_out,a;把刚才取出的数据送到DAC输出口p2call delay_125us;延时125us,也即是1/8kincdptr;dptr指针加一cjnea,#255d,out_loop;识别到了数据的结尾,不是则继续。jmp$ ;送完所有的语音数据后,程式运行到此delay_125us:;延时125us的子程式movr5,#55djnzr5,$retdac0800_table:;DAC数据的首址;*星号之间是处理好的数据db119db120db121db122。db107db114;*db255;此255是数据结束标志end大家要注意的是,在程式中db119到db114之间的数据(为十进制)是我从cool edit pro 2.0中转出来的语音数据,而db 255这一行是我自已加入去的数据结束示志位,而不是数据。因为单片机的空间有限,所以我的程式的取样率定的是8K(我觉用8K的取样率 语音质量也不差了),比较小(但一秒钟也有8000行数据),所以程式每输出一行数据要延时125US(1/8K),如果延时时间不对,语音会变调,大家到时可以试试,很爽的。另如果在软件COOL EDIT PRO 2.0中的数据取样率有所变动,在单片机的程式中的延时时间也要相映变动。取样率越大数据所占的空间就会越大,这里就是为什么我选用AT89C52的原因了,52有8K的程式空间,而一秒钟的数据也是8K,当我取不到 一秒钟的数据时再加上几十个字节的程式空间,就刚可以放入到52中去了。大家可能 觉一秒钟的语音太少了,不够爽。那怎么办?有两个为法,一是选用空间更大的单片 机,另一办法是扩展外部的数据空间,外接一个EEPROM这样就行了。扩展多大你就看着办吧,呵呵!是不是。3语音数据的处理在PC机中可以进行语音数据处理的工具软件实用太多了,但我试了各种软件,还是觉得COOL EDIT PRO 2.0(大家可以在网上下载这个软件,我用的就是汉化版的) 这个工具软件用得比较顺手,所以下面我就按这个软件来价绍如何进语音数据的处理。图(2)就是这个软件的界面,不错吧!图(2)(1)打开此软件后,点击软件左上角的“文件”菜单选择“新建“命令就可进到图(3) 所示的选项界面。图(3)(2)进入图(3)的选项界面后,按图中所示的选项进行设定就可以了。点击“确定”按 钮后就完成了对将要采样的语音信号的格式定义,如图(4)所示就是确认后的界面。这样 下一步就可以开始记录我们需要的语音信号了。图(4)(3)在开始录音之前,大家要做的工作就是先在电脑上插上一个话筒(大家可以在电脑市场买到,如果有条件也可以自已做一个,很简单的,找来一个驻极体话筒,焊上两根线,其中与话筒的外壳相连的是地,另一为信号输出端,再在线的另一端焊上一个立体声插头就可以了),接着确认你的话筒是否能正常工作。(4)完成输入设备话筒的准备工作后,大家就可以开始录音了。点击图(5)中红色的录 音按钮就可以开始录音,这时你就可以对着话筒说话。这样此软件就会记录下你的语音信息了,再次点击红色的按钮你就完成了语音输入的工作,数据如图(6)所示。接下来就你 需要对刚才录下的语音信息进行编辑处理。图(5)图(6)(5)你需要将图(6)中的语音信号的头尾处没用的数据删掉,删掉后的数据如图(7)所示。大家可能会觉删掉头尾的数据后怎么两图会相差那么远,其实你删除头尾的数据后软件会自动拉长,所以就会变成这样了。同时大家在处理数据时也要相应地注意一下左下角的时间值如图(8)所示(图(8)所示的时间为0.9秒,数据所占空间为7K左右),以保证在一秒以内,因为现在选用的是有8K内存空间的89C52,所以数据加程式不能大于8K(用8000的采样率,一秒就占用8K的空间),如果大家用更大空间的单片机,记录的数据就可以相应更大一些。大家就自已计算了。图(7)图(8)(6)完成数据的处理工作后,就可以输出此数据了。点击左上角的“文件”菜单选择“保存为”的命令,就会出现图(9)所示的对话框,大家按图所示那样将刚才处理好的数据保存为文本格式(*.TXT)就完成了本步骤的工作。完成后的数据如图(10)所示。不知大家是否有注意到图中的数据都没有大于255的(当然啦8位的取样采一定不会大于255的)。图(9)图(10)(7)完成数据输出后,还要做一些简单的处理。在每一行数据的前面加上“DB”。只有这样处理后,单片机的程式才能调用。可能大家又会问,这7000多行我一行一行要加到何时啊,大家不要急,开始时我就是这样一行一行处理的,共花了几个钟的时间才加好,但到了后来我想到一个好办法。下面我就教大家这个好办法。(8)大家先打开微软的EXCEL,将你输出的数据文件中的数据部份复制到ECCEL中,将数据的头部删去,注意是复制到第二列,如图(11)所示。图(11)(9)完成上面的工作后,再利用EXCEL的特殊复制功能(这个功能是这样的,你先在第一行输入“DB”,再选取这一个栏,接着按着CTRL键,再点选这一栏进行拖动,一直拖到再后一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 4 水葫芦的生长教学设计-2025-2026学年沪教版2020选择性必修第三册-沪教版2020
- 2023七年级数学下册 第10章 相交线、平行线与平移10.1 相交线第1课时 对顶角说课稿 (新版)沪科版
- 第16课 公益动画短片制作说课稿-2025-2026学年初中信息技术滇人版2016八年级上册-滇人版2016
- 2025年中考物理试题分类汇编(全国)电与磁(第1期)解析版
- 2走月亮(教学设计)-2024-2025学年语文四年级上册统编版
- 小学科学新教科版二年级上册全册教案(2025秋版)
- Unit2 Ways to go to school PartA Let's learn(教学设计)-2024-2025学年人教PEP版英语六年级上册
- 1《场景歌》(教学设计)-2024-2025学年统编版语文二年级上册
- 人教版小学数学五年级下册《因数与倍数》单元测试卷3套含答案
- 2025年北京高考化学试题+答案
- 煤灰管道清理方案(3篇)
- 电信营业员的理论考试题及答案
- 2025年河北大学版(2024)小学信息科技三年级(全一册)教学设计(附目录 P179)
- 安保技能活动方案
- 殡仪服务站可行性研究报告
- 物资部档案管理制度
- 2025-2030中国烟花爆竹市场竞争动态分析及前景销售格局研究报告
- 2025年普通高等学校招生全国统一考试数学试题(全国一卷)(有解析)
- 比亚迪公司薪酬管理制度
- 公司监控视频管理制度
- 交通事故护工合同范本
评论
0/150
提交评论