************************************************ * FileName: ex5.asm * * Description: 步进电机控制实验 * * Copyright(C) SanZhi Electronic, Author Zpin * ************************************************
.title "ex5" .global _c_int00 .mmregs
BJ_ADD .set 1008h
BJ_DIRECT .set 60h BJ_SPEED .set 61h
.data .byte 0eh,0dh,0bh,07h
.sect ".vectors" reset: B _c_int00 NOP NOP .space 4*127 ? .text _c_int00: LD #0h,DP STM #3000h,SP SSBX INTM RSBX SXM ST #07FFFh,SWWSR
ST #0h,CLKMD ;切换到DIV模式? tst BITF CLKMD,#1h BC tst,TC ;判断切换是否完成? ST #1087h,CLKMD ;切换到PLL*2模式? RPT #0FFh ;等待切换完成 ? NOP
ST #04h,BK ;置循环缓冲区大小 ? ST #2000h,AR0 ;置循环缓冲区首地址 ? ST #00h,BJ_DIRECT ;电机旋转方向 ST #01h,BJ_SPEED ;电机旋转速度 read LD #speed0,B ;判断速度 ? ADD BJ_SPEED,2,B,B BACC B
speed0 ST #6fh,AR6 ;速度0 B direct
speed1 ST #4fh,AR6 ;速度1 B direct
speed2 ST #2fh,AR6 ;速度2 B direct
speed3 ST #1fh,AR6 ;速度3 B direct
speed4 ST #0ch,AR6 ;速度4 B direct
speed5 ST #07h,AR6 ;速度5
direct BITF BJ_DIRECT,#01h ;判断方向 ? BC start1,TC
start0 CALL delay PORTW *AR0+%,BJ_ADD ;正转? B read
start1 CALL delay PORTW *AR0-%,BJ_ADD ;反转? B read
delay ST #0d00h,AR7 ;延时子程序 BANZ $,*AR7- BANZ delay,*AR6- RET
初学DSP, 打问号的句子谁能帮我详细解释下意思 谢谢了 还有,如果要电机正转10圈然后反转10圈,程序如何修改?
|