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

📄 scan.asm

📁 用holtek单片机编写的段位显示的LCD驱动程序
💻 ASM
字号:
#pragma debug scope 1 1
#line 10 "D:\project\c program\ledcontrol\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 20 "D:\project\c program\ledcontrol\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 ; 20 "D:\project\c program\ledcontrol\SCAN.C"
MOV A,VS
MOV [0AH],A
MOV A,VA
RETI
_isr_8 ENDP
RAMBANK 0 @isr_8
@isr_8 .SECTION 'DATA'
#line 22 "D:\project\c program\ledcontrol\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 3 1 ; 22 "D:\project\c program\ledcontrol\SCAN.C"
#line 22 "D:\project\c program\ledcontrol\SCAN.C"
NOP
#line 23 "D:\project\c program\ledcontrol\SCAN.C"
NOP
#line 24 "D:\project\c program\ledcontrol\SCAN.C"
NOP
L2:
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\ledcontrol\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
MOV A,RH
MOV VT1,A
#pragma debug scope 4 1 ; 29 "D:\project\c program\ledcontrol\SCAN.C"
#line 29 "D:\project\c program\ledcontrol\SCAN.C"
MOV A,080h
MOV __tmrc,A
#line 31 "D:\project\c program\ledcontrol\SCAN.C"
MOV A,_keyflag
XOR A,01h
SNZ [0ah].2
JMP L4
#pragma debug scope 5 4 ; 33 "D:\project\c program\ledcontrol\SCAN.C"
#line 33 "D:\project\c program\ledcontrol\SCAN.C"
CLR CR1
L6:
#pragma debug scope 6 5 ; 35 "D:\project\c program\ledcontrol\SCAN.C"
#line 35 "D:\project\c program\ledcontrol\SCAN.C"
MOV A,0eH
MOV RH,A
MOV A,09dH
CALL __DELAYY3
#line 36 "D:\project\c program\ledcontrol\SCAN.C"
MOV A,0eH
MOV RH,A
MOV A,09dH
CALL __DELAYY3
#line 37 "D:\project\c program\ledcontrol\SCAN.C"
MOV A,0eH
MOV RH,A
MOV A,09dH
CALL __DELAYY3
#line 38 "D:\project\c program\ledcontrol\SCAN.C"
MOV A,0eH
MOV RH,A
MOV A,09dH
CALL __DELAYY3
#line 39 "D:\project\c program\ledcontrol\SCAN.C"
MOV A,0eH
MOV RH,A
MOV A,09dH
CALL __DELAYY3
#line 40 "D:\project\c program\ledcontrol\SCAN.C"
MOV A,0eH
MOV RH,A
MOV A,09dH
CALL __DELAYY3
#line 41 "D:\project\c program\ledcontrol\SCAN.C"
MOV A,0eH
MOV RH,A
MOV A,09dH
CALL __DELAYY3
#line 42 "D:\project\c program\ledcontrol\SCAN.C"
MOV A,0eH
MOV RH,A
MOV A,09dH
CALL __DELAYY3
L7:
#line 33 "D:\project\c program\ledcontrol\SCAN.C"
#pragma debug scope 5 4 ; 33 "D:\project\c program\ledcontrol\SCAN.C"
INC CR1
#line 33 "D:\project\c program\ledcontrol\SCAN.C"
MOV A,80h
XOR A,CR1
SUB A,0fdh
SNZ [0ah].0
JMP L6
#line 44 "D:\project\c program\ledcontrol\SCAN.C"
CLR [012H].7
#line 45 "D:\project\c program\ledcontrol\SCAN.C"
CLR _keyflag
L4:
#line 48 "D:\project\c program\ledcontrol\SCAN.C"
#pragma debug scope 4 1 ; 48 "D:\project\c program\ledcontrol\SCAN.C"
CLR __tmr
#line 49 "D:\project\c program\ledcontrol\SCAN.C"
MOV A,090h
MOV __tmrc,A
L3:
MOV A,VT1
MOV RH,A
MOV A,VS
MOV [0AH],A
MOV A,VA
RETI
_isr_c ENDP
RAMBANK 0 @isr_c
@isr_c .SECTION 'DATA'
#line 28 "D:\project\c program\ledcontrol\SCAN.C"
CR1 DB ? ; i
#pragma debug variable 4 CR1 i
#line 54 "D:\project\c program\ledcontrol\SCAN.C"
@led_check .SECTION 'CODE'
PUBLIC _led_check
_led_check PROC
#pragma debug scope 7 1 ; 57 "D:\project\c program\ledcontrol\SCAN.C"
#line 57 "D:\project\c program\ledcontrol\SCAN.C"
MOV A,_keyflag
XOR A,01h
SNZ [0ah].2
JMP L11
#pragma debug scope 8 7 ; 59 "D:\project\c program\ledcontrol\SCAN.C"
#line 59 "D:\project\c program\ledcontrol\SCAN.C"
CLR CR2
L13:
#pragma debug scope 9 8 ; 61 "D:\project\c program\ledcontrol\SCAN.C"
#line 61 "D:\project\c program\ledcontrol\SCAN.C"
MOV A,026H
MOV RH,A
MOV A,0fbH
CALL __DELAYY3
#line 62 "D:\project\c program\ledcontrol\SCAN.C"
MOV A,026H
MOV RH,A
MOV A,0fbH
CALL __DELAYY3
#line 63 "D:\project\c program\ledcontrol\SCAN.C"
MOV A,026H
MOV RH,A
MOV A,0fbH
CALL __DELAYY3
#line 64 "D:\project\c program\ledcontrol\SCAN.C"
MOV A,026H
MOV RH,A
MOV A,0fbH
CALL __DELAYY3
#line 65 "D:\project\c program\ledcontrol\SCAN.C"
MOV A,026H
MOV RH,A
MOV A,0fbH
CALL __DELAYY3
#line 66 "D:\project\c program\ledcontrol\SCAN.C"
MOV A,026H
MOV RH,A
MOV A,0fbH
CALL __DELAYY3
#line 67 "D:\project\c program\ledcontrol\SCAN.C"
MOV A,026H
MOV RH,A
MOV A,0fbH
CALL __DELAYY3
#line 68 "D:\project\c program\ledcontrol\SCAN.C"
MOV A,026H
MOV RH,A
MOV A,0fbH
CALL __DELAYY3
L14:
#line 59 "D:\project\c program\ledcontrol\SCAN.C"
#pragma debug scope 8 7 ; 59 "D:\project\c program\ledcontrol\SCAN.C"
INC CR2
#line 59 "D:\project\c program\ledcontrol\SCAN.C"
MOV A,80h
XOR A,CR2
SUB A,0fdh
SNZ [0ah].0
JMP L13
#line 70 "D:\project\c program\ledcontrol\SCAN.C"
CLR [012H].7
#line 71 "D:\project\c program\ledcontrol\SCAN.C"
CLR _keyflag
L11:
L10:
RET
#line 55 "D:\project\c program\ledcontrol\SCAN.C"
LOCAL CR2 DB ? ; i
#pragma debug variable 7 CR2 i
_led_check ENDP
#line 78 "D:\project\c program\ledcontrol\SCAN.C"
@timer_init .SECTION 'CODE'
PUBLIC _timer_init
_timer_init PROC
#pragma debug scope 10 1 ; 78 "D:\project\c program\ledcontrol\SCAN.C"
#line 78 "D:\project\c program\ledcontrol\SCAN.C"
SET [0BH].0
#line 79 "D:\project\c program\ledcontrol\SCAN.C"
SET [0BH].3
#line 80 "D:\project\c program\ledcontrol\SCAN.C"
CLR __tmr
#line 81 "D:\project\c program\ledcontrol\SCAN.C"
MOV A,090h
MOV __tmrc,A
L17:
RET
_timer_init ENDP
#line 85 "D:\project\c program\ledcontrol\SCAN.C"
@io_init .SECTION 'CODE'
PUBLIC _io_init
_io_init PROC
#pragma debug scope 11 1 ; 86 "D:\project\c program\ledcontrol\SCAN.C"
#line 86 "D:\project\c program\ledcontrol\SCAN.C"
MOV A,08h
MOV __pac,A
#line 87 "D:\project\c program\ledcontrol\SCAN.C"
CLR __pa
#line 88 "D:\project\c program\ledcontrol\SCAN.C"
SET __pbc
#line 89 "D:\project\c program\ledcontrol\SCAN.C"
SET __pb
#line 90 "D:\project\c program\ledcontrol\SCAN.C"
SET __pdc
L18:
RET
_io_init ENDP
#line 96 "D:\project\c program\ledcontrol\SCAN.C"
@int_init .SECTION 'CODE'
PUBLIC _int_init
_int_init PROC
#pragma debug scope 12 1 ; 96 "D:\project\c program\ledcontrol\SCAN.C"
#line 96 "D:\project\c program\ledcontrol\SCAN.C"
SET [0BH].0
#line 97 "D:\project\c program\ledcontrol\SCAN.C"
SET [0BH].1
L19:
RET
_int_init ENDP
#line 103 "D:\project\c program\ledcontrol\SCAN.C"
@timer_base_interrupt .SECTION 'CODE'
PUBLIC _timer_base_interrupt
_timer_base_interrupt PROC
#pragma debug scope 13 1 ; 103 "D:\project\c program\ledcontrol\SCAN.C"
#line 103 "D:\project\c program\ledcontrol\SCAN.C"
MOV A,0ah
MOV __rtcc,A
#line 104 "D:\project\c program\ledcontrol\SCAN.C"
SET [0BH].0
#line 105 "D:\project\c program\ledcontrol\SCAN.C"
SET [01EH].2
#line 106 "D:\project\c program\ledcontrol\SCAN.C"
CLR __acsr
L20:
RET
_timer_base_interrupt ENDP
#line 112 "D:\project\c program\ledcontrol\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 14 1 ; 112 "D:\project\c program\ledcontrol\SCAN.C"
#line 112 "D:\project\c program\ledcontrol\SCAN.C"
CLR [0BH].0
#line 113 "D:\project\c program\ledcontrol\SCAN.C"
CLR [0BH].4
#line 114 "D:\project\c program\ledcontrol\SCAN.C"
SZ _keyflag
JMP L22
#pragma debug scope 15 14 ; 115 "D:\project\c program\ledcontrol\SCAN.C"
#line 115 "D:\project\c program\ledcontrol\SCAN.C"
MOV A,01h
MOV _pressdown,A
#line 116 "D:\project\c program\ledcontrol\SCAN.C"
MOV A,01h
MOV _keyflag,A
#line 117 "D:\project\c program\ledcontrol\SCAN.C"
SET [012H].7
#line 117 "D:\project\c program\ledcontrol\SCAN.C"
#pragma debug scope 14 1 ; 117 "D:\project\c program\ledcontrol\SCAN.C"
JMP L23
L22:
#pragma debug scope 16 14 ; 119 "D:\project\c program\ledcontrol\SCAN.C"
#line 119 "D:\project\c program\ledcontrol\SCAN.C"
CLR _pressdown
#line 120 "D:\project\c program\ledcontrol\SCAN.C"
CLR _keyflag
#line 121 "D:\project\c program\ledcontrol\SCAN.C"
CLR [012H].7
L23:
#line 123 "D:\project\c program\ledcontrol\SCAN.C"
#pragma debug scope 14 1 ; 123 "D:\project\c program\ledcontrol\SCAN.C"
SET [0BH].0
#line 124 "D:\project\c program\ledcontrol\SCAN.C"
SET [0BH].1
L21:
MOV A,VS
MOV [0AH],A
MOV A,VA
RETI
_isr_4 ENDP
RAMBANK 0 @isr_4
@isr_4 .SECTION 'DATA'
#line 131 "D:\project\c program\ledcontrol\SCAN.C"
@clr_screen .SECTION 'CODE'
PUBLIC _clr_screen
_clr_screen PROC
#pragma debug scope 17 1 ; 132 "D:\project\c program\ledcontrol\SCAN.C"
#line 132 "D:\project\c program\ledcontrol\SCAN.C"
MOV A,01h
MOV __bp,A
#line 133 "D:\project\c program\ledcontrol\SCAN.C"
MOV A,049h
MOV __mp1,A
#line 134 "D:\project\c program\ledcontrol\SCAN.C"
CLR CR3
#line 134 "D:\project\c program\ledcontrol\SCAN.C"
JMP L28
L25:
#line 138 "D:\project\c program\ledcontrol\SCAN.C"
mov a,0h
#line 139 "D:\project\c program\ledcontrol\SCAN.C"
mov [02],a
#pragma debug scope 18 17 ; 143 "D:\project\c program\ledcontrol\SCAN.C"
#line 143 "D:\project\c program\ledcontrol\SCAN.C"
INC __mp1
L26:
#line 134 "D:\project\c program\ledcontrol\SCAN.C"
#pragma debug scope 17 1 ; 134 "D:\project\c program\ledcontrol\SCAN.C"
INC CR3
L28:
#line 134 "D:\project\c program\ledcontrol\SCAN.C"
MOV A,CR3
SUB A,0ah
SNZ [0ah].0
JMP L25
L24:
RET
#line 131 "D:\project\c program\ledcontrol\SCAN.C"
LOCAL CR3 DB ? ; i
#pragma debug variable 17 CR3 i
_clr_screen ENDP
#line 149 "D:\project\c program\ledcontrol\SCAN.C"
@MAIN .SECTION 'CODE'
_main PROC
begin:
#pragma debug scope 19 1 ; 150 "D:\project\c program\ledcontrol\SCAN.C"
#line 150 "D:\project\c program\ledcontrol\SCAN.C"
CALL _io_init
#line 151 "D:\project\c program\ledcontrol\SCAN.C"
CALL _int_init
#line 153 "D:\project\c program\ledcontrol\SCAN.C"
CLR _keyflag
#line 155 "D:\project\c program\ledcontrol\SCAN.C"
CALL _clr_screen
#line 155 "D:\project\c program\ledcontrol\SCAN.C"
JMP L31
L30:
#pragma debug scope 20 19 ; 158 "D:\project\c program\ledcontrol\SCAN.C"
#line 158 "D:\project\c program\ledcontrol\SCAN.C"
CALL _led_check
L31:
#line 156 "D:\project\c program\ledcontrol\SCAN.C"
#pragma debug scope 19 1 ; 156 "D:\project\c program\ledcontrol\SCAN.C"
JMP L30
L29:
#line 161 "D:\project\c program\ledcontrol\SCAN.C"
JMP $
_main ENDP
PUBLIC _adcurrent
RAMBANK 0 @adcurrent
@adcurrent .SECTION 'DATA'
#line 9 "D:\project\c program\ledcontrol\SCAN.C"
_adcurrent DB ? ; adcurrent
#pragma debug variable 1 _adcurrent adcurrent
PUBLIC _p
RAMBANK 0 @p
@p .SECTION 'DATA'
#line 8 "D:\project\c program\ledcontrol\SCAN.C"
_p DB 2 DUP (?) ;p
#pragma debug variable 1 _p p
PUBLIC _pressdown
RAMBANK 0 @pressdown
@pressdown .SECTION 'DATA'
#line 7 "D:\project\c program\ledcontrol\SCAN.C"
_pressdown DB ? ; pressdown
#pragma debug variable 1 _pressdown pressdown
PUBLIC _ledflag
RAMBANK 0 @ledflag
@ledflag .SECTION 'DATA'
#line 6 "D:\project\c program\ledcontrol\SCAN.C"
_ledflag DB ? ; ledflag
#pragma debug variable 1 _ledflag ledflag
PUBLIC _keyflag
RAMBANK 0 @keyflag
@keyflag .SECTION 'DATA'
#line 5 "D:\project\c program\ledcontrol\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\ledcontrol\SCAN.C"
_direction DBIT ; direction
#pragma debug variable 1 _direction direction
#line 148 "D:\project\c program\ledcontrol\SCAN.C"
STARTSEC .SECTION 'CODE'
STARTUP:
RET
EXTERN RH:BYTE
EXTERN VA:BYTE
EXTERN VS:BYTE
EXTERN VT1:BYTE
EXTERN __DELAYY0:NEAR
EXTERN __DELAYY1:NEAR
EXTERN __DELAYY2:NEAR
EXTERN __DELAYY3:NEAR
EXTERN __DELAYY4:NEAR
EXTERN __DELAYY5:NEAR
#line 148 "D:\project\c program\ledcontrol\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 + -