?? bu1.asm
字號:
;步進(jìn)電機(jī)模塊 http://www.willar.com/shop_view.asp?id=48
;ME300系列單片機(jī)開發(fā)系統(tǒng)+步進(jìn)電機(jī)模塊演示程序
;功能:
;步進(jìn)電機(jī)以加速方式啟動,轉(zhuǎn)速達(dá)到程序規(guī)定的最快速度后保持一段時間勻速運轉(zhuǎn),又開始以減速
;方式運行直到步進(jìn)電機(jī)停止轉(zhuǎn)動。由K1鍵控制演示程序運行。步進(jìn)電機(jī)模塊上D1-D4可以指示工作狀態(tài)。
;/******************************************************************/
;/*
;/* ME300B單片機(jī)開發(fā)系統(tǒng)演示程序 - 步進(jìn)電機(jī)加減速運行程序
;/*
;/* 步進(jìn)電機(jī)啟動時,轉(zhuǎn)速由慢到快逐步加速。
;/* 步進(jìn)電機(jī)勻速運行
;/* 步進(jìn)電機(jī)由快到慢逐步減速
;/*
;/* 郵箱: gguoqing@willar.com
;/* 網(wǎng)站: http://www.willar.com
;/* 作者: gguoqing
;/* 時間: 2006/08/03
;/*
;/*【版權(quán)】Copyright(C)偉納電子 www.willar.com All Rights Reserved
;/*【聲明】此程序僅用于學(xué)習(xí)與參考,引用請注明版權(quán)和作者信息!
;/*
;/******************************************************************/
; 步進(jìn)電機(jī)步進(jìn)角為 7.5度,一圈 360 度。
; 雙四拍工作方式:
; AB-BC-CD-DA (即一個脈沖,轉(zhuǎn) 7.5 度)
; 單雙八拍工作方式:
; A-AB-B-BC-C-CD-D-DA (即一個脈沖,轉(zhuǎn) 3.75 度)
;-------------------------------------------------------
; A組線圈對應(yīng) P1.0 (桔色)
; B組線圈對應(yīng) P1.1 (棕色)
; C組線圈對應(yīng) P1.2 (黃色)
; D組線圈對應(yīng) P1.3 (黑色)
;-------------------------------------------------------
RATE EQU 50H
BEEP BIT P3.7
K1 BIT P1.4
;-------------------------------------------------------
ORG 0000H
LJMP MAIN
ORG 0030H
;---------------- ---------正轉(zhuǎn)-------------------------
MAIN:
MOV SP,#60H
MOV P1,#0F0H
MOV RATE,#10H
JB K1,$
ACALL BEEP_BL
;-------------------------------------------------------
;加速啟動過程
;-------------------------------------------------------
FFW_RISE:
MOV R0,#00H
FFW1:
MOV A,R0
MOV DPTR,#TABLE_F ;選擇工作方式
MOVC A,@A+DPTR
MOV P1,A
LCALL DELAY
INC R0
JNZ FFW1
MOV R0,#00H
MOV A,RATE
DEC A
MOV RATE,A
CJNE A,#1,FFW1
;---------------------------------------------------
;勻速運行過程
;---------------------------------------------------
FFW_CONSTANT:
MOV R1,#0FFH
FFW2:
MOV A,R0
MOV DPTR,#TABLE_F ;選擇工作方式
MOVC A,@A+DPTR
MOV P1,A
LCALL DELAY
INC R0
JNZ FFW2
MOV R0,#00H
DJNZ R1,FFW2
;---------------------------------------------------
;減速停止過程
;---------------------------------------------------
FFW_FALL:
MOV R0,#00H
FFW3:
MOV A,R0
MOV DPTR,#TABLE_F ;選擇工作方式
MOVC A,@A+DPTR
MOV P1,A
LCALL DELAY
INC R0
JNZ FFW3
MOV R0,#00H
MOV A,RATE
INC A
MOV RATE,A
CJNE A,#10H,FFW3
JMP MAIN
;-------------------------------------------------------
; 延時子程序
;-------------------------------------------------------
DELAY:
MOV R5,RATE
DEL2:
MOV R7,#5
DEL3:
MOV R6,#250
DJNZ R6,$
DJNZ R7,DEL3
DJNZ R5,DEL2
RET
;-------------------------------------------------------
;蜂鳴器響一聲子程序
;-------------------------------------------------------
BEEP_BL:
MOV R6,#100
BL1:
CALL DEX1
CPL BEEP
DJNZ R6,BL1
RET
DEX1:
MOV R7,#180
DEX2:
NOP
DJNZ R7,DEX2
RET
;-------------------------------------------------------
; 單雙八拍工作方式
TABLE_F: ;正轉(zhuǎn)表
DB 0F1H,0F3H,0F2H,0F6H,0F4H,0FCH,0F8H,0F9H
DB 00
TABLE_R: ;反轉(zhuǎn)表
DB 0F9H,0F8H,0FCH,0F4H,0F6H,0F2H,0F3H,0F1H
DB 00
;-------------------------------------------------------
; 雙四拍工作方式:
TABLE1:
DB 03H,06H,0cH,09H ;正轉(zhuǎn)表
DB 00 ;正轉(zhuǎn)結(jié)束
TABLE2:
DB 09H,0CH,06H,03H ;反轉(zhuǎn)表
DB 00 ;反轉(zhuǎn)結(jié)束
;-------------------------------------------------------
END
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -