?? hd61202源程序(asm).txt
字號:
;連線表: CPU=89C52 *
;RS=P2.0 R/W=P2.1 CS1=P2.7 CS2=P2.6 *
;FOSC=12MHz D0-D7=P0.0-P0.7 E=/(WR*RD) /RSET=/(CPU RSET) *
;***************************************************************************
D1 EQU 8101H
C1 EQU 8000H
D2 EQU 4101H
C2 EQU 4000H
XPAGE EQU 40H
YADDR EQU 41H
TEMPY EQU 43H
FLAG1 EQU 20H.0
FLAG2 EQU 20H.1
MP EQU 20H.2
KEY EQU P3.4
START:
ORG 0000H
LJMP MAIN_INIT
ORG 0060H
MAIN_INIT:
MOV SP,#60H
MOV IE,#83H
NOP
NOP
SETB FLAG1
CLR MP
QQ:
LCALL CLRLCD
MOV YADDR,#24
mov xpage,#0
MOV DPTR,#t11
LCALL OUTWORD
MOV YADDR,#40
mov xpage,#0
MOV DPTR,#t12
LCALL OUTWORD
MOV YADDR,#56
mov xpage,#0
MOV DPTR,#t13
LCALL OUTWORD
MOV YADDR,#72
mov xpage,#0
MOV DPTR,#t14
LCALL OUTWORD
MOV YADDR,#88
mov xpage,#0
MOV DPTR,#t15
LCALL OUTWORD
MOV YADDR,#24
mov xpage,#2
MOV DPTR,#t21
LCALL OUTWORD
MOV YADDR,#40
mov xpage,#2
MOV DPTR,#t22
LCALL OUTWORD
MOV YADDR,#56
mov xpage,#2
MOV DPTR,#t23
LCALL OUTWORD
MOV YADDR,#72
mov xpage,#2
MOV DPTR,#t24
LCALL OUTWORD
MOV YADDR,#88
mov xpage,#2
MOV DPTR,#t25
LCALL OUTWORD
MOV YADDR,#24
mov xpage,#4
MOV DPTR,#t31
LCALL OUTWORD
MOV YADDR,#40
mov xpage,#4
MOV DPTR,#t32
LCALL OUTWORD
MOV YADDR,#56
mov xpage,#4
MOV DPTR,#t33
LCALL OUTWORD
MOV YADDR,#72
mov xpage,#4
MOV DPTR,#t34
LCALL OUTWORD
MOV YADDR,#88
mov xpage,#4
MOV DPTR,#t35
LCALL OUTWORD
MOV YADDR,#24
mov xpage,#6
MOV DPTR,#t41
LCALL OUTWORD
MOV YADDR,#40
mov xpage,#6
MOV DPTR,#t42
LCALL OUTWORD
MOV YADDR,#56
mov xpage,#6
MOV DPTR,#t43
LCALL OUTWORD
MOV YADDR,#72
mov xpage,#6
MOV DPTR,#t44
LCALL OUTWORD
MOV YADDR,#88
mov xpage,#6
MOV DPTR,#t45
LCALL OUTWORD
lcall DELAY
MOV YADDR,#0
mov xpage,#0 ;歡
MOV DPTR,#tt1
LCALL OUTWORD
MOV YADDR,#112 ;松
mov xpage,#0
MOV DPTR,#tt5
LCALL OUTWORD
lcall DELAY
MOV YADDR,#0 ;迎
mov xpage,#2
MOV DPTR,#tt2
LCALL OUTWORD
MOV YADDR,#112 ;山
mov xpage,#2
MOV DPTR,#tt6
LCALL OUTWORD
lcall DELAY
MOV YADDR,#0 ;光
mov xpage,#4
MOV DPTR,#tt3
LCALL OUTWORD
MOV YADDR,#112 ;電
mov xpage,#4
MOV DPTR,#tt7
LCALL OUTWORD
lcall DELAY
MOV YADDR,#0 ;臨
mov xpage,#6
MOV DPTR,#tt4
LCALL OUTWORD
MOV YADDR,#112 ;子
mov xpage,#6
MOV DPTR,#tt8
LCALL OUTWORD
LCALL DELAY
LCALL DELAY
LCALL DELAY
lcall clrlcd
SETB MP
MOV YADDR,#0
mov xpage,#0
MOV DPTR,#zzz
LCALL OUTWORD
MOV YADDR,#16
mov xpage,#0
MOV DPTR,#z11
LCALL OUTWORD
MOV YADDR,#32
mov xpage,#0
MOV DPTR,#z12
LCALL OUTWORD
MOV YADDR,#48
mov xpage,#0
MOV DPTR,#z13
LCALL OUTWORD
MOV YADDR,#64
mov xpage,#0
MOV DPTR,#z14
LCALL OUTWORD
MOV YADDR,#80
mov xpage,#0
MOV DPTR,#z15
LCALL OUTWORD
MOV YADDR,#96
mov xpage,#0
MOV DPTR,#z16
LCALL OUTWORD
MOV YADDR,#112
mov xpage,#0
MOV DPTR,#zzz
LCALL OUTWORD
MOV YADDR,#0
mov xpage,#2
MOV DPTR,#zzz
LCALL OUTWORD
MOV YADDR,#16
mov xpage,#2
MOV DPTR,#z21
LCALL OUTWORD
MOV YADDR,#32
mov xpage,#2
MOV DPTR,#z30
LCALL OUTWORD
MOV YADDR,#48
mov xpage,#2
MOV DPTR,#zzz
LCALL OUTWORD
MOV YADDR,#64
mov xpage,#2
MOV DPTR,#z22
LCALL OUTWORD
MOV YADDR,#80
mov xpage,#2
MOV DPTR,#z23
LCALL OUTWORD
MOV YADDR,#96
mov xpage,#2
MOV DPTR,#z30
LCALL OUTWORD
MOV YADDR,#112
mov xpage,#2
MOV DPTR,#zzz
LCALL OUTWORD
MOV YADDR,#0
mov xpage,#4
MOV DPTR,#zzz
LCALL OUTWORD
MOV YADDR,#16
mov xpage,#4
MOV DPTR,#z31
LCALL OUTWORD
MOV YADDR,#32
mov xpage,#4
MOV DPTR,#z30
LCALL OUTWORD
MOV YADDR,#48
mov xpage,#4
MOV DPTR,#zzz
LCALL OUTWORD
MOV YADDR,#64
mov xpage,#4
MOV DPTR,#z32
LCALL OUTWORD
MOV YADDR,#80
mov xpage,#4
MOV DPTR,#z33
LCALL OUTWORD
MOV YADDR,#96
mov xpage,#4
MOV DPTR,#z30
LCALL OUTWORD
MOV YADDR,#112
mov xpage,#4
MOV DPTR,#zzz
LCALL OUTWORD
MOV YADDR,#0
mov xpage,#6
MOV DPTR,#z41
LCALL OUTWORD
MOV YADDR,#16
mov xpage,#6
MOV DPTR,#z42
LCALL OUTWORD
MOV YADDR,#32
mov xpage,#6
MOV DPTR,#z43
LCALL OUTWORD
MOV YADDR,#48
mov xpage,#6
MOV DPTR,#z44
LCALL OUTWORD
MOV YADDR,#64
mov xpage,#6
MOV DPTR,#z46
LCALL OUTWORD
MOV YADDR,#80
mov xpage,#6
MOV DPTR,#z45
LCALL OUTWORD
MOV YADDR,#96
mov xpage,#6
MOV DPTR,#z46
LCALL OUTWORD
MOV YADDR,#112
mov xpage,#6
MOV DPTR,#z47
LCALL OUTWORD
CLR MP
lcall delay
lcall delay
lcall delay
lcall clrlcd
SETB MP
MOV YADDR,#0
mov xpage,#0
MOV DPTR,#XIXIBMP
LCALL OUTBMP
CLR MP
lcall delay
lcall delay
lcall delay
CPL FLAG1
AJMP QQ
CLRLCD:
PUSH PSW
PUSH ACC
SETB RS0
CLR RS1
MOV A,#00111111B
LCALL LCDAC
MOV A,#11000000B
LCALL LCDAC
MOV A,#10111000B
LCALL LCDAC
MOV A,#01000000B
LCALL LCDAC
MOV R0,#08H
MOV XPAGE,#10111000B
CLRPAGE:
MOV A,XPAGE
LCALL LCDAC
MOV R1,#64
JB FLAG1,CLR_FAN
MOV A,#0FFH
AJMP CLRADDR
CLR_FAN:
MOV A,#00H
CLRADDR:
LCALL LCDAD
DJNZ R1,CLRADDR
INC XPAGE
DJNZ R0,CLRPAGE
POP ACC
POP PSW
RET
LCD1D:
push dph
push dpl
mov dptr,#d1
NOP
JB FLAG1,LCD1D_FAN
CPL A
LJMP LCDW
LCD1D_FAN:
LJMP LCDW
LCD2D:
push dph
push dpl
mov dptr,#d2
NOP
JB MP,LCD2D2
JB FLAG1,LCD2D_FAN
CPL A
LJMP LCDW
LCD2D_FAN:
LJMP LCDW
LCD2D2:
JB FLAG1,LCD2D_FAN2
LJMP LCDW
LCD2D_FAN2:
CPL A
LJMP LCDW
LCDAD:
push dph
push dpl
mov dptr,#d1
MOVx @dptr,A
mov dptr,#d2
MOVx @dptr,A
pop dpl
pop dph
RET
LCD1C:
push dph
push dpl
mov dptr,#c1
LJMP LCDW
LCD2C:
push dph
push dpl
mov dptr,#c2
LJMP LCDW
LCDAC:
push dph
push dpl
mov dptr,#c1
LCALL BUSY
MOVx @dptr,A
mov dptr,#c2
LCALL BUSY
MOVx @dptr,A
pop dpl
pop dph
RET
LCDW: LCALL BUSY
MOVx @dptr,A
pop dpl
pop dph
RET
OUTWORD:
MOV A,YADDR
ANL A,#01111111B
MOV YADDR,A
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -