1、 电子科技产品;语音;简便;实用1 STC89C52 STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。2 ISD4002ISD4004 系列工作电压3V,单片录放时间8 至16 分钟,音质好,适用于移动电话及其他便携式电子产品中。芯片采用CMOS 技术,内含振荡器、防混淆滤波器、平滑滤波器、音频
2、放大器、自动静噪及高密度多电平闪烁存贮陈列。3 LM386LM386是一种音频集成功放,具有自身功耗低、更新内链增益可调整、电源电压范围大、外接元件少和总谐波失真小等优点的功率放大器,广泛应用于录音机和收音机之中。四、设计内容4.1 总体设计方案图语音芯片话筒输入(ISD4002)4.2各模块的设计电路图1)电源转换模块电源转换模块采用LM1117来对电压进行转换,分别产生5V和3.3V的电压。2)控制电路模块控制电路模块是整个语音录放模块的控制中心,通过89C52单片机的编程实现,控制整体电路的运行。3)语音芯片模块语音芯片模块采用ISD4002芯片,对外来输入的语音进行录制。4)音频功放模
3、块音频功放模块采用LM386,对语音信号的功率进行放大。4.3 整体电路图4.4器件清单名称数量STC90C541轻触开关410K排阻1K电阻510K电位按键开关LED312M晶振33pf247uf电解电容10K电阻40脚芯片底座ISD40040828脚芯片底座4K7电阻1uf电解电容0.1uf电容6话筒2K电阻300K电阻2N390410UF1.5K电阻50电位器47nf220uf电解电容喇叭单头线470uf电解电容0.1电解电容LM1117五、测试结果及分析实物图如下所示六.总结与体会本设计是一种基于51单片机控制的语音录音/放音系统,采用ISD单片语音录音/放音集成电路系列中的ISD40
4、02实现语音的存储和播放。通过对语音录放模块的设计,认识到了理论与实际联系的重要性与真实性。通过对本次课程的设计,不但知道了一些以前不知道的理论知识,也巩固了学会了的知识。最重要的是能在实践中理解书本上的知识,只会基础而不会运用到实际上操作是没用的,我们学习的最终目的是要与实际结合,明白了我们要学以致用,也了解到课程设计的重要性。这是能提高我们的实际操作能力的一次体验。在整个设计过程中,我主要负责电路排版焊接这个部分,我觉得最难的是焊接前的排版布线这个过程,看别人排版好像很容易,但是到了自己做的时候发觉不是那么简单。如果排版不好,可能会影响到整个电路的美观和焊接时的难度,既要使电路看起来美观又
5、要使其焊接难度降到最低,需要一定的时间,而且电路的连接也会影响其实际运作的准确性。我开始就是没有注意到这些问题,所以焊接电路上用了好多的时间,我按照自己能看否清楚的电路模块焊接,看起来也不美观。电路美不美观取决于焊接的手工,这个也不是一时间能完成的好,也需要时间去练习,焊接时要按一定顺序去焊,焊接后一定要测试电路有没有短路、虚焊、漏焊,第一次调试就因为我的一个小小的错误,焊接错了,导致运行不了,不过最后检查还是能查出问题。七、源程序#include sbit SS = P10; /片选sbit SCLK = P13; /ISD4003时钟sbit MOSI = P11; /数据输入sbit M
6、ISO = 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) ;
7、 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;/*/发送stop指令void isd_stop(void) delay(10); spi_send(0x30); SS=1; delayms(50);/发送上电指令,并延迟50msvoid isd_pu(void) spi_
8、send(0x20);/*发送掉电指令,并延迟50msvoid isd_pd(void) spi_send(0x10);/发送play指令void isd_play(void) LED=0; spi_send(0xf0);/发送rec指令void isd_rec(void) spi_send(0xb0);/发送setplay指令void isd_setplay(unsigned char adl,unsigned char adh) spi_send(adl); /发送放音起始地址低位 adh=adh|0xe0; spi_send(adh); /发送放音起始地址高位/发送setrec指令voi
9、d isd_setrec(unsigned char adl,unsigned char adh) adh=adh|0xa0;/芯片溢出,LED闪烁提醒停止录音void isd_overflow(void) while(AN=0) LED=1; delayms(300); LED=0;/检查芯片是否溢出(读OVF,并返回OVF值)unsigned char chk_isdovf(void) delay(2); SCLK=1; if (MISO=1) SS =1; /关闭spi通信端 isd_stop(); /发送stop指令 return 1; /OVF为1,返回1 else return 0; /OVF为0,返回0/*/主程序/功能:1.录音时,
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1