📄 液晶显示原理.txt
字号:
ACALL DELAY10
ACALL DELAY10
ACALL DELAY10
ACALL DELAY10
ACALL CLEAR
;==============================================
MOV R1,#60H
MOV R2,#15
YS_5: MOV PAGE0,#02H
MOV COLUMN,R1
MOV CODE0,R2
ACALL CCW_PR
ACALL DELAY
ACALL DELAY
MOV A,R1
ADD A,#10H
MOV R1,A
INC R2
CJNE R2,#19,YS_5
;=============================================
MOV R1,#50H
MOV R2,#19
YS_6: MOV PAGE0,#04H
MOV COLUMN,R1
MOV CODE0,R2
ACALL CCW_PR
ACALL DELAY
ACALL DELAY
MOV A,R1
ADD A,#10H
MOV R1,A
INC R2
CJNE R2,#25,YS_6
;==============================================
ACALL DELAY10
ACALL DELAY10
ACALL DELAY10
ACALL DELAY10
ACALL CLEAR
ACALL DELAY10
;=============================================
MOV R1,#50H
MOV R2,#25
YS_7: MOV PAGE0,#02H
MOV COLUMN,R1
MOV CODE0,R2
ACALL CCW_PR
ACALL DELAY
ACALL DELAY
MOV A,R1
ADD A,#10H
MOV R1,A
INC R2
CJNE R2,#31,YS_7
;==============================================
ACALL DELAY10
ACALL DELAY10
ACALL DELAY10
ACALL DELAY10
ACALL CLEAR
ACALL DELAY10
AJMP MAIN
;===============================================
;延时子程序
DELAY: PUSH 00
PUSH 01
MOV R0,#0FFH
DELAY1: MOV R1,#0FFH
DELAY2: DJNZ R1,DELAY2
DJNZ R0,DELAY1
POP 01
POP 00
RET
DELAY10: MOV R4,#06H
DELAY11: ACALL DELAY
DJNZ R4,DELAY11
RET
;==============================================
;中文字符写入子程序
CCW_PR: NOP
MOV DPTR,#CCTAB
MOV A,CODE0
MOV B,#20H
MUL AB
ADD A,DPL
MOV DPL,A
MOV A,B
ADDC A,DPH
MOV DPH,A
PUSH COLUMN
PUSH COLUMN
MOV CODE0,#00H
CCW_1: MOV COUNT,#10H
MOV A,PAGE0
ANL A,#07H
ORL A,#0B8H
MOV COM,A
ACALL PRM0
ACALL PRR0
POP COLUMN
MOV A,COLUMN
CLR C
SUBB A,#40H
JC CCW_2
MOV COLUMN,A
SUBB A,#40H
JC CCW_11
MOV COLUMN,A
MOV A,PAGE0
SETB ACC.5
MOV PAGE0,A
LJMP CCW_2
CCW_11: MOV A,PAGE0
SETB ACC.4
MOV PAGE0,A
CCW_2: MOV COM,COLUMN
ORL COM,#40H
MOV A,PAGE0
ANL A,#30H
CJNE A,#10H,CCW_31
ACALL PRM0
LJMP CCW_4
CCW_31: CJNE A,#20H,CCW_32
ACALL PRR0
LJMP CCW_4
CCW_32: NOP
CCW_4: MOV A,CODE0
MOVC A,@A+DPTR
MOV DAT,A
MOV A,PAGE0
ANL A,#30H
CJNE A,#10H,CCW_41
ACALL PRM1
LJMP CCW_5
CCW_41: CJNE A,#20H,CCW_42
ACALL PRR1
LJMP CCW_5
CCW_42: NOP
CCW_5: INC CODE0
INC COLUMN
MOV A,COLUMN
CJNE A,#40H,CCW_6
CCW_6: JC CCW_7
MOV COLUMN,#00H
MOV A,PAGE0
JB ACC.5,CCW_09
JB ACC.4,CCW_61
SETB ACC.4
MOV PAGE0,A
MOV COM,#40H
ACALL PRM0
LJMP CCW_7
CCW_61: SETB ACC.5
CLR ACC.4
MOV PAGE0,A
MOV COM,#40H
ACALL PRR0
CCW_7: DJNZ COUNT,CCW_4
CCW_09: MOV A,PAGE0
JB ACC.7,CCW_9
INC A
SETB ACC.7
ANL A,#0CFH
MOV PAGE0,A
MOV CODE0,#10H
LJMP CCW_1
CCW_9: RET
;=================================================
PRL0: NOP
RET
PRL1: NOP
RET
PRL2: NOP
RET
;=============================
;写指令代码子程序(左)
PRM0: CLR CSA
SETB CSB
CLR D_I
SETB R_W
PRM01: MOV P1,#0FFH
SETB E
MOV A,P1
CLR E
JB ACC.7,PRM01
CLR R_W
MOV P1,COM
SETB E
CLR E
RET
;===============================
;写显示数据子程序(左)
PRM1: CLR CSA
SETB CSB
CLR D_I
SETB R_W
PRM11: MOV P1,#0FFH
SETB E
MOV A,P1
CLR E
JB ACC.7,PRM11
SETB D_I
CLR R_W
MOV P1,DAT
SETB E
CLR E
RET
;=============================
;写指令代码子程序(右)
PRR0: CLR CSB
SETB CSA
CLR D_I
SETB R_W
PRR01: MOV P1,#0FFH
SETB E
MOV A,P1
CLR E
JB ACC.7,PRR01
CLR R_W
MOV P1,COM
SETB E
CLR E
RET
;===============================
;写显示数据子程序(右)
PRR1: CLR CSB
SETB CSA
CLR D_I
SETB R_W
PRR11: MOV P1,#0FFH
SETB E
MOV A,P1
CLR E
JB ACC.7,PRR11
SETB D_I
CLR R_W
MOV P1,DAT
SETB E
CLR E
RET
;=============================
;================================
;初始化子程序
INT: MOV COM,#0C0H ;设置显示起始行为第一行
ACALL PRM0
ACALL PRR0
MOV COM,#3FH ;开显示设置
ACALL PRM0
ACALL PRR0
RET
;================================
;清屏子程序
CLEAR: MOV R4,#00H
CLEAR1: MOV A,R4
ORL A,#0B8H
MOV COM,A
ACALL PRM0
ACALL PRR0
MOV COM,#40H
ACALL PRM0
ACALL PRR0
MOV R3,#40H
CLEAR2: MOV DAT,#00H
ACALL PRM1
ACALL PRR1
DJNZ R3,CLEAR2
INC R4
CJNE R4,#08H,CLEAR1
RET
;=================================
CCTAB:
;0
;-- 文字: 预 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 020H,022H,02AH,0F2H,02AH,066H,020H,002H,0F2H,01AH,0D6H,012H,012H,0F2H,002H,000H
DB 000H,020H,040H,03FH,000H,000H,040H,040H,027H,018H,007H,008H,010H,027H,060H,000H
;1
;-- 文字: 祝 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 008H,008H,089H,0CEH,0A8H,018H,000H,0FEH,082H,082H,082H,082H,0FEH,000H,000H,000H
DB 002H,001H,000H,0FFH,000H,083H,040H,030H,00FH,000H,000H,07FH,080H,080H,0F0H,000H
;2
;-- 文字: 电 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 000H,000H,0F8H,048H,048H,048H,048H,0FFH,048H,048H,048H,048H,0F8H,000H,000H,000H
DB 000H,000H,00FH,004H,004H,004H,004H,03FH,044H,044H,044H,044H,04FH,040H,070H,000H
;3
;-- 文字: 气 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 000H,020H,010H,08CH,0A7H,0A4H,0A4H,0A4H,0A4H,0A4H,0A4H,0A4H,024H,004H,004H,000H
DB 000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,00FH,030H,040H,0F0H,000H
;4
;-- 文字: 杯 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 008H,088H,068H,0FFH,048H,08AH,002H,002H,0C2H,0F2H,00EH,082H,002H,002H,002H,000H
DB 002H,001H,000H,0FFH,000H,004H,002H,001H,000H,0FFH,000H,000H,001H,006H,00CH,000H
;5
;-- 文字: 科 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 010H,012H,092H,072H,0FEH,051H,091H,000H,022H,0CCH,000H,000H,0FFH,000H,000H,000H
DB 004H,002H,001H,000H,0FFH,000H,004H,004H,004H,002H,002H,002H,0FFH,001H,001H,000H
;6
;-- 文字: 技 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 008H,008H,088H,0FFH,048H,028H,000H,0C8H,048H,048H,07FH,048H,0C8H,048H,008H,000H
DB 001H,041H,080H,07FH,000H,040H,040H,020H,013H,00CH,00CH,012H,021H,060H,020H,000H
;7
;-- 文字: 作 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 080H,040H,020H,0F8H,007H,022H,018H,00CH,0FBH,048H,048H,048H,068H,048H,008H,000H
DB 000H,000H,000H,0FFH,000H,000H,000H,000H,0FFH,004H,004H,004H,004H,006H,004H,000H
;8
;-- 文字: 品 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 000H,000H,000H,000H,07EH,022H,022H,022H,022H,022H,022H,07EH,000H,000H,000H,000H
DB 000H,07FH,021H,021H,021H,021H,07FH,000H,07FH,021H,021H,021H,021H,07FH,000H,000H
;9
;-- 文字: 大 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 020H,020H,020H,020H,020H,020H,0A0H,07FH,0A0H,020H,020H,020H,020H,020H,020H,000H
DB 000H,080H,040H,020H,010H,00CH,003H,000H,001H,006H,008H,030H,060H,0C0H,040H,000H
;10
;-- 文字: 赛 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 008H,086H,0AAH,0AAH,0AAH,0FEH,0AAH,0ABH,0AAH,0FEH,0AAH,0AAH,0A2H,086H,002H,000H
DB 004H,004H,082H,082H,05FH,042H,022H,01EH,022H,022H,05FH,0C1H,042H,006H,002H,000H
;11
;-- 文字: 圆 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 000H,0FFH,001H,001H,0DDH,055H,055H,055H,055H,055H,0DDH,001H,001H,0FFH,000H,000H
DB 000H,0FFH,040H,040H,067H,050H,048H,047H,048H,050H,067H,040H,040H,0FFH,000H,000H
;12
;-- 文字: 满 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 010H,061H,006H,0E0H,004H,0A4H,0A4H,0EFH,0A4H,0A4H,0E4H,0AFH,0A4H,0A4H,024H,000H
DB 008H,0F8H,007H,000H,000H,0FFH,008H,007H,014H,008H,007H,044H,088H,07FH,000H,000H
;13
;-- 文字: 成 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 000H,000H,0F8H,048H,048H,048H,0C8H,008H,0FFH,008H,009H,00AH,0C8H,088H,008H,000H
DB 040H,030H,00FH,000H,008H,050H,04FH,020H,010H,00BH,00CH,012H,021H,040H,0F0H,000H
;14
;-- 文字: 功 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 000H,004H,004H,004H,0FCH,004H,014H,014H,010H,090H,07FH,010H,010H,0F0H,000H,000H
DB 004H,00CH,004H,004H,003H,042H,022H,011H,00CH,023H,020H,060H,020H,01FH,000H,000H
;15
;-- 文字: 西 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 002H,0F2H,012H,012H,012H,0FEH,012H,012H,012H,0FEH,012H,012H,012H,0F2H,002H,000H
DB 000H,07FH,028H,024H,022H,021H,020H,020H,020H,021H,022H,022H,022H,07FH,000H,000H
;16
;-- 文字: 南 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 004H,004H,0E4H,024H,024H,064H,0B4H,02FH,024H,0A4H,064H,024H,024H,0E6H,004H,000H
DB 000H,000H,07FH,004H,005H,005H,005H,07FH,005H,005H,005H,025H,044H,03FH,000H,000H
;17
;-- 文字: 交 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 000H,008H,088H,048H,038H,028H,009H,00EH,00CH,008H,098H,028H,068H,048H,008H,000H
DB 000H,080H,080H,040H,041H,022H,014H,018H,00CH,016H,023H,061H,0C0H,040H,000H,000H
;18
;-- 文字: 大 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 020H,020H,020H,020H,020H,020H,0A0H,07FH,0A0H,020H,020H,020H,020H,020H,020H,000H
DB 000H,080H,040H,020H,010H,00CH,003H,000H,001H,006H,008H,030H,060H,0C0H,040H,000H
;19
;-- 文字: 电 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 000H,000H,0F8H,048H,048H,048H,048H,0FFH,048H,048H,048H,048H,0F8H,000H,000H,000H
DB 000H,000H,00FH,004H,004H,004H,004H,03FH,044H,044H,044H,044H,04FH,040H,070H,000H
;20
;-- 文字: 子 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 000H,000H,002H,002H,002H,002H,002H,0E2H,012H,00AH,006H,002H,000H,080H,000H,000H
DB 001H,001H,001H,001H,001H,041H,081H,07FH,001H,001H,001H,001H,001H,001H,001H,000H
;21
;-- 文字: 科 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 010H,012H,092H,072H,0FEH,051H,091H,000H,022H,0CCH,000H,000H,0FFH,000H,000H,000H
DB 004H,002H,001H,000H,0FFH,000H,004H,004H,004H,002H,002H,002H,0FFH,001H,001H,000H
;22
;-- 文字: 技 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 008H,008H,088H,0FFH,048H,028H,000H,0C8H,048H,048H,07FH,048H,0C8H,048H,008H,000H
DB 001H,041H,080H,07FH,000H,040H,040H,020H,013H,00CH,00CH,012H,021H,060H,020H,000H
;23
;-- 文字: 协 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 010H,010H,0FFH,010H,010H,010H,0C8H,008H,008H,0FFH,008H,008H,0F8H,080H,000H,000H
DB 000H,000H,07FH,000H,000H,043H,020H,018H,007H,000H,020H,040H,03FH,000H,003H,000H
;24
;-- 文字: 会 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 080H,040H,040H,020H,050H,048H,044H,043H,044H,048H,050H,020H,060H,0C0H,040H,000H
DB 000H,000H,042H,0E2H,052H,04AH,046H,062H,022H,022H,02AH,0F2H,062H,000H,000H,000H
;25
;-- 文字: L --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 008H,0F8H,008H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB 020H,03FH,020H,020H,020H,020H,030H,000H,000H,000H,000H,000H,000H,000H,000H,000H
;26
;-- 文字: C --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 0C0H,030H,008H,008H,008H,008H,038H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB 007H,018H,020H,020H,020H,010H,008H,000H,000H,000H,000H,000H,000H,000H,000H,000H
;27
;-- 文字: D --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 008H,0F8H,008H,008H,008H,010H,0E0H,000H,000H,000H,000H,000H,000H,000H,000H,000H
DB 020H,03FH,020H,020H,020H,010H,00FH,000H,000H,000H,000H,000H,000H,000H,000H,000H
;28
;-- 文字: 演 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 010H,021H,086H,060H,000H,00CH,0D4H,054H,055H,0F6H,054H,054H,0D4H,00CH,004H,000H
DB 004H,0FCH,003H,000H,000H,000H,08FH,069H,009H,00FH,009H,029H,0CFH,000H,000H,000H
;29
;-- 文字: 示 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 000H,020H,020H,022H,022H,022H,022H,0E2H,022H,022H,022H,022H,022H,020H,020H,000H
DB 010H,008H,004H,003H,000H,040H,080H,07FH,000H,000H,001H,002H,00CH,018H,000H,000H
;30
;-- 文字: 器 --
;-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --
DB 040H,040H,04FH,049H,049H,0C9H,0CFH,070H,0C0H,0CFH,049H,059H,069H,04FH,000H,000H
DB 002H,002H,07EH,045H,045H,044H,07CH,000H,07CH,044H,045H,045H,07EH,006H,002H,000H
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -