本文章为本人接触LD3320的笔记,供新手参考使用;
目录
硬件及其连接
软件与环境
Keil uVision5
STC-ISP
环境搭建
程序修改及其描述
连接 USB 下载器,接上 GND、RXD、TXD、5V,注意 RXD/TXD 必须交叉连接
STCMCU采用的是STC11L32XE
问题描述:在 keil5 中,没有STC系列的芯片;
解决方法:参考文章“KEIL中怎样添加STC系列单片机”
下面将基于开关灯的功能,对例程进行修改,并对一些程序进行简单的说明。
在 LDChip.c 文件中,有以下代码
uint8 LD_AsrAddFixed() { uint8 k, flag; uint8 nAsrAddLength; #define DATE_A 8 /*数组二维数值,有八行设置*/ #define DATE_B 30 /*数组一维数值*/ uint8 code sRecog[DATE_A][DATE_B] = { "xiao jie",\ "kai fa ban yan zheng",\ "dai ma ce shi",\ "deng lai",\ "deng qu",\ "deng shan shuo",\ "you zhuan",\ "zan ting" }; /*添加关键词,用户修改*/ uint8 code pCode[DATE_A] = { CODE_CMD,\ CODE_KFBYZ,\ CODE_DMCS,\ CODE_KD,\ CODE_GD,\ CODE_SS,\ CODE_YZ,\ CODE_ZT }; /*添加识别码,用户修改*/ flag = 1; for (k=0; k<DATE_A; k++) { if(LD_Check_ASRBusyFlag_b2() == 0) { flag = 0; break; } LD_WriteReg(0xc1, pCode[k] ); LD_WriteReg(0xc3, 0 ); LD_WriteReg(0x08, 0x04); delay(1); LD_WriteReg(0x08, 0x00); delay(1); for (nAsrAddLength=0; nAsrAddLength<DATE_B; nAsrAddLength++) { if (sRecog[k][nAsrAddLength] == 0) break; LD_WriteReg(0x5, sRecog[k][nAsrAddLength]); } LD_WriteReg(0xb9, nAsrAddLength); LD_WriteReg(0xb2, 0xff); LD_WriteReg(0x37, 0x04); } return flag; }
功能描述:向LD3320模块添加关键词
操作方法:
如果有修改识别码的情况下,需要分别在文件"main.c""LDChip.h"处同步修改;//其中"LDChip.h"中有识别码在MCU中的地址,该地方笔者不是很会
最后在"main.c"文件中,对 User_handle() 进行相关事件即可完成开关灯等指令;