返回主页 单片机教程XL2000开发板 单片机学习 自制编程器 单片机资料 软件下载 电子技术产品介绍如何购买 论坛


;/********************************************************************************
;* 标题: xl系列单片机实验仪演示程序 步进电机正反转控制器 *
;* 文件: XLDJ.ASM *
;* 日期: 2006-1-5 *
;* 版本: 3.0 (试验通过版)可用xl600-xl1000单片机综合试验仪试验 *
;* 邮箱: sxj1974@163.com *
;* 网站: http://www.51c51.com www.8951.com *
;********************************************************************************
;* 描述: 步进电机正反转控制器 (按键控制) (引用端口:电机接P1.0-P1.3) *
; 步进电机步进角为 7.5度,一圈 360 度。 *
; 双四拍工作方式: *
; AB-BC-CD-DA (即一个脉冲,转 7.5 度) *
; 单双八拍工作方式: *
; A-AB-B-BC-C-CD-D-DA (即一个脉冲,转 3.75 度) *
; 一个取数工作周期,步进电机转30度 *
; 步进电机转一圈需要12个取数工作周期 * 
;********************************************************************************
;* 【版权】 Copyright(C)深圳市学林电子有限公司 www.51c51.com *
;* 【声明】 此程序仅用于学习与参考,引用请注明版权和作者信息! *
;* 【技术支持】请访问http://www.51c51.com/bbs/ 官方论坛 *
;********************************************************************************/

ORG 0000H
LJMP MAIN
ORG 0080H
;---------------- ---------正转-------------------------
MAIN:

;MOV R3,#12 ;7.5度电机正转1圈共12个周期
MOV R3,#60 ;转5圈
FFW:
MOV R0,#00H
FFW1:
MOV P1,#0F0H
MOV A,R0
;MOV DPTR,#TABLE_F ;选择工作方式
MOV DPTR,#TABLE1
MOVC A,@A+DPTR
MOV P1,A
LCALL DELAY
INC R0
JNZ FFW1
DJNZ R3,FFW

MOV P1,#0F0H
LCALL DELAY1

;---------------------------反转--------------------------

;MOV R3,#12 ;7.5度电机反转1圈共12个周期
MOV R3,#60 ;转5圈
REV:
MOV R0,#00H
REV1:
MOV P1,#0F0H
MOV A,R0
; MOV DPTR,#TABLE_R ;选择工作方式
MOV DPTR,#TABLE2
MOVC A,@A+DPTR
MOV P1,A
CALL DELAY
INC R0
JNZ REV1
DJNZ R3,REV
MOV P1,#0F0H
LCALL DELAY1

LJMP MAIN
;-------------------------------------------------------
DELAY:
MOV R7,#30 ;步进电机的转速
DEL1: MOV R6,#248
DJNZ R6,$
DJNZ R7,DEL1
RET
;-------------------------------------------------------
DELAY1:
MOV R5,#20 ;2S 延时子程序
DEL2:
MOV R7,#200
DEL3:
MOV R6,#250
DJNZ R6,$
DJNZ R7,DEL3
DJNZ R5,DEL2
RET
;-------------------------------------------------------
; 单双八拍工作方式
TABLE_F: ;正转表
DB 0F1H,0F3H,0F2H,0F6H,0F4H,0FCH,0F8H,0F9H
DB 00
TABLE_R: ;反转表
DB 0F9H,0F8H,0FCH,0F4H,0F6H,0F2H,0F3H,0F1H
DB 00
;-------------------------------------------------------
; 双四拍工作方式:
TABLE1:
DB 03H,06H,0cH,09H ;正转表
DB 00 ;正转结束
TABLE2:
DB 09H,0CH,06H,03H ;反转表
DB 00 ;反转结束
;-------------------------------------------------------
END