📄 lcm_asm.asm
字号:
NAME LCMONLE
?PR?_PR0?LCMONLE SEGMENT CODE
?PR?_PR1?LCMONLE SEGMENT CODE
?PR?_PR3?LCMONLE SEGMENT CODE
?PR?_PR4?LCMONLE SEGMENT CODE
?PR?INT?LCMONLE SEGMENT CODE
?PR?DELAY?LCMONLE SEGMENT CODE
?PR?delay01?LCMONLE SEGMENT CODE
CWADD1 EQU 0a000H
CRADD1 EQU 0a200H
DWADD1 EQU 0a100H
CWADD2 EQU 6000H
CRADD2 EQU 6200H
DWADD2 EQU 6100H
PUBLIC delay01
PUBLIC DELAY
PUBLIC INT
PUBLIC _PR4
PUBLIC _PR3
PUBLIC _PR1
PUBLIC _PR0
; void PR0(char COM)
RSEG ?PR?_PR0?LCMONLE
_PR0:
PUSH DPL
PUSH DPH
MOV DPTR,#CRADD1
PR01: MOVX A,@DPTR
JB ACC.7,PR01
MOV DPTR,#CWADD1
MOV A,R7
MOVX @DPTR,A
POP DPH
POP DPL
RET
; END OF _PR0
; void PR1(char DAT)
RSEG ?PR?_PR1?LCMONLE
_PR1:
PUSH DPL
PUSH DPH
MOV DPTR,#CRADD1
PR11: MOVX A,@DPTR
JB ACC.7,PR11
MOV DPTR,#DWADD1
MOV A,R7
MOVX @DPTR,A
POP DPH
POP DPL
RET
; END OF _PR1
; void PR3(char COM)
RSEG ?PR?_PR3?LCMONLE
_PR3:
PUSH DPL
PUSH DPH
MOV DPTR,#CRADD2
PR31: MOVX A,@DPTR
JB ACC.7,PR31
MOV DPTR,#CWADD2
MOV A,R7
MOVX @DPTR,A
POP DPH
POP DPL
RET
; END OF _PR3
; void PR4(char DAT)
RSEG ?PR?_PR4?LCMONLE
_PR4:
PUSH DPL
PUSH DPH
MOV DPTR,#CRADD2
PR41: MOVX A,@DPTR
JB ACC.7,PR41
MOV DPTR,#DWADD2
MOV A,R7
MOVX @DPTR,A
POP DPH
POP DPL
RET
; END OF _PR4
; void INT(void)
RSEG ?PR?INT?LCMONLE
INT:
MOV R7,#0E2H
LCALL _PR0
LCALL _PR3
MOV R7,#0A4H
LCALL _PR0
LCALL _PR3
MOV R7,#0A9H
LCALL _PR0
LCALL _PR3
MOV R7,#0A0H
LCALL _PR0
LCALL _PR3
MOV R7,#0EEH
LCALL _PR0
LCALL _PR3
MOV R7,#0B8H
LCALL _PR0
LCALL _PR3
MOV R7,#0H
LCALL _PR0
LCALL _PR3
MOV R7,#0AFH
LCALL _PR0
LCALL _PR3
RET
; END OF INT
;void DELAY(),delay0.5s
RSEG ?PR?DELAY?LCMONLE
DELAY:
MOV R0,#250
LOOP1: MOV R1,#200
LOOP2: NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
DJNZ R1,LOOP2
DJNZ R0,LOOP1
RET
;END DELAY
;void delay01(void),delay 0.1ms
RSEG ?PR?delay01?LCMONLE
delay01:
USING 0
mov r0,#100
di00: mov r1,#200
di01: NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
djnz r1,di01
djnz r0,di00
RET
;end delay01
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -