【正文】
//播放 Ok break。 //取得識(shí)別結(jié)果 if(uiRes 0) { if(uiActivated) { uiTimerCount = 0。 //初始化識(shí)別器 while(1) { *(unsigned int *)0x7012 = 1。 uiBS_Team = 0。 F_FlashWrite1Word(0xfd00,0xaaaa)。 PlaySnd(OK)。 TrainFiveCommand()。 SaveFiveCommand(0xf900)。 //存儲(chǔ)五條命令 PlaySnd(OK)。 //格式化需要存儲(chǔ)命令的存儲(chǔ)器 TrainFiveCommand()。 uiFlagFirst = IsFirstDownLoad()。 //存儲(chǔ)鍵盤(pán)值,按下將重新訓(xùn)練 LightSystemInit()。 //時(shí)間是否超時(shí) unsigned int uiBS_Team。 //識(shí)別結(jié)果 unsigned int uiActivated。 int main(void) { unsigned int uiFlagFirst。 char temp4 = 0x0000。 char temp2 = 0x0000。 extern void F_FlashErase(int)。 extern void PlaySnd(unsigned int SndIndex)。 extern void ImportFiveCommand(unsigned int uiAddr_Import)。 extern void TrainFiveCommand(void)。 extern unsigned int IsFirstDownLoad(void)。 BSR_EnableCPUIndicator()。 } SACM_S480_Stop()。0x0001) != 0) { SACM_S480_ServiceLoop()。 SACM_S480_Play(SndIndex,3,3)。 } void PlaySnd(unsigned int SndIndex) { BSR_StopRecognizer()。 default: break。//兩次輸入命令不同 return 5。 case 5: //檢測(cè)出聲音不同 if(WordID == NAME_ID) PlaySnd(S_NAMEDIF)。 return 3。 break。 return 1。 //訓(xùn)練兩次,獲得訓(xùn)練結(jié)果 if(Result==0) break。 PlaySnd(SndIndex)。 *(unsigned int *)0x7012 = 1。 } uiRes_Import = BSR_ImportSDWord()。 p_Import += 1。uiCount++) { uiRes_Import = *p_Import。uiCommand_Import++) { for(uiCount = 0。 for(uiCommand_Import = 0。 BSR_DeleteSDGroup(0)。 27 unsigned int uiRes_Import。 } } } void ImportFiveCommand(unsigned int uiAddr_Import) { unsigned int uiCommand_Import。 *(unsigned int *)0x7012 = 1。uiCount100。 while(uiRes_Export) uiRes_Export = BSR_ExportSDWord(uiCommandID)。uiCommandID0x105。 unsigned int uiRes_Export。 } void SaveFiveCommand(unsigned int uiAddr) { unsigned int uiCommandID。 26 while(TrainWord(Command_Three_ID,3) != 0)。 while(TrainWord(Command_One_ID,1) != 0)。 //初始化存儲(chǔ) 器 RAM PlaySnd(0)。 F_FlashErase(0xFB00+400)。 //每條命令占用 96個(gè)字 ,用函數(shù)導(dǎo)出占用 100個(gè)字 F_FlashErase(0xFB00+200)。 F_FlashErase(0xFB00)。 F_FlashErase(0xF900+300)。 //存儲(chǔ)第一組命令的 Flash空間 F_FlashErase(0xF900+100)。 F_FlashErase(0xF700+400)。 //每條命令占用 96個(gè)字 ,用函數(shù)導(dǎo)出占用 100個(gè) 字 F_FlashErase(0xF700+200)。 } } void FormatFlash(void) { 25 F_FlashErase(0xF700)。 } else { uiFlagFirst_Sub = 1。 } else if(uiFlashData == 0xaaaa) { uiFlagFirst_Sub = 0。 if(uiFlashData == 0xffff) { uiFlagFirst_Sub = 1。 p = (unsigned int *)0xfd00。 unsigned int uiFlashData。 *P_IOB_Data = 0xffff。 *P_IOB_Attrib = 0xffff。 void LightSystemInit(void) { *(unsigned int *)0x7012 = 1。 extern void F_FlashErase(int)。 extern void SACM_S480_ServiceLoop()。 unsigned int TrainWord(unsigned int WordID,unsigned int SndIndex)。 void SaveFiveCommand(unsigned int uiAddr)。 void FormatFlash(void)。真是有點(diǎn)萬(wàn)事開(kāi)頭難啊,經(jīng)過(guò)不斷的努力我的系統(tǒng)終于實(shí)現(xiàn)了基本功能,在此向給我提供過(guò)幫助的老師,同學(xué),網(wǎng)友等等表示我忠心的謝意! 21 參考文獻(xiàn): [1] 李朝青 .單片機(jī)原理 及接口技術(shù) [M].北京航空航天出版社 , [2] 候媛彬 .凌陽(yáng)單片機(jī)原理及其畢業(yè)設(shè)計(jì)精選 [M].科學(xué)出版社 , [3] 盧勝利 .基于凌陽(yáng) SPCE061A設(shè)計(jì)實(shí)驗(yàn)平臺(tái)綜合設(shè)計(jì)教程 [M].機(jī)械工業(yè)出版社, [4] 肖玲妮 .Protel 99 SE 印刷電路板教程 [M].清華大學(xué)出版社, [5] 譚浩強(qiáng) .C 語(yǔ)言程序設(shè)計(jì)教程 [M].清華大學(xué)出版社, [6] 龍佑喜 .C 語(yǔ)言程序設(shè)計(jì)教程 [M].湖南教育出版社, [7] 康華光 .電子技術(shù)基礎(chǔ) [M].高等教育出版社, [8] 趙明富 .EDA技術(shù)基礎(chǔ) [M].北京大學(xué)出版社, [9] 薛均義 .凌陽(yáng) 16 位單片機(jī)原理及應(yīng)用 [M].北京航空航天大學(xué)出版社 [10] 易克初等 .語(yǔ)音信號(hào)處理 .國(guó)防工業(yè)出版社 [M]. [11] 胡航 .語(yǔ)音信號(hào)處理 .哈爾濱工業(yè)大學(xué)出版社 [M]. [12] 康華光,鄒壽彬 .電子技術(shù)基礎(chǔ)(第五版) [M].高等教育出版社 .2020 [13] 朱勇.單片機(jī)原理與應(yīng)用技術(shù) [M].清華大學(xué)出版社 .2020 [14] 高峰 . 單片微機(jī)應(yīng)用 系統(tǒng)設(shè)計(jì)及實(shí)用技術(shù) [M].北京:機(jī)械工業(yè)出版社 .2020 [15] 何希才 ,伊兵 ,杜煜 .實(shí)用電子電路設(shè)計(jì) [M ].北京 : 電子工業(yè)出版社 , 1998 [16] 康華光 電子技術(shù) 基礎(chǔ) 模擬部分 ( 第五版 ) [M].高等教育出版社, [17] 康華光 電子技術(shù) 基礎(chǔ) 數(shù)字部分 ( 第五版 ) [M].高等教育出版社, [18] 王遠(yuǎn) .模擬電子技術(shù) [M ].北京:北京機(jī)械出版社, 1994 [19] 潭博學(xué),苗江靜.集成電路原理及應(yīng)用.北京:電子工業(yè)出版社 .2020 [20] 樓然苗,李光飛. 51 系列單片機(jī)設(shè) 計(jì)實(shí)例 . 北京航空航天大學(xué)出版社 .2020 22 附錄 一: IOB0IOB1IOB2IOB3IOB4IOB5IOB6IOB7IOB8IOB9IOB10I O B 1 1I O B 1 2I O B 1 3I O B 1 4I O B 1 5IOA0IOA1IOA2IOA3IOA4IOA5IOA6IOA7IOA8I O A 9I O A 1 0I O A 1 1I O A 1 2I O A 1 3I O A 1 4I O A 1 5S L E E PV S SVSSAVSS1A V S S 1AGCO P IM I C O U TM I C NV R E F 2D A C 1D A C 2V S SI C E _ S D AI C E _ S C KI C E _ E NVDDO S C IO S C OVCPVDD_P VDDHVDDHVSSVSSVMICVDD_AVRTVCMMICPRES_B+C 2 9 C 3 0DACC91 0 4C 1 01 0 4+C 2 01 0 0 U+ C 1 91 0 0 U+ C 1 71 0 0 U+C 1 61 0 0 U C51 0 4 C61 0 4V S S+C 2 12 2 0 U+ C 2 72 2 U+ C 2 84 . 7 UR31KR21KR61 0 KR71 0 KR95 . 1 KR 1 83KR84 7 0 KX1 C 2 32 2 4C 2 42 2 4C 2 52 2 4V C MA V S S 1M I C PM I C NAGCA V S S 1V M I CA V S S 1C71 0 4C 3 15 0 2M I C O U TO P IAVSS1M ICR41KR 1 91KDACC 1 11 0 4C81 0 4+ C 1 81 0 0 UC 1 21 0 4C 2 62 2 4+54873621U6S P Y 0 0 3 0V S S12J3S p e a k e rA V S S 2VDDHDACD3L E DD4L E DR 2 13 3 0R51KVDDSLEEPV S SLEDR 2 04 . 7 KC 1 51 0 4VDDR E S _ BV S SR E S E T12J45V+C 2 22 2 0 UC 1 31 0 4C 1 41 0 4+C 3 22 2 0 UD1D21 2 3S P Y 0 0 2 9V D D _ AV D D _ PVDDVDDH3V S SA V S S 1A V S S 2P O W E RY13 2 . 7 6 8 MC12 0 PC22 0 PO S C O O S C IO S CC33 3 0 0 PC41 0 4R13 . 3 KP L LA V S S 1V C PV S SS P C E 0 6 1 A L Q F P 8 0X 3 2 O1X 3 2 I2T E S T3NC4VDD5NC6I C E7I C E C L K8I C E S D A9V S S10P V I N11D A C 112D A C 213V 2 V R E F14A V S S15AGC16O P I17M I C O U T18M I C N19P F U S E20MICP21VADREF22VEXTREF