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

下載本文檔

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

文檔簡介

1、<p>  單片機原理與接口技術(shù)</p><p>  課 程 設(shè) 計</p><p><b>  成績評定表</b></p><p>  設(shè)計課題 : 步進(jìn)電機控制器設(shè)計 </p><p>  學(xué)院名稱 : 電氣工程學(xué)院 </p&g

2、t;<p>  專業(yè)班級 : </p><p>  學(xué)生姓名 : </p><p>  學(xué) 號 : </p><p>  指導(dǎo)教師 : </p><p>  設(shè)

3、計地點 : 31-630 </p><p>  設(shè)計時間 : 2012-12-17~2012-12-23 </p><p>  單片機原理與接口技術(shù) 課程設(shè)計任務(wù)書</p><p><b>  目錄</b></p><p>  1 設(shè)計任務(wù)分

4、析 ……………………………………………………………… 2</p><p>  2 設(shè)計方案論證 ……………………………………………………………… 2</p><p>  2.1 控制方式確定 ………………………………………………………… 2</p><p>  2.2 步進(jìn)電機勵磁方式選擇 ……………………………………………… 2</p

5、><p>  2.3 驅(qū)動電路的選擇 ……………………………………………………… 3</p><p>  2.4 顯示方案選擇 ………………………………………………………… 3</p><p>  3 硬件電路設(shè)計 ………………………………………………………………… 3</p><p>  3.1 振蕩電路設(shè)計………………………………

6、…………………………… 3</p><p>  3.2 復(fù)位電路………………………………………………………………… 4</p><p>  3.3 鍵盤設(shè)計………………………………………………………………… 5</p><p>  3.4 顯示電路………………………………………………………………5 3.5 電機控制電路…………………………

7、………………………………… 5</p><p>  4 軟件設(shè)計………………………………………………………………………… 6</p><p>  4.1 程序流程圖……………………………………………………………… 6</p><p>  4.2 程序設(shè)計………………………………………………………………… 7</p><p>  

8、5 調(diào)試結(jié)果 ……………………………………………………………………… 11</p><p>  5.1 調(diào)試軟件環(huán)境簡介…………………………………………………… 12</p><p>  5.2 操作控制……………………………………………………………… 12</p><p>  5.3 調(diào)試結(jié)果……………………………………………………………… 1

9、2</p><p>  6 心得體會……………………………………………………………………… 13</p><p>  參考文獻(xiàn) ……………………………………………………………………… 13</p><p>  附錄1:步進(jìn)電機控制系統(tǒng)原理圖 …………………………………………… 14</p><p>  附錄2:程序清單 …………

10、……………………………………………………… 15</p><p><b>  1 設(shè)計任務(wù)分析</b></p><p>  模擬步進(jìn)電機控制器就是利用單片機來控制步進(jìn)電機的轉(zhuǎn)動,通過不同的勵磁信號,同時通過按鍵控制電機的啟停、正反轉(zhuǎn)及加速減速運行,并顯示電機轉(zhuǎn)動速度等。</p><p>  根據(jù)設(shè)計要求,步進(jìn)電機控制電路可以分為輸入模塊、控制模

11、塊、驅(qū)動模塊、顯示模塊、步進(jìn)電機部分。步進(jìn)電機控制電路基本模塊方框圖如圖1.1所示。</p><p>  圖1.1 步進(jìn)電機控制電路基本模塊框圖</p><p><b>  2 設(shè)計方案論證</b></p><p>  2.1控制方式確定 </p><p>  本次設(shè)計以CPU選用89C5l作為步進(jìn)電機的控制芯片。8

12、9C51的結(jié)構(gòu)簡單并可以在編程器上實現(xiàn)閃爍式的電擦寫達(dá)幾萬次以上.使用方便等優(yōu)點,而且完全兼容MCS5l系列單片機的所有功能。AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器的低電壓、高性能CMOS8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入

13、式控制系統(tǒng)提供了一種靈活性高且價廉的方案</p><p>  2.2 步進(jìn)電機勵磁方式選擇 </p><p>  步進(jìn)電機目前流行的是四項混合型的,這類電機具有四相繞組,有八個獨立的引線終端。每送一個勵磁信號,步進(jìn)電機旋轉(zhuǎn)一定角度?;旌闲蛣畲趴刂齐姍C正轉(zhuǎn),對應(yīng)的勵磁順序如表2.1所示,若勵磁信號反向傳送,則步進(jìn)電機反轉(zhuǎn)。表2.1中的1和0表示給電機的高電平和低電平。</p>

14、<p>  表2.1 混合型勵磁順序表</p><p><b>  相關(guān)參數(shù)設(shè)定:</b></p><p>  這里采用四相六線步進(jìn)電機,這款步進(jìn)電機的驅(qū)動電壓5V,步進(jìn)角為 7.5度 . 一圈 360 度 , 需要 48 個脈沖完成。其相序A-AB-B-BC-C-CD-D-DA。所以其正轉(zhuǎn)控制脈沖為:01h,09h,08h,0ch,04h,06h,02

15、h,03h,00h;反轉(zhuǎn)控制脈:01h,03h,02h,06h,04h,0ch,08h,09h,00h。</p><p>  2.3 驅(qū)動電路的選擇 </p><p>  驅(qū)動電路可分為:三極管直接驅(qū)動,采用斬波恒流驅(qū)動方式和芯片驅(qū)動電路等。驅(qū)動電路的性能直接關(guān)系到步進(jìn)電機走步的準(zhǔn)確與穩(wěn)定。本電路采用驅(qū)動芯片ULN2003。ULN2003是一種大電流高電壓型器件,外電路簡單,便于控制。&l

16、t;/p><p>  2.4 顯示方案選擇 </p><p>  常見的顯示器有數(shù)碼管顯示、液晶顯示等,本設(shè)計過程所需要的顯示過程簡單,不需要復(fù)雜顯示,用兩位數(shù)碼管就能滿足設(shè)計要求。</p><p><b>  3 硬件電路設(shè)計 </b></p><p>  3.1 振蕩電路設(shè)計 </p><p> 

17、 XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。</p><p>  振蕩電路采用內(nèi)部時鐘方式,在XTAL1 和XTAL2 兩端跨接晶體或陶瓷振蕩器,與內(nèi)部反相器構(gòu)成穩(wěn)定的自激振蕩。外接

18、晶振時,C1和C2選擇100pF,C1和C2對頻率有微調(diào)作用,振蕩器采用12MHz的晶振,為了減少寄生電容,更好地保證振蕩器穩(wěn)定可靠地工作,振蕩器和電容應(yīng)盡可能安裝得與單片機芯片靠近。內(nèi)部時鐘振蕩電路如圖3.1所示。</p><p>  圖3.1 時鐘振蕩電路</p><p>  時鐘電路相關(guān)參數(shù):X1(PIN18)、X2(PIN19)。晶體頻率為:12MHz,輔助電容為:100pF。&l

19、t;/p><p><b>  3.2 復(fù)位電路 </b></p><p>  復(fù)位電路采用按鍵電平復(fù)位,按鍵電平復(fù)位相當(dāng)于按復(fù)位鍵后復(fù)位端通過電阻與Vcc電源接通。為保證復(fù)位可靠,復(fù)位高電平持續(xù)時間應(yīng)大于兩個機器周期。電容取100uF,電阻取100歐。復(fù)位電路原理圖如圖3.2所示。</p><p>  圖3.2 按鍵電平復(fù)位電路</p>

20、;<p>  復(fù)位電路接線:RES(PIN9)</p><p><b>  3.3 鍵盤設(shè)計 </b></p><p>  該系統(tǒng)中只運用到三個控制按鈕,即 “正反”,“換擋”,“啟停”,由于按鈕較少,所以采用獨立鍵電路,這種按鍵電路的按鍵結(jié)構(gòu)相對行列式按鍵電路更簡單,更使人易懂。鍵盤控制電路如圖3.3所示。</p><p>  

21、圖3.3 鍵盤控制電路</p><p>  相關(guān)參數(shù)說明:k0為正反轉(zhuǎn)選擇鍵,k1為速度選擇鍵,k2為執(zhí)行鍵。</p><p>  3.4 顯示電路設(shè)計 </p><p>  顯示電路采用LED數(shù)碼管動態(tài)顯示數(shù)據(jù)與個項參數(shù),方法簡單,容易控制,成本低。設(shè)計原理如圖3.3所示。</p><p>  圖3.3 顯示電路原理圖</p>

22、<p>  3.5 電機控制電路 </p><p>  步進(jìn)電機通過驅(qū)動芯片ULN2003與單片機P1口的低四位相連,電機控制電路如圖3.4所示。</p><p>  圖3.4 電機控制電路</p><p><b>  4 軟件設(shè)計 </b></p><p><b>  4.1 程序流程圖</

23、b></p><p>  圖4.1 程序流程圖</p><p><b>  4.2 程序設(shè)計</b></p><p>  根據(jù)要求,可以將程序分為以下2個部份:</p><p>  1、鍵盤輸入程序設(shè)計</p><p>  本系統(tǒng)使用的鍵盤較少,因此采用獨立式鍵盤接口設(shè)計。獨立式鍵盤適用于按

24、鍵數(shù)量較少的場合。獨立鍵盤工作原理:通過上拉電阻接到+5V上。無按鍵,處于高電平狀態(tài),有鍵按下電平為低。在消除抖動影響上是可以采用了軟件消抖方法:在第一次檢測到有鍵按下時,執(zhí)行一段延時子程序后(約5ms),再確認(rèn)電平是否仍保持閉合狀態(tài)電平,如果保持閉合狀態(tài)電平,則確認(rèn)真正有鍵按下,進(jìn)行相應(yīng)處理工作,消除了抖動的影響。 </p><p>  2、 步進(jìn)電機運行步數(shù)控制程序 </p><p>

25、  此方案采用單相和雙相交差通電處理方式。此方法具有運行速度穩(wěn)定,運行步數(shù)準(zhǔn)確無誤等優(yōu)點。</p><p>  根據(jù)流程圖4.1其主程序設(shè)計如下:</p><p>  void delay(uint xms);//延時子函數(shù)</p><p>  void keyscan();//鍵盤檢測子程序</p><p>  void displ

26、ay();</p><p>  sbit key1=P3^0;//正反轉(zhuǎn)選擇 </p><p>  sbit key2=P3^1;//速度選擇</p><p>  sbit key3=P3^2;//執(zhí)行鍵</p><p>  uchar zx,k,sudu,bu;</p><p>  int n=0,m=

27、4;</p><p>  uchar code table[]={</p><p>  0x3f,0x06,0x5b,0x4f,</p><p>  0x66,0x6d,0x7d,0x07,</p><p>  0x7f,0x6f,0x77,0x7c,</p><p>  0x39,0x5e,0x79,0x71,};/

28、/數(shù)碼管顯示編碼</p><p>  /* 單雙八拍工作方式: *</p><p>  * A-AB-B-BC-C-CD-D-DA (即一個脈沖,轉(zhuǎn) 3.75 度)* / </p><p>  uchar code FFZ[]={0x11,0x33,0x22,0x66,0x44,0xcc,

29、0x88,0x99}; //反轉(zhuǎn)</p><p>  uchar code FFW[]={0x99,0x88,0xcc,0x44,0x66,0x22,0x33,0x11}; //正轉(zhuǎn)</p><p>  /* 單四拍工作方式: *</p><p>  * A-B-C-D (即一個脈沖,轉(zhuǎn) 7.5 度

30、)* / </p><p>  uchar code shuangz[]={0x88,0x22,0x44,0x11};</p><p>  uchar code shuangw[]={0x11,0x44,0x22,0x88};</p><p>  /* 單四拍工作方式:

31、 *</p><p>  * A-B-C-D (即一個脈沖,轉(zhuǎn) 7.5 度)* /</p><p>  //uchar code danz[]={0x88,0x22,0x44,0x11};</p><p>  //uchar code danw[]={0x11,0x44,0x22,0x88};</p>

32、<p>  void main()</p><p><b>  {</b></p><p>  TMOD=0x01;</p><p><b>  EA=1;</b></p><p><b>  ET0=1;</b></p><p>  TH0=

33、-1000/256;</p><p>  TL0=-1000%256;</p><p><b>  TR0=1;</b></p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  keyscan()

34、;</p><p>  display();</p><p>  //if(zx==1) qudong();</p><p>  //if(x==0) zx=0;</p><p><b>  }</b></p><p><b>  }</b></p><p

35、>  根據(jù)流程圖4.1其步進(jìn)電機轉(zhuǎn)動程序設(shè)計如下:</p><p>  void keyscan()</p><p><b>  {</b></p><p>  if(key1==0)//正反轉(zhuǎn)選擇</p><p><b>  {</b></p><p><b&

36、gt;  delay(5);</b></p><p>  if(key1==0)</p><p><b>  {</b></p><p><b>  k++;</b></p><p>  if(k==2) k=0;</p><p>  while(!key1) d

37、isplay();</p><p><b>  }</b></p><p><b>  }</b></p><p>  if(key2==0)//速度選擇</p><p><b>  {</b></p><p><b>  delay(

38、5);</b></p><p>  if(key2==0)</p><p><b>  {</b></p><p><b>  sudu++;</b></p><p>  if(sudu==2) sudu=0;</p><p>  while(!key2) dis

39、play();</p><p><b>  }</b></p><p><b>  }</b></p><p>  if(key3==0)//執(zhí)行鍵</p><p><b>  {</b></p><p><b>  delay(5);

40、</b></p><p>  if(key3==0)</p><p><b>  {</b></p><p><b>  zx++;</b></p><p>  if(zx==2) zx=0;</p><p>  while(!key3) display();&l

41、t;/p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void time0() interrupt 1</p><p><b>  {</b><

42、;/p><p>  TH0=-1000/256;</p><p>  TL0=-1000%256;</p><p>  if (zx==1)</p><p><b>  {</b></p><p><b>  if (n>=m)</b></p><p&g

43、t;<b>  {</b></p><p>  if(k==0)//步進(jìn)電機正轉(zhuǎn)</p><p><b>  {</b></p><p>  if(sudu==0)//八拍</p><p><b>  {</b></p><p><b> 

44、 {</b></p><p>  for(bu=4;bu>0;bu--)</p><p><b>  {</b></p><p>  P1=FFZ[bu];</p><p><b>  delay(2);</b></p><p><b>  n=0

45、;</b></p><p>  display();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(sudu==1)//雙四拍</p&g

46、t;<p><b>  {</b></p><p>  for(bu=4;bu>0;bu--)</p><p><b>  {</b></p><p>  P1=shuangz[bu];//delay(2);</p><p><b>  n=0;</b>&l

47、t;/p><p>  display();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(k==1)//步進(jìn)電機反轉(zhuǎn)</p><p&g

48、t;<b>  {</b></p><p>  if(sudu==0)//八拍</p><p><b>  {</b></p><p>  for(bu=8;bu>0;bu--)</p><p><b>  {</b></p><p>  P1=F

49、FW[bu];</p><p><b>  delay(2);</b></p><p><b>  n=0;</b></p><p>  display();</p><p><b>  }</b></p><p><b>  }</b&

50、gt;</p><p>  if(sudu==1)//雙四拍</p><p><b>  {</b></p><p>  for(bu=4;bu>0;bu--)</p><p><b>  {</b></p><p>  P1=shuangw[bu];//delay(2

51、);</p><p><b>  n=0;</b></p><p>  display();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p>

52、<p><b>  }</b></p><p><b>  n++;</b></p><p><b>  }</b></p><p><b>  else n=0;</b></p><p><b>  }</b><

53、/p><p>  void delay(uint xms)</p><p><b>  {</b></p><p><b>  uint i,j;</b></p><p>  for(i=110;i>0;i--)</p><p>  for(j=xms;j>0;j--

54、);</p><p><b>  }</b></p><p>  void display() //顯示子函數(shù)</p><p><b>  {</b></p><p>  P0=table[k];//正反轉(zhuǎn)標(biāo)志位</p><p>  P2=0x01;//選

55、通第一位 0000 0001</p><p><b>  delay(3);</b></p><p>  P0=table[sudu];//速度標(biāo)志位</p><p>  P2=0x02;//選通第二位 0000 0010</p><p><b>  delay(3);</b></

56、p><p>  P0=table[zx];//開關(guān)標(biāo)志位</p><p>  P2=0x04;//選通第二位 0000 0100</p><p><b>  delay(3);</b></p><p><b>  P2=0x00;</b></p><p><b&g

57、t;  }</b></p><p><b>  5 調(diào)試結(jié)果 </b></p><p>  5.1 調(diào)試軟件環(huán)境簡介 </p><p>  C系列51單片機程序常用編譯軟件是Keil軟件。</p><p>  Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯

58、編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。</p><p>  本設(shè)計調(diào)試用的軟件是版本為V6.12的Keil軟件,可以在線調(diào)試編譯,非常方</p><p><b>  5.2 操作控制

59、</b></p><p>  本電路經(jīng)調(diào)試符合題目要求,各項技術(shù)指標(biāo)均達(dá)到設(shè)計的目的。具體操作控制方法如下:</p><p>  1、當(dāng)電機啟停按鈕時,步進(jìn)電機根據(jù)制定默認(rèn)狀態(tài)開始轉(zhuǎn)動;</p><p>  2、當(dāng)電機再啟停按鈕時,步進(jìn)電機停止轉(zhuǎn)動;</p><p>  3、當(dāng)電機換擋按鈕時,步進(jìn)電機速度快速轉(zhuǎn)動;</p&g

60、t;<p>  4、當(dāng)電機再換擋按鈕時,步進(jìn)電機速度緩慢轉(zhuǎn)動;</p><p>  5、當(dāng)電機正反按鈕時,步進(jìn)電機反轉(zhuǎn);</p><p>  6、當(dāng)電機再正反按鈕時,步進(jìn)電機正轉(zhuǎn);</p><p><b>  5.3 調(diào)試結(jié)果 </b></p><p>  調(diào)試結(jié)果如圖5.1所示</p>&l

61、t;p>  圖5.1 調(diào)試結(jié)果示意圖</p><p><b>  6 心得體會 </b></p><p>  通過兩周的課程設(shè)計,我受益很多。通過自己不斷的查詢資料和不斷的學(xué)習(xí),不斷的彌補自己的不足之處,其中不僅對單片機,匯編語言有了比較深入的認(rèn)識,而且通過自己的學(xué)習(xí)把C語言也運用到其中。單片機是一種比較靈活和快速的控制器,具有快速和小巧的特點,在一些要求實時性

62、比較高場所具有非常廣的應(yīng)用。這就為自己在這方面的發(fā)展指出了方向。同時,在課程設(shè)計過程中,認(rèn)識到了自己的不足之處,在軟件設(shè)計方面的欠缺,自己要不斷的學(xué)習(xí),不斷的完善自己。課程設(shè)計只是一個小的方面,考慮到以后工作后要面對更加復(fù)雜的課題,這次課程設(shè)計無疑也是對自己的一種鞭策。</p><p>  這次課程設(shè)計是把自己學(xué)習(xí)到的知識應(yīng)用到實際當(dāng)中的范例。自己也感到一絲的欣慰和快樂。也感謝老師的悉心指導(dǎo)。</p>

63、<p><b>  參考文獻(xiàn) </b></p><p>  【1】:張迎新.單片微型計算機原理,應(yīng)用及接口技術(shù).北京:國防工 業(yè)出版社</p><p>  【2】:閻石.數(shù)字電子技術(shù)基礎(chǔ).北京:高等教育出版社。</p><p>  【3】: 王守中.51單片機開發(fā)入門與典型實例(第一版)。人民郵電出版社,2007</p&g

64、t;<p>  附錄1:步進(jìn)電機控制原理圖</p><p><b>  附錄2:程序清單</b></p><p>  步進(jìn)電機控制器程序:</p><p>  P0口控制段選 p1步進(jìn)電機 P2控制位選</p><p>  獨立鍵盤 P3.0~P3.2</p><p>  數(shù)碼管的

65、第一位為正反轉(zhuǎn)標(biāo)志位0:正轉(zhuǎn) 1:反轉(zhuǎn)</p><p>  數(shù)碼管的第二位為速度標(biāo)志位 0:單八拍 1:雙四拍</p><p>  數(shù)碼管的第三位為開關(guān)標(biāo)志位0:關(guān) 1:開</p><p>  #include<reg51.h></p><p>  #define uchar unsigned cha

66、r</p><p>  #define uint unsigned int</p><p>  void delay(uint xms);//延時子函數(shù)</p><p>  void keyscan();//鍵盤檢測子程序</p><p>  void display();</p><p>  sbit key

67、1=P3^0;//正反轉(zhuǎn)選擇 </p><p>  sbit key2=P3^1;//速度選擇</p><p>  sbit key3=P3^2;//執(zhí)行鍵</p><p>  uchar zx,k,sudu,bu;</p><p>  int n=0,m=4;</p><p>  uchar code

68、table[]={</p><p>  0x3f,0x06,0x5b,0x4f,</p><p>  0x66,0x6d,0x7d,0x07,</p><p>  0x7f,0x6f,0x77,0x7c,</p><p>  0x39,0x5e,0x79,0x71,};//數(shù)碼管顯示編碼</p><p>  /*

69、單雙八拍工作方式: *</p><p>  * A-AB-B-BC-C-CD-D-DA (即一個脈沖,轉(zhuǎn) 3.75 度)* / </p><p>  uchar code FFZ[]={0x11,0x33,0x22,0x66,0x44,0xcc,0x88,0x99}; //反轉(zhuǎn)</p><p>

70、;  uchar code FFW[]={0x99,0x88,0xcc,0x44,0x66,0x22,0x33,0x11}; //正轉(zhuǎn)</p><p>  /* 單四拍工作方式: *</p><p>  * A-B-C-D (即一個脈沖,轉(zhuǎn) 7.5 度)* / </p>

71、<p>  uchar code shuangz[]={0x88,0x22,0x44,0x11};</p><p>  uchar code shuangw[]={0x11,0x44,0x22,0x88};</p><p>  /* 單四拍工作方式: *</p><p>  * A-B-

72、C-D (即一個脈沖,轉(zhuǎn) 7.5 度)* /</p><p>  //uchar code danz[]={0x88,0x22,0x44,0x11};</p><p>  //uchar code danw[]={0x11,0x44,0x22,0x88};</p><p>  void main()</p>&l

73、t;p><b>  {</b></p><p>  TMOD=0x01;</p><p><b>  EA=1;</b></p><p><b>  ET0=1;</b></p><p>  TH0=-1000/256;</p><p>  TL0

74、=-1000%256;</p><p><b>  TR0=1;</b></p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  keyscan();</p><p>  display();&l

75、t;/p><p>  //if(zx==1) qudong();</p><p>  //if(x==0) zx=0;</p><p><b>  }</b></p><p><b>  }</b></p><p>  根據(jù)流程圖4.1其步進(jìn)電機轉(zhuǎn)動程序設(shè)計如下:</p&g

76、t;<p>  void keyscan()</p><p><b>  {</b></p><p>  if(key1==0)//正反轉(zhuǎn)選擇</p><p><b>  {</b></p><p><b>  delay(5);</b></p>

77、<p>  if(key1==0)</p><p><b>  {</b></p><p><b>  k++;</b></p><p>  if(k==2) k=0;</p><p>  while(!key1) display();</p><p><b&

78、gt;  }</b></p><p><b>  }</b></p><p>  if(key2==0)//速度選擇</p><p><b>  {</b></p><p><b>  delay(5);</b></p><p>  

79、if(key2==0)</p><p><b>  {</b></p><p><b>  sudu++;</b></p><p>  if(sudu==2) sudu=0;</p><p>  while(!key2) display();</p><p><b>

80、;  }</b></p><p><b>  }</b></p><p>  if(key3==0)//執(zhí)行鍵</p><p><b>  {</b></p><p><b>  delay(5);</b></p><p>  if(

81、key3==0)</p><p><b>  {</b></p><p><b>  zx++;</b></p><p>  if(zx==2) zx=0;</p><p>  while(!key3) display();</p><p><b>  }</

82、b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void time0() interrupt 1</p><p><b>  {</b></p><p>  TH0=-1000/256;&l

83、t;/p><p>  TL0=-1000%256;</p><p>  if (zx==1)</p><p><b>  {</b></p><p><b>  if (n>=m)</b></p><p><b>  {</b></p>

84、<p>  if(k==0)//步進(jìn)電機正轉(zhuǎn)</p><p><b>  {</b></p><p>  if(sudu==0)//八拍</p><p><b>  {</b></p><p><b>  {</b></p><p>  f

85、or(bu=4;bu>0;bu--)</p><p><b>  {</b></p><p>  P1=FFZ[bu];</p><p><b>  delay(2);</b></p><p><b>  n=0;</b></p><p>  di

86、splay();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(sudu==1)//雙四拍</p><p><b>  {</b>&

87、lt;/p><p>  for(bu=4;bu>0;bu--)</p><p><b>  {</b></p><p>  P1=shuangz[bu];//delay(2);</p><p><b>  n=0;</b></p><p>  display();</

88、p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(k==1)//步進(jìn)電機反轉(zhuǎn)</p><p><b>  {</b></p>

89、<p>  if(sudu==0)//八拍</p><p><b>  {</b></p><p>  for(bu=8;bu>0;bu--)</p><p><b>  {</b></p><p>  P1=FFW[bu];</p><p><b>

90、;  delay(2);</b></p><p><b>  n=0;</b></p><p>  display();</p><p><b>  }</b></p><p><b>  }</b></p><p>  if(sudu==1

91、)//雙四拍</p><p><b>  {</b></p><p>  for(bu=4;bu>0;bu--)</p><p><b>  {</b></p><p>  P1=shuangw[bu];//delay(2);</p><p><b>  n=

92、0;</b></p><p>  display();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b><

93、;/p><p><b>  n++;</b></p><p><b>  }</b></p><p><b>  else n=0;</b></p><p><b>  }</b></p><p>  void delay(uint x

94、ms)</p><p><b>  {</b></p><p><b>  uint i,j;</b></p><p>  for(i=110;i>0;i--)</p><p>  for(j=xms;j>0;j--);</p><p><b>  }&

95、lt;/b></p><p>  void display() //顯示子函數(shù)</p><p><b>  {</b></p><p>  P0=table[k];//正反轉(zhuǎn)標(biāo)志位</p><p>  P2=0x01;//選通第一位 0000 0001</p><p>&

96、lt;b>  delay(3);</b></p><p>  P0=table[sudu];//速度標(biāo)志位</p><p>  P2=0x02;//選通第二位 0000 0010</p><p><b>  delay(3);</b></p><p>  P0=table[zx];//開

溫馨提示

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

評論

0/150

提交評論