COM EQU R4 DAT EQU R5 RS EQU P2.1 RW EQU P2.2 E EQU P2.3
BF: MOV P1,#0FFH;读BF和AC值 CLR RS SETB RW SETB E CLR E MOV A,P1 JB ACC.7,BF RET
WI: ;写指令代码子程序 LCALL BF CLR RS CLR RW MOV P1,COM SETB E CLR E RET
WD: ;写显示数据子程序 LCALL BF SETB RS CLR RW MOV P1,DAT SETB E CLR E RET
RRD: ;读显示数据子程序 LCALL BF SETB RS SETB RW SETB E CLR E RET
DELAY: MOV R7,#0FFH LOOP0: MOV R6,#0FFH DJNZ R6,$ DJNZ R7,LOOP0 RET
INI: MOV R3,#03H;间接控制方式下的初始化子程序 MOV COM,#38H ;功能设置8位数据1/16DUTY5X8 字体 LCALL WI DJNZ R3,INI MOV COM,#01H ;清显示 LCALL BF LCALL WI MOV COM,#06H ;输入方式设置:AC 自动加1 LCALL BF LCALL WI MOV COM,#0CH ;开显示 LCALL BF LCALL WI RET
START: ORG 0000H LCALL INI MOV COM,#80H LCALL WI LCALL BF MOV DAT,#44H;我想第一行第一个字显示这个 LCALL WD LCALL BF MOV COM,#80H LCALL WI LCALL BF LCALL RRD LCALL BF LCD ENDS END START
89stc51rc LCD1602 无法实现我的目的(初学),网络.h文件做了测试 可以显示 硬件没问题 问题出在程序上!请高手帮忙指出错误!谢谢!
|