基于单片机的语音录放模块_第1页
基于单片机的语音录放模块_第2页
基于单片机的语音录放模块_第3页
基于单片机的语音录放模块_第4页
基于单片机的语音录放模块_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机原理与应用课程设计报告题 目:基于单片机的语音录放模块学生名字: 学生班级: 学生学号: 指导老师: 课题组其他成员名字:成 绩:2014年12月12日摘要从20世纪开始,持续更新换代的电子科技产品的不断问世,加速了电子行业的发展,而数码技术的不断完善,更让电子科技产品走向多功能化和专业化。基于单片机的语音录放模块运用单片机的简便性和实用性,被广泛应用于各种语言警示装置、留言装置、高档玩具和电子礼品等方面,为人们的生活增添了多姿多彩的一笔。本次单片机实验的基于单片机的语音录放模块主要是实现一段声音的录放功能。它在设计上采用四个模块,分别是电源转换模块、控制电路模块、语音芯片模块、音频功放模块。其中电源转换模块采用LM7805和LM1117进行转换电压,分别产生5V和3.3V的电压。语音芯片模块采用ISD4002芯片,音频功效模块实现运放的功能是通过采用LM386来完成。关键词: 电子科技产品;语音;简便;实用目录一、引言- 3 -1.设计意义- 3 -2.设计目的- 3 -3.设计原理概述- 3 -二、设计任务及要求- 3 -三、硬件介绍- 3 -1 STC89C52- 4 -2 ISD4002- 4 -3 LM386- 4 -四、设计内容- 5 -4.1 总体设计方案图- 5 -4.2各模块的设计电路图- 5 -1)电源转换模块- 5 -2)控制电路模块- 6 -3)语音芯片模块- 6 -4)音频功放模块- 7 -4.3 整体电路图- 8 -4.4器件清单- 8 -五、测试结果及分析- 9 -六.总结与体会- 10 -七、源程序- 11 -一、引言1.设计意义单片机本来就以它的高可靠性、低功耗和低电压等优点被广泛运用于仪器仪表的测量、家用电器、医用设备甚至是高科技领域中的航空航天等领域。而本次试验就是利用单片机的这些优势,利用STC89C52单片机进行编程,再根据ISD4002的强记忆能力和较长时间的录音功能来实现语音的录放,此次实验具有重大意义,既对通讯设备的研发和电子科技产品的研究有很大的帮助,同时又可以节省相关电子产品的生产和研发成本。2.设计目的本次设计的主要目的是将单片机课程的书本理论知识运用到实际应用上,学会融会贯通,掌握单片机的相关技能,掌握基于单片机的语音录放模块的原理以及设计方法,并掌握电子仪器的正确使用方法,为以后的毕业设计打好基础。3.设计原理概述基于单片机的语音录放模块采用STC89C52单片机为控制核心,通过编程的实现,利用按键的断开和闭合,控制语音芯片的录音和放音;语音芯片采用ISD4002芯片,利用LM386实现音频的运放功能。二、设计任务及要求基于单片机的语音录放模块的设计任务是实现一段不多于8分钟的语音的录制与播放,通过用话筒输入一段语音,语音芯片模块对其进行录制,在经过音频功放模块对语音进行控制,再通过扬声器播放语音。三、硬件介绍1 STC89C52 STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。2 ISD4002 ISD4004 系列工作电压3V,单片录放时间8 至16 分钟,音质好,适用于移动电话及其他便携式电子产品中。芯片采用CMOS 技术,内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮陈列。3 LM386LM386是一种音频集成功放,具有自身功耗低、更新内链增益可调整、电源电压范围大、外接元件少和总谐波失真小等优点的功率放大器,广泛应用于录音机和收音机之中。 四、设计内容4.1 总体设计方案图5V3.3V5V控制电路(STC89C52)扬声器(16 )音频功放(LM386)电源语音芯片话筒输入(ISD4002)4.2各模块的设计电路图1)电源转换模块电源转换模块采用LM1117来对电压进行转换,分别产生5V和3.3V的电压。2)控制电路模块控制电路模块是整个语音录放模块的控制中心,通过89C52单片机的编程实现,控制整体电路的运行。3)语音芯片模块语音芯片模块采用ISD4002芯片,对外来输入的语音进行录制。4)音频功放模块音频功放模块采用LM386,对语音信号的功率进行放大。4.3 整体电路图4.4器件清单名称数量STC90C541轻触开关410K排阻11K电阻510K电位1按键开关1LED312M晶振133pf247uf电解电容410K电阻340脚芯片底座1ISD400408128脚芯片底座14K7电阻31uf电解电容10.1uf电容6话筒12K电阻1300K电阻12N3904210UF11.5K电阻150电位器147nf1220uf电解电容1喇叭1单头线1470uf电解电容20.1电解电容1LM11171五、测试结果及分析实物图如下所示六.总结与体会本设计是一种基于51单片机控制的语音录音/放音系统,采用ISD单片语音录音/放音集成电路系列中的ISD4002实现语音的存储和播放。通过对语音录放模块的设计,认识到了理论与实际联系的重要性与真实性。通过对本次课程的设计,不但知道了一些以前不知道的理论知识,也巩固了学会了的知识。最重要的是能在实践中理解书本上的知识,只会基础而不会运用到实际上操作是没用的,我们学习的最终目的是要与实际结合,明白了我们要学以致用,也了解到课程设计的重要性。这是能提高我们的实际操作能力的一次体验。在整个设计过程中,我主要负责电路排版焊接这个部分,我觉得最难的是焊接前的排版布线这个过程,看别人排版好像很容易,但是到了自己做的时候发觉不是那么简单。如果排版不好,可能会影响到整个电路的美观和焊接时的难度,既要使电路看起来美观又要使其焊接难度降到最低,需要一定的时间,而且电路的连接也会影响其实际运作的准确性。我开始就是没有注意到这些问题,所以焊接电路上用了好多的时间,我按照自己能看否清楚的电路模块焊接,看起来也不美观。电路美不美观取决于焊接的手工,这个也不是一时间能完成的好,也需要时间去练习,焊接时要按一定顺序去焊,焊接后一定要测试电路有没有短路、虚焊、漏焊,第一次调试就因为我的一个小小的错误,焊接错了,导致运行不了,不过最后检查还是能查出问题。七、源程序#include sbit SS = P10; /片选sbit SCLK = P13; /ISD4003时钟sbit MOSI = P11; /数据输入sbit MISO = P12; /数据输出sbit LED = P17; /指示灯sbit ISD_INT = P33; /中断sbit AN = P16; /执行sbit STOP = P15; /复位sbit PR = P14; /PR=1录音 PR=0放音void delay(unsigned int time) /延迟n微秒while(time!=0)time- ;void delayms(unsigned int time) /延迟n毫秒 TMOD=0x01;for(time;time0;time-)TH0=0xfc;TL0=0x18;TR0=1;while(TF0!=1);TF0=0;TR0=0;/*/ISD4002 spi串行发送子程序,8位数据/*void spi_send(unsigned char isdx) unsigned char isx_counter;SS=0; /ss=0,打开spi通信端SCLK=0;for(isx_counter=0;isx_counter1;SCLK=1;delay(2);SCLK=0;delay(2);/*/发送stop指令/*void isd_stop(void) delay(10);spi_send(0x30);SS=1;delayms(50);/*/发送上电指令,并延迟50ms/*void isd_pu(void) delay(10);SS=0;spi_send(0x20);SS=1;delayms(50);/*/*发送掉电指令,并延迟50msvoid isd_pd(void) delay(10);spi_send(0x10);SS=1;delayms(50);/*/发送play指令/*void isd_play(void)LED=0;spi_send(0xf0);SS=1;/*/发送rec指令/*void isd_rec(void)LED=0;spi_send(0xb0);SS=1;/*/发送setplay指令/*void isd_setplay(unsigned char adl,unsigned char adh) spi_send(adl); /发送放音起始地址低位adh=adh|0xe0;spi_send(adh); /发送放音起始地址高位SS=1;/*/发送setrec指令void isd_setrec(unsigned char adl,unsigned char adh)spi_send(adl); /发送放音起始地址低位adh=adh|0xa0;spi_send(adh); /发送放音起始地址高位SS=1;/*/芯片溢出,LED闪烁提醒停止录音/*void isd_overflow(void)while(AN=0)LED=1;delayms(300);LED=0;delayms(300);/*/检查芯片是否溢出(读OVF,并返回OVF值)/*unsigned char chk_isdovf(void)SS=0;delay(2);SCLK=0;delay(2);SCLK=1;SCLK=0;delay(2);if (MISO=1) SCLK=0;SS =1; /关闭spi通信端isd_stop(); /发送stop指令return 1; /OVF为1,返回1else SCLK=0;SS =1; /关闭spi通信端isd_stop(); /发送stop指令return 0; /OVF为0,返回0/*/主程序/功能:1.录音时,按住AN键,LED点亮开始录音,松开AN即可停止录音/ 再次按下AN键,LED点亮开始录第二段音,依次类推,直到芯片溢出。/ 按stop键芯片复位/ 2.放音时,按一下AN键,即播放一段语音。 按stop键芯片复位。/*void main(void)unsigned char ovflog;while(1)P0=P1=P2=P3=0xff; /初始化while (AN=1) /等待AN键按下if (AN=0) /按键防抖动delayms(20);delayms(300);delayms(300);delayms(300);delayms(300);delayms(300);delayms(300);isd_pu(); /AN键按下,ISD上电并延迟50msisd_pd();isd_pu();delayms(300);if (PR=1) /如果PR=1则转入录音部分delayms(500); /延迟录音isd_setrec(0x00,0x00); /发送0x0000h地址的setplay指令do isd_rec(); /发送rec指令delay(20);while(AN=0) /等待录音完毕if (ISD_INT=0) /如果芯片溢出,进行LED闪烁提示,isd_overflow(); /如果取消录音(松开AN键)则停止录音,芯片复位if (ISD_INT=0)break;LED=1; /录音完毕,LED熄灭isd_stop(); /发送停止命令while(AN=1) /如果AN再次按下,开始录制下一段语音if(STOP=0) /如果按下STOP按键,则芯片复位break;if (AN=0)delayms(500);while(AN=0);else /如果PR=0则转入放音部分while(AN=0);isd_setplay(0x4f,0x00); /发送setplay指令,从0x0000地址开始放音 /0019 002c 003fdo isd_play(); /发送放音指令delay(20);while(ISD_INT=1) /等待放音完毕的EOM中断信号;LED=1;isd_stop(); /放音完毕,发送stop指令if (ovflog=chk_isdovf() /检查芯片是否溢出 ,如溢出则停止放音,芯片

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论