1、ocm12864液晶显示源程序汇编程序12864液晶显示源程序汇编程序;12864液晶显示源程序全部程序如下:;= COM EQU 20H LINE EQU 31H DAT EQU 21H COLUMN EQU 30H PAGE0 EQU 31H CODE0 EQU 32H COUNT EQU 33H CSA EQU P3.2 ;15 CSB EQU P3.4 ;16 D_I EQU P3.7 ;4 R_W EQU P3.6 ;5 E EQU P3.5 ;6;=;中文演示程序段 ORG 0000H AJMP MAIN ORG 20HMAIN: MOV SP,#60H ACALL INT ;初始
2、化子程序 ACALL DELAY ;延时子程序 ACALL CLEAR ;清屏子程序;=;第一页第一行第12汉字显示;= MOV R1,#50H ;x坐标 MOV R2,#0 ;计数器初始化(汉字数)YS_1: MOV PAGE0,#02H ;y坐标 MOV COLUMN,R1 MOV CODE0,R2 ACALL CCW_PR ;中文字符写入子程序 ACALL DELAY ;延时程序 ACALL DELAY ;延时程序 MOV A,R1 ADD A,#10H ;两汉字间间隔距离(16象素点) MOV R1,A INC R2 CJNE R2,#3,YS_1 ;屏蔽后将让第2字不显示 CALL
3、DELAY ;延时程序 CALL DELAY ;延时程序;=;第一页第一行第35汉字显示;= MOV R1,#80H MOV R2,#3YS_2: 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,#05,YS_2 ;屏蔽后让45字不显示;=;第一页第二行汉字显示;= MOV R1,#50H MOV R2,#5YS_3: MOV PAGE0,#04H MOV COLUMN,R1 MOV CODE0,R
4、2 ACALL CCW_PR ACALL DELAY ACALL DELAY MOV A,R1 ADD A,#10H MOV R1,A INC R2 CJNE R2,#11,YS_3; ACALL DELAY10;=;第一页第三行显示;= MOV R1,#50H MOV R2,#11YS_4: MOV PAGE0,#06H 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,#15,YS_4 ACALL DELAY10 ACALL
5、DELAY10 ACALL DELAY10 ACALL DELAY10 ACALL CLEAR;=;第二页第一行显示;= MOV R1,#60H MOV R2,#15YS_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,#19YS_6: MOV PAGE0,#04H MOV COLUMN,R1 MOV CODE0
6、,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,#25YS_7: MOV PAGE0,#02H MOV COLUMN,R1 MOV CODE0,R2 ACALL CCW_PR ACALL DELAY ACALL DELAY MOV A
7、,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,#0FFHDELAY1: MOV R1,#0FFHDELAY2: DJNZ R1,DELAY2 DJNZ R0,DELAY1 POP 01 POP 00 RETDELAY10: MOV R4,#06HDELAY11: ACALL DELAY D
8、JNZ R4,DELAY11 RET;=;中文字符写入子程序CCW_PR: NOP MOV DPTR,#CCTAB ;表地址写入 MOV A,CODE0 ;计数器初始化(汉字数) MOV B,#20H ;32 MUL AB ADD A,DPL MOV DPL,A MOV A,B ADDC A,DPH MOV DPH,A PUSH COLUMN PUSH COLUMN MOV CODE0,#00HCCW_1:MOV COUNT,#10H ;16 MOV A,PAGE0 ANL A,#07H ORL A,#0B8H MOV COM,A ACALL PRM0 ;写指令代码子程序(左) ACALL P
9、RR0 ;写指令代码子程序(右) 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_2CCW_11: MOV A,PAGE0 SETB ACC.4 MOV PAGE0,ACCW_2: MOV COM,COLUMN ORL COM,#40H MOV A,PAGE0 ANL A,#30H CJNE A,#10H,CCW_31 ACALL PRM0 ;写指令代码子程序
10、(左) LJMP CCW_4CCW_31: CJNE A,#20H,CCW_32 ACALL PRR0 ;写指令代码子程序(右) LJMP CCW_4CCW_32: NOPCCW_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_5CCW_41: CJNE A,#20H,CCW_42 ACALL PRR1 LJMP CCW_5CCW_42: NOPCCW_5:INC CODE0 INC COLUMN MOV A,COLUMN CJNE A,#4
11、0H,CCW_6CCW_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_7CCW_61: SETB ACC.5 CLR ACC.4 MOV PAGE0,A MOV COM,#40H ACALL PRR0 ;写指令代码子程序(右)CCW_7: DJNZ COUNT,CCW_4CCW_09: MOV A,PAGE0 JB ACC.7,CCW_9 INC A SETB A
12、CC.7 ANL A,#0CFH MOV PAGE0,A MOV CODE0,#10H LJMP CCW_1CCW_9: RET;=PRL0: NOP RETPRL1: NOP RETPRL2: NOP RET;=;写指令代码子程序(左)PRM0: CLR CSA SETB CSB CLR D_I SETB R_WPRM01:MOV P0,#0FFH SETB E MOV A,P0 CLR E JB ACC.7,PRM01 CLR R_W MOV P0,COM SETB E CLR E RET;=;写显示数据子程序(左)PRM1: CLR CSA SETB CSB CLR D_I SETB R
13、_WPRM11:MOV P1,#0FFH SETB E MOV A,P0 CLR E JB ACC.7,PRM11 SETB D_I CLR R_W MOV P0,DAT SETB E CLR E RET;=;写指令代码子程序(右)PRR0: CLR CSB SETB CSA CLR D_I SETB R_WPRR01:MOV P1,#0FFH SETB E MOV A,P0 CLR E JB ACC.7,PRR01 CLR R_W MOV P0,COM SETB E CLR E RET;=;写显示数据子程序(右)PRR1: CLR CSB SETB CSA CLR D_I SETB R_WP
14、RR11:MOV P1,#0FFH SETB E MOV A,P0 CLR E JB ACC.7,PRR11 SETB D_I CLR R_W MOV P0,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,#00HCLEAR1: MOV A,R4 ORL A,#0B8H MOV COM,A ACALL PRM0 ACALL PRR0 MOV C
15、OM,#40H ACALL PRM0 ACALL PRR0 MOV R3,#40HCLEAR2: MOV DAT,#00H ACALL PRM1 ACALL PRR1 DJNZ R3,CLEAR2 INC R4 CJNE R4,#08H,CLEAR1 RET;=CCTAB:;0;- 文字: 重 -;- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -DB 08H,08H,0AH,0EAH,0AAH,0AAH,0AAH,0FFH,0A9H,0A9H,0A9H,0E9H,08H,08H,08H,00HDB 40H,40H,48H,4BH,4AH,4AH,4AH,7FH,4AH,4AH,4A
16、H,4BH,48H,40H,40H,00H;- 宋体12; 此字体下对应的点阵为:宽x高=8x16 - ;1;- 文字: 庆 -;- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -DB 00H,00H,0FCH,44H,44H,44H,44H,0C5H,7EH,0C4H,44H,44H,44H,44H,44H,00HDB 40H,30H,0FH,40H,20H,10H,0CH,03H,00H,01H,06H,18H,30H,60H,20H,00H;2;- 文字: 市 -;- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -DB 04H,04H,04H,0E4H,24H,24H
17、,25H,0FEH,24H,24H,24H,24H,0E4H,04H,04H,00HDB 00H,00H,00H,3FH,00H,00H,00H,0FFH,00H,00H,10H,20H,1FH,00H,00H,00H;3;- 文字: 黔 -;- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -DB 0BEH,0AAH,0B2H,0FEH,0B2H,0AAH,0BEH,20H,10H,48H,87H,08H,10H,20H,20H,00HDB 44H,34H,0CH,33H,0AH,32H,0AH,30H,02H,02H,43H,32H,0EH,02H,00H,00H;- 文字: 江
18、-;- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -DB 10H,60H,01H,0C6H,30H,00H,04H,04H,04H,0FCH,04H,04H,04H,04H,00H,00HDB 04H,04H,7EH,01H,20H,20H,20H,20H,20H,3FH,20H,20H,20H,20H,20H,00H;- 文字: 乌 -;- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -DB 00H,00H,00H,0FEH,04H,04H,06H,05H,44H,84H,7EH,04H,00H,00H,00H,00HDB 00H,08H,08H,09H,09H,09H
19、,09H,09H,09H,09H,29H,49H,81H,7FH,00H,00H;- 文字: 江 -;- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -DB 10H,60H,01H,0C6H,30H,00H,04H,04H,04H,0FCH,04H,04H,04H,04H,00H,00HDB 04H,04H,7EH,01H,20H,20H,20H,20H,20H,3FH,20H,20H,20H,20H,20H,00H;- 文字: 电 -;- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -DB 00H,00H,0F8H,48H,48H,48H,48H,0FFH,48H,48H
20、,48H,48H,0F8H,00H,00H,00HDB 00H,00H,0FH,04H,04H,04H,04H,3FH,44H,44H,44H,44H,4FH,40H,70H,00H;- 文字: 力 -;- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -DB 00H,10H,10H,10H,10H,10H,10H,0FFH,10H,10H,10H,10H,10H,0F0H,00H,00HDB 00H,00H,80H,40H,20H,18H,06H,01H,00H,00H,40H,80H,40H,3FH,00H,00H;- 文字: 集 -;- 宋体12; 此字体下对应的点阵为:宽x高=
21、16x16 -DB 00H,10H,08H,0FCH,57H,54H,54H,54H,0FDH,56H,54H,54H,54H,00H,00H,00HDB 00H,44H,44H,25H,25H,15H,0DH,0FFH,05H,0DH,15H,25H,65H,25H,04H,00H;- 文字: 团 -;- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -DB 00H,0FEH,02H,12H,12H,12H,92H,72H,0FEH,12H,12H,12H,02H,0FEH,00H,00HDB 00H,0FFH,48H,44H,42H,41H,50H,60H,5FH,40H,40H,
22、40H,40H,0FFH,00H,00H;- 文字: 调 -;- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -DB 20H,21H,0EEH,04H,00H,00H,0FFH,29H,0A9H,0BFH,0A9H,0A9H,01H,0FFH,00H,00HDB 00H,00H,1FH,88H,44H,30H,0FH,00H,0FH,04H,04H,4FH,80H,7FH,00H,00H;- 文字: 度 -;- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -DB 00H,00H,0FCH,04H,24H,24H,0FCH,0A5H,0A6H,0A4H,0FCH,24H,24
23、H,24H,04H,00HDB 80H,60H,1FH,80H,80H,42H,46H,2AH,12H,12H,2AH,26H,42H,0C0H,40H,00H;- 文字: 中 -;- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -DB 00H,00H,0FCH,08H,08H,08H,08H,0FFH,08H,08H,08H,08H,0FCH,08H,00H,00HDB 00H,00H,07H,02H,02H,02H,02H,0FFH,02H,02H,02H,02H,07H,00H,00H,00H;- 文字: 心 -;- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -DB
24、 00H,80H,00H,00H,0F0H,00H,01H,02H,1CH,08H,00H,40H,80H,00H,00H,00HDB 04H,03H,00H,00H,3FH,40H,40H,40H,40H,40H,40H,78H,00H,07H,02H,00H;- 文字: 通 -;- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -DB 40H,41H,0C6H,00H,00H,0F2H,52H,52H,56H,0FAH,5AH,56H,0F2H,00H,00H,00HDB 40H,20H,1FH,20H,40H,5FH,42H,42H,42H,5FH,4AH,52H,4FH,40H
25、,40H,00H;- 文字: 讯 -;- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -DB 20H,21H,2EH,0E4H,00H,42H,42H,0FEH,42H,42H,42H,02H,0FEH,00H,00H,00HDB 00H,00H,00H,7FH,20H,10H,00H,7FH,00H,00H,00H,00H,3FH,40H,38H,00H;- 文字: 自 -;- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -DB 00H,00H,00H,0F8H,48H,48H,4CH,4BH,4AH,48H,48H,48H,0F8H,00H,00H,00HDB 00H,
26、00H,00H,0FFH,44H,44H,44H,44H,44H,44H,44H,44H,0FFH,00H,00H,00H;- 文字: 动 -;- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -DB 20H,24H,24H,0E4H,24H,24H,24H,20H,10H,10H,0FFH,10H,10H,0F0H,00H,00HDB 08H,1CH,0BH,08H,0CH,05H,4EH,24H,10H,0CH,03H,20H,40H,3FH,00H,00H;- 文字: 化 -;- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -DB 80H,40H,20H,0F8H,07H,02H,00H,00H,0FFH,0C0H,60H,30H,1CH,08H,00H,00HDB 00H,00H,00H,7FH,00H,04H,02H,01H,3FH,40H,40H,40H,40H,78H,00H,00H;- 文字: 单 -;- 宋体12; 此字体下对应的点阵为:宽x高=16x16 -DB 00H,00H,0F8H,28H,29H,2EH,2AH,0F8H,28H,2CH
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1