📄 qc0409a.asm
字号:
; 伪彩320*240 LCD控制板(QXVLCM1.1)演示例程
; 通过这个例程你可以知道怎样显示图形和中文的技巧
CSEG AT 0000H
;LCD控制板接口
;P1 为数据线
AOO EQU P3.1 ;AO 高电平时写入的数据是地址,低电平时写入的数据是显示数据。
E EQU P3.2 ;WR 当P1口的数据有效时,WR产生一个下降沿,写一个数据完成。
RS EQU P3.0 ;
RW EQU P3.3 ;
WRDATA EQU 28H ;数据变量
ADDRL EQU 30H ;地址低位变量
ADDRH EQU 31H ;地址高位变量..................以一个字节为单元(8/3个像素)
ADDBL EQU 32H ;地址低位
ADDBH EQU 33H ;地址高位 .....................以三个字节为单元(8个像素)
TEMP1 EQU 3AH ;
TEMP2 EQU 39H ;通用变量
TEMP3 EQU 38H ;
TEMP4 EQU 3BH ;
TEMP5 EQU 3CH
TEMP6 EQU 3DH
XSTARL EQU 42H
XSTARH EQU 43H
YSTAR EQU 44H
VTEMP1 EQU 46H
VTEMP2 EQU 47H
CODEN EQU 3EH ; 中文字模位置代码
FCOLOR EQU 40H ; 前景颜色
BCOLOR EQU 41H ; 背景颜色
MAIN:
NOP
NOP
MAIN1:
LCALL DISPLAY2
LCALL DELAYLL
LCALL DELAYLL
NOP
LCALL CLREA ; 调用清屏子程序,
LCALL DISCHIN ; 调用中文说明书子程序
LCALL DELAYLL ; 延时
LCALL CLREA
NOP
LCALL DISWT
LCALL DISLINE ; 画直线
MOV XSTARH,#00
MOV XSTARL,#15
MOV FCOLOR,#01
MOV TEMP1,#00
MOV VTEMP2,#0
MOV VTEMP1,#15
KKC:
MOV A,#1
CJNE A,VTEMP2,KKTO
MOV A,#30H
CJNE A,VTEMP1,KKTO
LJMP KKEND
KKTO:
LCALL DISYY
LCALL DISPLAY
LCALL DISLINE2
;LCALL DELAYL
LCALL DELAYL
INC TEMP1
INC XSTARL
INC XSTARL
INC VTEMP1
INC VTEMP1
LCALL CLREA2
LCALL CLREA3
MOV A,#0FFH
CJNE A,VTEMP1,KKC2
INC XSTARH
INC VTEMP2
INC XSTARL
INC VTEMP1
KKC2:
MOV A,#08
CJNE A,TEMP1,KKC
MOV TEMP1,#00
LJMP KKC
KKEND:
NOP
LJMP MAIN1
NOP
NOP
DELAY:
MOV R5,#0
MOV R6,#50
DELA1:
DJNZ R5,DELA1
DJNZ R6,DELA1
RET
DELAYL:
MOV R5,#0
MOV R6,#0
MOV R4,#5
DELAL:
DJNZ R5,DELAL
DJNZ R6,DELAL
DJNZ R4,DELAL
RET
DELAYLL:
MOV R5,#0
MOV R6,#0
MOV R4,#100
DELALL:
DJNZ R5,DELALL
DJNZ R6,DELALL
DJNZ R4,DELALL
RET
WRDAT:
CLR E
SETB E
RET
REBUSY:
CLR RW
CLR AOO
JNB P1.7,REBUSY
SETB AOO
SETB RW
RET
DISPLAY:
LCALL REBUSY
CLR RS
NOP
MOV P1,#02H
LCALL WRDAT
MOV P1,#47H
LCALL WRDAT
MOV P1,#10
LCALL WRDAT
MOV P1,#60
LCALL WRDAT
MOV P1,TEMP1
LCALL WRDAT
MOV P1,#0DH
LCALL WRDAT
NOP
SETB RS
RET
DISPLAY2:
LCALL REBUSY
CLR RS
NOP
MOV P1,#02H
LCALL WRDAT
MOV P1,#47H
LCALL WRDAT
MOV P1,#00
LCALL WRDAT
MOV P1,#00
LCALL WRDAT
MOV P1,#09
LCALL WRDAT
MOV P1,#0DH
LCALL WRDAT
NOP
SETB RS
RET
DISWT:
LCALL REBUSY
CLR RS
MOV P1,#02H
LCALL WRDAT
MOV P1,#47H
LCALL WRDAT
MOV P1,#2
LCALL WRDAT
MOV P1,#204
LCALL WRDAT
MOV P1,#8
LCALL WRDAT
MOV P1,#0DH
LCALL WRDAT
NOP
SETB RS
RET
DISYY:
LCALL REBUSY
CLR RS
NOP
MOV P1,#07H
LCALL WRDAT
MOV A,FCOLOR
SWAP A
MOV P1,A
MOV P1,#27H
LCALL WRDAT
MOV P1,XSTARH
LCALL WRDAT
MOV P1,XSTARL
LCALL WRDAT
MOV P1,#15
LCALL WRDAT
MOV P1,#9
LCALL WRDAT
MOV P1,#0DH
LCALL WRDAT
SETB RS
RET
DISLINE:
LCALL REBUSY
CLR RS
MOV P1,#08H
LCALL WRDAT
MOV P1,#44H ;COLOR
LCALL WRDAT
MOV P1,#00 ;XSTH
LCALL WRDAT
MOV P1,#00 ;XSTL
LCALL WRDAT
MOV P1,#25 ;YST
LCALL WRDAT
MOV P1,#01 ;XENH
LCALL WRDAT
MOV P1,#63 ;XENL
LCALL WRDAT
MOV P1,#25 ;YEN
LCALL WRDAT
MOV P1,#0D
LCALL WRDAT
SETB RS
RET
DISLINE2:
LCALL REBUSY
CLR RS
MOV P1,#08H
LCALL WRDAT
MOV P1,#44H ;COLOR
LCALL WRDAT
MOV P1,VTEMP2 ;XSTH
LCALL WRDAT
MOV P1,VTEMP1 ;XSTL
LCALL WRDAT
MOV P1,#15 ;YST
LCALL WRDAT
MOV P1,#00 ;XENH
LCALL WRDAT
MOV P1,#152 ;XENL
LCALL WRDAT
MOV P1,#130 ;YEN
LCALL WRDAT
MOV P1,#0D
LCALL WRDAT
SETB RS
RET
DISCHIN:
MOV CODEN,#00
MOV ADDBL,#125
MOV ADDBH,#0
MOV FCOLOR,#04
MOV BCOLOR,#07
LCALL WRCHINA24
LCALL WRCHINA24
LCALL WRCHINA24
LCALL WRCHINA24
LCALL WRCHINA24
LCALL WRCHINA24
LCALL WRCHINA24
LCALL WRCHINA24
LCALL WRCHINA24
NOP
LCALL REBUSY
CLR RS
NOP
MOV P1,#01H
LCALL WRDAT
MOV P1,#07H
LCALL WRDAT
MOV P1,#00
LCALL WRDAT
MOV P1,#30
LCALL WRDAT
MOV DPTR,#NMTAB
DISCHIN1:
CLR A
MOVC A,@A+DPTR
MOV R5,A
MOV P1,A
LCALL WRDAT
INC DPTR
CJNE R5,#0DH,DISCHIN1
CLR A
MOVC A,@A+DPTR
CJNE A,#0AH,DISCHIN2
LJMP DISCHIN1
DISCHIN2:
MOV P1,#0
LCALL WRDAT
NOP
SETB RS
RET
;;================================================================================
;清屏
CLREA:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -