LCMRS EQU P2.4 LCMRW EQU P2.5 LCMEN EQU P2.6 LCMDATA EQU P0 ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV SP,#60H LCALL LCMSET LCALL LCMCLR MOV A,#80H LCALL LCMWR0 MOV DPTR,#TAB0 LCALL LCMWR2 MOV A,#0C0H LCALL LCMWR0 MOV DPTR,#TAB1 LCALL LCMWR2 SJMP $ TAB0: DB "I AM YUAN MING",00H TAB1: DB "NICE TO MEET YOU",00H LCMLAY: ;讀忙程序,用于判斷d7是否為0 PUSH ACC LOOP: CLR LCMEN CLR LCMRS SETB LCMRW SETB LCMEN MOV A,LCMDATA CLR LCMEN JB ACC.7,LOOP POP ACC LCALL DELAY RET LCMWR0: ;寫入指令 LCALL LCMLAY CLR LCMEN CLR LCMRS CLR LCMRW SETB LCMEN MOV LCMDATA,A CLR LCMEN RET LCMWR1: ;寫入數(shù)據(jù) LCALL LCMLAY CLR LCMEN SETB LCMRS CLR LCMRW SETB LCMEN MOV LCMDATA,A CLR LCMEN RET LCMWR2: 寫入字符串(字符串屬于數(shù)據(jù)) PUSH ACC LOOP1: CLR A MOVC A,@A+DPTR JZ LOOP2 LCALL LCMWR1 INC DPTR LJMP LOOP1 LOOP2: POP ACC RET LCMSET: ;程序初始化 MOV A,#38H LCALL LCMWR0 MOV A,#08H LCALL LCMWR0 MOV A,#01H LCALL LCMWR0 MOV A,#06H LCALL LCMWR0 MOV A,#0CH LCALL LCMWR0 RET LCMCLR: ;清屏 MOV A,#01H LCALL LCMWR0 RET DELAY: MOV R6,#5 ;2.7MS延時(shí)子程序(作用尚不知) D1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 RET END