步進(jìn)電機(jī)控制及驅(qū)動(dòng)電路的設(shè)計(jì)_第1頁(yè)
步進(jìn)電機(jī)控制及驅(qū)動(dòng)電路的設(shè)計(jì)_第2頁(yè)
步進(jìn)電機(jī)控制及驅(qū)動(dòng)電路的設(shè)計(jì)_第3頁(yè)
步進(jìn)電機(jī)控制及驅(qū)動(dòng)電路的設(shè)計(jì)_第4頁(yè)
步進(jìn)電機(jī)控制及驅(qū)動(dòng)電路的設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、課程設(shè)計(jì)任務(wù)書學(xué)生姓名: 專業(yè)班級(jí): 指導(dǎo)教師: 工作單位: 信息工程學(xué)院 題 目: 步進(jìn)電機(jī)的控制及驅(qū)動(dòng)電路設(shè)計(jì) 初始條件:本設(shè)計(jì)既可以使用集成移位寄存器、驅(qū)動(dòng)器、555定時(shí)器和必要的門電路,以及所需電阻、電容、二極管、三極管、開關(guān)等元件。本設(shè)計(jì)也可以使用單片機(jī)系統(tǒng)構(gòu)建步進(jìn)電機(jī)的控制及驅(qū)動(dòng)電路。自行設(shè)計(jì)所需電源。要求完成的主要任務(wù): (包括課程設(shè)計(jì)工作量及其技術(shù)要求,以及說明書撰寫等具體要求)1、課程設(shè)計(jì)工作量:1周。2、技術(shù)要求:設(shè)計(jì)一個(gè)方波發(fā)生器提供系統(tǒng)時(shí)鐘;設(shè)計(jì)一個(gè)步進(jìn)電機(jī)的驅(qū)動(dòng)信號(hào)發(fā)生器,可以實(shí)現(xiàn)電機(jī)正轉(zhuǎn)/反轉(zhuǎn)控制和轉(zhuǎn)速控制; 要求驅(qū)動(dòng)器有足夠的輸出電流以驅(qū)動(dòng)小功率4相步進(jìn)電機(jī);要求

2、可以實(shí)現(xiàn)步進(jìn)電機(jī)的單相或雙相激勵(lì);確定設(shè)計(jì)方案,按功能模塊的劃分選擇元、器件和集成電路,設(shè)計(jì)分電路,闡述基本原理。繪制總體電路原理圖。3、查閱至少5篇參考文獻(xiàn)。按武漢理工大學(xué)課程設(shè)計(jì)工作規(guī)范要求撰寫設(shè)計(jì)報(bào)告書。全文用A4紙打印,圖紙應(yīng)符合繪圖規(guī)范。時(shí)間安排:1、 2008 年 7 月 5 日集中,作課設(shè)具體實(shí)施計(jì)劃與課程設(shè)計(jì)報(bào)告格式的要求說明。2、 2008 年 7 月 5 日,查閱相關(guān)資料,學(xué)習(xí)電路的工作原理。2、 2008 年 7 月 6 日 至 2007 年 7 月 7 日,方案選擇和電路設(shè)計(jì)。2、 2008 年 7 月 8 日 至 2007 年 7 月 10 日,電路調(diào)試和設(shè)計(jì)說明書撰

3、寫。3、 2008 年 7 月 11 日上交課程設(shè)計(jì)成果及報(bào)告,同時(shí)進(jìn)行答辯。課設(shè)答疑地點(diǎn):鑒主14樓電子科學(xué)與技術(shù)實(shí)驗(yàn)室。指導(dǎo)教師簽名: 年 月 日系主任(或責(zé)任教師)簽名: 年 月 日目 錄1.步進(jìn)電機(jī)原理.21.1步進(jìn)電機(jī)簡(jiǎn)介.21.2步進(jìn)電機(jī)原理及控制技術(shù).21.3 步進(jìn)電機(jī)驅(qū)動(dòng)方法.21.4總體設(shè)計(jì)方框圖.31.5設(shè)計(jì)原理分析.31.5.1元器件介紹.31.5.2方案論證.52硬件設(shè)計(jì).62.1控制電路.62.2最小系統(tǒng).62.3驅(qū)動(dòng)電路.72.4顯示電路.72.5總體電路圖.83軟件設(shè)計(jì).94程序編寫.95實(shí)驗(yàn)心得及體會(huì).17參考文獻(xiàn).171.步進(jìn)電機(jī)原理及硬件和軟件設(shè)計(jì)1.1步進(jìn)

4、電機(jī)簡(jiǎn)介步進(jìn)電機(jī)是將電脈沖信號(hào)轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元步進(jìn)電機(jī)件。在非超載的情況下,電機(jī)的轉(zhuǎn)速、停止的位置只取決于脈沖信號(hào)的頻率和脈沖數(shù),而不受負(fù)載變化的影響,當(dāng)步進(jìn)驅(qū)動(dòng)器接收到一個(gè)脈沖信號(hào),它就驅(qū)動(dòng)步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度,稱為“步距角”,它的旋轉(zhuǎn)是以固定的角度一步一步運(yùn)行的。可以通過控制脈沖個(gè)數(shù)來控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時(shí)可以通過控制脈沖頻率來控制電機(jī)轉(zhuǎn)動(dòng)的速度和加速度,從而達(dá)到調(diào)速的目的。1.2步進(jìn)電機(jī)基本原理通常電機(jī)的轉(zhuǎn)子為永磁體,當(dāng)電流流過定子繞組時(shí),定子繞組產(chǎn)生一矢量磁場(chǎng)。該磁場(chǎng)會(huì)帶動(dòng)轉(zhuǎn)子旋轉(zhuǎn)一角度,使得轉(zhuǎn)子的一對(duì)磁場(chǎng)方向與定子的磁場(chǎng)方向一致。

5、當(dāng)定子的矢量磁場(chǎng)旋轉(zhuǎn)一個(gè)角度。轉(zhuǎn)子也隨著該磁場(chǎng)轉(zhuǎn)一個(gè)角度。每輸入一個(gè)電脈沖,電動(dòng)機(jī)轉(zhuǎn)動(dòng)一個(gè)角度前進(jìn)一步。它輸出的角位移與輸入的脈沖數(shù)成正比、轉(zhuǎn)速與脈沖頻率成正比。改變繞組通電的順序,電機(jī)就會(huì)反轉(zhuǎn)。所以可用控制脈沖數(shù)量、頻率及電動(dòng)機(jī)各相繞組的通電順序來控制步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)。1.3 步進(jìn)電機(jī)驅(qū)動(dòng)方法 步進(jìn)電機(jī)不能直接接到工頻交流或直流電源上工作,而必須使用專用的步進(jìn)電動(dòng)機(jī)驅(qū)動(dòng)器,如下圖所示。它由脈沖發(fā)生控制單元、功率驅(qū)動(dòng)單元、保護(hù)單元等組成。圖中點(diǎn)劃線所包圍的二個(gè)單元可以用微機(jī)控制來實(shí)現(xiàn)。驅(qū)動(dòng)單元與步進(jìn)電動(dòng)機(jī)直接耦合,也可理解成步進(jìn)電動(dòng)機(jī)微機(jī)控制器的功率接口。1.4總體設(shè)計(jì)方案框圖51單片機(jī)數(shù)碼管反

6、向驅(qū)動(dòng)步進(jìn)電機(jī)鍵盤電源狀態(tài)選擇狀態(tài)顯示1.5設(shè)計(jì)原理分析1.5.1元器件介紹(1)步進(jìn)電機(jī) 步進(jìn)電機(jī)是數(shù)字控制電機(jī),它將脈沖信號(hào)轉(zhuǎn)變成角位移,即給一個(gè)脈沖信號(hào),步進(jìn)電機(jī)就轉(zhuǎn)動(dòng)一個(gè)角度,因此非常適合于單片機(jī)控制。步進(jìn)電機(jī)區(qū)別于其他控制電機(jī)的最大特點(diǎn)是:它是通過輸入脈沖信號(hào)來進(jìn)行控制的,即電機(jī)的總轉(zhuǎn)動(dòng)角度由輸入脈沖數(shù)決定,而電機(jī)的轉(zhuǎn)速由脈沖信號(hào)頻率決定。步進(jìn)電機(jī)分三種:永磁式(PM),反應(yīng)式(VR)和混合式(HB),步進(jìn)電機(jī)又稱為脈沖電機(jī),是工業(yè)過程控制和儀表中一種能夠快速啟動(dòng),反轉(zhuǎn)和制動(dòng)的執(zhí)行元件,其功用是將電脈沖轉(zhuǎn)換為相應(yīng)的角位移或直線位移,由于開環(huán)下就能實(shí)現(xiàn)精確定位的特點(diǎn),使其在工業(yè)控制領(lǐng)域

7、獲得了廣泛應(yīng)用。步進(jìn)電機(jī)的運(yùn)轉(zhuǎn)是由電脈沖信號(hào)控制的,其角位移量或線位移量與脈沖數(shù)成正比,每個(gè)一個(gè)脈沖,步進(jìn)電機(jī)就轉(zhuǎn)動(dòng)一個(gè)角度或前進(jìn)、倒退一步。步進(jìn)電機(jī)旋轉(zhuǎn)的角度由輸入的電脈沖數(shù)確定。 四相步進(jìn)電機(jī)的工作原理該設(shè)計(jì)采用了20BY-0型步進(jìn)電機(jī),該電機(jī)為四相步進(jìn)電機(jī),采用單極性直流電源供電。只要對(duì)步進(jìn)電機(jī)的各相繞組按合適的時(shí)序通電,就能使步進(jìn)電機(jī)轉(zhuǎn)動(dòng)。當(dāng)某一相繞組通電時(shí),對(duì)應(yīng)的磁極產(chǎn)生磁場(chǎng),并與轉(zhuǎn)子形成磁路,這時(shí),如果定子和轉(zhuǎn)子的小齒沒有對(duì)齊,在磁場(chǎng)的作用下,由于磁通具有力圖走磁阻最小路徑的特點(diǎn),則轉(zhuǎn)子將轉(zhuǎn)動(dòng)一定的角度,使轉(zhuǎn)子與定子的齒相互對(duì)齊,由此可見,錯(cuò)齒是促使電機(jī)旋轉(zhuǎn)的原因。 步進(jìn)電機(jī)的靜態(tài)

8、指標(biāo)及術(shù)語(yǔ)相數(shù):產(chǎn)生不同隊(duì)N、S磁場(chǎng)的激磁線圈對(duì)數(shù),常用m表示。拍數(shù):完成一個(gè)磁場(chǎng)周期性變化所需脈沖用n表示,定位轉(zhuǎn)矩:電機(jī)在不通電的狀態(tài)下,電機(jī)轉(zhuǎn)子自身的鎖定力矩(由磁場(chǎng)齒形的諧波以及機(jī)械誤差造成的)。靜轉(zhuǎn)矩:電機(jī)在額定靜態(tài)作業(yè)下,電機(jī)不做旋轉(zhuǎn)運(yùn)動(dòng)時(shí),電機(jī)轉(zhuǎn)軸的鎖定力矩。此力矩是衡量電機(jī)體積的標(biāo)準(zhǔn),與驅(qū)動(dòng)電壓及驅(qū)動(dòng)電源等無(wú)關(guān)。雖然靜態(tài)轉(zhuǎn)矩與電磁激磁匝數(shù)成正比,與定子和轉(zhuǎn)子間的氣隙有關(guān)。但過分采用減小氣隙,增加勵(lì)磁匝數(shù)來提高靜轉(zhuǎn)矩是不可取的,這樣會(huì)造成電機(jī)的發(fā)熱及機(jī)械噪音。 四相步進(jìn)電機(jī)的脈沖分配規(guī)律對(duì)步進(jìn)電機(jī)的控制主要有分散器件組成的環(huán)形脈沖分配器、軟件環(huán)形脈沖分配器、專用集成芯片環(huán)形脈沖分

9、配器等。本設(shè)計(jì)利用單片機(jī)進(jìn)行控制,主要是利用軟件進(jìn)行環(huán)形脈沖分配。四相步進(jìn)電機(jī)的工作方式為四相單四拍,雙四拍和四相八拍工作的方式。各種工作方式在電源通電時(shí)的時(shí)序與波形分別如圖所示。本設(shè)計(jì)的電機(jī)工作方式為四相單四拍,根據(jù)步進(jìn)電機(jī)的工作的時(shí)序和波形圖,總結(jié)出其工作方式為四相單四拍時(shí)的脈沖分配規(guī)律,四相雙四拍的脈沖分配規(guī)律,在每一種工作方式中,脈沖的頻率越高,其轉(zhuǎn)速就越快,但脈沖頻率高到一定程度,步進(jìn)電機(jī)跟不上頻率的變化后電機(jī)會(huì)出現(xiàn)失步現(xiàn)象,所以脈沖頻率一定要控制在步進(jìn)電機(jī)允許的范圍內(nèi)。(2)89C51單片機(jī) 89C51單片機(jī)是一種低功耗、低電壓、高性能的8位單片機(jī),它采用CMOS和高密度非易失性存

10、儲(chǔ)技術(shù),而且其輸出引腳和指令系統(tǒng)都與MCS-51兼容;片內(nèi)的Flash ROM允許在系統(tǒng)內(nèi)改編程序或用常規(guī)的非易失性編程器來編程,內(nèi)部除CPU外,還包括256字節(jié)RAM,4個(gè)8位并行I/O口,5個(gè)中斷源,2個(gè)中斷優(yōu)先級(jí),2個(gè)16位可編程定時(shí)計(jì)數(shù)器,89C51單片機(jī)是一種功能強(qiáng)、靈活性高且價(jià)格合理的單片機(jī),完全滿足本系統(tǒng)設(shè)計(jì)需要。1.5.2方案論證從課程設(shè)計(jì)要求可知,該系統(tǒng)的輸入量為速度和方向,速度應(yīng)該有增減變化,通常用加減按鈕控制速度,由于設(shè)置八個(gè)鍵盤功能,采用P1口間接八個(gè)獨(dú)立按鍵。系統(tǒng)的輸出線與步進(jìn)電機(jī)的繞組數(shù)有關(guān)。這里選5線4相步進(jìn)電機(jī)制。該電機(jī)共有四相繞組,工作電壓為+5V,可以個(gè)單片

11、機(jī)共用一個(gè)電源。步進(jìn)電機(jī)的四相繞組用P1口的P1.0P1.3控制,由于P1口驅(qū)動(dòng)能力不夠,因而用一片2803增加驅(qū)動(dòng)能力。用P0口控制液晶顯示轉(zhuǎn)動(dòng)狀態(tài)及速度。2硬件設(shè)計(jì)本設(shè)計(jì)的硬件電路只要包括控制電路、最小系統(tǒng)、驅(qū)動(dòng)電路、顯示電路四大部分。最小系統(tǒng)只要是為了使單片機(jī)正常工作??刂齐娐分灰砷_關(guān)和按鍵組成,由操作者根據(jù)相應(yīng)的工作需要進(jìn)行操作。顯示電路主要是為了顯示電機(jī)的工作狀態(tài)和轉(zhuǎn)速。驅(qū)動(dòng)電路主要是對(duì)單片機(jī)輸出的脈沖進(jìn)行功率放大,從而驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng)。2.1控制電路據(jù)系統(tǒng)的控制要求,控制輸入部分設(shè)置了啟動(dòng)控制,換向控制,加速控制和減速控制按鈕,分別是K1、K2、K3、K4、K5、K6、 K7、K8,

12、控制電路如下圖所示。通過K1、K2、K3選擇單相、二相、一二相驅(qū)動(dòng);通過K4、K5選擇正轉(zhuǎn)、反轉(zhuǎn);通過K6、K7控制轉(zhuǎn)速,K8控制系統(tǒng)回復(fù)初始狀態(tài)或重置狀態(tài)。根據(jù)步進(jìn)電機(jī)的工作原理可以知道,步進(jìn)電機(jī)轉(zhuǎn)速的控制主要是通過控制通入電機(jī)的脈沖頻率,從而控制電機(jī)的轉(zhuǎn)速。對(duì)于單片機(jī)而言,主要的方法有:軟件延時(shí)和定時(shí)中斷在此電路中電機(jī)的轉(zhuǎn)速控制主要是通過定時(shí)器的中斷來實(shí)現(xiàn)的,該電路控制電機(jī)加速度主要是通過K6、K7的斷開和閉合,從而控制外部中斷根據(jù)按鍵次數(shù),改變速度值存儲(chǔ)區(qū)中的數(shù)據(jù)(該數(shù)據(jù)為定時(shí)器的中斷次數(shù)),這樣就改變了步進(jìn)電機(jī)的輸出脈沖頻率,從而改變了電機(jī)的轉(zhuǎn)速。2.2最小系統(tǒng) 單片機(jī)最小系統(tǒng)或者稱為

13、最小應(yīng)用系統(tǒng),素質(zhì)用最少的元件組成的單片機(jī)可以工作的系統(tǒng),對(duì)51系列單片機(jī)來說,最小系統(tǒng)一般應(yīng)該包括:?jiǎn)纹瑱C(jī)、復(fù)位電路、晶振電路。2.3驅(qū)動(dòng)電路通過ULN2803構(gòu)成驅(qū)動(dòng)電路,電路圖如下圖所示。通過單片機(jī)的P1.0P1.3輸出脈沖到ULN2803的1B4B口,經(jīng)信號(hào)放大后從1C4C口分別輸出到電機(jī)的A、B、C、D相。2.4顯示電路在該步進(jìn)電機(jī)的控制器中,電機(jī)可以正反轉(zhuǎn),可以加速、減速,其中電機(jī)轉(zhuǎn)速的等級(jí)分為七級(jí),為了方便知道電機(jī)的運(yùn)行狀態(tài)和電機(jī)的轉(zhuǎn)速的等級(jí),這里設(shè)計(jì)了電機(jī)轉(zhuǎn)速和電機(jī)的工作狀態(tài)的顯示電路。在顯示電路中,主要是利用了單片機(jī)的P0口,采用1602液晶作顯示。第一行根據(jù)鍵盤控制顯示“M

14、ode:Single +”/ “Mode: Single ” /“Mode: Double +” / “Mode: Double _”/ “Mode: Mixed +”/ “Mode: Mixed -”,分別代表一相正轉(zhuǎn)/一相反轉(zhuǎn)/二相正轉(zhuǎn)/二相反轉(zhuǎn)/一二相正轉(zhuǎn)/一二相反轉(zhuǎn)。第二行根據(jù)鍵盤控制顯示“Speed:10”,初始數(shù)字為10,數(shù)字代表速度等級(jí),共有20級(jí),即數(shù)字可顯示從0到20,數(shù)字越小即周期越短速度越快。2.5實(shí)物電路圖各個(gè)部分的電路圖組合成失誤電路圖,如下圖所示。3軟件設(shè)計(jì)通過分析可以看出,實(shí)現(xiàn)系統(tǒng)功能可以采用多種方法,由于隨時(shí)有可能輸入加速、加速信號(hào)和方向信號(hào),因而采用中斷方式效

15、率最高,這樣總共要完成2個(gè)部分的工作才能滿足課題要求,即主程序部分、定時(shí)器中斷部分,其中主程序的主要功能是系統(tǒng)初始參數(shù)的設(shè)置及啟動(dòng)開關(guān)的檢測(cè),若啟動(dòng)開關(guān)合上則系統(tǒng)開始工作,反之系統(tǒng)停止工作;定時(shí)器部分控制脈沖頻率,它決定了步進(jìn)電機(jī)各個(gè)狀態(tài)確定設(shè)置。下面分析主程序與定時(shí)器中斷程序及外部中斷程序。(1)主程序設(shè)計(jì)主程序中要完成的工作主要有系統(tǒng)初始值的設(shè)置、系統(tǒng)狀態(tài)的顯示以及各種開關(guān)狀態(tài)的檢測(cè)判斷等。其中系統(tǒng)初始狀態(tài)的設(shè)置內(nèi)容較多,該系統(tǒng)中,需要初始化定時(shí)器、外部中斷,液晶屏。當(dāng)上電時(shí),液晶屏第一行顯示“Mode:”,第二行顯示“Speed:”,由于未設(shè)置步進(jìn)電機(jī)工作狀態(tài),步進(jìn)電機(jī)未工作,且液晶未顯

16、示步進(jìn)電機(jī)有關(guān)狀態(tài)。 (2)定時(shí)中斷設(shè)計(jì)步進(jìn)電機(jī)的狀態(tài)設(shè)置由鍵盤的按下松開確定。K1K8的按下就會(huì)對(duì)數(shù)組進(jìn)行賦值,通過對(duì)數(shù)組的判斷確定我們所設(shè)置的工作狀態(tài)。由于我們需要實(shí)時(shí)地調(diào)節(jié)步進(jìn)電機(jī)的轉(zhuǎn)速,因此采用定時(shí)中斷程序,每當(dāng)掃描鍵盤時(shí),K6、K7的按下會(huì)對(duì)數(shù)組的值進(jìn)行加減,通過數(shù)組值的大小的改變控制步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)頻率從而調(diào)節(jié)步進(jìn)電機(jī)的轉(zhuǎn)速,數(shù)字值最大為20最小為0,超出范圍時(shí)數(shù)組值不可改變。由于對(duì)每一按鍵定義了一種功能,當(dāng)按下某些按鍵組合時(shí)會(huì)產(chǎn)生一些錯(cuò)誤的設(shè)定,對(duì)于這種情況我們?cè)O(shè)定了K8作為初始化/復(fù)位按鍵,按下K8會(huì)使系統(tǒng)回到初始狀態(tài),這時(shí)我們可以對(duì)系統(tǒng)進(jìn)行重新正確的設(shè)定或者轉(zhuǎn)換另一種工作狀態(tài)。

17、4程序編寫#include <reg52.h>#define KeyPort P3#define LCD P0 sbit rs=P24; /定義液晶使能控制端口sbit rw=P25;sbit en=P26;sbit A1=P10; /定義反向驅(qū)動(dòng)端口sbit B1=P11;sbit C1=P12; sbit D1=P13; unsigned char n5; unsigned char T=10,Y=0;unsigned char mode="mode:",speed="speed:",one="Single",two=

18、"Double",mixed="Mixed",re="Reset ",er="Error"#define Coil_AB1 A1=1;B1=1;C1=0;D1=0; /對(duì)步進(jìn)電機(jī)進(jìn)行編碼#define Coil_BC1 A1=0;B1=1;C1=1;D1=0; #define Coil_CD1 A1=0;B1=0;C1=1;D1=1; #define Coil_DA1 A1=1;B1=0;C1=0;D1=1; #define Coil_A1 A1=1;B1=0;C1=0;D1=0; #define Coil_B1

19、A1=0;B1=1;C1=0;D1=0; #define Coil_C1 A1=0;B1=0;C1=1;D1=0; #define Coil_D1 A1=0;B1=0;C1=0;D1=1; #define Coil_OFF A1=0;B1=0;C1=0;D1=0; void DelayMs(unsigned char t) /定義延時(shí) int x,y; for(x=t;x>0;x-) for(y=110;y>0;y-);void write_com(unsigned char com)/液晶顯示狀態(tài)控制程序rs=0;rw=0;en=0;LCD=com;DelayMs(5);en=1

20、;DelayMs(5);en=0;void write_date(unsigned char date)/液晶數(shù)據(jù)顯示程序rs=1;rw=0;en=0;LCD=date;DelayMs(5);en=1;DelayMs(5);en=0;void init_LCD()/液晶初始化程序 int a;write_com(0x38); write_com(0x06);write_com(0x01);write_com(0x0c); write_com(0x80);for(a=0;a<5;a+)write_date(modea);write_com(0x80+0x40);for(a=0;a<6

21、;a+)write_date(speeda);void Init_Timer0()/定時(shí)器初始化 TMOD=0x01; TH0=0x00; TL0=0x00; EA=1; ET0=1; TR0=1; PT0=1; void display()/顯示程序char a,b,c,d,e;if(n0=1&&n1=0&&n2=0)write_com(0x80+6);for(a=0;a<6;a+)write_date(onea); if(n0=0&&n1=1&&n2=0)write_com(0x80+6);for(a=0;a<6;

22、a+)write_date(twoa); if(n0=0&&n1=0&&n2=1)write_com(0x80+6);for(a=0;a<5;a+)write_date(mixeda); if(n3=1&&n4=0)write_com(0x80+13);write_date('+'); if(n3=0&&n4=1)write_com(0x80+13);write_date('-'); b=T/10; c=T%10; write_com(0x80+0x40+6); write_date(0x30

23、+b); write_com(0x80+0x40+7); write_date(0x30+c); d=n0+n1+n2; e=n3+n4; if(d>1|e=2) init_LCD();write_com(0x80+6);for(a=0;a<5;a+)write_date(era); unsigned char KeyScan(void)/鍵盤掃面 unsigned char keyvalue; if(KeyPort!=0xff) DelayMs(10); if(KeyPort!=0xff) keyvalue=KeyPort; while(KeyPort!=0xff);switch

24、(keyvalue) case 0xfe:return 1;break; case 0xfd:return 2;break; case 0xfb:return 3;break; case 0xf7:return 4;break; case 0xef:return 5;break; case 0xdf:return 6;break; case 0xbf:return 7;break; case 0x7f:return 8;break; default:return 0;break; return 0;void danxiang_0()/步進(jìn)電機(jī)單相正轉(zhuǎn) Coil_A1DelayMs(T);Coi

25、l_B1DelayMs(T);Coil_C1DelayMs(T);Coil_D1DelayMs(T);void danxiang_1()/步進(jìn)電機(jī)單相發(fā)轉(zhuǎn)Coil_D1DelayMs(T);Coil_C1DelayMs(T);Coil_B1DelayMs(T);Coil_A1DelayMs(T);void erxiang_0() /步進(jìn)電機(jī)二相正轉(zhuǎn)Coil_AB1DelayMs(T);Coil_BC1DelayMs(T);Coil_CD1DelayMs(T);Coil_DA1DelayMs(T);void erxiang_1()/步進(jìn)電機(jī)二相反轉(zhuǎn)Coil_DA1DelayMs(T);Coil_

26、CD1DelayMs(T);Coil_BC1DelayMs(T);Coil_AB1DelayMs(T);void yi_er_0()/步進(jìn)電機(jī)一二相正轉(zhuǎn)Coil_A1DelayMs(T);Coil_AB1DelayMs(T);Coil_B1DelayMs(T);Coil_BC1DelayMs(T);Coil_C1DelayMs(T);Coil_CD1DelayMs(T);Coil_D1DelayMs(T);Coil_DA1DelayMs(T);void yi_er_1()/步進(jìn)電機(jī)一二相反轉(zhuǎn)Coil_DA1DelayMs(T);Coil_D1DelayMs(T);Coil_CD1DelayMs

27、(T);Coil_C1DelayMs(T);Coil_BC1DelayMs(T);Coil_B1DelayMs(T);Coil_AB1DelayMs(T);Coil_A1DelayMs(T);void run()/步進(jìn)電機(jī)控制程序if(n0=1&&n3=1&&n4=0)danxiang_0();if(n0=1&&n3=0&&n4=1)danxiang_1();if(n1=1&&n3=1&&n4=0)erxiang_0();if(n1=1&&n3=0&&n4=1)erxiang_1();if(n2=1&&n3=1&&n4=0)yi_er_0();if(n2=1&&n3=0&&n4=1)yi_er_1();void Reset()/初始化/復(fù)位程序int a;T=10;n0=0,n1=0,n2=0,n3=0,n4=0;init_LCD();write_com(0x80+6);for(a=0;a<1

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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)論