📄 ocm2x16.asm
字号:
;****************MODUL OCM2x16****************
RS EQU P3.0
RW EQU P3.1
E EQU P3.2
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: LCALL DELAY2
MOV SP,#60H
CLR F0
;**********************************************
MOV A,#01H
LCALL SEND_I
LCALL DELAY2
MOV A,#06H
LCALL SEND_I
MOV A,#0CH
LCALL SEND_I
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
LGS0: JB F0,SEN0
MOV A,#38H
LCALL SEND_I
LGS1: MOV DPTR,#TAL1
MOV R2,#02H
CLR PSW.1
L1: JB PSW.1,L12
L11: MOV A,#80H
AJMP L13
L12: MOV A,#0C0H
L13: LCALL SEND_I
MOV R1,#10H
L111: CLR A
MOVC A,@A+DPTR
LCALL SEND_D
INC DPTR
DJNZ R1,L111
CPL PSW.1
DJNZ R2,L1
LCALL DELAY1
MOV A,#01H
LCALL SEND_I
LCALL DELAY2
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
LGS2: MOV DPTR,#TAL21
LCALL G20
L21: MOV A,#80H
LCALL G21
LCALL DELAY1
L22: MOV DPTR,#TAL22
LCALL G20
MOV A,#0C0H
LCALL G21
LCALL DELAY1
MOV A,#01H
LCALL SEND_I
LCALL DELAY2
LJMP LGS
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
SEN0: MOV A,#34H
LCALL SEND_I
MOV A,#01H
LCALL SEND_I
LCALL DELAY2
SEN1: MOV R1,#0E0H
MOV A,#80H
LCALL SEND_I
MOV R2,#10H
S1: MOV A,R1
LCALL SEND_D
INC R1
DJNZ R2,S1
LCALL DELAY1
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
SEN2: MOV DPTR,#TAS21
LCALL G20
S21: MOV A,#80H
LCALL G21
LCALL DELAY1
S22: MOV DPTR,#TAS22
LCALL G20
MOV A,#88H
LCALL G21
LCALL DELAY1
MOV A,#01H
LCALL SEND_I
LCALL DELAY2
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
LGS: CPL F0
LJMP LGS0
;**********************************************
G20: MOV A,#40H
LCALL SEND_I
MOV R1,#08H
G201: MOV R2,#08H
G202: CLR A
MOVC A,@A+DPTR
LCALL SEND_D
INC DPTR
DJNZ R2,G202
DJNZ R1,G201
RET
G21: LCALL SEND_I
MOV R3,#00H
MOV R4,#10H
G211: MOV A,R3
LCALL SEND_D
INC R3
DJNZ R4,G211
RET
;**********************************************
SEND_D: LCALL CHEBUSY ;写数据子程序
SETB RS
CLR RW
SETB E
MOV P1,A
CLR E
LCALL DELAY3
RET
SEND_I: LCALL CHEBUSY ;写指令字程序
CLR RS
CLR RW
SETB E
MOV P1,A
CLR E
LCALL DELAY2
RET
READ_D: LCALL CHEBUSY ;读数据子程序
SETB RS
SETB RW
SETB E
MOV A,P1
CLR E
LCALL DELAY3
RET
CHEBUSY:CLR RS
SETB RW
SETB E
MOV P1,A
JB P1.7,$
CLR E
RET
;**********************************************
DELAY1: MOV R5,#16H ;延时3s
DEL11: MOV R6,#0FFH
DEL12: MOV R7,#0FFH
DEL13: DJNZ R7,DEL13
DJNZ R6,DEL12
DJNZ R5,DEL11
RET
DELAY2: MOV R6,#02H ;延时2ms
DEL21: MOV R7,#0FFH
DEL22: DJNZ R7,DEL22
DJNZ R6,DEL21
RET
DELAY3: MOV R7,#0FH ;延时30us
DEL31: DJNZ R7,DEL31
RET
;**********************************************
TAL1: DB 'Golden Palm Tech'
DB 'TEL:0758-2223196'
TAL21: DB 11H,0AH,04H,1FH,04H,1FH,04H,04H
DB 04H,0EH,0EH,1FH,1FH,04H,04H,04H
DB 04H,04H,04H,1FH,1FH,0EH,0EH,04H
DB 00H,04H,0CH,1FH,1FH,0CH,04H,00H
DB 00H,04H,06H,1FH,1FH,06H,04H,00H
DB 01H,03H,07H,0FH,0FH,07H,03H,01H
DB 10H,18H,1CH,1EH,1EH,1CH,18H,10H
DB 04H,0EH,0EH,1FH,1FH,00H,1FH,1FH
TAL22: DB 0AH,0AH,0AH,0AH,0AH,0AH,0AH,0AH
DB 0AH,0AH,0AH,0AH,0AH,0AH,0AH,0AH
DB 1FH,1FH,00H,00H,1FH,1FH,00H,00H
DB 1FH,1FH,00H,00H,1FH,1FH,00H,00H
DB 1FH,1FH,1FH,1FH,1FH,1FH,1FH,1FH
DB 11H,0AH,0AH,04H,04H,0AH,0AH,11H
DB 04H,0AH,0AH,0AH,11H,11H,11H,1FH
DB 01H,03H,05H,05H,09H,09H,11H,1FH
TAS21: DB 15H,0AH,15H,0AH,15H,0AH,15H,0AH
DB 15H,0AH,15H,0AH,15H,0AH,15H,0AH
DB 15H,0AH,15H,0AH,15H,0AH,15H,0AH
DB 15H,0AH,15H,0AH,15H,0AH,15H,0AH
DB 15H,0AH,15H,0AH,15H,0AH,15H,0AH
DB 15H,0AH,15H,0AH,15H,0AH,15H,0AH
DB 15H,0AH,15H,0AH,15H,0AH,15H,0AH
DB 15H,0AH,15H,0AH,15H,0AH,15H,0AH
TAS22: DB 11H,00H,0AH,00H,04H,00H,04H,00H
DB 0AH,00H,11H,00H,00H,00H,00H,00H
DB 15H,0AH,15H,0AH,15H,0AH,15H,0AH
DB 15H,0AH,15H,0AH,15H,0AH,15H,0AH
DB 11H,00H,0AH,00H,04H,00H,04H,00H
DB 0AH,00H,11H,00H,00H,00H,00H,00H
DB 1FH,1FH,1FH,1FH,1FH,1FH,1FH,1FH
DB 1FH,1FH,1FH,1FH,1FH,1FH,1FH,1FH
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -