📄 scan.asm
字号:
#pragma debug scope 1 1
#line 9 "D:\project\c program\interrupt\SCAN.C"
rombank 0 _numshow
_numshow .SECTION INPAGE'CODE'
l_numshow:
MOV [06h],A
_numshow:
RET A,95
RET A,80
RET A,61
RET A,121
RET A,114
RET A,107
RET A,111
RET A,81
RET A,127
RET A,123
#line 19 "D:\project\c program\interrupt\SCAN.C"
__acsr EQU [027H]
__adcr EQU [026H]
__adrh EQU [025H]
__adrl EQU [024H]
__pwm2 EQU [01cH]
__pwm1 EQU [01bH]
__pwm0 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]
__intc1 EQU [01eH]
__intc0 EQU [0bH]
__status EQU [0aH]
__rtcc EQU [09H]
__tblh EQU [08H]
__tblp EQU [07H]
__pcl EQU [06H]
__acc EQU [05H]
__bp EQU [04H]
__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 ; 19 "D:\project\c program\interrupt\SCAN.C"
MOV A,VS
MOV [0AH],A
MOV A,VA
RETI
_isr_8 ENDP
RAMBANK 0 @isr_8
@isr_8 .SECTION 'DATA'
#line 20 "D:\project\c program\interrupt\SCAN.C"
@@isr_c .SECTION AT 0cH 'CODE'
JMP _isr_c
@isr_c .SECTION 'CODE'
_isr_c PROC
MOV VA,A
MOV A,[0AH]
MOV VS,A
L2:
#pragma debug scope 3 1 ; 20 "D:\project\c program\interrupt\SCAN.C"
MOV A,VS
MOV [0AH],A
MOV A,VA
RETI
_isr_c ENDP
RAMBANK 0 @isr_c
@isr_c .SECTION 'DATA'
#line 21 "D:\project\c program\interrupt\SCAN.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 4 1 ; 21 "D:\project\c program\interrupt\SCAN.C"
#line 21 "D:\project\c program\interrupt\SCAN.C"
NOP
#line 22 "D:\project\c program\interrupt\SCAN.C"
NOP
#line 23 "D:\project\c program\interrupt\SCAN.C"
NOP
L3:
MOV A,VS
MOV [0AH],A
MOV A,VA
RETI
_isr_14 ENDP
RAMBANK 0 @isr_14
@isr_14 .SECTION 'DATA'
#line 27 "D:\project\c program\interrupt\SCAN.C"
@io_init .SECTION 'CODE'
PUBLIC _io_init
_io_init PROC
#pragma debug scope 5 1 ; 28 "D:\project\c program\interrupt\SCAN.C"
#line 28 "D:\project\c program\interrupt\SCAN.C"
MOV A,08h
MOV __pac,A
#line 29 "D:\project\c program\interrupt\SCAN.C"
CLR __pa
#line 30 "D:\project\c program\interrupt\SCAN.C"
SET __pbc
#line 31 "D:\project\c program\interrupt\SCAN.C"
SET __pb
#line 32 "D:\project\c program\interrupt\SCAN.C"
SET __pdc
L4:
RET
_io_init ENDP
#line 38 "D:\project\c program\interrupt\SCAN.C"
@int_init .SECTION 'CODE'
PUBLIC _int_init
_int_init PROC
#pragma debug scope 6 1 ; 38 "D:\project\c program\interrupt\SCAN.C"
#line 38 "D:\project\c program\interrupt\SCAN.C"
SET [0BH].0
#line 39 "D:\project\c program\interrupt\SCAN.C"
SET [0BH].1
L5:
RET
_int_init ENDP
#line 43 "D:\project\c program\interrupt\SCAN.C"
@timer_base_interrupt .SECTION 'CODE'
PUBLIC _timer_base_interrupt
_timer_base_interrupt PROC
#pragma debug scope 7 1 ; 43 "D:\project\c program\interrupt\SCAN.C"
#line 43 "D:\project\c program\interrupt\SCAN.C"
MOV A,0ah
MOV __rtcc,A
#line 44 "D:\project\c program\interrupt\SCAN.C"
SET [0BH].0
#line 45 "D:\project\c program\interrupt\SCAN.C"
SET [01EH].2
#line 46 "D:\project\c program\interrupt\SCAN.C"
CLR __acsr
L6:
RET
_timer_base_interrupt ENDP
#line 52 "D:\project\c program\interrupt\SCAN.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
#pragma debug scope 8 1 ; 52 "D:\project\c program\interrupt\SCAN.C"
#line 52 "D:\project\c program\interrupt\SCAN.C"
CLR [0BH].0
#line 53 "D:\project\c program\interrupt\SCAN.C"
CLR [0BH].4
#line 54 "D:\project\c program\interrupt\SCAN.C"
SZ _keyflag
JMP L8
#pragma debug scope 9 8 ; 55 "D:\project\c program\interrupt\SCAN.C"
#line 55 "D:\project\c program\interrupt\SCAN.C"
MOV A,01h
MOV _pressdown,A
#line 56 "D:\project\c program\interrupt\SCAN.C"
MOV A,01h
MOV _keyflag,A
#line 56 "D:\project\c program\interrupt\SCAN.C"
#pragma debug scope 8 1 ; 56 "D:\project\c program\interrupt\SCAN.C"
JMP L9
L8:
#pragma debug scope 10 8 ; 58 "D:\project\c program\interrupt\SCAN.C"
#line 58 "D:\project\c program\interrupt\SCAN.C"
CLR _pressdown
#line 59 "D:\project\c program\interrupt\SCAN.C"
CLR _keyflag
L9:
L7:
MOV A,VS
MOV [0AH],A
MOV A,VA
RETI
_isr_4 ENDP
RAMBANK 0 @isr_4
@isr_4 .SECTION 'DATA'
#line 66 "D:\project\c program\interrupt\SCAN.C"
@disp_voltage_low .SECTION 'CODE'
PUBLIC _disp_voltage_low
_disp_voltage_low PROC
#pragma debug scope 11 1
#line 65 "D:\project\c program\interrupt\SCAN.C"
PUBLIC disp_voltage_low0
LOCAL disp_voltage_low0 DB ? ; data_val
#pragma debug variable 11 disp_voltage_low0 data_val
#pragma debug scope 11 1 ; 68 "D:\project\c program\interrupt\SCAN.C"
#line 68 "D:\project\c program\interrupt\SCAN.C"
MOV A,1
ADD A,disp_voltage_low0
ADD A,OFFSET l_numshow
CALL l_numshow
MOV b0_8,A
MOV A,b0_8
MOV CR2,A
#line 69 "D:\project\c program\interrupt\SCAN.C"
MOV A,CR2
MOV __acc,A
#line 70 "D:\project\c program\interrupt\SCAN.C"
MOV A,CR2
AND A,0fh
MOV CR1,A
#line 71 "D:\project\c program\interrupt\SCAN.C"
MOV A,CR1
MOV __acc,A
#line 72 "D:\project\c program\interrupt\SCAN.C"
MOV A,01h
MOV __bp,A
#line 73 "D:\project\c program\interrupt\SCAN.C"
MOV A,04bh
MOV __mp1,A
#line 74 "D:\project\c program\interrupt\SCAN.C"
MOV A,CR1
MOV __iar1,A
#line 75 "D:\project\c program\interrupt\SCAN.C"
SWAP CR2
#line 76 "D:\project\c program\interrupt\SCAN.C"
MOV A,CR2
AND A,0fh
MOV CR1,A
#line 77 "D:\project\c program\interrupt\SCAN.C"
MOV A,CR1
MOV __acc,A
#line 78 "D:\project\c program\interrupt\SCAN.C"
MOV A,04ch
MOV __mp1,A
#line 79 "D:\project\c program\interrupt\SCAN.C"
MOV A,CR1
MOV __iar1,A
L10:
RET
LOCAL b0_8 DB 2 DUP(?)
#line 66 "D:\project\c program\interrupt\SCAN.C"
LOCAL CR1 DB ? ; ast
#pragma debug variable 11 CR1 ast
#line 67 "D:\project\c program\interrupt\SCAN.C"
LOCAL CR2 DB ? ; low_data
#pragma debug variable 11 CR2 low_data
_disp_voltage_low ENDP
#line 83 "D:\project\c program\interrupt\SCAN.C"
@bat_flash .SECTION 'CODE'
PUBLIC _bat_flash
_bat_flash PROC
#pragma debug scope 12 1 ; 84 "D:\project\c program\interrupt\SCAN.C"
#line 84 "D:\project\c program\interrupt\SCAN.C"
MOV A,01h
MOV __bp,A
#line 85 "D:\project\c program\interrupt\SCAN.C"
MOV A,04ch
MOV __mp1,A
#line 86 "D:\project\c program\interrupt\SCAN.C"
MOV A,08h
MOV __iar1,A
#line 87 "D:\project\c program\interrupt\SCAN.C"
MOV A,01e7H
MOV RH,A
MOV A,053H
CALL __DELAYY1
#line 88 "D:\project\c program\interrupt\SCAN.C"
CLR __iar1
#line 89 "D:\project\c program\interrupt\SCAN.C"
MOV A,01e7H
MOV RH,A
MOV A,053H
CALL __DELAYY1
L11:
RET
_bat_flash ENDP
#line 93 "D:\project\c program\interrupt\SCAN.C"
@bat_stay .SECTION 'CODE'
PUBLIC _bat_stay
_bat_stay PROC
#pragma debug scope 13 1 ; 94 "D:\project\c program\interrupt\SCAN.C"
#line 94 "D:\project\c program\interrupt\SCAN.C"
MOV A,01h
MOV __bp,A
#line 95 "D:\project\c program\interrupt\SCAN.C"
MOV A,04ch
MOV __mp1,A
#line 96 "D:\project\c program\interrupt\SCAN.C"
MOV A,08h
MOV __iar1,A
L12:
RET
_bat_stay ENDP
#line 100 "D:\project\c program\interrupt\SCAN.C"
@clr_screen .SECTION 'CODE'
PUBLIC _clr_screen
_clr_screen PROC
#pragma debug scope 14 1 ; 101 "D:\project\c program\interrupt\SCAN.C"
#line 101 "D:\project\c program\interrupt\SCAN.C"
MOV A,01h
MOV __bp,A
#line 102 "D:\project\c program\interrupt\SCAN.C"
MOV A,049h
MOV __mp1,A
#line 103 "D:\project\c program\interrupt\SCAN.C"
CLR CR3
#line 103 "D:\project\c program\interrupt\SCAN.C"
JMP L17
L14:
#line 107 "D:\project\c program\interrupt\SCAN.C"
mov a,0h
#line 108 "D:\project\c program\interrupt\SCAN.C"
mov [02],a
#pragma debug scope 15 14 ; 112 "D:\project\c program\interrupt\SCAN.C"
#line 112 "D:\project\c program\interrupt\SCAN.C"
INC __mp1
L15:
#line 103 "D:\project\c program\interrupt\SCAN.C"
#pragma debug scope 14 1 ; 103 "D:\project\c program\interrupt\SCAN.C"
INC CR3
L17:
#line 103 "D:\project\c program\interrupt\SCAN.C"
MOV A,CR3
SUB A,0ah
SNZ [0ah].0
JMP L14
L13:
RET
#line 100 "D:\project\c program\interrupt\SCAN.C"
LOCAL CR3 DB ? ; i
#pragma debug variable 14 CR3 i
_clr_screen ENDP
#line 118 "D:\project\c program\interrupt\SCAN.C"
@MAIN .SECTION 'CODE'
_main PROC
begin:
#pragma debug scope 16 1 ; 119 "D:\project\c program\interrupt\SCAN.C"
#line 119 "D:\project\c program\interrupt\SCAN.C"
CALL _io_init
#line 120 "D:\project\c program\interrupt\SCAN.C"
CALL _int_init
#line 121 "D:\project\c program\interrupt\SCAN.C"
CLR _keyflag
#line 123 "D:\project\c program\interrupt\SCAN.C"
CALL _clr_screen
#line 123 "D:\project\c program\interrupt\SCAN.C"
JMP L20
L19:
#pragma debug scope 17 16 ; 126 "D:\project\c program\interrupt\SCAN.C"
#line 126 "D:\project\c program\interrupt\SCAN.C"
MOV A,_pressdown
XOR A,01h
SNZ [0ah].2
JMP L22
#pragma debug scope 18 17 ; 127 "D:\project\c program\interrupt\SCAN.C"
#line 127 "D:\project\c program\interrupt\SCAN.C"
CALL _bat_flash
#line 127 "D:\project\c program\interrupt\SCAN.C"
#pragma debug scope 17 16 ; 127 "D:\project\c program\interrupt\SCAN.C"
JMP L23
L22:
#pragma debug scope 19 17 ; 129 "D:\project\c program\interrupt\SCAN.C"
#line 129 "D:\project\c program\interrupt\SCAN.C"
CALL _bat_stay
L23:
L20:
#line 124 "D:\project\c program\interrupt\SCAN.C"
#pragma debug scope 16 1 ; 124 "D:\project\c program\interrupt\SCAN.C"
JMP L19
L18:
#line 132 "D:\project\c program\interrupt\SCAN.C"
JMP $
_main ENDP
PUBLIC _adcurrent
RAMBANK 0 @adcurrent
@adcurrent .SECTION 'DATA'
#line 8 "D:\project\c program\interrupt\SCAN.C"
_adcurrent DB ? ; adcurrent
#pragma debug variable 1 _adcurrent adcurrent
PUBLIC _p
RAMBANK 0 @p
@p .SECTION 'DATA'
#line 7 "D:\project\c program\interrupt\SCAN.C"
_p DB 2 DUP (?) ;p
#pragma debug variable 1 _p p
PUBLIC _pressdown
RAMBANK 0 @pressdown
@pressdown .SECTION 'DATA'
#line 6 "D:\project\c program\interrupt\SCAN.C"
_pressdown DB ? ; pressdown
#pragma debug variable 1 _pressdown pressdown
PUBLIC _keyflag
RAMBANK 0 @keyflag
@keyflag .SECTION 'DATA'
#line 5 "D:\project\c program\interrupt\SCAN.C"
_keyflag DB ? ; keyflag
#pragma debug variable 1 _keyflag keyflag
RAMBANK 0 BITDATASEC
BITDATASEC .SECTION 'DATA'
PUBLIC _direction
#line 4 "D:\project\c program\interrupt\SCAN.C"
_direction DBIT ; direction
#pragma debug variable 1 _direction direction
#line 117 "D:\project\c program\interrupt\SCAN.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 117 "D:\project\c program\interrupt\SCAN.C"
@CODE .SECTION AT 0 'CODE'
JMP begin
@DUMMY PROC
CALL _main
@DUMMY ENDP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -