📄 myproj.asm
字号:
RS EQU P2.2
RW EQU P2.1
E EQU P2.0
CS1 EQU P2.5
CS2 EQU P2.6
RST EQU P2.7
X EQU 30H
Y EQU 31H
;******************************以上是接口定义
START:
ORG 0000H
MOV SP,#60H
LJMP MAIN
;*********************************主程序入口地址
ORG 0100H
MAIN:
mov DPTR,#09FFBh
mov A,#10000001b
movx @DPTR,A
mov DPTR,#09FF8h
mov A,#01010100b
movx @DPTR,A
;复位
CLR RST
;LCALL DLY10
SETB RST
;清屏
setb CS2
setb CS1
LCALL CLEAR
setb CS2
clr CS1
LCALL CLEAR
mov X,#0
mov R5,#08H
ag:
mov R1,#40H
LCALL WRI
MOV DPTR,#nAsciiDot ;您
LCALL ouths
inc x
DJNZ R5,ag
clr CS2
setb CS1
/*MOV R1,#0C0H ;START = 0
LCALL WRI*/
MOV X,#0 ;x
MOV Y,#8 ;y
MOV DPTR,#HZI7 ;您
LCALL outhz
MOV X,#0
MOV Y,#40
MOV DPTR,#HZI8 ;好
LCALL outhz
MOV X,#2
MOV Y,#16
MOV DPTR,#HZI1 ;远
LCALL outhz
MOV X,#2
MOV Y,#32
MOV DPTR,#HZI2 ;扬
LCALL outhz
MOV X,#4
MOV Y,#0
MOV DPTR,#HZI3 ;电
LCALL outhz
MOV X,#4
MOV Y,#16
MOV DPTR,#HZI4 ;子
LCALL outhz
MOV X,#4
MOV Y,#32
MOV DPTR,#HZI5 ;公
LCALL outhz
MOV X,#4
MOV Y,#48
MOV DPTR,#HZI6 ;司
LCALL outhz
LJMP $
;取数显示子程序
outhz:
MOV R0,#2
AJMP NZ1
SEC:INC X
;设置Y地址
NZ1:MOV A,Y
ADD A,#040H
MOV R1,A
LCALL WRI
;设置页地址
MOV A,X
ADD A,#0B8H
MOV R1,A
LCALL WRI
;取数
MOV R5,#16
HZ1: MOV A,#00H
MOVC A,@A+DPTR
MOV R1,A
LCALL WRD
LCALL DLY10
INC DPTR
DJNZ R5,HZ1
DJNZ R0,SEC
;开显示
MOV R1,#00111111B
LCALL WRI
;延时显示
MOV R0,#5
RX:LCALL DLY50
DJNZ R0,RX
RET
;取数ASCII显示子程序
ouths:
MOV R0,#60
;设置页地址
MOV A,X
ADD A,#0B8H
MOV R1,A
LCALL WRI
;取数
SECs:
HZ1s: MOV A,#00H
MOVC A,@A+DPTR
MOV R1,A
LCALL WRD
LCALL DLY10
INC DPTR
DJNZ R0,SECs
;开显示
MOV R1,#00111111B
LCALL WRI
;延时显示
MOV R0,#5
RXs:LCALL DLY50
DJNZ R0,RXs
RET
;清屏子程序
CLEAR:
MOV R2,#8
MOV X,#0B8H
CLR1:
MOV R1,X
LCALL WRI
MOV R1,#040H
LCALL WRI
MOV R1,#00H
MOV R0,#64
CLR2:
LCALL WRD
DJNZ R0,CLR2
INC X
DJNZ R2,CLR1
RET
WRI: ;写指令子程序
CLR E
CLR RW
CLR RS
MOV P0,R1
SETB E
LCALL DLY10
CLR E
RET
WRD: ;写数据子程序
CLR E
CLR RW
SETB RS
MOV P0,R1
SETB E
LCALL DLY10
CLR E
RET
;延时10US
DLY10:MOV R3,#5
DJNZ R3,$
RET
;延时1S
DLY50:MOV R3,#01H
DL111:MOV R4,#0AFH
DL222:MOV R6,#0FFH
DL333:DJNZ R6,DL333
DJNZ R4,DL222
DJNZ R3,DL111
RET
;延时2S
DLY100:MOV R3,#02H
DL11:MOV R4,#0FFH
DL22:MOV R6,#0FFH
DL33:DJNZ R6,DL33
DJNZ R4,DL22
DJNZ R3,DL11
RET
ORG 0340H
HZI1: ;汇
db 20h, 42h,0C4h, 0Ch, 00h,0FCh, 04h, 04h
db 04h, 04h, 04h, 04h, 04h, 06h, 04h, 00h
db 04h, 04h,0FCh, 02h, 01h, 7Fh, 40h, 40h
db 40h, 40h, 40h, 40h, 40h, 60h, 40h, 00h
HZI2: ;友
db 08h, 08h, 08h, 08h,0C8h, 7Fh, 48h, 48h
db 48h, 48h, 48h,0C8h, 08h, 0Ch, 08h, 00h
db 10h, 88h, 84h, 43h, 40h, 21h, 22h, 14h
db 08h, 14h, 23h, 20h, 40h,0C0h, 40h, 00h
HZI3: ;电
DB 00H,0f8H, 48H, 48H, 48H, 48H,0ffH, 48H, 48H, 48H, 48H,0fcH, 08H, 00H, 00H, 00H
DB 00H, 07H, 02H, 02H, 02H, 02H, 3fH, 42H, 42H, 42H, 42H, 47H, 40H, 70H, 00H, 00H
HZI4: ;子
DB 80H, 80H, 82H, 82H, 82H, 82H, 82H,0e2H,0a2H, 92H, 8aH, 86H, 80H,0c0H, 80H, 00H
DB 00H, 00H, 00H, 00H, 00H, 40H, 80H, 7fH, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
HZI5: ;公
DB 00H, 00H, 80H, 40H, 30H, 0cH, 00H,0c0H, 06H, 18H, 20H, 40H, 80H, 80H, 80H, 00H
DB 01H, 01H, 00H, 30H, 28H, 24H, 23H, 20H, 20H, 28H, 30H, 60H, 00H, 01H, 00H, 00H
HZI6: ;司
DB 10H, 10H, 92H, 92H, 92H, 92H, 92H, 92H,0d2H, 9aH, 12H, 02H,0ffH, 02H, 00H, 00H
DB 00H, 00H, 3fH, 10H, 10H, 10H, 10H, 10H, 3fH, 00H, 40H, 80H, 7fH, 00H, 00H, 00H
HZI7: ;您
DB 40H, 20H, 10H,0fcH, 23H, 10H, 8cH, 67H, 04H,0f4H, 04H, 44H, 94H, 8cH, 00H, 00H
DB 40H, 30H, 00H, 77H, 80H, 81H, 88H, 92H,0b4H, 83H, 80H,0e0H, 00H, 11H, 60H, 00H
HZI8: ;好
DB 10H, 10H,0f0H, 1fH, 10H,0f0H, 80H, 82H, 82H, 82H,0e2H, 92H, 8aH,0c6H, 80H, 00H
DB 40H, 22H, 15H, 08H, 14H, 63H, 00H, 00H, 40H, 80H, 7fH, 00H, 00H, 00H, 00H, 00H
nAsciiDot: ; 数据表
db 00h,3Eh, 51h, 49h, 45h, 3Eh ; -0-
db 00h,00h, 42h, 7Fh, 40h, 00h ; -1-
db 00h,62h, 51h, 49h, 49h, 46h ; -2-
db 00h,21h, 41h, 49h, 4Dh, 33h ; -3-
db 00h,18h, 14h, 12h, 7Fh, 10h ; -4-
db 00h,27h, 45h, 45h, 45h, 39h ; -5-
db 00h,3Ch, 4Ah, 49h, 49h, 31h ; -6-
db 00h,01h, 71h, 09h, 05h, 03h ; -7-
db 00h,36h, 49h, 49h, 49h, 36h ; -8-
db 00h,46h, 49h, 49h, 29h, 1Eh ; -9-
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -