?? motor-rise-fall.asm
字號(hào):
;/******************************************************************/
;/* */
;/* ME500單片機(jī)開發(fā)系統(tǒng)演示程序 - 步進(jìn)電機(jī)加減速運(yùn)行 */
;/* */
;/* 步進(jìn)電機(jī)啟動(dòng)時(shí),轉(zhuǎn)速由慢到快逐步加速。 */
;/* 步進(jìn)電機(jī)勻速運(yùn)行 */
;/* 步進(jìn)電機(jī)由快到慢逐步減速 */
;/* */
;/* 版本: V1.0 (2006/11/20) */
;/* 作者: gguoqing (Email: gguoqing@willar.com) */
;/* 網(wǎng)站: www.willar.com(偉納電子) www.mcusj.com(偉納單片機(jī)世界) */
;/* 郵箱: support@willar.com */
;/* */
;/*【版權(quán)】Copyright(C)偉納電子 www.willar.com All Rights Reserved */
;/*【聲明】此程序僅用于學(xué)習(xí)與參考,引用請(qǐng)注明版權(quán)和作者信息! */
;/* */
;/******************************************************************/
; 步進(jìn)電機(jī)步進(jìn)角為 7.5度,一圈 360 度。
; 雙四拍工作方式:
; AB-BC-CD-DA (即一個(gè)脈沖,轉(zhuǎn) 7.5 度)
; 單雙八拍工作方式:
; A-AB-B-BC-C-CD-D-DA (即一個(gè)脈沖,轉(zhuǎn) 3.75 度)
;-------------------------------------------------------
; A組線圈對(duì)應(yīng) P1.0 (桔色)
; B組線圈對(duì)應(yīng) P1.1 (棕色)
; C組線圈對(duì)應(yīng) P1.2 (黃色)
; D組線圈對(duì)應(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
;-------------------------------------------------------
;加速啟動(dòng)過程
;-------------------------------------------------------
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
;---------------------------------------------------
;勻速運(yùn)行過程
;---------------------------------------------------
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
;-------------------------------------------------------
; 延時(shí)子程序
;-------------------------------------------------------
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
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -