12864LCD的显示
扫描二维码
随时随地手机看文章
;模 块 名:ST7920 控制器 NS12864R
;功能描述:库内汉字的显示
;***************************;
; NS12864显示程序(库内汉字) ;
;***************************;
ORG 0000H
SJMP START
RS EQU P3.2 ;并行的指令/数据选择信号
RW EQU P3.3 ;并行的读写选择信号
E EQU P3.4 ;并行的使能信号
PSB EQU P3.5 ;并/串行接口选择:H-并行;L-串行
COM EQU 20H ;指令代码单元
DAT EQU 21H ;数据单元
ADRTEMP EQU 22H ;首地址暂存
COUNT EQU 23H ;计数器
H_DATA EQU 24H ;显示数据高位地址暂存
L_DATA EQU 25H ;显示数据低位地址暂存
;*******************;
; 主程序 ;
;*******************;
START: MOV SP,#30H
SETB PSB ;并行接口选择
LCALL INT ;调用初始化子程序
MOV ADRTEMP,#80H ;第一行显示首地址
MOV COUNT,#04H ;显示的个数
LCALL CCW_PR ;显示第一行的几个汉字
MOV ADRTEMP,#90H ;第二行显示首地址
MOV COUNT,#8H ;显示的个数
LCALL CCW_0 ;显示第二行的几个汉字
MOV ADRTEMP,#88H ;第三行显示首地址
MOV COUNT,#4H ;显示的个数
LCALL CCW_0 ;显示第三行的几个汉字
MOV ADRTEMP,#98H ;第四行显示首地址
MOV COUNT,#8H ;显示的个数
LCALL CCW_0 ;显示第四行的几个汉字
SJMP $
;*******************;
; 写指令代码子程序 ;
;*******************;
PR0: PUSH ACC
CLR RS ;并行指令通道
SETB RW ;R/W=0
PR01: MOV P1,#0FFH ;P1口置"1"
SETB E
MOV A,P1 ;P1读数
NOP
CLR E
JB ACC.7,PR01 ;判断状态字
CLR RS
CLR RW
SETB E
MOV P1,COM ;写入指令
CLR E
POP ACC
RET
;*******************;
; 写显示数据子程序 ;
;*******************;
PR1: PUSH ACC
CLR RS
SETB RW
PR11: MOV P1,#0FFH ;P1口置"1"
SETB E
MOV A,P1 ;P1读数
NOP
CLR E
JB ACC.7,PR11 ;判断状态字
SETB RS
CLR RW
SETB E
MOV P1,DAT ;显示数据
CLR E
POP ACC
RET
;*******************;
; 初始化子程序 ;
;*******************;
INT: MOV COM,#30H ; 基本指令动作
LCALL PR0
MOV COM,#06H ;位址归位
LCALL PR0
MOV COM,#0FH ;开显示设置(光标显示)
LCALL PR0
MOV COM,#01H ;清除显示
LCALL PR0
RET
;*******************;
; 汉字输入子程序 ;
;*******************;
CCW_PR: MOV DPTR,#CCTAB ;确定字符模块首地址
MOV L_DATA,DPL ;字模低位地址
MOV H_DATA,DPH ;字模高位地址
CCW_0: MOV R0,#00H ;R0清零
MOV COM,ADRTEMP ;汉字显示首地址
LCALL PR0 ;设置显示首地址
MOV DPL,L_DATA ;字模高位地址
MOV DPH,H_DATA ;字模低位地址
CCW_1: CLR A
MOVC A,@A+DPTR ;取汉字字模高位数据
MOV DAT,A
LCALL PR1
INC DPTR
CLR A
MOVC A,@A+DPTR ;取汉字字模低位数据
MOV DAT,A
LCALL PR1
INC DPTR
INC R0
MOV A,R0
CJNE A,COUNT,CCW_1 ;一行显示判断
MOV L_DATA,DPL ;字模低位地址
MOV H_DATA,DPH ;字模高位地址
RET
CCTAB: DB 0B3H,0E8H,0C8H,0E8H,0B2H,0BBH,0BEH,0AAH
; 宠 辱 不 惊
DB 0CFH,0D0H,0BFH,0B4H,0CDH,0A5H,0C7H,0B0H,0BBH,0A8H,0BFH,0AAH,0BBH,0A8H,0C2H,0E4H
; 闲 看 庭 前 花 开 花 落
DB 0C8H,0A5H,0C1H,0F4H,0CEH,0DEH,0D2H,0E2H
; 去 留 无 意
DB 0C2H,0FEH,0CBH,0E6H,0CCH,0ECH,0CDH,0E2H,0D4H,0C6H,0BEH,0EDH,0D4H,0C6H,0CAH,0E6H
; 漫 随 天 外 云 卷 云 舒
END