程序如下,显示不正确,表格中汉字不能显示,出现IOOOOOOI,字符可以YUN DA,如果数字的话也正常
;*******************************
;下列为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[s:10]CALL BUSY ;;检测是否忙
CLR RS 准备
CLR RW ;
MOV P0,A 送数据到总线
SETB E ;
NOP
NOP ;
NOP
NOP
CLR E ;传送
RET
;;
;*********************************
; 发送数据 ;
;*********************************
SEND_SJ[s:10]CALL 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'