2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  課程設(shè)計(jì)—自動(dòng)循跡小車</p><p><b>  車體設(shè)計(jì)</b></p><p>  方案1:購(gòu)買玩具電動(dòng)車。購(gòu)買的玩具電動(dòng)車具有組裝完整的車架車輪、電機(jī)及其驅(qū)動(dòng)電路。但是一般的說(shuō)來(lái),玩具電動(dòng)車具有如下缺點(diǎn):首先,這種玩具電動(dòng)車由于裝配緊湊,使得各種所需傳感器的安裝十分不方便。其次,這種電動(dòng)車一般都是前輪轉(zhuǎn)向后輪驅(qū)動(dòng),不能適應(yīng)該題目的方格地圖

2、,不能方便迅速的實(shí)現(xiàn)原地保持坐標(biāo)轉(zhuǎn)90度甚至180度的彎角。再次,玩具電動(dòng)車的電機(jī)多為玩具直流電機(jī),力矩小,空載轉(zhuǎn)速快,負(fù)載性能差,不易調(diào)速。而且這種電動(dòng)車一般都價(jià)格不菲。因此我們放棄了此方案。 </p><p>  方案2:自己制作電動(dòng)車。經(jīng)過(guò)反復(fù)考慮論證,我們制定了左右兩輪分別驅(qū)動(dòng),后萬(wàn)向輪轉(zhuǎn)向的方案。即左右輪分別用兩個(gè)轉(zhuǎn)速和力矩基本完全相同的直流電機(jī)進(jìn)行驅(qū)動(dòng),車體尾部裝一個(gè)萬(wàn)向輪。這樣,當(dāng)兩個(gè)直流電機(jī)轉(zhuǎn)向相

3、反同時(shí)轉(zhuǎn)速相同時(shí)就可以實(shí)現(xiàn)電動(dòng)車的原地旋轉(zhuǎn),由此可以輕松的實(shí)現(xiàn)小車坐標(biāo)不變的90度和180度的轉(zhuǎn)彎。 </p><p>  在安裝時(shí)我們保證兩個(gè)驅(qū)動(dòng)電機(jī)同軸。當(dāng)小車前進(jìn)時(shí),左右兩驅(qū)動(dòng)輪與后萬(wàn)向輪形成了三點(diǎn)結(jié)構(gòu)。這種結(jié)構(gòu)使得小車在前進(jìn)時(shí)比較平穩(wěn),可以避免出現(xiàn)后輪過(guò)低而使左右兩驅(qū)動(dòng)輪驅(qū)動(dòng)力不夠的情況。為了防止小車重心的偏移,后萬(wàn)向輪起支撐作用。 對(duì)于車架材料的選擇,我們經(jīng)過(guò)比較選擇了有機(jī)玻璃。用有機(jī)玻璃做的車架比塑

4、料車架更加牢固,比鐵制小車更輕便,美觀。 </p><p>  綜上考慮,我們選擇了方案2。小車底盤如圖1所示: </p><p><b>  電機(jī)選擇:</b></p><p>  最初我們?cè)跂|明電子市場(chǎng)上買了兩個(gè)舊電機(jī),有計(jì)數(shù)脈沖,如下圖所示:</p><p>  花費(fèi)了30元的舊電機(jī)</p><

5、p><b>  電機(jī)產(chǎn)生的脈沖</b></p><p>  經(jīng)過(guò)實(shí)際比較,我們發(fā)現(xiàn)電機(jī)的軸太短,根本無(wú)法固定輪子,并且其中有一個(gè)電機(jī)的軸有缺陷,軸上有一個(gè)凹槽。最終不得不放棄使用這個(gè)電機(jī)而去西門從新買了兩個(gè)新的減速電機(jī),如下圖:</p><p>  電機(jī)的固定采用的是鋁合金直角墊片加鐵絲捆綁的方式,這樣做非常牢固,但是看起來(lái)不是很美觀。</p>&

6、lt;p><b>  輪子方案:</b></p><p>  在選定電機(jī)后,我們買了一個(gè)萬(wàn)向輪,萬(wàn)向輪的高度減去電機(jī)的半徑就是驅(qū)動(dòng)輪的半徑。</p><p>  輪子是在工程訓(xùn)練中心用尼龍棒在車床上作出來(lái)的,當(dāng)時(shí)我們還戲稱我們的小車是“機(jī)電一體化”的產(chǎn)品。</p><p><b>  輪子的截面圖:</b></

7、p><p><b>  萬(wàn)向輪:</b></p><p>  當(dāng)小車前進(jìn)時(shí),左右兩驅(qū)動(dòng)輪與后萬(wàn)向輪形成了三點(diǎn)結(jié)構(gòu)。這種結(jié)構(gòu)使得小車在前進(jìn)時(shí)比較平穩(wěn),可以避免出現(xiàn)后輪過(guò)低而使左右兩驅(qū)動(dòng)輪驅(qū)動(dòng)力不夠的情況。為了防止小車重心的偏移,后萬(wàn)向輪起支撐作用。并且可以輕松實(shí)現(xiàn)90度甚至180度原地轉(zhuǎn)彎。</p><p><b>  硬件設(shè)計(jì)</b

8、></p><p>  系統(tǒng)總設(shè)計(jì)電路圖如下圖,PDF格式,Rrotel99格式。</p><p>  各部分電路圖及說(shuō)明:</p><p>  穩(wěn)壓電路:(上部分穩(wěn)壓至12V,下部分穩(wěn)壓至5V)</p><p>  L298電機(jī)控制驅(qū)動(dòng): 可以參考http://bbs.avrvi.com/read.php?tid=252&pa

9、ge=1&toread=1</p><p>  電壓比較器電路(光電對(duì)管檢測(cè)電路):</p><p>  可調(diào)電阻R3可以調(diào)節(jié)比較器的門限電壓,經(jīng)示波器觀察,輸出波形相當(dāng)規(guī)則,可以直接夠單片機(jī)查詢使用。 而且經(jīng)試驗(yàn)驗(yàn)證給此電路供電的電池的壓降較小。因此我們選擇此電路作為我們的傳感器檢測(cè)與調(diào)理電路。 </p><p><b>  實(shí)物與分析</

10、b></p><p><b>  電源電路:</b></p><p>  由于本系統(tǒng)需要電池供電,我們考慮了如下幾種方案為系統(tǒng)供電。 </p><p>  方案1: 采用10節(jié)1.5V干電池供電,電壓達(dá)到15V,經(jīng)7812穩(wěn)壓后給支流電機(jī)供電,然后將12V電壓再次降壓、穩(wěn)壓后給單片機(jī)系統(tǒng)和其他芯片供電。但干電池電量有限,使用大量的干電池給

11、系統(tǒng)調(diào)試帶來(lái)很大的不便,因此,我們放棄了這種方案。</p><p>  方案2:采用3節(jié)4.2V可充電式鋰電池串聯(lián)共12.6V給直流電機(jī)供電,經(jīng)過(guò)7812的電壓變換后給支流電機(jī)供電,然后將12V電壓再次降壓、穩(wěn)壓后給單片機(jī)系統(tǒng)和其他芯片供電。鋰電池的電量比較足,并且可以充電,重復(fù)利用,因此,這種方案比較可行。但鋰電池的價(jià)格過(guò)于昂貴,使用鋰電池會(huì)大大超出我們的預(yù)算,因此,我們放棄了這種方案。</p>

12、<p>  方案3:采用12V蓄電池為直流電機(jī)供電,將12V電壓降壓、穩(wěn)壓后給單片機(jī)系統(tǒng)和其他芯片供電。蓄電池具有較強(qiáng)的電流驅(qū)動(dòng)能力以及穩(wěn)定的電壓輸出性能。雖然蓄電池的體積過(guò)于龐大,在小型電動(dòng)車上使用極為不方便,但由于我們的車體設(shè)計(jì)時(shí)留出了足夠的空間,并且蓄電池的價(jià)格比較低。因此我們選擇了此方案。 </p><p>  綜上考慮,我們選擇了方案3。這個(gè)黑呼呼的東西,讓我們可愛(ài)的小車變得很難看。</

13、p><p><b>  穩(wěn)壓模塊:</b></p><p>  方案1: 采用兩片7812將電壓穩(wěn)壓至12V后給直流電機(jī)供電,然后采用一片7809將電壓穩(wěn)定至9V,最后經(jīng)7805將電壓穩(wěn)至5V,給單片機(jī)系統(tǒng)和其他芯片供電,但7809和7805壓降過(guò)大,使7809和7805消耗的功率過(guò)大,導(dǎo)致7809和7805發(fā)熱量過(guò)大,因此,我們放棄了這種方案。 </p>

14、<p>  方案2:采用兩片7812將電壓穩(wěn)壓至12V后給直流電機(jī)供電,然后采用2576將電壓穩(wěn)至5V。2576的輸出電流最大可至3A,完全滿足系統(tǒng)要求。 綜上考慮,我們選擇了方案2。 穩(wěn)壓模塊如下圖:</p><p><b> ?。ㄗ髨D:穩(wěn)壓模塊)</b></p><p><b>  循跡傳感器模塊</b></p>&

15、lt;p>  方案1:用光敏電阻組成光敏探測(cè)器。光敏電阻的阻值可以跟隨周圍環(huán)境光線的變化而變化。當(dāng)光線照射到白線上面時(shí),光線發(fā)射強(qiáng)烈,光線照射到黑線上面時(shí),光線發(fā)射較弱。因此光敏電阻在白線和黑線上方時(shí),阻值會(huì)發(fā)生明顯的變化。將阻值的變化值經(jīng)過(guò)比較器就可以輸出高低電平。 但是這種方案受光照影響很大,不能夠穩(wěn)定的工作。因此我們考慮其他更加穩(wěn)定的方案。 </p><p>  方案2:用紅外發(fā)射管和接收管自己制作

16、光電對(duì)管尋跡傳感器。紅外發(fā)射管發(fā)出紅外線,當(dāng)發(fā)出的紅外線照射到白色的平面后反射,若紅外接收管能接收到反射回的光線則檢測(cè)出白線繼而輸出低電平,若接收不到發(fā)射管發(fā)出的光線則檢測(cè)出黑線繼而輸出高電平。這樣自己制作組裝的尋跡傳感器基本能夠滿足要求,但是工作不夠穩(wěn)定,且容易受外界光線的影響,因此我們放棄了這個(gè)方案。 </p><p>  方案3:用RPR220型光電對(duì)管。RPR220是一種一體化反射型光電探測(cè)器,其發(fā)射器是

17、一個(gè)砷化鎵紅外發(fā)光二極管,而接收器是一個(gè)高靈敏度,硅平面光電三極管。 </p><p>  RPR220采用DIP4封裝,其具有如下特點(diǎn):</p><p>  塑料透鏡可以提高靈敏度。 </p><p>  內(nèi)置可見(jiàn)光過(guò)濾器能減小離散光的影響。 </p><p>  體積小,結(jié)構(gòu)緊湊。 </p><p>  當(dāng)發(fā)光二極

18、管發(fā)出的光反射回來(lái)時(shí),三極管導(dǎo)通輸出低電平。此光電對(duì)管調(diào)理電路簡(jiǎn)單,工作性能穩(wěn)定。 </p><p>  此我們選擇了方案3。 安裝后效果如下圖: </p><p><b>  下圖是電壓比較器:</b></p><p><b>  說(shuō)明文件:</b></p><p><b>  設(shè)計(jì)名稱

19、:循跡小車</b></p><p>  時(shí)間:2006-12-9</p><p>  關(guān)鍵詞:Atemega32 L298 減速電機(jī) 光電對(duì)管 7812 7805</p><p>  作者:古欣 朱巖 王智涌 原瑞花 喻巧群</p><p>  /******************************************

20、***************/</p><p>  硬件資源分配1.0:12-9</p><p>  PA0-PA5 光電對(duì)管檢測(cè)</p><p>  PB1,PB2,PB3 電機(jī)右 PB3為PWM</p><p>  PB4,PB5,PD7 電機(jī)左 PD7為PWM</p><p>  PD2 int0 碼牌 行程檢

21、測(cè)</p><p>  /********************************************************/</p><p><b>  電機(jī)轉(zhuǎn)向:</b></p><p><b>  PB1 = 1</b></p><p>  PB2 = 0 右電機(jī)前轉(zhuǎn)</p

22、><p><b>  PB4 = 0</b></p><p>  PB5 = 1 左電機(jī)前轉(zhuǎn)</p><p>  /********************************************************/</p><p>  flag; //小車狀態(tài)</p><p>  //

23、0未偏 1左偏 2右偏 3前出線 4后出線 5脫軌</p><p><b>  主程序:</b></p><p><b>  電機(jī)驅(qū)動(dòng)程序:</b></p><p>  /****************************************************************</p>

24、<p>  ** 文件名:motor.c 電機(jī)驅(qū)動(dòng)函數(shù)</p><p>  ****************************************************************/</p><p>  #include "config.h"</p><p>  /**********************

25、**左電機(jī)動(dòng)作*****************************/</p><p><b>  //左電機(jī)前進(jìn)</b></p><p>  void motor_left_forward(uint8 speed)</p><p><b>  {</b></p><p>  motol_uen

26、1;</p><p>  motol_en2;</p><p>  if(speed!=0) //加入調(diào)速指令</p><p><b>  {</b></p><p>  OCR0=speed;</p><p><b>  }</b></p><p>

27、<b>  T0_EN;</b></p><p><b>  }</b></p><p><b>  //左電機(jī)后退</b></p><p>  void motor_left_backward(uint8 speed)</p><p><b>  {</b&g

28、t;</p><p>  motol_en1;</p><p>  motol_uen2;</p><p>  if(speed!=0) //加入調(diào)速指令</p><p><b>  {</b></p><p>  OCR0=speed;</p><p><b>

29、  }</b></p><p><b>  T0_EN;</b></p><p><b>  }</b></p><p><b>  //左電機(jī)速度設(shè)定</b></p><p>  void motor_left_speed_set(uint8 speed)<

30、/p><p><b>  {</b></p><p>  if(speed!=0)</p><p><b>  {</b></p><p>  OCR0=speed;</p><p><b>  } </b></p><p><

31、b>  }</b></p><p><b>  //左電機(jī)滑行</b></p><p>  void motor_left_stop(void)</p><p><b>  {</b></p><p>  motol_uen1;</p><p>  moto

32、l_uen2;</p><p><b>  T0_UEN;</b></p><p><b>  }</b></p><p><b>  //左電機(jī)急停</b></p><p>  void motor_left_quick_stop(void)</p><p

33、><b>  {</b></p><p>  motol_en1;</p><p>  motol_en2;</p><p><b>  T0_UEN;</b></p><p><b>  }</b></p><p>  /************

34、*************右電機(jī)動(dòng)作*****************************/</p><p><b>  //右電機(jī)前進(jìn)</b></p><p>  void motor_right_forward(uint8 speed)</p><p><b>  {</b></p><p>

35、;  motor_en1;</p><p>  motor_uen2;</p><p>  if(speed!=0) //加入調(diào)速指令</p><p><b>  {</b></p><p>  OCR2=speed;</p><p>  while(ASSR&(1<<TCR2

36、UB)==1) ; //異步操作需要等待 OCR2寫入完畢</p><p><b>  }</b></p><p><b>  T2_EN;</b></p><p><b>  }</b></p><p><b>  //右電機(jī)后退</b></p&g

37、t;<p>  void motor_right_backward(uint8 speed)</p><p><b>  {</b></p><p>  motor_uen1;</p><p>  motor_en2;</p><p>  if(speed!=0) //加入調(diào)速指令</p>&

38、lt;p><b>  {</b></p><p>  OCR2=speed;</p><p>  while(ASSR&(1<<TCR2UB)==1) ; //異步操作需要等待 OCR2寫入完畢</p><p><b>  }</b></p><p><b>  

39、T2_EN;</b></p><p><b>  }</b></p><p><b>  //右電機(jī)速度設(shè)定</b></p><p>  void motor_right_speed_set(uint8 speed)</p><p><b>  {</b></

40、p><p>  if(speed!=0)</p><p><b>  {</b></p><p>  OCR0=speed;</p><p>  while(ASSR&(1<<TCR2UB)==1) ; //異步操作需要等待 OCR2寫入完畢</p><p><b>  

41、} </b></p><p><b>  }</b></p><p><b>  //右電機(jī)滑行</b></p><p>  void motor_right_stop(void)</p><p><b>  {</b></p><p>  

42、motor_uen1;</p><p>  motor_uen2;</p><p><b>  T2_UEN;</b></p><p><b>  }</b></p><p><b>  //右電機(jī)急停</b></p><p>  void motor_

43、right_quick_stop(void)</p><p><b>  {</b></p><p>  motor_en1;</p><p>  motor_en2;</p><p><b>  T2_UEN;</b></p><p><b>  }</b&

44、gt;</p><p><b>  延時(shí)程序:</b></p><p>  /****************************************************************</p><p>  ** 文件名:unit.h 定時(shí)函數(shù)頭文件</p><p>  *************

45、***************************************************/</p><p>  #ifndef _UNIT_H__</p><p>  #define _UNIT_H__ 1 </p><p><b>  //100us</b></p><p>  extern void

46、Delay100us(uint8 n);</p><p><b>  //1s</b></p><p>  extern void Delay1s(uint16 n);</p><p><b>  //1ms</b></p><p>  extern void Delay1ms(uint16 n);

47、</p><p><b>  #endif</b></p><p>  /****************************************************************</p><p>  ** 文件名:unit.c 定時(shí)函數(shù)</p><p>  ******************

48、**********************************************/</p><p>  #include "config.h"</p><p>  /***************************************************************************</p><p>&

49、lt;b>  延時(shí)公式</b></p><p><b>  */</b></p><p>  void Delay100us(uint8 n)</p><p><b>  {</b></p><p>  uint8 i; //4clock

50、 </p><p>  for(i=147;n!=0;n--)</p><p>  while(--i); //5 * i clock</p><p><b>  }</b></p><p>  void Delay1ms(uint16 n)</p><p><b>

51、;  { </b></p><p>  for (;n!=0;n--){</p><p>  Delay100us(10);</p><p><b>  }</b></p><p><b>  }</b></p><p>  void Delay1s

52、(uint16 n)</p><p><b>  {</b></p><p>  n=n*40; </p><p>  for (;n!=0;n--){</p><p>  Delay100us(250);</p><p><b>  }</b>

53、</p><p><b>  }</b></p><p><b>  工程定義頭文件:</b></p><p>  /****************************************************************</p><p>  ** 文件名:config.h

54、 工程頭文件定義</p><p>  ****************************************************************/</p><p>  #ifndef __config_H__</p><p>  #define __config_H__ 1</p><p>  /***********

55、**********************************/</p><p>  #define M8 1</p><p>  #define M16 2</p><p>  #define M32 3</p><p>  #define M64 4</p><p>  #define M1

56、28 5</p><p>  /*********************************************/</p><p>  #define CPU_TYPE M32</p><p>  //定義MCU時(shí)鐘頻率</p><p>  //#define F_CPU 14745600</p><p>

57、;  #define F_CPU 7372800</p><p>  //**************************************************</p><p>  //包含系統(tǒng)頭文件,請(qǐng)根據(jù)實(shí)際需要進(jìn)行裁減</p><p>  //**************************************************&l

58、t;/p><p>  //#pragma REGPARMS</p><p>  #if CPU_TYPE == M128</p><p>  #include <iom128v.h></p><p><b>  #endif</b></p><p>  #if CPU_TYPE == M6

59、4</p><p>  #include <iom64v.h></p><p><b>  #endif</b></p><p>  #if CPU_TYPE == M32</p><p>  #include <iom32v.h></p><p><b>  #

60、endif</b></p><p>  #if CPU_TYPE == M16</p><p>  #include <iom16v.h></p><p><b>  #endif</b></p><p>  #if CPU_TYPE == M8</p><p>  #in

61、clude <iom8v.h></p><p><b>  #endif</b></p><p>  //#include <intrins.h></p><p>  //#include <absacc.h></p><p>  #include <string.h>&l

62、t;/p><p>  //#include <FLOAT.H></p><p>  //#include <math.h></p><p>  //#include <stdlib.h></p><p>  #include <macros.h></p><p>  //#i

63、nclude <eeprom.h></p><p>  //#define const code</p><p>  //**************************************************</p><p>  //系統(tǒng)數(shù)據(jù)類型定義</p><p>  //*********************

64、*****************************</p><p>  #ifndef TRUE</p><p>  #define TRUE 1</p><p><b>  #endif</b></p><p>  #ifndef FALSE</p><p>  #define FAL

65、SE 0</p><p><b>  #endif</b></p><p>  #ifndef NULL</p><p>  #define NULL 0</p><p><b>  #endif</b></p><p>  #define MIN(a,b)((a<

66、;b)?(a):(b))</p><p>  #define MAX(a,b)((a>b)?(a):(b))</p><p>  #define ABS(x)((x>0)?(x):(-x))</p><p>  typedef unsigned char uint8; /

67、* 定義可移植的無(wú)符號(hào)8位整數(shù)關(guān)鍵字 */</p><p>  typedef signed char int8; /* 定義可移植的有符號(hào)8位整數(shù)關(guān)鍵字 */</p><p>  typedef unsigned int uint16;

68、 /* 定義可移植的無(wú)符號(hào)16位整數(shù)關(guān)鍵字 */</p><p>  typedef signed int int16; /* 定義可移植的有符號(hào)16位整數(shù)關(guān)鍵字 */</p><p>  typedef unsigned long ui

69、nt32; /* 定義可移植的無(wú)符號(hào)32位整數(shù)關(guān)鍵字 */</p><p>  typedef signed long int32; /* 定義可移植的有符號(hào)32位整數(shù)關(guān)鍵字 */</p><p>  //***

70、***********************************************</p><p>  //包含工程頭文件,請(qǐng)根據(jù)需要進(jìn)行裁減</p><p>  //**************************************************</p><p>  #include "unit.h"</p

71、><p>  //#include "lcddrive.h"</p><p>  #include "main.h"</p><p>  #include "motor.h"</p><p>  //#include "queue.h"</p><

72、p>  //#include "TWI.h"</p><p>  //#include "sio.h" </p><p>  //**************************************************</p><p>  //一下為工程變量、端口定義</p><p>

73、  //**************************************************</p><p>  /********************************/</p><p>  /* "以下為工程配置" */</p><p>  /*************************

74、*******/</p><p>  #define T0 used</p><p>  //#define T1 used</p><p>  #define T2 used</p><p>  //#define Int0 used</p><p>  //#define Int1 used</p>

75、<p>  //計(jì)數(shù)器0比較計(jì)數(shù)中斷允許</p><p>  #if T0==used</p><p>  #define T0_EN TIMSK |= (1<<OCIE0)|(1<<TOIE0)</p><p>  #define T0_UEN TIMSK &=~ (1<<OCIE0)|(1<<TO

76、IE0)</p><p>  #define T0_start TCCR0 |= (1<<WGM00)|(1<<WGM01)|(1<<COM01)|0x04;</p><p>  //0x04 0100B 代表256預(yù)分頻</p><p>  #define T0_stop TCCR0 = 0x00</p><

77、p><b>  #endif</b></p><p>  //計(jì)數(shù)器1定時(shí)中斷允許 //OVERflow</p><p>  #if T1==used</p><p>  #define T1_EN TIMSK |= (1<<TOIE1)|(1<<TOIE1)</p><p>  #defi

78、ne T1_UEN TIMSK &=~ (1<<TOIE1)|(1<<TOIE1)</p><p>  #define T1_start TCCR1B = 0x02</p><p>  #define T1_stop TCCR1B = 0x00</p><p><b>  #endif</b></p>

79、<p>  //定時(shí)器2允許,PWM輸出</p><p>  #if T2==used</p><p>  #define T2_EN TIMSK |= (1<<OCIE2)|(1<<TOIE2)</p><p>  #define T2_UEN TIMSK &=~ (1<<OCIE2)|(1<<

80、TOIE2)</p><p>  #define T2_start TCCR2 = (1<<WGM20)|(1<<WGM21)|(1<<COM21)|0x06</p><p>  #define T2_stop TCCR2 = 0x00</p><p>  //start timer 快速pwm模式,匹配清零,溢出置位 256分頻

81、</p><p>  //高比低為:(OCR2-0X55)/(0XFF-OCR2) OX55++++++(0X77)__________OXFF</p><p>  //即OCR2越大,輸出越大</p><p><b>  #endif</b></p><p><b>  //外部中斷T0</b&g

82、t;</p><p>  #if Int0==used</p><p>  #define INT0_EN GICR |= (1<<INT0)</p><p>  #define INT0_UEN GICR &=~ (1<<INT0)</p><p><b>  #endif</b><

83、;/p><p><b>  //外部中斷T1</b></p><p>  #if Int1==used</p><p>  #define INT1_EN GICR |= (1<<INT1)</p><p>  #define INT1_UEN GICR &=~ (1<<INT1)</p

84、><p><b>  #endif</b></p><p><b>  #endif</b></p><p>  /**********************end****************************************/</p><p>  /** moto test 電機(jī)

85、運(yùn)轉(zhuǎn)情況測(cè)試程序*********************************************************</p><p>  void main(void)</p><p><b>  {</b></p><p>  init_devices();</p><p>  straight();&l

86、t;/p><p>  Delay1s(5);</p><p>  turn_left();</p><p>  Delay1s(5);</p><p>  turn_right();</p><p>  Delay1s(5);</p><p>  straight_back();</p>

87、<p>  Delay1s(5);</p><p><b>  stop();</b></p><p><b>  while(1)</b></p><p><b>  ;</b></p><p><b>  }</b></p>

88、<p>  *******************************************************************************/</p><p>  中斷處理;(這里都是定時(shí)器比較匹配和溢出中斷)</p><p>  /**********************************************************

89、*********************</p><p>  ** 文件名:interupts.c 中斷處理函數(shù)</p><p>  *******************************************************************************/</p><p>  #include "config.h

90、"</p><p>  #pragma interrupt_handler timer0_ovf_isr:12</p><p>  void timer0_ovf_isr(void)</p><p><b>  {</b></p><p>  TCNT0 = 0x01; //reload counter val

91、ue</p><p><b>  }</b></p><p>  #pragma interrupt_handler timer0_comp_isr:11</p><p>  void timer0_comp_isr(void)</p><p><b>  {</b></p><

92、p>  //compare occured TCNT0=OCR0</p><p><b>  }</b></p><p>  #pragma interrupt_handler timer2_ovf_isr:6</p><p>  void timer2_ovf_isr(void)</p><p><b>

93、;  {</b></p><p>  TCNT2 = 0x01; //reload counter value</p><p><b>  }</b></p><p>  /******************************************************************************/&

94、lt;/p><p>  // T2 控制PWM輸出</p><p>  // timer2_comp_isr不需要用,但是必須允許中斷,在中斷時(shí)有信號(hào)輸出變化</p><p>  /******************************************************************************/</p><

95、p>  #pragma interrupt_handler timer2_comp_isr:5</p><p>  void timer2_comp_isr(void)</p><p><b>  {</b></p><p>  //compare occured TCNT2=OCR2</p><p><b&

96、gt;  }</b></p><p><b>  小車圖片展示</b></p><p>  flash模擬行進(jìn)路線</p><p>  請(qǐng)點(diǎn)擊開(kāi)始查看行進(jìn)情況:</p><p><b>  路徑圖片: </b></p><p>  小車從發(fā)車區(qū)出發(fā),按照預(yù)定的行進(jìn)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論