《单片机设计》课程设计题目:基于单片机的语音录放模块专业:电气工程系班级:本电信103班姓名:杨韵沂学号:2010020243106 指导老师:钟立华小组成员:黄志良叶海心杨韵沂成绩:2013年6月摘要从20世纪开始,持续更新换代的电子科技产品的不断问世,加速了电子行业的发展,而数码技术的不断完善,更让电子科技产品走向多功能化和专业化。
基于单片机的语音录放模块运用单片机的简便性和实用性,被广泛应用于各种语言警示装置、留言装置、高档玩具和电子礼品等方面,为人们的生活增添了多姿多彩的一笔。
本次单片机实验的基于单片机的语音录放模块主要是实现一段声音的录放功能。
它在设计上采用五个模块,分别是电源转换模块、控制电路模块、语音芯片模块、音频功放模块和液晶显示模块。
其中电源转换模块采用LM7805和LM1117进行转换电压,分别产生5V和 3.3V的电压。
语音芯片模块采用ISD400408芯片,音频功效模块实现运放的功能是通过采用LM386来完成。
其中,液晶显示采用的是1602显示,显示部分为:Recording begins,Playback begins。
而,刚开机的显示是:voice recording system。
关键词:电子科技产品;语音;简便;实用SummaryFrom the 20th century, continued upgrading of electronic technology products have been developed to accelerate the development of the electronics industry, and digital technology continues to improve, leaving electronic technology products to the multi-function and specialization. Microcontroller-based voice recording module using microcontroller simplicity and practicality, are widely used in a variety of languages warning device, a message unit, high-end toys and electronic gifts, etc., adding to people's life colorful stroke. The single-chip microcontroller-based experiments voice recording module is to achieve a sound recording and playback functions. It is designed with five modules, namely, power conversion module, a control circuit module, voice chip module, audio effects module and speaker module. Including power conversion module using LM7805 and LM1117 to convert voltage 5V and 3.3V, respectively, the voltage generated. V oice chip modules ISD400408 chip op amp audio effects module's function is accomplished through the use of LM386. Among them, the LCD display is used in 1602 and the showing part is Recording begins, Playback begins. And, just getting the unit's display is voice recording system.Keyword:Electronic technology products;V oice;Simplicity ;Practicality目录一、引言 (5)1.1设计意义 (5)1.2设计目的 (5)1.3设计原理概述 (5)二、设计任务及要求 (6)三、设计内容 (7)3.1 总体设计方案图 (7)3.2各模块的设计电路图 (7)1)电源转换模块 (7)2)控制电路模块 (8)3)语音芯片 (8)4)音频功放 (9)5)液晶显示 (9)3.3 整体电路图 (10)3.4器件清单 (10)四、测试结果及分析 (11)五、总结与体会 (10)六、源程序 (13)七、参考文献 (21)一、引言设计意义:单片机本来就以它的高可靠性、低功耗和低电压等优点被广泛运用于仪器仪表的测量、家用电器、医用设备甚至是高科技领域中的航空航天等领域。
而本次试验就是利用单片机的这些优势,利用STC90C54单片机进行编程,再根据ISD400408的强记忆能力和较长时间的录音功能来实现语音的录放,此次实验具有重大意义,既对通讯设备的研发和电子科技产品的研究有很大的帮助,同时又可以节省相关电子产品的生产和研发成本。
设计目的:本次设计的主要目的是将单片机课程的书本理论知识运用到实际应用上,学会融会贯通,掌握单片机的相关技能,掌握基于单片机的语音录放模块的原理以及设计方法,并掌握电子仪器的正确使用方法,为以后的毕业设计打好基础。
设计原理概述:基于单片机的语音录放模块采用STC89C51单片机为控制核心,通过编程的实现,利用按键的断开和闭合,控制语音芯片的录音和放音,同时控制1602显示预先设置好的相关内容;语音芯片采用ISD400408芯片,利用LM386实现音频的运放功能。
我们本次实验的基于单片机的语音录放模块的总流程图如下图所示:二、设计任务及要求基于单片机的语音录放模块的设计任务是实现一段不多于8分钟的语音的录制与播放,通过用话筒输入一段语音,语音芯片模块对其进行录制,在经过音频功放模块对语音进行控制,再通过扬声器播放语音。
三、设计内容3.1 总体设计方案图3.2各模块的设计电路图1)电源转换模块电源转换模块采用LM1117来对电压进行转换,分别产生5V和3.3V的电压。
Lcd1602控制电路(STC89C516)语音芯片话筒输入电源转换音频功放(386)扬声器(16 Ω)220V3.3V3V5V5V(ISD400408)控制电路模块是整个语音录放模块的控制中心,通过89C51单片机的编程实现,控制整体电路的运行。
3)语音芯片模块语音芯片模块采用ISD400408芯片,对外来输入的语音进行录制。
音频功放模块采用LM386,对语音信号的功率进行放大。
5)液晶显示模块液晶显示采用的是1602显示,显示部分为:Recording begins,Playback begins,而刚开机时,液晶显示出:voice recording system。
3.3 整体电路图3.4器件清单名称数量STC90C54 1轻触开关 4 10K排阻 11K电阻 5 10K电位 1按键开关 1 LED 3 12M晶振 1 33pf 2 47uf电解电容 4 10K电阻 3 40脚芯片底座 1 ISD400408 1 28脚芯片底座 14K7电阻 31uf电解电容 1 0.1uf电容 6 话筒 1 2K电阻 1 300K电阻 1 2N3904 2 10UF 1 1.5K电阻 1 50电位器 1 47nf 1 220uf电解电容 1 喇叭 1 单头线 1 470uf电解电容 2 0.1电解电容 1 LM1117 1四、测试结果及分析实物图如下所示在构思时,本来设计的语音录放系统是有液晶显示部分,但由于加上液晶模块编程调试多次不成功,最后没有加液晶模块,实现了最简单的语音录放功能。
五、总结与体会本设计是一种基于51单片机控制的语音录音/放音系统,采用ISD单片语音录音/放音集成电路系列中的ISD4004实现语音的存储和播放。
通过对语音录放模块的设计,认识到了理论与实际联系的重要性与真实性。
通过对本次课程的设计,不但知道了一些以前不知道的理论知识,也巩固了学会了的知识。
最重要的是能在实践中理解书本上的知识,只会基础而不会运用到实际上操作是没用的,我们学习的最终目的是要与实际结合,明白了我们要学以致用,也了解到课程设计的重要性。
这是能提高我们的实际操作能力的一次体验。
在整个设计过程中,我主要负责电路排版焊接这个部分,我觉得最难的是焊接前的排版布线这个过程,看别人排版好像很容易,但是到了自己做的时候发觉不是那么简单。
如果排版不好,可能会影响到整个电路的美观和焊接时的难度,既要使电路看起来美观又要使其焊接难度降到最低,需要一定的时间,而且电路的连接也会影响其实际运作的准确性。
我开始就是没有注意到这些问题,所以焊接电路上用了好多的时间,我按照自己能看否清楚的电路模块焊接,看起来也不美观。
电路美不美观取决于焊接的手工,这个也不是一时间能完成的好,也需要时间去练习,焊接时要按一定顺序去焊,焊接后一定要测试电路有没有短路、虚焊、漏焊,第一次调试就因为我的一个小小的错误,焊接错了,导致运行不了,不过最后检查还是能查出问题,所以今后要多在这个方面加强练习。
六、源程序RS EQU P3.2RW EQU P3.1EP EQU P3.0K0_RE EQU P2.3K1_PL EQU P2.2K2_CO EQU P2.1LED1 EQU P2.4LED2 EQU P2.0ISDPOWERUP EQU 020HISDSTOP EQU 010HOPERSTOP EQU 030HPLAYSET EQU 0E0HPLAYCUR EQU 0F0HRECSET EQU 0A0HRECCUR EQU 0B0HSS BIT P1.3; //LOW IS ACTIVELYMOSI BIT P1.2;MISO BIT P1.5;SCLK BIT P1.4;ORG 0000HLJMP MAINMAIN:MOV sp,#50hMOV A,#0FFHMOV P0, AMOV P2,AMOV P1,ALCALL LCD_INITLCALL ISD_INITMOV A,#15LCALL DELAY_MSMAIN_LOOP:MOV A,#0LCALL SET_LCD_POSMOV DPTR,#TAB_WELCOMELCALL DISPLAY_STRINGMOV A,#40HLCALL SET_LCD_POSMOV DPTR,#TAB_WILLARLCALL DISPLAY_STRINGDO_0:JB K0_RE,DO_1MOV A,#10LCALL DELAY_MSJNB K0_RE,$CLR LED1SETB LED2; MOV DPTR,#0005HLCALL MAIN_LOOP_1LCALL RECDO_1:JB K1_PL,DO_2MOV A,#10LCALL DELAY_MSJNB K1_PL,$CLR LED2SETB LED1; MOV DPTR,#0005HLCALL MAIN_LOOP_2LCALL PLAYDO_2:JB K2_CO,DO_0MOV A,#10LCALL DELAY_MSJNB K2_CO,$SETB LED1SETB LED2LCALL STOPLCALL MAIN_LOOPSJMP DO_0MAIN_LOOP_1:MOV A,#0LCALL SET_LCD_POSMOV DPTR,#TAB_Recording_begins LCALL DISPLAY_STRINGMOV A,#40HLCALL SET_LCD_POSMOV DPTR,#TAB_KONGGELCALL DISPLAY_STRINGRETMAIN_LOOP_2:MOV A,#0LCALL SET_LCD_POSMOV DPTR,#TAB_Playback_beginsLCALL DISPLAY_STRINGMOV A,#40HLCALL SET_LCD_POSMOV DPTR,#TAB_KONGGELCALL DISPLAY_STRINGRETDISPLAY_STRING:CLR AMOVC A,@A+DPTRJZ END_DISPLAY_STRINGLCALL LCD_WRITE_DATAINC D PTRMOV A, #100LCALL DELAY_MSSJMP DISPLAY_STRINGEND_DISPLAY_STRING:RETISD_INIT:RETREC:ACALL POWERUPMOV A,#50ACALL DELAY_MSACALL DELAY_MSACALL POWERUPACALL DELAY_MSACALL DELAY_MSACALL DELAY_MSACALL DELAY_MSCLR SSMOV A,DPL;将地址DPTR的数值通过MOSI端口输入ACALL SENDMOV A,DPHACALL SENDMOV A,#10100000BACALL SENDSETB SSCLR SSMOV A,#10110000BACALL SENDSETB SSRETPLAY:ACALL POWERUPMOV A,#50ACALL DELAY_MSACALL DELAY_MSCLR SSMOV A,DPLACALL SENDMOV A,DPHACALL SENDMOV A,#11100000BACALL SENDSETB SSCLR SSMOV A,#11110000BACALL SENDSETB SSRETSTOP: CLR SSMOV A,#OPERSTOPLCALL SENDSETB SSMOV A,#50LCALL DELAY_MSSTOP_RET: RETSEND:CLR MOSICLR SCLKMOV R1,#8;讲POWERUP控制字00100000,依次通过串行输入从MOSI 口输入,以达到上电效果OUTBIT1:CLR SCLKRRC AMOV MOSI,CNOPNOPNOPSETB SCLKNOPNOPNOPDJNZ R1,OUTBIT1RETPOWERUP:MOV A,#00100000BCLR SSACALL SEND;上电开始SETB SS;上电结束RET; 初始化LCDLCD_INIT:; 设置显示格式---MOV A,#38H ; 38H --- 16*2行显示,5*7点阵,8位数据接口LCALL LCD_WRITE_COMMANDMOV A,#1LCALL DELAY_MS;开显示LCALL LCD_TURN_ON;读写后指针加1MOV A,#06H ; 06H --- 读写后指针加1LCALL LCD_WRITE_COMMANDMOV A,#1LCALL DELAY_MS; 清除LCD屏幕; LCALL LCD_CLEARRETLCD_TURN_ON:MOV A,#0CHLCALL LCD_WRITE_COMMANDMOV A,#1LCALL DELAY_MSRETLCD_TURN_OFF:MOV A,#08HLCALL LCD_WRITE_COMMANDMOV A,#1LCALL DELAY_MSRETLCD_CLEAR:MOV A,#01HLCALL LCD_WRITE_COMMANDMOV A,#1LCALL DELAY_MSRETSET_LCD_POS:ORL A,#80H ;LCALL LCD_WRITE_COMMANDRETLCD_WRITE_COMMAND:LCALL CHECK_LCD_BUSYCLR RSCLR RWCLR EPNOPNOPMOV P0,ANOPNOPNOPNOPSETB EPNOPNOPNOPNOPCLR EPRETLCD_WRITE_DATA:LCALL CHECK_LCD_BUSYSETB RSCLR RWCLR EPNOPNOPMOV P0,ANOPNOPNOPNOPSETB EPNOPNOPNOPNOPCLR EPRETCHECK_LCD_BUSY:CLR RSSETB RWSETB EPNOPNOPNOPNOPMOV C,P0.7NOPNOPCLR EPNOPNOPJC CHECK_LCD_BUSYRETDELAY_MS:MOV R7,ADELAY_LOOP1:MOV R6,#0E8HDELAY_LOOP2:NOPNOPDJNZ R6,DELAY_LOOP2DJNZ R7,DELAY_LOOP1RETTAB_WILLAR:DB " SYSTEM"DB 00TAB_WELCOME:DB "VOICE RECORDING "DB 00TAB_Recording_begins:DB "RECORDING BEGINS"DB 00TAB_Playback_begins:DB "PLAYBACK BEGINS "DB 00TAB_KONGGE:DB "........ "DB 00END七、参考文献[1]鞠剑平陈朝大.单片机应用技术教程.华中科技大学出版社, 2012[2]李小坚赵山林冯晓君龙怀冰.Protel DXP电路设计与制版实用教程(第2版).人民邮电出版社, 201121。