毕业论文 - 图文(4)

2019-08-03 11:46

扬州职业大学——电子工程系 智能语音玩具 毕业论文

// }

if(nMp3Pos>= nMp3Size) {

LD_WriteReg(0xBC,0x01);

ucStatus = LD_ReadReg(0x02); ucStatus&= (~MASK_AFIFO_INT); LD_WriteReg(0x02, ucStatus); ucStatus= LD_ReadReg(0x29);

ucStatus&= (~MASK_INT_FIFO);

LD_WriteReg(0x29,ucStatus|MASK_INT_SYNC) ; bMp3Play= 0; EX0= 1; ET0= 1; }

return;

LD_ReloadMp3Data();

LD_WriteReg(0x29,ucHighInt); LD_WriteReg(0x02,ucLowInt) ; delay(10); EX0= 1; ET0= 1;

void LD_play() {

nMp3Pos= 0; bMp3Play= 1;

LD_WriteReg(0x1B, LD_ReadReg(0x1B)|0x08); if (nMp3Pos >= nMp3Size) return ;

LD_ReloadMp3Data();

LD_WriteReg(0xBA, 0); LD_WriteReg(0x17,0x48); LD_WriteReg(0x33, 1);

ucRegVal = LD_ReadReg(0x29);

LD_WriteReg(0x29, ucRegVal|MASK_INT_FIFO);

ucRegVal = LD_ReadReg(0x02);

第 16 页 共 45 页

扬州职业大学——电子工程系 智能语音玩具 毕业论文

LD_WriteReg(0x02, ucRegVal|MASK_AFIFO_INT); ucRegVal=LD_ReadReg(0x89);

LD_WriteReg(0x89, ucRegVal | 0x0c); ucRegVal = (2& 0x03)<<2;//

ucStatus=LD_ReadReg(0x85)&(~0x0c); LD_WriteReg(0x85, ucStatus | ucRegVal);

EX0= 1; }

void LD_AdjustMIX2SPVolume(uint8 val) {

ucSPVol = val;

val = ((15-val)&0x0f) << 2;

ucRegVal = LD_ReadReg(0x8E)&0xc3; LD_WriteReg(0x8E, val | ucRegVal); LD_WriteReg(0x87, 0x78); }

void LD_WriteReg( uint8 ulAddr, uint8 ucVal ) {

LD_INDEX_PORT = ulAddr; LD_DATA_PORT = ucVal; }

uint8 LD_ReadReg( uint8 ulAddr ) {

LD_INDEX_PORT = ulAddr; return (uint8)LD_DATA_PORT; }

void LD_ReloadMp3Data() {

uint32 nCurMp3Pos; uint8 val; uint8 k;

nCurMp3Pos = nMp3StartPos + nMp3Pos; FLASH_CS= 1; FLASH_CLK= 0; FLASH_CS= 0;

IO_Send_Byte(W25P_FastReadData);

IO_Send_Byte(((nCurMp3Pos & 0xFFFFFF) >> 16)); IO_Send_Byte(((nCurMp3Pos & 0xFFFF) >> 8)); IO_Send_Byte(nCurMp3Pos & 0xFF);

第 17 页 共 45 页

扬州职业大学——电子工程系 智能语音玩具 毕业论文

IO_Send_Byte(0xFF);

ucStatus = LD_ReadReg(0x06);

while ( !(ucStatus&MASK_FIFO_STATUS_AFULL) && (nMp3Pos

val= 0;

for(k= 0;k<8;k++) { FLASH_CLK=0; val<<=1; FLASH_CLK=1; val|=FLASH_DO; }

LD_WriteReg(0x01,val); //send_UART(val); nMp3Pos++;

ucStatus = LD_ReadReg(0x06); }

FLASH_CS=1; FLASH_CLK=0; }

// Return 1: success.

uint8 LD_Check_ASRBusyFlag_b2() {

uint8 j;

uint8 flag = 0;

for (j=0; j<10; j++) {

if (LD_ReadReg(0xb2) == 0x21) { flag = 1; break; }

delay(10); }

return flag; }

void LD_AsrStart() {

LD_Init_ASR();

第 18 页 共 45 页

扬州职业大学——电子工程系 智能语音玩具 毕业论文

}

// Return 1: success. uint8 LD_AsrRun() {

LD_WriteReg(0x35, MIC_VOL); LD_WriteReg(0x1C, 0x09); LD_WriteReg(0xBD, 0x20); LD_WriteReg(0x08, 0x01); delay( 1 );

LD_WriteReg(0x08, 0x00); delay( 1 );

if(LD_Check_ASRBusyFlag_b2() == 0) {

return 0; }

LD_WriteReg(0xB2, 0xff); LD_WriteReg(0x37, 0x06); delay( 5 );

LD_WriteReg(0x1C, 0x0b); LD_WriteReg(0x29, 0x10);

LD_WriteReg(0xBD, 0x00); EX0=1; return 1; }

// Return 1: success.

uint8 LD_AsrAddFixed() {

uint8 k, flag;

uint8 nAsrAddLength;

const char sRecog[5][15] = {\er \

const uint8 pCode[5] = {CODE_TANGSHI, CODE_SUANSHU, CODE_SUANSHU, CODE_YIJIAYI,CODE_ERJIAER, };

flag = 1;

for (k=0; k<5; k++) {

if(LD_Check_ASRBusyFlag_b2() == 0) {

第 19 页 共 45 页

扬州职业大学——电子工程系 智能语音玩具 毕业论文

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<20; 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; }

uint8 LD_GetResult() {

return LD_ReadReg(0xc5 ); }

#ifndef LD_CHIP_H #define LD_CHIP_H

#define uint8 unsigned char #define uint16 unsigned int #define uint32 unsigned long

#define LD_MODE_IDLE 0x00 #define LD_MODE_ASR_RUN 0x08 #define LD_MODE_MP3 0x40

#define LD_ASR_NONE 0x00 #define LD_ASR_RUNING 0x01 #define LD_ASR_FOUNDOK 0x10 #define LD_ASR_FOUNDZERO 0x11 #define LD_ASR_ERROR 0x31

第 20 页 共 45 页


毕业论文 - 图文(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:民警思想动态分析

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: