兰州工业学院毕业设计说明书(论文)
参考文献
[1] 华成英,童诗白.模拟电子技术基础.北京:高等教育出版社,2007. [2] 全国大学生电子设计竞赛组委会.全国大学生电子设计竞赛获奖作品 选编.北京:北京理工大学出版社,2005.
[3] 李朝青.PC机及单片机数据通信技术.北京:北京航空航天大学出版 社,1999.
[4] 赵文博,刘文涛.单片机C语言程序设计.北京:人民邮电出版社, 2005.
[5]苏鹏,周风余,陈磊. 基于STM 32的嵌入式语音识别模块设计[J]. 单片机与嵌入式系统应用,2011(2):42-45.
[6] 柳春.语音识别技术研究进展[J].甘肃科技2008,24(5):41-45. [7] 陈景帅.智能空间下语音交互系统的研究与实现[D].济南:山东大 学,2010.
[8] Vizimuller.RF design guide-systems, circuits, and equations.Boston: Artech- House,1995.
[9] R. Dye.Visual Object-Orientated Programming .Dr. Dobbs MacintoshJournal,1991,Sept (1st).
31
兰州工业学院毕业设计说明书(论文)
附录
系统主程序
void main() {
uint8 idata nAsrRes; FlashLED(3); MCU_init(); LD_reset();
nAsrStatus = LD_ASR_NONE; PlaySound(CODE_DEFAULT); while(1) {
if (b lay!=0)
// 如果还在播放中,则等待,直到播放// 初始状态:没有在作ASR // 播放提示音
完毕 即b lay==0
continue;
// bMp3Play 是定义的一个全局变量用
来记录MP3播放的状态,不是LD3320芯片内部的寄存器
switch(nAsrStatus) {
case LD_ASR_RUNING: case LD_ASR_ERROR: break;
case LD_ASR_NONE: {
FlashLED(4);
nAsrStatus=LD_ASR_RUNING;
if (RunASR()==0) // 启动一次ASR识别流程:ASR初始化,
ASR添加关键词语,启动ASR运算
32
兰州工业学院毕业设计说明书(论文)
}
case LD_ASR_FOUNDOK: {
FlashLED(2);
nAsrRes = LD_GetResult(); // 一次ASR识别流程结束,{ } break;
nAsrStatus = LD_ASR_ERROR; LED1=0; LED2=0;
去取ASR识别结果
}
case LD_ASR_FOUNDZERO: default: { }
FlashLED(1);
PlaySound(CODE_DEFAULT); nAsrStatus = LD_ASR_NONE; break;
PlaySound(nAsrRes); nAsrStatus = LD_ASR_NONE; break;
}// switch
}// while }
33
兰州工业学院毕业设计说明书(论文)
void MCU_init() {
P1M0 |= 1; P3M0 |= 8; LED1=0; LED2=0; P0 = 0xff; P1 = 0xff; P2 = 0xff; P3 = 0xf7; P4 = 0x0f;
#if defined (SOFT_SPI_PORT) LD_MODE = 1;
// 软件模拟SPI读写
// 设置MD管脚为高
#elif defined (HARD_SPI_PORT) // 硬件实现SPI读写 LD_MODE = 1; #else
// 设置MD管脚为高
// 并行读写 (硬件实现或者软件模拟) // 设置MD管脚为低
LD_MODE = 0; #endif IP=0; IPH=0; PX0=1; PT0=1; PS=1; IPH |= 1; EX0=0; EX1=0;
34
兰州工业学院毕业设计说明书(论文)
EA=1; }
void delay(unsigned long uldata) {
unsigned int j = 0; unsigned int g = 0; for (j=0;j<5;j++) { for (g=0;g } } } void FlashLED(uint8 nTimes) { uint8 k; for (k=0; k delay(15000); 35