【全方位資料】基于51單片機的步進(jìn)電機控制(閥門控制)_第1頁
【全方位資料】基于51單片機的步進(jìn)電機控制(閥門控制)_第2頁
【全方位資料】基于51單片機的步進(jìn)電機控制(閥門控制)_第3頁
【全方位資料】基于51單片機的步進(jìn)電機控制(閥門控制)_第4頁
【全方位資料】基于51單片機的步進(jìn)電機控制(閥門控制)_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、一、課題設(shè)計的主要內(nèi)容:設(shè)想的控制系統(tǒng)的是流量傳感器采集到流量信息,通過變換器,轉(zhuǎn)化為電信號,AD轉(zhuǎn)換器將模擬電信號轉(zhuǎn)化為離散信號,傳給單片機。單片機軟件系統(tǒng)根據(jù)事先的設(shè)定值對采集的信息進(jìn)行處理,輸出離散的控制信號。DA轉(zhuǎn)換器將離散的控制信號轉(zhuǎn)化為模擬電量。通過模擬電量來控制閥門的動作,從而調(diào)節(jié)流量,實現(xiàn)流量的精確控制。考慮到設(shè)計的難度,將系統(tǒng)簡化為:利用按鍵模塊代替數(shù)據(jù)采集器對AT89C52單片機進(jìn)行信號輸入,輸入設(shè)定值,在控制系統(tǒng)軟件的作用下,發(fā)出相應(yīng)的執(zhí)行命令給執(zhí)行機構(gòu)步進(jìn)電機。步進(jìn)電機帶動閥門動作,對流體流量進(jìn)行控制。并利用顯示電路實時顯示步進(jìn)電機運行的轉(zhuǎn)數(shù)、轉(zhuǎn)向,具有實時性的特點。其

2、中,硬件電路的搭接是本設(shè)計的重點,控制系統(tǒng)軟件的設(shè)計是本課題的核心。硬件電路部包括AT89C52單片機+時鐘電路+復(fù)位電路構(gòu)成的最小系統(tǒng),外接L297和L298組成的步進(jìn)電機驅(qū)動電路,用四相八拍步進(jìn)電機作為執(zhí)行部件,。并用8位數(shù)碼管作為顯示模塊。系統(tǒng)軟件設(shè)計部分,分別對按鍵設(shè)定值輸入,步進(jìn)電機控制、數(shù)碼管顯示等程序進(jìn)行了設(shè)計,并且設(shè)計了PID控制程序。二、設(shè)計流程使用PROTEL設(shè)計電路圖根據(jù)電路圖編寫程序流程圖使用KEIL編寫程序調(diào)試PROTEUS仿真生成.HEX文件購買元件焊制硬件實物完成設(shè)計不成功成功不成功成功確定設(shè)計方案三、設(shè)計的相關(guān)介紹1、步進(jìn)電機步進(jìn)電機是一種將電脈沖轉(zhuǎn)化為角位移的

3、執(zhí)行機構(gòu)。通俗一點講:當(dāng)步進(jìn)驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進(jìn)電機按設(shè)定的方向轉(zhuǎn)動一個固定的角度(及步進(jìn)角)。你可以通過控制脈沖個數(shù)來控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時您可以通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度,從而達(dá)到速度控制的目的。本次設(shè)計選用28BYJ-48步進(jìn)電機。步進(jìn)電機28BYJ-48型四相八拍電機,電壓為DC5VDC12V。當(dāng)對步進(jìn)電機施加一系列連續(xù)不斷的控制脈沖時,它可以連續(xù)不斷地轉(zhuǎn)動。每一個脈沖信號對應(yīng)步進(jìn)電機的某一相或兩相繞組的通電狀態(tài)改變一次,也就對應(yīng)轉(zhuǎn)子轉(zhuǎn)過一定的角度(一個步距角)。當(dāng)通電狀態(tài)的改變完成一個循環(huán)時,轉(zhuǎn)子轉(zhuǎn)過一個齒距。如下圖所示:2、由

4、L297和L298組成的步進(jìn)電機驅(qū)動電路(1) 驅(qū)動芯片L297介紹SGS公司的L297單片步進(jìn)電機控制集成電路適用于雙極性兩相步進(jìn)電機或四相單極性步進(jìn)電機的控制,與兩片H橋式驅(qū)動芯片L298組合,組成完整的步進(jìn)電機固定斬波頻率的PWM恒流斬波驅(qū)動器。L297產(chǎn)生四相驅(qū)動信號,用以控制雙極性兩相步進(jìn)電機或四相單極性步進(jìn)電機,可以采用半步、兩相勵磁、單相勵磁三種工作方式控制步進(jìn)電機,并且控制電機的片內(nèi)PWM斬波電路允許三種工作方式的切換。圖1 L297引腳圖 圖2 L297的內(nèi)部方框圖L297 各引腳功能說明1腳(SYNG)斬波器輸出端。如多個297同步控制,所有的SYNC端都要連在一起,共用一

5、套振蕩元件。如果使用外部時鐘源,則時鐘信號接到此引腳上。2腳(GND)接地端。3腳(HOME)集電極開路輸出端。當(dāng)L297在初始狀態(tài)(ABCD=0101)時,此端有指示。當(dāng)此引腳有效時,晶體管開路。4腳(A)A相驅(qū)動信號。5腳(INH1)控制A相和B相的驅(qū)動極。當(dāng)此引腳為低電平時,A相、B相驅(qū)動控制被禁止;當(dāng)線圈級斷電時,雙極性橋用這個信號使負(fù)載電源快速衰減。若CONTROL端輸入是低電平時,用斬波器調(diào)節(jié)負(fù)載電流。6腳(B)B相驅(qū)動信號。7腳(C)C相驅(qū)動信號。8腳(INH2)控制C相和D相的驅(qū)動級。作用同INH1相同。9腳(D)D相驅(qū)動信號。10腳(ENABLE)L297的使能輸入端。當(dāng)它為

6、低電平時,INH1,INH2,A,B,C,D都為低電平。當(dāng)系統(tǒng)被復(fù)位時用來阻止電機驅(qū)動。11腳(CONTROL)斬波器功能控制端。低電平時使INH1和INH2起作用,高電平時使A,B,C,D起作用。12腳(Vcc)+5V電源輸入端。13腳(SENS2)C相、D相繞組電流檢測電壓反饋輸入端。14腳(SENS1)A相、B相繞組電流檢測電壓反饋輸入端。15腳(Vref )斬波器基準(zhǔn)電壓輸入端。加到此引腳的電壓決定繞組電流的峰值。16腳(OSC)斬波器頻率輸入端。17腳(CW/CCW)方向控制端。步進(jìn)電機實際旋轉(zhuǎn)方向由繞組的連接方法決定。當(dāng)改變此引腳的電平狀態(tài)時,步進(jìn)電機反向旋轉(zhuǎn)。18腳(CLOCK)

7、步進(jìn)時鐘輸入端。該引腳輸入負(fù)脈沖時步進(jìn)電機向前步進(jìn)一個增量,該步進(jìn)是在信號的上升沿產(chǎn)生。19腳(HALF/FULL)半步、全步方式選擇端。此引腳輸入高電平時為半步方式(四相八拍),低電平時為全步方式。如選擇全步方式時變換器在奇數(shù)狀態(tài),會得到單相工作方式(單四拍)。20腳(RESET)復(fù)位輸入端。此引腳輸入負(fù)脈沖時,變換器恢復(fù)初始狀態(tài)(ABCD=0101)。中。變換器是一個重要組成部分。變換器由一個三倍計算器加某些組合邏輯電路組成,產(chǎn)生一個基本的八格雷碼(順序如圖3所示)。由變換器產(chǎn)生4個輸出信號送給后面的輸出邏輯部分,輸出邏輯提供禁止和斬波器功能所需的相序。為了獲得電動機良好的速度和轉(zhuǎn)矩特性,

8、相序信號是通過2個PWM 斬波器控制電動波器包含有一個比較器、一個觸發(fā)器和一個外部檢測電阻,如圖4所示,晶片內(nèi)部的通用振蕩器提供斬波頻率脈沖。每個斬波器的觸發(fā)器由振蕩器的脈沖調(diào)節(jié),當(dāng)負(fù)載電流提高時檢測電阻上的電壓相對提高,當(dāng)電壓達(dá)到Uref時(Uref是根據(jù)峰值負(fù)載電流而定的),將觸發(fā)器重置,切斷輸出,直至第二個振蕩脈沖到來、此線路的輸出(即觸發(fā)器Q輸出)是一恒定速率的PWM信號,L297的CONTROL端的輸入決定斬波器對相位線A,B,C,D或抑制線INH1和INH2起作用。CONTROL為高電平時,對A,B,C,D有抑制作用;為低電平時,則對抑制線INH1和INH2有抑制作用,從而可對電動

9、機和轉(zhuǎn)矩進(jìn)行控制。 圖3 四相八拍模式波形圖圖4 單四拍模式波形 圖5 雙四拍模式波形圖(2) 驅(qū)動芯片L298簡介:L298N 為雙全橋步進(jìn)電機專用驅(qū)動芯片,內(nèi)部包含4信道邏輯驅(qū)動電路,是一種二相和四相步進(jìn)電機的專用驅(qū)動器,可同時驅(qū)動2 個二相或1個四相步進(jìn)電機,內(nèi)含二個H-Bridge 的高電壓、大電流雙全橋式驅(qū)動器,接收標(biāo)準(zhǔn)TTL邏輯準(zhǔn)位信號,可驅(qū)動46V、2A以下的步進(jìn)電機,且可以直接透過電源來調(diào)節(jié)輸出電壓;此芯片可直接由單片機的IO 端口來提供模擬時序信號,但在本驅(qū)動電路中用L297 來提供時序信號,節(jié)省了單片機IO 端口的使用。 散熱片與各管腳相連 圖1 L298N引腳圖L298N

10、引腳功能表引腳符號功能115SENSING ASENSING B此兩端與地連接電流檢測電阻,并向驅(qū)動芯片反饋檢測到的信號23OUT 1OUT 2此兩腳是全橋式驅(qū)動器A的兩個輸出端,用來連接負(fù)載4Vs電機驅(qū)動電源輸入端57IN 1IN2輸入標(biāo)準(zhǔn)的TTL邏輯電平信號,用來控制全橋式驅(qū)動器A的開關(guān)611ENABLE AENABLE B使能控制端.輸入標(biāo)準(zhǔn)TTL邏輯電平信號;低電平時全橋式驅(qū)動器禁止工作。8GND接地端,芯片本身的散熱片與8腳相通9Vss邏輯控制部分的電源輸人端口1012IN 3IN 4輸入標(biāo)準(zhǔn)的TTL邏輯電平信號,用來控制全橋式驅(qū)動器B的開關(guān)1314OUT 3OUT 4此兩腳是全橋式

11、驅(qū)動器B的兩個輸出端,用來連接負(fù)載3、PID控制算法介紹將偏差的比例(P)、積分(I)和微分(D)通過線性組合構(gòu)成控制量,用這一控制量對被控對象進(jìn)行控制,這樣的控制器稱PID控制器。PID控制器是控制系統(tǒng)中技術(shù)比較成熟,而且應(yīng)用最廣泛的一種控制器。PID控制器最先出現(xiàn)在模擬控制系統(tǒng)中,傳統(tǒng)的模擬PID控制器是通過硬件(電子元件、氣動和液壓元件)來實現(xiàn)它的功能。隨著計算機的出現(xiàn),把它移植到計算機控制系統(tǒng)中來,將原來的硬件實現(xiàn)的功能用軟件來代替,因此稱作數(shù)字PID控制器,所形成的一整套算法則稱為數(shù)字PID算法。數(shù)字PID控制器與模擬PID控制器相比,具有非常強的靈活性,可以根據(jù)試驗和經(jīng)驗在線調(diào)整參

12、數(shù),因此可以得到很好的控制性能。PID控制中的積分作用可以減少穩(wěn)態(tài)誤差, 但另一方面也容易導(dǎo)致積分飽和, 使系統(tǒng)的超調(diào)量增大。微分作用可提高系統(tǒng)的響應(yīng)速度, 但其對高頻干擾特別敏感, 甚至?xí)?dǎo)致系統(tǒng)失穩(wěn)。所以, 正確計算控制器的參數(shù), 有效合理地實現(xiàn) PID控制器的設(shè)計,對于PID 控制器在過程控制中的廣泛應(yīng)用具有重要的理論和現(xiàn)實意義。在PID控制系統(tǒng)中, PID控制器分別對誤差信號e(t)進(jìn)行比例、積分與微分運算, 其結(jié)果的加權(quán)和構(gòu)成系統(tǒng)的控制信號u(t),送給對象模型加以控制。 PID控制器的數(shù)學(xué)描述為其傳遞函數(shù)可表示為: 從根本上講, 設(shè)計PID控制器也就是確定其比例系數(shù)Kp、積分系數(shù)T

13、 i 和微分系數(shù)T d , 這三個系數(shù)取值的不同, 決定了比例、積分和微分作用的強弱。4、AT89C52芯片介紹AT89C52是一個低電壓,高性能CMOS 8位單片機,片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲器和256 bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,功能強大的AT89C52單片機可為您提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場合。 AT89C52有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個外中斷口,3個16位可編程定時計數(shù)器,2

14、個全雙工串行通信口,2個讀寫口線,其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲器可有效地降低開發(fā)成本。 · 兼容MCS51指令系統(tǒng) · 8k可反復(fù)擦寫(>1000次)Flash ROM · 32個雙向I/O口 · 256x8bit內(nèi)部RAM · 3個16位可編程定時/計數(shù)器中斷 · 時鐘頻率0-24MHz · 2個串行中斷 · 可編程UART串行通道 · 2個外部中斷源 · 共6個中斷源 · 2個讀寫中斷口線 · 3級加密位 

15、3; 低功耗空閑和掉電模式 · 軟件設(shè)置睡眠和喚醒功能 AT89C52引腳圖AT89C52主要管腳有:XTAL1(19 腳)和XTAL2(18 腳)為振蕩器輸入輸出端口,外接12MHz 晶振。RST/Vpd(9 腳)為復(fù)位輸入端口,外接電阻電容組成的復(fù)位電路。VCC(40 腳)和VSS(20 腳)為供電端口,分別接+5V電源的正負(fù)端。P0P3 為可編程通用I/O 腳。P0 口P0 口是一組8 位漏極開路型雙向I/O 口, 也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時,每位能吸收電流的方式驅(qū)動8 個TTL邏輯門電路,對端口P0 寫“1”時,可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存

16、儲器時,這組口線分時轉(zhuǎn)換地址(低8 位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在Flash 編程時,P0 口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻。P1 口P1 是一個帶內(nèi)部上拉電阻的8 位雙向I/O 口, P1 的輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個TTL 邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。P2 口P2 是一個帶有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 的輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個TTL 邏輯門電路。對端

17、口P2 寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。在訪問外部程序存儲器或16 位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX DPTR 指令)時,P2 口送出高8 位地址數(shù)據(jù)。在訪問8 位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVX RI 指令)時,P2 口輸出P2 鎖存器的內(nèi)容。Flash 編程或校驗時,P2亦接收高位地址和一些控制信號。P3 口P3 口是一組帶有內(nèi)部上拉電阻的8 位雙向I/O 口。P3 口輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個TTL 邏輯門電路。對P3 口寫入“1”時,它們被內(nèi)部

18、上拉電阻拉高并可作為輸入端口。此時,被外部拉低的P3 口將用上拉電阻輸出電流(IIL)。P3 口除了作為一般的I/O 口線外,更重要的用途是它的第二功能P3 口還接收一些用于Flash 閃速存儲器編程和程序校驗的控制信號。RST復(fù)位輸入。當(dāng)振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將使單片機復(fù)位ALE/PROG當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8 位字節(jié)。一般情況下,ALE 仍以時鐘振蕩頻率的1/6 輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時將跳過一個ALE 脈沖。對Flash 存儲器編程

19、期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH 單元的D0 位置位,可禁止ALE 操作。該位置位后,只有一條MOVX 和MOVC指令才能將ALE 激活。此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時,應(yīng)設(shè)置ALE 禁止位無效。PSEN程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當(dāng)AT89C52 由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次PSEN 有效,即輸出兩個脈沖。在此期間,當(dāng)訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。EA/VPP外部訪問允許。欲使CPU 僅訪問外部程序存儲器(地址為0000HFFFFH),EA 端

20、必須保持低電平(接地)。需注意的是:如果加密位LB1 被編程,復(fù)位時內(nèi)部會鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU 則執(zhí)行內(nèi)部程序存儲器中的指令。Flash 存儲器編程時,該引腳加上+12V 的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V 編程電壓Vpp。XTAL1振蕩器反相放大器的及內(nèi)部時鐘發(fā)生器的輸入端。XTAL2振蕩器反相放大器的輸出端。5、芯片74HC573簡要介紹74HC573為八進(jìn)制 3態(tài)非反轉(zhuǎn)透明鎖存器。當(dāng)鎖存使能端為高時,這些器件的鎖存對于數(shù)據(jù)是透明的(也就是說輸出同步)。當(dāng)鎖存使能變低時,符合建立時間和保持時間的數(shù)據(jù)會被鎖存。 圖 74HC573管腳圖四、

21、數(shù)碼管顯示電路兩片74HC573與數(shù)碼管的連接圖 四位共陽極數(shù)碼管管腳五、總結(jié)及體會 步進(jìn)機在工業(yè)控制中是常用的嵌入式運動控制設(shè)備之一,本系統(tǒng)采用單片機搭配驅(qū)動芯片L297、L298實現(xiàn)對步進(jìn)電機的控制。電機的轉(zhuǎn)動方向、轉(zhuǎn)數(shù)可以通過鍵盤輸入, 運用程序?qū)@些數(shù)據(jù)進(jìn)行處理, 由單片機發(fā)出相應(yīng)的控制信號給步進(jìn)電機, 增加了控制的靈活性。運用中斷方式, 使系統(tǒng)在運行時可隨時改變步進(jìn)電機的運作方式。經(jīng)實驗驗證, 達(dá)到了預(yù)期的設(shè)計目的。完成這個閥門控制的系統(tǒng)設(shè)計,期間會遇到各種各樣的問題。在設(shè)計電路圖和程序設(shè)計,及焊接電路過程都要求對芯片有一定的熟練程度。通過查閱材料,詢問他人等等都是很好的解決方法。通

22、過這次單片機的步進(jìn)電機控制電機設(shè)計中,學(xué)習(xí)到了如何用單片機來實現(xiàn)控制,也見證了一堆器件從零到整的制作過程。我們于網(wǎng)上大量搜索與下載資料,從設(shè)計方案、設(shè)計內(nèi)容、設(shè)計思路,從基礎(chǔ)的硬件設(shè)計到軟件編程,從一個個單獨模塊制作到整個完整作品,此次設(shè)計還有很多可以完善的地方,比如在89C52單片機與步進(jìn)電機驅(qū)動電路之間,應(yīng)該接上光電耦合電路進(jìn)行隔離,消減電磁干擾,保證單片機運行穩(wěn)定正確運行。如果要設(shè)計更完善功能更強大的系統(tǒng)的話,我仍需要各方面的學(xué)習(xí)與探討,不過可以肯定的是我們通過這次單片機控制步進(jìn)電機的系統(tǒng)設(shè)計,積累了一定的經(jīng)驗,可以為以后設(shè)計打下堅實的基礎(chǔ)。附1:電路設(shè)計圖附2:實物圖附3:軟件設(shè)計#i

23、nclude <reg51.h>#define DataPort P2 /定義數(shù)據(jù)端口 程序中遇到DataPort 則用P2 替換sbit LATCH1=P30;/定義鎖存使能端口 段鎖存sbit LATCH2=P31;/ 位鎖存/*sbit queren=P32;sbit setzy=P33;sbit setsx=P34;unsigned char code s1011=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff;unsigned char code P286=0x1,0x2,0x4,0x10,0x20,0x40;

24、unsigned char w66;unsigned char key23;unsigned char i,f,j,s,key1,a,key4;unsigned char t,ok;/*sbit CW=P10;sbit CLK=P11;sbit ENABLE=P12;unsigned char n1,m,f48;int n;/*int ek0,ek1,ek2,puk,uk,n,rk,rk1,yk,yk1;/*/顯示初始化void initxianshisetflux()TMOD=0x11; /設(shè)定時器w60=0;w61=0;w62=1;w63=0;w64=1;w65=0;j=0;f=0;s=0

25、;key1=0;t=0;a=0;EA=1;ET0=1;TH0=0xF6;TL0=0xF8;TR0=1;ok=1;/*/PID初始化void initpid()yk=10; rk=100;uk=4;ek0=0;ek1=0;ek2=0;/*/執(zhí)行步進(jìn)電機void initzxbj()CW=1;CLK=1; ET1=1;TH1=0xFB;TL1=0x7C;/*/顯示void delayus(unsigned int i)unsigned int j;while(i-)for(j=0;j<39;j+);void xianshi()if(s>=3)s=0;if(f>=6)f=0;if(

26、j>=6)j=0;DataPort=0xff; /清空數(shù)據(jù),防止有交替重影 LATCH1=1; /段鎖存 LATCH1=0;DataPort=P28f+;LATCH2=1; /位鎖存 LATCH2=0;DataPort=s10w6j+;LATCH1=1; /段鎖存 LATCH1=0;s+;delayus(6);/*/設(shè)置流量void zhuoyou()setzy=1;if(setzy=0)key4=t;w6key4=key2key4;t+;if(t>2)t=0;while(setzy!=1)setzy=1;xianshi();void shangxia()setsx=1;if(se

27、tsx=0)(key2t)+;if(t=2)if(key21>=5)if(key2t>1)key2t=0;elseif(key2t>2)key2t=0;if(key22=2)if(t=1)if(key20>=5)if(key2t>4)key2t=0;elseif(key2t>5)key2t=0;if(t=0)if(key21=5)if(key2t>5)key2t=0;elseif(key2t>9)key2t=0;elseif(key2t>9)key2t=0;while(setsx!=1)setsx=1;xianshi();void shao

28、miaoqueren()unsigned char i;key1=key1;if(key1) for(i=0;i<3;i+) key2i=w6i; else for(i=0;i<3;i+) w6i=key2i; t=0;while(queren=0)queren=1;xianshi();void ifqueren()P3=0xff;if(queren=0)shaomiaoqueren();void setflux()doxianshi();P3=0xff;ifqueren();P3=0xff;if(key1)shangxia();P3=0xff;zhuoyou();P3=0xff;

29、rk=100*w62+10*w61+w60;while(key1);/*/執(zhí)行步進(jìn)電機void delay(unsigned int t) unsigned int k; while(t-) for(k=0; k<100; k+); void csp0() /設(shè)定時器delay(1); ET1=1;TH1=0xFB;TL1=0x7C;TR1=1;while(n1>0)xianshi();f48=1;while(n>0)xianshi();TR1=0;void zxbj() if(ek0>5|ek0<-5) ENABLE=1; f48=0; if(n<0) CW=1; n=-n; for(m=0;m<5;m+); else CW=0; for(m=0;m<5;m+); delay(1); csp0(); ENABLE=0; ok=

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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

提交評論