在這里介紹一下用51單片機(jī)驅(qū)動(dòng)步進(jìn)電機(jī)的方法。 這款步進(jìn)電機(jī)的驅(qū)動(dòng)電壓12V,步進(jìn)角為 7.5度 . 一圈 360 度 , 需要 48 個(gè)脈沖完成!!! 該步進(jìn)電機(jī)有6根引線,排列次序如下:1:紅色、2:紅色、3:橙色、4:棕色、5: $、6:黑色。 ULN2003的驅(qū)動(dòng)直接用單片機(jī)系統(tǒng)的5V電壓,可能力矩不是很大,大家可自行加大驅(qū)動(dòng)電壓到12V。 ;****************************步進(jìn)電機(jī)的驅(qū)動(dòng)*************************************** ; DESIGN BY BENLADN911 FOSC = 12MHz 2005.05.19 ;--------------------------------------------------------------------------------- ; 步進(jìn)電機(jī)的驅(qū)動(dòng)信號(hào)必須為 脈沖信號(hào)!!! 轉(zhuǎn)動(dòng)的速度和脈沖的頻率成正比!!! ; 本步進(jìn)電機(jī)步進(jìn)角為 7.5度 . 一圈 360 度 , 需要 48 個(gè)脈沖完成!!! ;--------------------------------------------------------------------------------- ; A組線圈對(duì)應(yīng) P2.4 ; B組線圈對(duì)應(yīng) P2.5 ; C組線圈對(duì)應(yīng) P2.6 ; D組線圈對(duì)應(yīng) P2.7 ; 正轉(zhuǎn)次序: AB組--BC組--CD組--DA組 (即一個(gè)脈沖,正轉(zhuǎn) 7.5 度) ;---------------------------------------------------------------------------------- ;----------------------------正轉(zhuǎn)-------------------------- ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV R3,#144 正轉(zhuǎn) 3 圈共 144 脈沖 START: MOV R0,#00H START1: MOV P2,#00H MOV A,R0 MOV DPTR,#TABLE MOVC A,@A+DPTR JZ START 對(duì) A 的判斷,當(dāng) A = 0 時(shí)則轉(zhuǎn)到 START MOV P2,A LCALL DELAY INC R0 DJNZ R3,START1 MOV P2,#00H LCALL DELAY1 ;-----------------------------反轉(zhuǎn)------------------------ MOV R3,#144 反轉(zhuǎn)一圈共 144 個(gè)脈沖 START2: MOV P2,#00H MOV R0,#05 START3: MOV A,R0 MOV DPTR,#TABLE MOVC A,@A+DPTR JZ START2 MOV P2,A CALL DELAY INC R0 DJNZ R3,START3 MOV P2,#00H LCALL DELAY1 LJMP MAIN DELAY: MOV R7,#40 步進(jìn)電機(jī)的轉(zhuǎn)速 M3: MOV R6,#248 DJNZ R6,$ DJNZ R7,M3 RET DELAY1: MOV R4,#20 2S 延時(shí)子程序 DEL2: MOV R3,#200 DEL3: MOV R2,#250 DJNZ R2,$ DJNZ R3,DEL3 DJNZ R4,DEL2 RET TABLE: DB 30H,60H,0C0H,90H 正轉(zhuǎn)表 DB 00 正轉(zhuǎn)結(jié)束 DB 30H,90H,0C0H,60H 反轉(zhuǎn)表 DB 00 反轉(zhuǎn)結(jié)束 END |