📄 320240av1通用测架.asm
字号:
;**********************************************
WR EQU P3.2
RD EQU P3.1
CS EQU P3.0
A0 EQU P3.4
RST EQU P3.5
LCD_COUNT0 EQU 3AH
LCD_COUNT1 EQU 30H
LCD_COUNT2 EQU 31H
LCD_DATA1 EQU 32H
LCD_DATA2 EQU 33H
SAD2L EQU 34H
SAD2H EQU 35H
SAD2L1 EQU 36H
SAD2H1 EQU 37H
DPH_TEMP EQU 38H
DPL_TEMP EQU 39H
ORG 0000H
AJMP MAIN
ORG 0100H
MAIN: NOP
NOP
MOV SP,#5FH
SETB RST
CLR CS
;*******************初始化*********************
LGS: MOV A,#40H ;WRITE SYSTEMSET 指令和参数
LCALL SEND_I
MOV DPTR,#TAB01
MOV LCD_COUNT1,#08H
LCALL LGS01
MOV A,#44H ;WRITE SCROLL 指令和参数
LCALL SEND_I
MOV DPTR,#TAB02
MOV LCD_COUNT1,#0AH
LCALL LGS01
MOV A,#5AH ;显示画面水平移动量:00--07点
LCALL SEND_I
MOV A,#00H
LCALL SEND_D
MOV A,#5BH ;显示属性:DM1(DM2)=0,文本方式
LCALL SEND_I ;DM1(DM2)=1,图形方式
MOV A,#01H ;OV=1,三重合成;OV=0,两重合成
LCALL SEND_D
MOV A,#5DH
LCALL SEND_I
MOV A,#07H
LCALL SEND_D
MOV A,#8FH
LCALL SEND_D
MOV A,#4CH ;光标自动移动方向--向右
LCALL SEND_I
MOV A,#59H ;DISP ON
LCALL SEND_I
MOV A,#56H
LCALL SEND_D
LJMP LGS5
;!!!!!!!!!!!!!!!!!!!显示字符!!!!!!!!!!!!!!!!!!!
LGS1: LCALL CLRRAM
MOV A,#46H
LCALL SEND_I
MOV A,#00H
LCALL SEND_D
MOV A,#00H
LCALL SEND_D
MOV A,#42H
LCALL SEND_I
MOV DPTR,#TAB1
MOV LCD_COUNT1,#7
LGS11: MOV LCD_COUNT2,#40
LGS12: CLR A
MOVC A,@A+DPTR
LCALL SEND_D
INC DPTR
DJNZ LCD_COUNT2,LGS12
DJNZ LCD_COUNT1,LGS11
MOV LCD_DATA1,#10H
MOV LCD_COUNT1,#6
LGS13: MOV LCD_COUNT2,#40
LGS14: MOV A,LCD_DATA1
LCALL SEND_D
INC LCD_DATA1
DJNZ LCD_COUNT2,LGS14
DJNZ LCD_COUNT1,LGS13
LCALL DELAY1
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
LGS2: LCALL CLRRAM
MOV LCD_DATA1,#0CCH
MOV LCD_DATA2,#0CCH
LCALL LAT_DISP
LCALL DELAY1
MOV LCD_DATA1,#33H
MOV LCD_DATA2,#33H
LCALL LAT_DISP
LCALL DELAY1
MOV LCD_DATA1,#0FFH
MOV LCD_DATA2,#00H
LCALL LAT_DISP
LCALL DELAY1
MOV LCD_DATA1,#00H
MOV LCD_DATA2,#0FFH
LCALL LAT_DISP
LCALL DELAY1
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
LGS4: MOV A,#4CH ;光标自动移动方向--向右
LCALL SEND_I
MOV LCD_DATA1,#0CCH
MOV LCD_DATA2,#33H
LCALL LAT_DISP
LCALL DELAY1
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
LGS5: LCALL CLRRAM
MOV SAD2L,#0B0H
MOV SAD2H,#04H
MOV SAD2L1,#00H
MOV SAD2H1,#00H
LCALL ZB_WR
MOV LCD_COUNT0,#2
LGS50: MOV DPTR,#TAB3 ;图形首地址
MOV LCD_COUNT1,#120
LGS51: MOV LCD_COUNT2,#40
LGS52: CLR A
MOVC A,@A+DPTR
LCALL SEND_D
INC DPTR
DJNZ LCD_COUNT2,LGS52
MOV SAD2L1,#28H
MOV SAD2H1,#00H
LCALL ZB_WR
DJNZ LCD_COUNT1,LGS51
DJNZ LCD_COUNT0,LGS50
LCALL DELAY1
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
LJMP LGS1
;**********************************************
LGS01: CLR A
MOVC A,@A+DPTR
LCALL SEND_D
INC DPTR
DJNZ LCD_COUNT1,LGS01
RET
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
CLRRAM: MOV A,#46H ;显示光标地址
LCALL SEND_I
MOV A,#00H
LCALL SEND_D
MOV A,#00H
LCALL SEND_D
MOV A,#42H
LCALL SEND_I
MOV LCD_COUNT1,#87H
CLRRAM1: MOV LCD_COUNT2,#50H
CLRRAM2: CLR A
LCALL SEND_D
DJNZ LCD_COUNT2,CLRRAM2
DJNZ LCD_COUNT1,CLRRAM1
RET
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
LAT_DISP: MOV A,#46H
LCALL SEND_I
MOV A,#0B0H
LCALL SEND_D
MOV A,#04H
LCALL SEND_D
MOV A,#42H
LCALL SEND_I
MOV LCD_COUNT1,#60
LAT_DISP1: MOV LCD_COUNT2,#80
LAT_DISP2: MOV A,LCD_DATA1
LCALL SEND_D
DJNZ LCD_COUNT2,LAT_DISP2
MOV LCD_COUNT2,#80
LAT_DISP3: MOV A,LCD_DATA2
LCALL SEND_D
DJNZ LCD_COUNT2,LAT_DISP3
DJNZ LCD_COUNT1,LAT_DISP1
RET
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ZB_WR: MOV A,SAD2L
ADD A,SAD2L1
MOV SAD2L,A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -