;12864 (带字库汉字显示演示程序) ;*************************************************************************** ;* sxj1974@ (51c51 test web) * ;* Create by: 石学军程请登陆网站* ;*************************************************************************** RS EQU RW EQU E EQU PSB EQU RST EQU ;----------------------------------------------- LCD_X EQU 30H LCD_Y EQU 31H COUNT EQU 32H COUNT1 EQU 33H COUNT2 EQU 34H COUNT3 EQU 35H ;----------------------------------------------- LCD_DATA EQU 36H LCD_DATA1 EQU 37H LCD_DATA2 EQU 38H STORE EQU 39H ;----------------------------------------------- ORG 0000H LJMP 0100H ;----------------------------------------------- MAIN: MOV SP,#5FH CLR RST ; 复位 LCALL DELAY4 SETB RST NOP SETB PSB ; 通讯方式为 8 位数据并口;******************** 初始化********************** LGS0: MOV A,#34H ;34H-- 扩充指令操作 LCALL SEND_I MOV A,#30H ;30H-- 基本指令操作 LCALL SEND_I MOV A,#01H ; 清除显示 LCALL SEND_I MOV A,#06H ; 指定在资料写入或读取时,光标的移动方向 LCALL SEND_I ;DDRAM 的地址计数器(AC) 加1 MOV A,#0CH ; 开显示, 关光标, 不闪烁 LCALL SEND_I ;=============================================== TU_PLAY1: MOV DPTR,#TU_TAB1 ; 显示图形 LCALL PHO_DISP LCALL DELAY3 ;================================================= ;; 显示汉字和字符; 加入 80ms 的延时,使你能够看清楚显示的过程; 根据汉字显示坐标分段写入(顺序写入) ;================================================= HAN_WR2: LCALL CLEAR_P HAN_WR2A: MOV DPTR,#TAB1A ; 显示汉字和字符 MOV COUNT,#10H ; 地址计数器设为 16。 MOV A,#80H ; 第一行起始地址 LCALL SEND_I LCALL QUSHU HAN_WR2B: MOV DPTR,#TAB1B ; 显示汉字和字符 MOV COUNT,#10H ; 地址计数器设为 16。 MOV A,#90H ; 第二行起始地址 LCALL SEND_I LCALL QUSHU HAN_WR2C: MOV DPTR,#TAB1C ; 显示汉字和字符 MOV COUNT,#10H ; 地址计数器设为 16。 MOV A,#88H ; 第三行起始地址 LCALL SEND_I LCALL QUSHU HAN_WR2D: MOV DPTR,#TAB1D ; 显示汉字和字符 MOV COUNT,#10H ; 地址计数器设为 16。 MOV A,#98H ; 第四行起始地址 LCALL SEND_I LCALL QUSHU LCALL DELAY3 LCALL FLASH LCALL CLEAR_P JMP TU_PLAY2 ;---------------------------------------------- ;TU_PLAY1: MOV DPTR,#TU_TAB1 ; 显示图形 LCALL PHO_DISP LCALL DELAY3 ;---------------------------------------------- TU_PLAY2: MOV DPTR,#TU_TAB2 ; 显示图形 L
带字库汉字显示演示程序 来自淘豆网www.taodocs.com转载请标明出处.