Desarrollo secundario del módulo de voz YS-LDV7

1. Módulo de voz YS-LDV7:

  • Voltaje de funcionamiento: 5 V
  • Método de comunicación: comunicación en serie
  • Modelo de microordenador de chip único: STC11L08XE

2. Modificación del código fuente:

(1) Utilice Keil uVision4 para modificar y abrir el código:

Inserte la descripción de la imagen aquí

(2)main.c:(Parte del código se omite aquí.

#ifdef TEST			//不执行测试命令则去掉 TEST
PrintCom("一级口令:小杰\r\n"); /*text.....*/
PrintCom("二级口令:1、代码测试\r\n"); /*text.....*/
PrintCom("	2、开发板验证\r\n"); /*text.....*/
PrintCom("	3、开灯\r\n"); /*text.....*/
PrintCom("	4、关灯\r\n"); /*text.....*/
PrintCom("  5、北京\r\n"); /*text.....*/
PrintCom("	6、上海\r\n"); /*text.....*/
PrintCom("	7、广州\r\n"); /*text.....*/
#endif

#define TEST		 //测试命令

TESTporComando de pruebaMacro, agréguelo TESTpara ejecutar el código, aquí el código es para imprimir los datos correspondientes al puerto serie, no quiero ejecutarComando de prueba, Luego #ifdef TESTelimine la TESTmacro en

(3) LDChip.c: Modifique las palabras clave y los códigos de identificación (Parte del código se omite aquí.

uint8 LD_AsrAddFixed()
{
    
    

	#define DATE_A 50   /*数组二维数值*/				//关键词数量(可修改),建议不超过 50个
	#define DATE_B 70		/*数组一维数值*/			//关键词最长的长度(可修改),建议不长于 70
	uint8 code sRecog[DATE_A][DATE_B] = {
    
    
																				 "xiao jie",\		
																				 "kai fa ban yan zheng",\
																				 "dai ma ce shi",\
																				 "kai deng",\
																				 "guan deng",\
																				 "bei jing",\
																				 "shang hai",\
																				 "guang zhou"
																			};	/*添加关键词,用户修改*/
	uint8 code pCode[DATE_A] = {
    
    
															CODE_CMD,\
															CODE_KFBYZ,\
															CODE_DMCS,\
															CODE_KD,\
															CODE_GD,\
															CODE_BJ,\
															CODE_SH,\
															CODE_GZ
														 };	/*添加识别码,用户修改*/

El contenido agregado es el método de entrada pinyin, por ejemplo, quiero agregar "Enciende las luces"Comando, luego escribe"kai deng", se utiliza el pinyin entre cada carácter chinoEspacioSeparado;
el código de identificación agregado es un valor constante de definición de macro predefinido, y al mismo tiempotengo queY palabras claveCorrespondencia uno a uno, Como se muestra en la FIG, "e incluso decirloEl código de identificación correspondiente al comando esCODE_DMCS

(4) LDChip.h: Modifique el código de identificación correspondiente según la palabra clave (Parte del código se omite aquí.

//识别码客户修改处 
#define CODE_CMD  0x00   		//该命令码0x00用户不可进行修改。
#define CODE_DMCS	0x01		//代码测试
#define CODE_KFBYZ	0x02		//开发板验证
#define CODE_KD 0x04			//开灯
#define CODE_GD 0x05			//关灯
#define CODE_BJ 0x16			//关灯
#define CODE_SH 0x17			//上海
#define CODE_GZ	0x2f			//广州

Aquí está la adición y modificación del código de identificación. Puede definir el código de identificación y el nombre de la macro de forma arbitraria de acuerdo con sus necesidades y preferencias, pero debe estar emparejado con el código de identificación utilizado anteriormente, de lo contrario se mostrará un error indefinido. El rango de parámetros del código de identificación es 01-FF, es de libre elección y no tiene un significado específico, siempre que no haya duplicado.

(5) main.c: Modifica la función de procesamiento (Parte del código se omite aquí.

switch(dat)		   /*对结果执行相关操作,客户可删除Printcom 串口输出语句替换为其他需要控制的代码*/
			  {
    
    
				  case CODE_DMCS:			/*命令“测试”*/
						PrintCom("“代码测试”命令识别成功\r\n"); /*text.....*/
													 break;
					case CODE_KFBYZ:	 /*命令“全开”*/
						PrintCom("“开发板验证”命令识别成功\r\n"); /*text.....*/
													 break;
					case CODE_KD:		/*命令“复位”*/				
						PrintCom("“开灯”命令识别成功\r\n"); /*text.....*/
													break;
					case CODE_GD:		/*命令“复位”*/				
						PrintCom("“关灯”命令识别成功\r\n"); /*text.....*/
													break;
					case CODE_BJ:		/*命令“复位”*/				
						PrintCom("“北京”命令识别成功\r\n"); /*text.....*/
													break;
					case CODE_SH:		/*命令“复位”*/				
						PrintCom("“上海”命令识别成功\r\n"); /*text.....*/
													break;
					case CODE_GZ:		/*命令“复位”*/				
						PrintCom("“广州”命令识别成功\r\n"); /*text.....*/
													break;
							default:PrintCom("请重新识别发口令\r\n"); /*text.....*/break;
				}

Los usuarios pueden agregar operaciones después de la identificación exitosa después del código de identificación correspondiente de acuerdo con su propio uso. Luego, después de que el dispositivo alcanza una determinada sentencia, se ejecutará la acción correspondiente. De hecho, este programa es para juzgar el código de identificación y luego ejecutar la acción correspondiente. Pertenece a la parte de procesamiento de la aplicación del programa del microordenador de un solo chip.

(6) Una vez completada la modificación, compruebe si se puede compilar normalmente:

Inserte la descripción de la imagen aquí

3. Depuración del módulo:

(1) Descarga del programa del módulo:

La descarga del programa de este módulo es en realidad el método de descarga del programa de la microcomputadora STC de un solo chip. Primero, debemos instalar el controlador USB a TTL (si está instalado, no es necesario instalarlo), luego conectar el USB a TTL y abrir STC-ISP:
Inserte la descripción de la imagen aquí
①Seleccione el modelo de MCU
②Seleccione el número de puerto serie correspondiente
③Abrir archivo de programa> Programa de fuente abierta> Abrir objcarpeta> Seleccionar .hexarchivo de sufijo
④Prestar atención a la verificación "El pin de reinicio se utiliza como puerto de E / S",
⑤ Haga clic en" después de configurarDescarga / programa”Y arranque en frío
⑥Después del arranque en frío, la barra de progreso inferior mostrará el progreso

(2) Depuración:

Inserte la descripción de la imagen aquí
①Abre el asistente de puerto serie
②Seleccione el búfer de recepción "Modo texto
③Elija el número de puerto serie correspondiente
④Elija 9600 baudios ⑤Abra el
puerto serie

Supongo que te gusta

Origin blog.csdn.net/lcx1837/article/details/114026233
Recomendado
Clasificación