EN BIT P3.4 RS BIT P3.5 MAIN: CALL SP_KD CALL LCD_KD CALL XOA
LONG: MOV A,#85H
CALL WRITE_COM PUSH DPH PUSH DPL PUSH ACC MOV DPTR,#TABLE3 MA: MOV A,#0 MOVC A,@A+DPTR INC DPTR CALL WRITE_TEXT CJNE A,#0,MA POP ACC POP DPL POP DPH MOV A,#85H CALL WRITE_COM MOV R5,#6 LOOP1: CALL IN CJNE A,#'D',LOOP CALL OUT CALL WRITE_TEXT DEC R5 CALL IN CJNE A,#'H',LOOP CALL OUT CALL WRITE_TEXT DEC R5 CALL IN CJNE A,#'B',LOOP CALL OUT CALL WRITE_TEXT DEC R5 CALL IN CJNE A,#'K',LOOP CALL OUT CALL WRITE_TEXT DEC R5 CALL IN CJNE A,#'1',LOOP CALL OUT CALL WRITE_TEXT DEC R5 CALL IN CJNE A,#'0',LOOP CALL OUT CALL WRITE_TEXT DEC R5 ENTER1: CALL IN CJNE A,#13,ENTER1 HA1: CALL TCONG CALL DELAY1S CALL XOACHU JNB RI,TIEP1 ESC1: CALL IN CJNE A,#27,ESC1 JMP LONG TIEP1: CALL DELAY1S SJMP HA1 LOOP: CALL OUT CALL WRITE_TEXT DEC R5 LOOP2: CALL IN CALL OUT CALL WRITE_TEXT DJNZ R5,LOOP2 ENTER2: CALL IN CJNE A,#13,ENTER2 HA2: CALL TBAI CALL DELAY1S CALL XOACHU JNB RI,TIEP2 ESC2: CALL IN CJNE A,#27,ESC2 JMP LONG TIEP2: CALL DELAY1S SJMP HA2 SP_KD: MOV SCON,#52H ;CHE DO 2:8 BIT MOV TMOD,#21H ;NAP TIMER 0 DE TAO DELAY ....TIMER 1 TAO TOC DO BAUD MOV TH1,#-3 MOV A,87H ;PHAI CHON THACH ANH DUNG TAN SO -> CO SAI SO LA SAI KY TU SETB ACC.7 MOV 87H,A ;DUA TOC DO BAUD LEN 19200.... SETB TR1 RET LCD_KD: MOV A,#38H CALL WRITE_COM MOV A,#0EH CALL WRITE_COM MOV A,#06H CALL WRITE_COM RET XOA: MOV A,#01H ACALL WRITE_COM RET IN: JNB RI,$ CLR RI MOV A,SBUF RET OUT: JNB TI,$ CLR TI MOV A,#'*' MOV SBUF,A RET
WRITE_COM: ;KHONG DUNG PUSH ACC DO KHONG SU
DUNG TRA BANG SETB EN CLR RS MOV DPTR,#8000H MOVX @DPTR, A CLR EN LCALL WAIT_LCD RET WRITE_TEXT:PUSH DPH PUSH DPL PUSH ACC SETB EN SETB RS MOV DPTR,#8000H ;MOV A,#'*' MOVX @DPTR, A CLR EN LCALL WAIT_LCD1 POP ACC POP DPL POP DPH RET WAIT_LCD: MOV TH0,#HIGH(-40000) MOV TL0,#LOW(-40000) SETB TR0 JNB TF0 ,$ CLR TR0 CLR TF0 RET WAIT_LCD1: MOV TH0,#HIGH(-1000) MOV TL0,#LOW(-1000) SETB TR0 JNB TF0 ,$ CLR TR0 CLR TF0 RET DELAY1S: MOV R0,#10 DEL1: MOV TH0,#HIGH(-50000) MOV TL0,#LOW(-50000) SETB TR0 JNB TF0 ,$ CLR TR0 CLR TF0 DJNZ R0,DEL1 RET DELAY1MS: MOV TH0,#HIGH(-5000) MOV TL0,#LOW(-5000) SETB TR0 JNB TF0 ,$ CLR TR0 CLR TF0 RET TCONG: MOV A,#0C3H CALL WRITE_COM PUSH DPH PUSH DPL PUSH ACC MOV DPTR,#TABLE1 MA1: MOV A,#0 MOVC A,@A+DPTR INC DPTR CALL WRITE_TEXT CJNE A,#0,MA1 POP ACC POP DPL POP DPH RET TBAI: MOV A,#0C0H CALL WRITE_COM PUSH DPH PUSH DPL PUSH ACC MOV DPTR,#TABLE2 MA2: MOV A,#0 MOVC A,@A+DPTR INC DPTR CALL WRITE_TEXT CJNE A,#0,MA2 POP ACC POP DPL POP DPH RET XOACHU: MOV A,#0C0H CALL WRITE_COM PUSH DPH PUSH DPL PUSH ACC MOV DPTR,#TABLE4 MA3: MOV A,#0 MOVC A,@A+DPTR INC DPTR CALL WRITE_TEXT CJNE A,#0,MA3 POP ACC POP DPL POP DPH RET TABLE1: DB 'Successful! ',0 TABLE2: DB ' AccessDenied! ',0 TABLE3: DB' ' ,0 TABLE4: DB ' ',0