【51单片机】LD3320A语音识别控制设计

文章目录

  • 一、主要功能
  • 二、硬件资源
    • 1.硬件准备
    • 2.硬件连接
  • 三、软件设计
    • 1.软件结构
    • 2.主要代码
  • 四、实验现象
  • 联系作者


一、主要功能

系统运行后,当对语音模块说出“小易小易”时,收到回复信息后,开始说出控制指令,项目中已设计:开门、关门、开灯、关灯、晚安指令,每当说控制指令前,必须先说“小易小易”,等待回复后才能继续。如果没有回复,系统会提示要说对应的指令。对应指令可控制舵机和LED的开关。


二、硬件资源

1.硬件准备

项目所需要的硬件资源如下:
1、51单片机开发板1个
2、SG90舵机模块1个
3、LD3320A语音识别模块1个
4、USB线1条(用于供电和程序下载)
5、杜邦线若干
6、JQ8900-16P语音模块1个

2.硬件连接

	  SG90舵机模块-->单片机IO
	  MOTOR-->P21
	  VCC-->5V
	  GND-->GND

	  LD3320A语音识别模块-->单片机IO
	  5V-->5V
	  GND-->GND
	  TXD-->P30
	  RXD-->P31

	  JQ8900-16P语音模块-->单片机IO
	  VPP-->P11
	  GND-->GND
	  VCC-->5V
	  SPK-/SPK+-->喇叭

三、软件设计

1.软件结构

【51单片机】LD3320A语音识别控制设计_第1张图片

2.主要代码

//语音识别控制
void speech_recognition_control(void)
{
	u8 len=0;
	u8 i=0;
	u8 res=0;
	steer_control(0);
	while(1)
	{
		if(UART_RX_STA&0x8000)//判断串口是否接收完数据
		{
			len=UART_RX_STA&0X3FFF;
			for(i=0;i<len;i++)
				UART_SendData(UART_RX_BUF[i]);
			UART_RX_BUF[len]='\0';
			if(strcmp((const char*)UART_RX_BUF,"收到")==0)sys_str.sta=1;
			else if(strcmp((const char*)UART_RX_BUF,"请叫小易小易")==0)sys_str.sta=2;
			else if(strcmp((const char*)UART_RX_BUF,"没听清")==0)sys_str.sta=3;
			else if(strcmp((const char*)UART_RX_BUF,"开门")==0)sys_str.sta=4;	
			else if(strcmp((const char*)UART_RX_BUF,"关门")==0)sys_str.sta=5;
			else if(strcmp((const char*)UART_RX_BUF,"开灯")==0)sys_str.sta=6;
			else if(strcmp((const char*)UART_RX_BUF,"关灯")==0)sys_str.sta=7;
			else if(strcmp((const char*)UART_RX_BUF,"晚安")==0)sys_str.sta=8;				
			memset(UART_RX_BUF,0,len);
			UART_RX_STA=0;//清除标记,等待下次接收
		}
		//根据语音识别播放
		if(sys_str.sta)
		{
			play_song_num(sys_str.sta);
			switch(sys_str.sta)
			{
				case 4: steer_control(1);break;//开门
				case 5: steer_control(0);break;//关门
				case 6: LED=0;break;//开灯
				case 7: LED=1;break;//关灯
			}
			sys_str.sta=0;		
		}
	}	
}


//应用控制系统
void app_control_sys(void)
{
	time0_init();//初始化定时器0
	lcd12864_init();//LCD12864初始化
	UART_Init();
	ES=1;
	
	while(1)
	{
		speech_recognition_control();//语音识别控制										
	}	
}

四、实验现象

B站演示视频:https://space.bilibili.com/444388619


联系作者

作者B站链接:https://space.bilibili.com/444388619
可提供手把手教学服务,资料获取请联系作者QQ:3443792007
专注于51单片机、STM32、国产32、DSP、Proteus、ardunio、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。

你可能感兴趣的:(【51单片机】趣味项目设计,单片机,51单片机,c语言,嵌入式硬件)