⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 h22.asm

📁 (1)完成键盘
💻 ASM
字号:
; step motor control
; ASM for MCS51
mode   equ 082h
contrl equ 08003h
ctl    equ 08000h
Astep  equ 01h
Bstep  equ 02h
Cstep  equ 04h
Dstep  equ 08h

dly_c  equ 60h

       org 0h

step:
      mov  a,#mode
      mov  dptr,#contrl
      movx @dptr,a
      mov  dptr,#8002h
      mov  a,#0
      movx @dptr,a
      mov  dly_c,#10h
      jmp  loop1


; 单/双八拍工作方式
loop:
      mov  dptr, #ctl
      mov  a,#Astep
      movx @dptr,a
      call delay
      mov  a,#Astep+Bstep
      movx @dptr,a
      call delay
      mov  a,#Bstep
      movx @dptr,a
      call delay
      mov  a,#Bstep+Cstep
      movx @dptr,a
      call delay
      mov  a,#Cstep
      movx @dptr,a
      call delay
      mov  a,#Cstep+Dstep
      movx @dptr,a
      call delay
      mov  a,#Dstep
      movx @dptr,a
      call delay
      mov  a,#Dstep+Astep
      movx @dptr,a
      call delay
      mov  a, dly_c
      dec  a                   ; 提高转速
      cjne a,#1, nn1           ; 最快速度
      inc  a
nn1:  mov  dly_c,a
      ljmp    Loop

; 双四拍工作方式
loop1:
      mov  dptr,#ctl
      mov  a, #Astep+Bstep
      movx @dptr,a
      call delay
      mov  a, #Bstep+Cstep
      movx @dptr,a
      call delay
      mov  a, #Cstep+Dstep
      movx @dptr,a
      call delay
      mov  a, #Dstep+Astep
      movx @dptr,a
      call delay

      mov  a, dly_c
      dec  a
      cjne a,#2, nn2
      inc  a
nn2:  mov  dly_c,a
      jmp  loop1

; 单四拍工作方式
loop2:
      mov dptr,#ctl
      mov a,#Dstep
      movx @dptr,a
      call  delay
      mov a,#Cstep
      movx @dptr,a
      call  delay
      mov a,#Bstep
      movx @dptr,a
      call  delay
      mov a,#Astep
      movx @dptr,a
      call  delay

      mov  a, dly_c
      dec  a
      cjne a,#3, nn3
      inc  a
nn3:  mov  dly_c,a
      jmp  loop2

delay:
      mov r6,dly_c
dd1:
      mov r7,#0
      djnz r7,$
      djnz r6,dd1

      ret
      end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -