基于单片机的语音录放系统设计

具体功能:系统由STC89C52单片机+ISD4004录音芯片+LM386功放模块+小喇叭+LCD1602+按键+指示灯+电源构成1.可通过按键随时选择相应的录音进行播放;2.可以通过按键随时录音,可以录制4段声音,并可以按键控制播放和暂停,最长可以录制8分钟;3.播放的音量可以通过调节电位器改变;

全部资料:可定制,可指导 

 

 

基于51单片机的语音实时采集系统毕业论文
摘要

本文设计并实现了一种基于STC89C52单片机的语音实时采集系统。该系统利用ISD4004录音芯片进行语音的录制和播放,通过LM386功放模块驱动小喇叭,同时使用LCD1602显示当前状态,通过按键实现录音、播放、暂停等功能。系统具有操作简便、功能丰富、成本低廉等优点,适用于多种语音采集和播放场景。

1. 引言

随着嵌入式技术的不断发展,语音处理技术在日常生活中的应用越来越广泛。本文设计的基于51单片机的语音实时采集系统,旨在实现语音的实时录制和播放功能,为用户提供便捷的语音处理工具。系统采用STC89C52单片机作为主控芯片,结合ISD4004录音芯片、LM386功放模块、LCD1602显示模块、按键和指示灯等组件,实现了语音的录制、播放、暂停和音量调节等功能。

2. 系统总体设计

系统主要由以下几个部分组成:

STC89C52单片机:作为主控芯片,负责系统的控制和数据处理。
ISD4004录音芯片:用于语音的录制和播放。
LM386功放模块:用于驱动小喇叭,实现声音的放大。
LCD1602显示模块:用于显示系统状态信息。
按键:用于用户操作,实现录音、播放、暂停等功能。
指示灯:用于指示系统状态。
电源:为系统提供稳定的电源。
3. 硬件设计
3.1 STC89C52单片机

STC89C52是51系列单片机的一种,具有8K字节的Flash存储器,256字节的RAM,32个I/O口,2个16位定时器/计数器,5个中断源等。在本系统中,STC89C52作为主控芯片,负责控制ISD4004录音芯片、LM386功放模块、LCD1602显示模块等组件的工作。

3.2 ISD4004录音芯片

ISD4004是一款高性能的语音录放芯片,支持最长8分钟的语音录制和播放。该芯片具有低功耗、高音质、操作简单等特点。在本系统中,ISD4004通过SPI接口与STC89C52单片机进行通信,实现语音的录制和播放功能。

3.3 LM386功放模块

LM386是一款低电压音频功率放大器,具有高增益、低失真、低噪声等特点。在本系统中,LM386功放模块用于驱动小喇叭,实现声音的放大。通过调节电位器,可以改变功放模块的增益,从而实现音量的调节。

3.4 LCD1602显示模块

LCD1602是一种常见的16x2字符型液晶显示模块,具有显示清晰、功耗低、接口简单等特点。在本系统中,LCD1602用于显示系统状态信息,如当前录音段数、播放状态等。

3.5 按键

系统中使用了多个按键,用于实现录音、播放、暂停等功能。按键通过I/O口与STC89C52单片机连接,单片机通过检测按键状态,实现相应的功能。

3.6 指示灯

指示灯用于指示系统状态,如录音状态、播放状态等。指示灯通过I/O口与STC89C52单片机连接,单片机通过控制I/O口的电平,实现指示灯的点亮和熄灭。

3.7 电源

系统采用5V直流电源供电,为各模块提供稳定的电源。

4. 软件设计
4.1 系统初始化

系统上电后,首先进行初始化操作,包括单片机的初始化、ISD4004录音芯片的初始化、LCD1602显示模块的初始化等。初始化完成后,系统进入主循环,等待用户操作。

4.2 按键处理

系统通过检测按键状态,实现录音、播放、暂停等功能。按键处理程序采用中断方式,当检测到按键按下时,进入相应的中断服务程序,执行相应的操作。

4.3 语音录制

用户通过按键选择录音功能,STC89C52单片机通过SPI接口向ISD4004录音芯片发送录制命令,ISD4004开始录制语音。录制完成后,ISD4004将语音数据存储在内部存储器中。

4.4 语音播放

用户通过按键选择播放功能,STC89C52单片机通过SPI接口向ISD4004录音芯片发送播放命令,ISD4004开始播放存储的语音数据。播放过程中,用户可以通过按键实现暂停和继续播放功能。

4.5 音量调节

用户通过调节电位器,改变LM386功放模块的增益,从而实现音量的调节。电位器的阻值变化通过ADC模块转换为数字信号,STC89C52单片机根据数字信号调整LM386的增益。

4.6 状态显示

系统通过LCD1602显示模块,实时显示当前状态信息,如当前录音段数、播放状态等。用户可以通过LCD1602了解系统的运行状态。

5. 系统测试
5.1 功能测试

对系统的各项功能进行测试,包括录音、播放、暂停、音量调节等。测试结果表明,系统各项功能均能正常工作,满足设计要求。

5.2 性能测试

对系统的性能进行测试,包括录音质量、播放音质、功耗等。测试结果表明,系统具有较高的录音质量和播放音质,功耗较低,满足实际应用需求。

6. 结论

本文设计并实现了一种基于STC89C52单片机的语音实时采集系统。系统利用ISD4004录音芯片、LM386功放模块、LCD1602显示模块等组件,实现了语音的录制、播放、暂停和音量调节等功能。系统具有操作简便、功能丰富、成本低廉等优点,适用于多种语音采集和播放场景。未来,可以进一步优化系统性能,增加更多功能,提高系统的实用性和可靠性。

参考文献

[1] STC89C52单片机数据手册
[2] ISD4004录音芯片数据手册
[3] LM386功放模块数据手册
[4] LCD1602显示模块数据手册
[5] 51单片机编程与应用

以上是基于51单片机的语音实时采集系统的毕业论文,详细介绍了系统的总体设计、硬件设计、软件设计、系统测试和结论。希望对你的毕业论文写作有所帮助。

 
		 if(K3==0&&key_bit1==0)					//选择播放哪段
		    { 
			   while(K3==0&&key_bit1==0);
				key_bit2=1;
			    num11++;			
			   if(num11>play_count)
			   {
				   num11=0;
				   bb=0;cc=0;dd=0;
				   key_bit2=0;
				   LCD_write_str(0,0,"                ");
			   }
				switch(num11)
		          {    
				     case 1:{LCD_write_str(0,0,"NUM:1 Rec    ");bb=1;cc=0;dd=0;ee=0;}break;
				     case 2:{LCD_write_str(0,0,"NUM:2 Rec    ");bb=0;cc=1;dd=0;ee=0;}break;
				     case 3:{LCD_write_str(0,0,"NUM:3 Rec    ");cc=0;bb=0;dd=1;ee=0;}break;
				     case 4:{LCD_write_str(0,0,"NUM:4 Rec    ");cc=0;bb=0;dd=0;ee=1;}break; 
	              }		
			}
			if(bb==1){

				  if(K2==0&&key_bit2==1)
		          {
				    while(K2==0); 	
					key_bit1=1;
					play(0x0000);
					LCD_write_str(0,0,"NUM:1 Playing  ");
				
				  }
			 }
			 if(cc==1){

				  if(K2==0&&key_bit2==1)
		          {
				    while(K2==0); 
					key_bit1=1;
					play(0x012d);
					LCD_write_str(0,0,"NUM:2 Playing  ");
				  }
			 }
			 if(dd==1){

				  if(K2==0&&key_bit2==1)
		          {
				    while(K2==0); 
					key_bit1=1;
					play(0x0259);
					LCD_write_str(0,0,"NUM:3 Playing  ");

				  }
			 }
		     if(ee==1){

				  if(K2==0&&key_bit2==1)
		          {
				    while(K2==0); 
					key_bit1=1;
					play(0x0385);
					LCD_write_str(0,0,"NUM:4 Playing  ");
				  }
			 }

 } 

/以下部分为主程序///
void main()
{  
   num_rec = ISP_READ(0x2c00);  //保存数值回读
   reccout = ISP_READ(0x2c01);
   play_count=num_rec;		//保存条数
   init1602();				 //液晶初始化
   LCD_write_str(0,1,"N:");
   stop();
	while(1)
	   { 
	      keyscan();	   //按键扫描
	      playsound();	   //录播放

		  Write_num(0xC2,num_rec);	//显示条数
		  	
	   	}


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

科创工作室li

你的鼓励将是大学生的创作动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值