版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機課程設(shè)計--步進(jìn)電機控制器設(shè)計
- 單片機課程設(shè)計——基于單片機的步進(jìn)電機控制器設(shè)計
- 單片機課程設(shè)計——基于單片機的步進(jìn)電機控制器設(shè)計
- 課程設(shè)計---基于單片機的步進(jìn)電機控制器設(shè)計
- 單片機步進(jìn)電機課程設(shè)計--單片機控制步進(jìn)電機的設(shè)計
- 單片機課程設(shè)計報告--基于單片機的步進(jìn)電機控制器的設(shè)計
- 單片機課程設(shè)計--單片機控制步進(jìn)電機
- 單片機課程設(shè)計-單片機控制步進(jìn)電機
- 單片機-控制步進(jìn)電機課程設(shè)計
- 單片機課程設(shè)計步進(jìn)電機控制設(shè)計
- 單片機課程設(shè)計--步進(jìn)電機控制
- 單片機課程設(shè)計---步進(jìn)電機控制
- 單片機課程設(shè)計報告——單片機控制步進(jìn)電機
- 單片機課程設(shè)計——單片機控制步進(jìn)電機控制系統(tǒng)設(shè)計
- 單片機課程設(shè)計-步進(jìn)電機的控制
- 單片機課程設(shè)計--步進(jìn)電機角度控制
- 單片機課程設(shè)計---步進(jìn)電機控制 (2)
- 單片機課程設(shè)計報告--步進(jìn)電機控制設(shè)計
- 單片機課程設(shè)計--步進(jìn)電機
- 單片機課程設(shè)計---步進(jìn)電機
評論
0/150
提交評論