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

📄 step 080314.asm

📁 微型电机的驱动
💻 ASM
字号:
#pragma debug scope 1 1
#line 16 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
__acsr EQU [023H]
__adcr EQU [022H]
__adrh EQU [021H]
__adrl EQU [020H]
__pwm EQU [01aH]
__pdc EQU [019H]
__pd EQU [018H]
__pbc EQU [015H]
__pb EQU [014H]
__pac EQU [013H]
__pa EQU [012H]
__tmrc EQU [0eH]
__tmr EQU [0dH]
__intc EQU [0bH]
__status EQU [0aH]
__tblh EQU [08H]
__tblp EQU [07H]
__pcl EQU [06H]
__acc EQU [05H]
__mp1 EQU [03H]
__iar1 EQU [02H]
__mp0 EQU [01H]
__iar0 EQU [00H]
@@isr_8 .SECTION AT 08H 'CODE'
JMP _isr_8
@isr_8 .SECTION 'CODE'
_isr_8 PROC
MOV VA,A
MOV A,[0AH]
MOV VS,A
L1:
#pragma debug scope 2 1 ; 16 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
MOV A,VS
MOV [0AH],A
MOV A,VA
RETI
_isr_8 ENDP
@isr_8 .SECTION 'DATA'
#line 18 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
@@isr_14 .SECTION AT 014H 'CODE'
JMP _isr_14
@isr_14 .SECTION 'CODE'
_isr_14 PROC
MOV VA,A
MOV A,[0AH]
MOV VS,A
#pragma debug scope 3 1 ; 18 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
#line 18 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
NOP
#line 19 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
NOP
#line 20 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
NOP
L2:
MOV A,VS
MOV [0AH],A
MOV A,VA
RETI
_isr_14 ENDP
@isr_14 .SECTION 'DATA'
#line 23 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
@@isr_4 .SECTION AT 04H 'CODE'
JMP _isr_4
@isr_4 .SECTION 'CODE'
_isr_4 PROC
MOV VA,A
MOV A,[0AH]
MOV VS,A
L3:
#pragma debug scope 4 1 ; 24 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
MOV A,VS
MOV [0AH],A
MOV A,VA
RETI
_isr_4 ENDP
@isr_4 .SECTION 'DATA'
#line 27 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
@io_init .SECTION 'CODE'
PUBLIC _io_init
_io_init PROC
#pragma debug scope 5 1 ; 28 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
#line 28 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
CLR __pac
#line 29 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
CLR __pa
#line 30 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
SET __pbc
#line 31 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
CLR __pb
L4:
RET
_io_init ENDP
#line 35 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
@wait .SECTION 'CODE'
PUBLIC _wait
_wait PROC
#pragma debug scope 6 1
#line 34 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
PUBLIC wait0
LOCAL wait0 DB ? ; t
#pragma debug variable 8 6 wait0 t
#pragma debug scope 6 1 ; 36 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
#line 36 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
CLR CR1
#line 36 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
JMP L9
L6:
#pragma debug scope 7 6 ; 38 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
#line 38 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
MOV A,04H
MOV RH,A
MOV A,0deH
CALL __DELAYY3
L7:
#line 36 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
#pragma debug scope 6 1 ; 36 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
INC CR1
L9:
#line 36 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
MOV A,CR1
SUB A,wait0
SNZ [0ah].0
JMP L6
L5:
RET
#line 35 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
LOCAL CR1 DB ? ; i
#pragma debug variable 8 6 CR1 i
_wait ENDP
#line 45 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
@left_1 .SECTION 'CODE'
PUBLIC _left_1
_left_1 PROC
#pragma debug scope 8 1
#line 44 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
PUBLIC left_10
LOCAL left_10 DB ? ; left
#pragma debug variable 7 8 left_10 left
#pragma debug scope 8 1 ; 48 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
#line 48 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
CLR [0AH].0
RLCA left_10
MOV CR3,A
#line 49 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
MOV A,CR3
MOV __acc,A
#line 50 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
MOV A,__acc
MOV CR2,A
#line 51 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
MOV A,CR2
MOV __pa,A
#line 52 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
MOV A,01h
MOV wait0,A
CALL _wait
#line 53 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
CLR __pa
#line 54 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
MOV A,01h
MOV wait0,A
CALL _wait
#line 55 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
MOV A,CR2
L10:
RET
#line 46 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
LOCAL CR2 DB ? ; result
#pragma debug variable 7 8 CR2 result
#line 47 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
LOCAL CR3 DB ? ; mid
#pragma debug variable 7 8 CR3 mid
_left_1 ENDP
#line 59 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
@right_1 .SECTION 'CODE'
PUBLIC _right_1
_right_1 PROC
#pragma debug scope 9 1
#line 58 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
PUBLIC right_10
LOCAL right_10 DB ? ; right
#pragma debug variable 7 9 right_10 right
#pragma debug scope 9 1 ; 61 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
#line 61 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
MOV A,right_10
MOV CR5,A
#line 62 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
MOV A,CR5
MOV __acc,A
#line 63 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
MOV A,__acc
MOV CR4,A
#line 64 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
MOV A,CR4
MOV __pa,A
#line 65 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
RLCA right_10
RRCA right_10
MOV CR4,A
#line 66 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
CLR CR4.7
#line 67 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
MOV A,CR4
MOV __acc,A
#line 68 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
MOV A,01h
MOV wait0,A
CALL _wait
#line 69 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
CLR __pa
#line 70 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
MOV A,01h
MOV wait0,A
CALL _wait
#line 72 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
MOV A,CR4
L11:
RET
#line 60 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
LOCAL CR4 DB ? ; result
#pragma debug variable 7 9 CR4 result
#line 61 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
LOCAL CR5 DB ? ; mid
#pragma debug variable 7 9 CR5 mid
_right_1 ENDP
#line 76 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
@turn_left .SECTION 'CODE'
PUBLIC _turn_left
_turn_left PROC
#pragma debug scope 10 1 ; 77 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
#line 77 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
MOV A,_L_start
MOV left_10,A
CALL _left_1
MOV _L_start,A
#line 78 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
MOV A,_L_start
XOR A,080h
SNZ [0ah].2
JMP L13
#pragma debug scope 11 10 ; 79 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
#line 79 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
MOV A,08h
MOV _L_start,A
L13:
L12:
RET
_turn_left ENDP
#line 83 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
@turn_right .SECTION 'CODE'
PUBLIC _turn_right
_turn_right PROC
#pragma debug scope 12 1 ; 84 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
#line 84 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
MOV A,_R_start
MOV right_10,A
CALL _right_1
MOV _R_start,A
#line 85 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
MOV A,08h
XOR A,_R_start
SNZ [0ah].2
JMP L16
#pragma debug scope 13 12 ; 86 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
#line 86 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
MOV A,080h
MOV _R_start,A
L16:
L15:
RET
_turn_right ENDP
#line 90 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
@wiseclock .SECTION 'CODE'
PUBLIC _wiseclock
_wiseclock PROC
#pragma debug scope 14 1 ; 91 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
#line 91 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
MOV A,080h
MOV _R_start,A
#line 92 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
CLR _u
#line 92 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
JMP L22
L19:
#pragma debug scope 15 14 ; 94 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
#line 94 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
CALL _turn_right
L20:
#line 92 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
#pragma debug scope 14 1 ; 92 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
INC _u
L22:
#line 92 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
MOV A,_u
SUB A,0fh
SNZ [0ah].0
JMP L19
L18:
RET
_wiseclock ENDP
#line 99 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
@counter_clock .SECTION 'CODE'
PUBLIC _counter_clock
_counter_clock PROC
#pragma debug scope 16 1 ; 100 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
#line 100 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
MOV A,08h
MOV _L_start,A
#line 101 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
CLR _u
#line 101 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
JMP L27
L24:
#pragma debug scope 17 16 ; 103 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
#line 103 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
CALL _turn_left
L25:
#line 101 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
#pragma debug scope 16 1 ; 101 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
INC _u
L27:
#line 101 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
MOV A,_u
SUB A,0fh
SNZ [0ah].0
JMP L24
L23:
RET
_counter_clock ENDP
#line 108 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
@MAIN .SECTION 'CODE'
_main PROC
begin:
#pragma debug scope 18 1 ; 110 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
#line 110 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
CALL _io_init
#line 111 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
CLR __pa
#line 112 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
MOV A,08h
MOV _L_start,A
#line 113 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
MOV A,080h
MOV _R_start,A
#line 113 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
JMP L30
L29:
#pragma debug scope 19 18 ; 116 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
#line 116 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
CLR _i
#line 116 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
JMP L35
L32:
#pragma debug scope 20 19 ; 117 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
#line 117 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
CALL _counter_clock
L33:
#line 116 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
#pragma debug scope 19 18 ; 116 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
INC _i
L35:
#line 116 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
MOV A,_i
SUB A,064h
SNZ [0ah].0
JMP L32
#line 119 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
CLR _i
#line 119 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
JMP L39
L36:
#pragma debug scope 21 19 ; 121 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
#line 121 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
MOV A,0ah
MOV wait0,A
CALL _wait
L37:
#line 119 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
#pragma debug scope 19 18 ; 119 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
INC _i
L39:
#line 119 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
MOV A,_i
SUB A,064h
SNZ [0ah].0
JMP L36
#line 124 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
CLR _i
#line 124 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
JMP L43
L40:
#pragma debug scope 22 19 ; 126 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
#line 126 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
CALL _wiseclock
L41:
#line 124 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
#pragma debug scope 19 18 ; 124 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
INC _i
L43:
#line 124 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
MOV A,_i
SUB A,064h
SNZ [0ah].0
JMP L40
L30:
#line 114 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
#pragma debug scope 18 1 ; 114 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
JMP L29
L28:
#line 130 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
JMP $
_main ENDP
PUBLIC _R_start
@R_start .SECTION 'DATA'
#line 8 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
_R_start DB ? ; R_start
#pragma debug variable 7 1 _R_start R_start
PUBLIC _L_start
@L_start .SECTION 'DATA'
#line 7 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
_L_start DB ? ; L_start
#pragma debug variable 7 1 _L_start L_start
PUBLIC _u
@u .SECTION 'DATA'
#line 6 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
_u DB ? ; u
#pragma debug variable 8 1 _u u
PUBLIC _i
@i .SECTION 'DATA'
#line 6 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
_i DB ? ; i
#pragma debug variable 8 1 _i i
PUBLIC _percent_light
@percent_light .SECTION 'DATA'
#line 5 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
_percent_light DB ? ; percent_light
#pragma debug variable 8 1 _percent_light percent_light
PUBLIC _highbit
@highbit .SECTION 'DATA'
#line 4 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
_highbit DB ? ; highbit
#pragma debug variable 8 1 _highbit highbit
PUBLIC _mtp
@mtp .SECTION 'DATA'
#line 3 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
_mtp DB ? ; mtp
#pragma debug variable 7 1 _mtp mtp
#line 107 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
STARTSEC .SECTION 'CODE'
STARTUP:
RET
EXTERN RH:BYTE
EXTERN VA:BYTE
EXTERN VS:BYTE
EXTERN __DELAYY0:NEAR
EXTERN __DELAYY1:NEAR
EXTERN __DELAYY2:NEAR
EXTERN __DELAYY3:NEAR
EXTERN __DELAYY4:NEAR
EXTERN __DELAYY5:NEAR
#line 107 "D:\PROJECT\STEP MOTOR\STEP 080314.C"
@CODE .SECTION AT 0 'CODE'
JMP begin
@DUMMY PROC
CALL _main
@DUMMY ENDP
ROMBANK 0 @DUMMYNOP 
@DUMMYNOP .SECTION AT 03ffh 'CODE'
nop

⌨️ 快捷键说明

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