單片機(jī)課程設(shè)計(jì)----凌陽(yáng)spce061a聲控小車(chē)_第1頁(yè)
已閱讀1頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p>  課程設(shè)計(jì)說(shuō)明書(shū)(論文)</p><p>  課程名稱(chēng): </p><p>  設(shè)計(jì)題目: </p><p>  院 系: </p><p>  班 級(jí):

2、 </p><p>  設(shè) 計(jì) 者: </p><p>  學(xué) 號(hào): </p><p>  指導(dǎo)教師: </p><p>  設(shè)計(jì)時(shí)間: </p><p&

3、gt;<b>  課程設(shè)計(jì)任務(wù)書(shū)</b></p><p>  *注:此任務(wù)書(shū)由課程設(shè)計(jì)指導(dǎo)教師填寫(xiě)</p><p><b>  摘要:</b></p><p>  本文對(duì)聲控小車(chē)概況做了闡述。在硬件設(shè)計(jì)方面,本文以凌陽(yáng)科技公司的SPCE061A單片機(jī)為控制核心,以語(yǔ)音小車(chē)控制電路板為輔,設(shè)計(jì)小車(chē)的動(dòng)作。在軟件方面,利用C語(yǔ)

4、言進(jìn)行編程,進(jìn)行語(yǔ)音的“訓(xùn)練”和“識(shí)別”。設(shè)計(jì)出具有如下功能的語(yǔ)音識(shí)別聲控小車(chē):能夠根據(jù)錄制的語(yǔ)音命令來(lái)控制小車(chē)的前進(jìn)、后退、左拐和右拐。</p><p>  關(guān)鍵詞:SPCE061A 語(yǔ)音識(shí)別 聲控小車(chē)</p><p><b>  引言</b></p><p>  所謂聲控技術(shù)其實(shí)也就是利用語(yǔ)音識(shí)別技術(shù)來(lái)達(dá)到控制或者操作的一種技術(shù)

5、,而語(yǔ)音識(shí)別技術(shù)這近五年來(lái)已經(jīng)有很大的進(jìn)步,最新的語(yǔ)音識(shí)別技術(shù)可以辨識(shí)90%以上的人類(lèi)說(shuō)出的字。聲控技術(shù)雖然是一項(xiàng)比較先進(jìn)的技術(shù),但不可否認(rèn)的是,聲控技術(shù)在無(wú)線(xiàn)傳輸時(shí)的合成的質(zhì)量不是很好,它尚需進(jìn)一步提高,因?yàn)闊o(wú)線(xiàn)環(huán)境中的背景噪聲太大了,當(dāng)然還有其他方面的因素影響著聲控功能的發(fā)揮。</p><p>  然而隨著微電機(jī)技術(shù)、計(jì)算機(jī)技術(shù)及傳感器技術(shù)的迅速發(fā)展,現(xiàn)今聲控技術(shù)應(yīng)用廣泛,這種嶄露頭角的聲控技術(shù),給嚴(yán)重傷殘人

6、士的生活帶來(lái)了極大的方便。傷殘人士用聲音就可以打開(kāi)門(mén)窗、窗簾、電視機(jī)、電燈等。本次試驗(yàn)我們就采用了凌陽(yáng)SPCE061A單片機(jī)設(shè)計(jì)并制作了一套基于語(yǔ)音識(shí)別技術(shù)的聲控小車(chē)。</p><p><b>  課設(shè)實(shí)驗(yàn)介紹</b></p><p>  聲控智能玩具車(chē)電路是一種裝載到普通的玩具車(chē)上對(duì)玩具車(chē)進(jìn)行控制的電路。該電路可利用聲控口令使玩具車(chē)前進(jìn),并發(fā)出閃爍燈光。</p

7、><p>  設(shè)計(jì)目的:通過(guò)對(duì)聲控智能玩具車(chē)的設(shè)計(jì)與調(diào)試,使學(xué)生掌握電子系統(tǒng)的設(shè)計(jì)方法、調(diào)試過(guò)程,學(xué)會(huì)對(duì)電機(jī)、單片機(jī)、揚(yáng)聲器、驅(qū)動(dòng)電路的使用方法。</p><p><b>  設(shè)計(jì)要求及技術(shù)指標(biāo)</b></p><p>  設(shè)計(jì)一個(gè)玩具車(chē)控制電路,要求通過(guò)口令聲或猝發(fā)聲音信號(hào)轉(zhuǎn)換成相應(yīng)的電信號(hào),控制玩具車(chē)啟動(dòng)、前進(jìn),通過(guò)一段延遲時(shí)間后,玩具車(chē)自動(dòng)停

8、止。</p><p><b>  基本部分:</b></p><p>  電路由聲/電轉(zhuǎn)換電路、聲控開(kāi)關(guān)、單穩(wěn)態(tài)觸發(fā)電路、功率驅(qū)動(dòng)電路和發(fā)聲電路等組成;</p><p>  采用電容話(huà)筒或錄音用的微型話(huà)筒接收音響;</p><p>  汽車(chē)發(fā)聲可選擇發(fā)出警車(chē)聲、救護(hù)車(chē)聲、消防車(chē)聲等。</p><p&g

9、t;<b>  綜合設(shè)計(jì)方法</b></p><p>  聲控式智能玩具車(chē)控制電路如圖1所示,主要由三個(gè)部分組成。第一部分聲音接收和轉(zhuǎn)換電路主要用于接收口令或猝發(fā)聲音,并將其轉(zhuǎn)換成相應(yīng)的電信號(hào),經(jīng)過(guò)放大整形驅(qū)動(dòng)后級(jí)電路進(jìn)行控制;第二部分控制電路接收信號(hào)后,發(fā)出控制信號(hào)啟動(dòng)電機(jī),同時(shí)啟動(dòng)發(fā)聲電路,并對(duì)玩具車(chē)行駛時(shí)間進(jìn)行計(jì)時(shí);第三部分主要由發(fā)聲電路和計(jì)時(shí)電路組成,發(fā)聲電路可發(fā)出任意一種或多種報(bào)警

10、聲音,計(jì)時(shí)電路是對(duì)玩具車(chē)開(kāi)動(dòng)到自動(dòng)停止的時(shí)間段進(jìn)行計(jì)時(shí),時(shí)間長(zhǎng)短可通過(guò)調(diào)節(jié)控制電路中相應(yīng)部分來(lái)進(jìn)行。</p><p><b>  設(shè)計(jì)方案:</b></p><p><b>  設(shè)計(jì)思路及工作原理</b></p><p>  采用凌陽(yáng)SPCE061A單片機(jī),利用它的高度集成性,完成對(duì)小車(chē)的控制。結(jié)構(gòu)如圖:</p>

11、;<p>  凌陽(yáng)SPCE061A單片機(jī)</p><p>  選擇凌陽(yáng)單片機(jī)的原因:凌陽(yáng)SPCE061A單片機(jī)內(nèi)部集成了ICE,FLASH,SRAM,通用I/O接口,定時(shí)器/計(jì)數(shù)器,中斷控制,CPU時(shí)鐘鎖相環(huán),ADC,DAC輸出,UART,SIO,低電壓監(jiān)測(cè)/低電壓復(fù)位等模塊。它將電路大大簡(jiǎn)化,節(jié)省小車(chē)空間,大大減小了系統(tǒng)復(fù)雜度。</p><p>  選擇L298的原因:由于

12、單片機(jī)的IO口驅(qū)動(dòng)能力明顯不足以驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng),所以采用L298做一個(gè)過(guò)渡,一邊是單片機(jī),一邊是電機(jī),很好的解決了驅(qū)動(dòng)問(wèn)題。</p><p>  下面是L298的使用電路圖。</p><p><b>  4.3車(chē)體介紹</b></p><p>  主要是對(duì)I/O口的讀寫(xiě)控制。I./O數(shù)據(jù)與功能對(duì)應(yīng)如下:</p><p> 

13、 我們用IOB的0-3位控制電機(jī),用8-11位控制燈。這是因?yàn)檫M(jìn)過(guò)測(cè)試高位的驅(qū)動(dòng)能力要更強(qiáng),可以直接點(diǎn)亮LED燈。</p><p><b>  系統(tǒng)軟件設(shè)計(jì)</b></p><p><b>  具體的主程序:</b></p><p>  //=========================================

14、===============</p><p>  #include "s480.h"</p><p>  #include "bsrsd.h"</p><p>  #defineP_IOA_Data (volatile unsigned int *)0x7000 </p><p>  #d

15、efine P_IOA_Dir (volatile unsigned int *)0x7002</p><p>  #define P_IOA_Attrib (volatile unsigned int *)0x7003</p><p>  #define P_IOB_Data(volatile unsigned int *)0x7005 </p><

16、p>  #define P_IOB_Dir(volatile unsigned int *)0x7007 </p><p>  #define P_IOB_Attrib(volatile unsigned int *)0x7008 </p><p>  #define P_TimerA_Data(volatile unsigned int *)0x700A

17、</p><p>  #define P_TimerA_Ctrl(volatile unsigned int *)0x700B </p><p>  #define P_TimerB_Data(volatile unsigned int *)0x700C </p><p>  #define P_TimerB_Ctrl(volatile unsi

18、gned int *)0x700D </p><p>  #define P_Watchdog_Clear(volatile unsigned int *)0x7012 </p><p>  #define NAME_ID 0x100</p><p>  #define COMMAND_GO_ID 0x101</p><p&g

19、t;  #define COMMAND_BACK_ID 0x102</p><p>  #define COMMAND_LEFT_ID 0x103</p><p>  #define COMMAND_RIGHT_ID 0x104</p><p>  #define S_NAME0//取名</p><p>  #def

20、ine S_ACT11//前進(jìn)</p><p>  #define S_ACT22//倒車(chē),請(qǐng)注意</p><p>  #define S_ACT33//左拐</p><p>  #define S_ACT44//右拐</p><p>  #define S_R

21、DY 5//Yeah</p><p>  #define S_AGAIN6//請(qǐng)?jiān)僬f(shuō)一遍</p><p>  #define S_NOVOICE7//沒(méi)有聽(tīng)到任何聲音</p><p>  #define S_CMDDIFF8//說(shuō)什么暗語(yǔ)呀</p><p>  

22、#define S_NOISY8//說(shuō)什么暗語(yǔ)呀</p><p>  #define S_START9//準(zhǔn)備就緒,開(kāi)始辨識(shí)</p><p>  #define S_GJG 10//拐就拐</p><p>  extern unsigned int BSR_SDModel[100];//外部變

23、量BSR_SDModel[100],辨識(shí)器自帶</p><p>  extern void F_FlashWrite1Word(unsigned int addr,unsigned int Value);</p><p>  extern void F_FlashErase(unsigned int sector);</p><p>  //============

24、============================================</p><p>  // 語(yǔ)法格式:void Delay();</p><p>  // 實(shí)現(xiàn)功能:延時(shí)</p><p><b>  // 參數(shù):無(wú)</b></p><p>  // 返回值:無(wú)</p>&

25、lt;p>  //========================================================</p><p>  void Delay()</p><p><b>  {</b></p><p>  unsigned int i;</p><p>  for(i=

26、0;i<0x3Fff;i++)</p><p><b>  {</b></p><p>  *P_Watchdog_Clear=0x0001;</p><p><b>  }</b></p><p><b>  }</b></p><p>  //

27、========================================================</p><p>  // 語(yǔ)法格式:void PlaySnd(unsigned SndIndex,unsigned DAC_Channel);</p><p>  // 實(shí)現(xiàn)功能:語(yǔ)音播放函數(shù)</p><p>  // 參數(shù):SndIndex-播

28、放語(yǔ)音資源索引號(hào)</p><p>  //DAC_Channel-播放聲道選擇</p><p>  // 返回值:無(wú)</p><p>  //========================================================</p><p>  void PlaySnd(unsigned SndInd

29、ex,unsigned DAC_Channel)</p><p><b>  {</b></p><p>  BSR_StopRecognizer();//停止識(shí)別器</p><p>  SACM_S480_Initial(1);//初始化為自動(dòng)播放</p><p>  SACM_S480

30、_Play(SndIndex, DAC_Channel, 3);//開(kāi)始播放一段語(yǔ)音</p><p>  while((SACM_S480_Status()&0x0001)!= 0)//是否播放完畢?</p><p><b>  {</b></p><p>  SACM_S480_ServiceLoop();//

31、解碼并填充隊(duì)列</p><p>  *P_Watchdog_Clear=0x0001;//清看門(mén)狗</p><p><b>  }</b></p><p>  SACM_S480_Stop();//停止播放</p><p>  BSR_InitRecognizer(BSR_MIC);

32、//初始化識(shí)別器</p><p><b>  }</b></p><p>  //============================================================</p><p>  // 語(yǔ)法格式:int TrainWord(int WordID,int SndID);</p>&l

33、t;p>  // 實(shí)現(xiàn)功能:訓(xùn)練一條指令</p><p>  // 參數(shù):WordID-指令編碼</p><p>  //SndID-指令提示音索引號(hào)</p><p>  // 返回值:無(wú)</p><p>  //=====================================================

34、=======</p><p>  int TrainWord(unsigned int WordID,unsigned int SndID)</p><p><b>  {</b></p><p>  int Result;</p><p>  PlaySnd(SndID,3);//引導(dǎo)訓(xùn)練,播放指令

35、對(duì)應(yīng)動(dòng)作</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  Result = BSR_Train(WordID,BSR_TRAIN_TWICE);//訓(xùn)練兩次,獲得訓(xùn)練結(jié)果</p><p>  if(Result==0)break;

36、</p><p>  switch(Result)</p><p><b>  {</b></p><p>  case -1://沒(méi)有檢測(cè)出聲音</p><p>  PlaySnd(S_NOVOICE,3);</p><p>  return -1;</p>&

37、lt;p>  case -2: //需要訓(xùn)練第二次</p><p>  PlaySnd(S_AGAIN,3);</p><p><b>  break;</b></p><p>  case -3://環(huán)境太吵</p><p>  PlaySnd(S_NOISY,3);<

38、;/p><p>  return -3;</p><p>  case -4://數(shù)據(jù)庫(kù)滿(mǎn)</p><p>  return -4;</p><p>  case -5: //檢測(cè)出聲音不同</p><p>  PlaySnd(S_CMDDIFF,3);<

39、/p><p>  return -5;</p><p>  case -6: //序號(hào)錯(cuò)誤</p><p>  return -6;</p><p><b>  default:</b></p><p><b>  break;</b><

40、;/p><p><b>  }</b></p><p><b>  }</b></p><p><b>  return 0;</b></p><p><b>  }</b></p><p>  //==================

41、==========================================</p><p>  // 語(yǔ)法格式:void TrainSD();</p><p>  // 實(shí)現(xiàn)功能:訓(xùn)練函數(shù)</p><p><b>  // 參數(shù):無(wú)</b></p><p>  // 返回值:無(wú)</p>

42、<p>  //============================================================</p><p>  void TrainSD()</p><p><b>  {</b></p><p>  while(TrainWord(NAME_ID,S_NAME) != 0) ;

43、//訓(xùn)練名稱(chēng)</p><p>  while(TrainWord(COMMAND_GO_ID,S_ACT1) != 0) ; //訓(xùn)練第1個(gè)動(dòng)作</p><p>  while(TrainWord(COMMAND_BACK_ID,S_ACT2) != 0) ; //訓(xùn)練第2個(gè)動(dòng)作</p><p>  while(TrainWord(COMMAND_LEFT_I

44、D,S_ACT3) != 0) ; //訓(xùn)練第3個(gè)動(dòng)作</p><p>  while(TrainWord(COMMAND_RIGHT_ID,S_ACT4) != 0) ;//訓(xùn)練第4個(gè)動(dòng)作</p><p><b>  }</b></p><p>  //============================================

45、================</p><p>  // 語(yǔ)法格式:void StoreSD();</p><p>  // 實(shí)現(xiàn)功能:存儲(chǔ)語(yǔ)音模型函數(shù)</p><p><b>  // 參數(shù):無(wú)</b></p><p>  // 返回值:無(wú)</p><p>  //========

46、====================================================</p><p>  void StoreSD() </p><p>  {unsigned int ulAddr,i,commandID,g_Ret;</p><p>  F_FlashErase(0x

47、e000);</p><p>  F_FlashErase(0xe100);</p><p>  ulAddr=0xe000;//********</p><p>  for(commandID=0x100;commandID<0x105;commandID++)</p><p><b>  {</b></p

48、><p>  g_Ret=BSR_ExportSDWord(commandID);</p><p>  while(g_Ret!=0)//模型導(dǎo)出成功?</p><p>  g_Ret=BSR_ExportSDWord(commandID);</p><p>  for(i=0;i<100;i++)

49、//保存語(yǔ)音模型SD1(0xe000---0xe063)</p><p><b>  {</b></p><p>  F_FlashWrite1Word(ulAddr,BSR_SDModel[i]);</p><p>  ulAddr+=1;</p><p><b>  }</b

50、></p><p><b>  }</b></p><p><b>  }</b></p><p>  //============================================================</p><p>  // 語(yǔ)法格式:void StoreSD(

51、);</p><p>  // 實(shí)現(xiàn)功能:裝載語(yǔ)音模型函數(shù)</p><p><b>  // 參數(shù):無(wú)</b></p><p>  // 返回值:無(wú)</p><p>  //============================================================</p>

52、;<p>  void LoadSD() </p><p>  {unsigned int *p,k,jk,Ret,g_Ret;</p><p>  p=(int *)0xe000;</p><p>  for(jk=0;jk<5;jk++)&l

53、t;/p><p><b>  {</b></p><p>  for(k=0;k<100;k++)</p><p><b>  {</b></p><p>  Ret=*p;</p><p>  BSR_SDModel[k]=Ret;//裝載語(yǔ)音模型

54、</p><p>  p+=1;</p><p><b>  }</b></p><p>  g_Ret=BSR_ImportSDWord();</p><p>  while(g_Ret!=0)//模型裝載成功?</p><p&g

55、t;  g_Ret=BSR_ImportSDWord();</p><p><b>  }</b></p><p><b>  }</b></p><p>  //============================================================</p>

56、<p>  // 語(yǔ)法格式:void GoAhead();</p><p>  // 實(shí)現(xiàn)功能:前進(jìn)子函數(shù)</p><p><b>  // 參數(shù):無(wú)</b></p><p>  // 返回值:無(wú)</p><p>  //=======================================

57、=====================</p><p>  void GoAhead() //前進(jìn)</p><p><b>  { </b></p><p>  unsigned int j;</p><p>  PlaySnd(S_ACT1,3);</

58、p><p>  *P_IOB_Data=0x0102;</p><p>  for(j=0;j<50;j++)//延時(shí)</p><p><b>  Delay();</b></p><p>  *P_IOB_Data=0x0000;</p><p><b>  }&

59、lt;/b></p><p>  //============================================================</p><p>  // 語(yǔ)法格式:void BackUp();</p><p>  // 實(shí)現(xiàn)功能:后退子函數(shù)</p><p><b>  // 參數(shù):無(wú)&l

60、t;/b></p><p>  // 返回值:無(wú)</p><p>  //============================================================</p><p>  void BackUp() //倒退</p><p><

61、b>  {</b></p><p>  unsigned int j;</p><p>  PlaySnd(S_ACT2,3);</p><p>  *P_IOB_Data=0x0201;//延時(shí)</p><p>  for(j=0;j<50;j++)</p><p>&

62、lt;b>  Delay();</b></p><p>  *P_IOB_Data=0x0000;</p><p><b>  }</b></p><p>  //============================================================</p><p> 

63、 // 語(yǔ)法格式:void TurnLeft();</p><p>  // 實(shí)現(xiàn)功能:左轉(zhuǎn)子函數(shù)</p><p><b>  // 參數(shù):無(wú)</b></p><p>  // 返回值:無(wú)</p><p>  //================================================

64、============</p><p>  void TurnLeft() //左轉(zhuǎn)</p><p><b>  {</b></p><p>  unsigned int j;</p><p>  PlaySnd(S_GJG,3);</p><

65、p>  *P_IOB_Data=0x080A;</p><p>  for(j=0;j<30;j++)//延時(shí)</p><p><b>  Delay();</b></p><p>  *P_IOB_Data=0x0802;</p><p>  for(j=0;j<20;j++)

66、//延時(shí)</p><p><b>  Delay();</b></p><p>  *P_IOB_Data=0x0000;</p><p><b>  }</b></p><p>  //================================================

67、============</p><p>  // 語(yǔ)法格式:void TurnRight();</p><p>  // 實(shí)現(xiàn)功能:右轉(zhuǎn)子函數(shù)</p><p><b>  // 參數(shù):無(wú)</b></p><p>  // 返回值:無(wú)</p><p>  //=============

68、===============================================</p><p>  void TurnRight() //右轉(zhuǎn)</p><p><b>  {</b></p><p>  unsigned int j;</p><p

69、>  PlaySnd(S_GJG,3);//延時(shí)</p><p>  *P_IOB_Data=0x0406;</p><p>  for(j=0;j<30;j++)//延時(shí)</p><p><b>  Delay();</b></p><p>  *P_IOB_Data=

70、0x0402;</p><p>  for(j=0;j<20;j++)//延時(shí)</p><p><b>  Delay();</b></p><p>  *P_IOB_Data=0x0000;</p><p><b>  }</b></p><p>

71、  //============================================================</p><p>  // 語(yǔ)法格式:int main(void);</p><p>  // 實(shí)現(xiàn)功能:主函數(shù)</p><p><b>  // 參數(shù):無(wú)</b></p><p>  

72、// 返回值:無(wú)</p><p>  //============================================================</p><p>  int main(void)</p><p>  {int Result; //辨識(shí)結(jié)果寄存</p><p>  unsigned

73、int Ready=0;//待命標(biāo)志位</p><p>  unsigned int BS_Flag;//Train標(biāo)志位</p><p>  *P_IOA_Dir=0xff00;//初始化IOA,IOA0~7下拉輸入</p><p>  *P_IOA_Attrib=0xff00;</p><p>

74、;  *P_IOA_Data=0x0000;</p><p>  *P_IOB_Dir=0x0f00;//初始化IOB,IOB8~11同向輸出</p><p>  *P_IOB_Attrib=0x0f00;</p><p>  *P_IOB_Data=0x0000;</p><p>  BSR_DeleteSDGroup(0);

75、//初始化存儲(chǔ)器RAM</p><p>  BS_Flag=*(unsigned int *)0xe000;//讀存儲(chǔ)單元0xe000</p><p>  if(BS_Flag==0xffff)//沒(méi)有經(jīng)過(guò)訓(xùn)練(0xe000內(nèi)容為0xffff)</p><p><b>  {</b></p><

76、;p>  TrainSD();//訓(xùn)練</p><p>  StoreSD();//存儲(chǔ)訓(xùn)練結(jié)果(語(yǔ)音模型)</p><p><b>  }</b></p><p>  else //經(jīng)過(guò)訓(xùn)練(0xe000內(nèi)容為0x0055)</p><p><b>

77、  {</b></p><p>  LoadSD();//語(yǔ)音模型載入識(shí)別器</p><p><b>  }</b></p><p>  PlaySnd(S_START,3);//開(kāi)始識(shí)別提示</p><p>  BSR_InitRecognizer(BSR_MIC);

78、//初始化識(shí)別器</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  Result = BSR_GetResult();//獲得識(shí)別結(jié)果</p><p>  if(Result>0)//有識(shí)

79、別結(jié)果?</p><p><b>  {</b></p><p>  if(Result==NAME_ID) //名稱(chēng)</p><p><b>  {</b></p><p>  PlaySnd(S_RDY,3);//播放待命提示音</p><p>

80、  Ready=1;//進(jìn)入待命狀態(tài)</p><p><b>  }</b></p><p>  if(Ready==1)//待命狀態(tài)?</p><p><b>  {</b></p><p>  switch(Result)</p><p>

81、<b>  {</b></p><p>  case COMMAND_GO_ID://識(shí)別出第一條命令</p><p>  GoAhead();//執(zhí)行動(dòng)作一:直走</p><p><b>  Ready=0;</b></p><p><b>  break;<

82、/b></p><p>  case COMMAND_BACK_ID://識(shí)別出第二條命令</p><p>  BackUp();//執(zhí)行動(dòng)作二:倒車(chē)</p><p><b>  Ready=0;</b></p><p><b>  break;</b></p>

83、;<p>  case COMMAND_LEFT_ID://識(shí)別出第三條命令</p><p>  TurnLeft();//執(zhí)行動(dòng)作三:左轉(zhuǎn)</p><p><b>  Ready=0;</b></p><p><b>  break;</b></p><p> 

84、 case COMMAND_RIGHT_ID://識(shí)別出第四條命令</p><p>  TurnRight();//執(zhí)行動(dòng)作四:右轉(zhuǎn)</p><p><b>  Ready=0;</b></p><p><b>  break;</b></p><p><b>  de

85、fault:</b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if((

86、*P_IOA_Data)&0x0004)//是否重新訓(xùn)練</p><p><b>  {</b></p><p>  F_FlashErase(0xe000);</p><p>  while(1)//等待中斷</p><p><b>  {</b></

87、p><p>  *P_Watchdog_Clear=0x0001;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b>

88、;</p><p><b>  參考文獻(xiàn)</b></p><p>  [1]謝自美. 集成電路測(cè)試.北京:高等教育出版社,2002.</p><p>  [2]張雙慶等. 使用電子電路200例.北京:機(jī)械工業(yè)出版社,2003.</p><p>  [3]陳永浦. 電子電路智能化設(shè)計(jì)實(shí)例與應(yīng)用.北京:電子工業(yè)出版社,2

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論