问题是不能显示汉字,只能显示字符和数字
;*******************************
;下列为LCD主程序
;*******************************
LCD_CSH:MOV A,#30H ; 开显示,初始化
LCALL SEND_ZL
MOV A,#30H ;
LCALL SEND_ZL
MOV A,#01H ;
LCALL SEND_ZL
MOV A,#06H ;
LCALL SEND_ZL
MOV A,#0CH ;
LCALL SEND_ZL
;*******************************
; 汉字显示程序
;*******************************
LCD:MOV A,#90H
LCALL SEND_ZL
MOV R2,#10H
MOV DPTR,#HZ
LCD1:CLR A
MOVC A,@A+DPTR
INC DPTR
LCALL SEND_SJ ;;发送汉字
DJNZ R2,LCD1
LJMP LCD
; ;
;*********************************
; 发送指令 ;
;*********************************
SEND_ZL:LCALL BUSY ;;检测是否忙
CLR RS ; 准备
CLR RW ;
MOV P0,A ;送数据到总线
SETB E ;
NOP ;
NOP ;;
NOP ;
NOP ;
CLR E ;传送
;
RET ;
;;
;*********************************
; 发送数据 ;
;********************************* ;
SEND_SJ:LCALL BUSY ; 检测是否忙
SETB RS ;;检测是否忙
CLR RW ;
MOV P0,A ;;送数据到总线
SETB E ;
NOP ; ;
NOP ;
NOP ;
NOP ;
CLR E ;;传送
;;
RET ;
;
;*********************************
; 查询是否忙 ;
;*********************************
BUSY:MOV P0,#0FFH ;送P0为高电平
CLR RS ; 准备
SETB RW ;准备读内部状态
SETB E ;读取内部状态
JB P0.7,$ ;检测是否空闲
CLR E ;恢复使能端
RET
HZ: DB ' 我爱电子 YUN DAO'