;RUTINA PRUEBA DEL LCD CON 8051 ;Por Vicente Martinez ;Bus datos del LCD(pat. 7 a 14) en Puerto 1 del 8051 ;Enable(pat. 6) del lcd al puerto 3 patilla 4 ;RS (pat. 4)del lcd al puerto 3 patilla 5 ;WR (pat. 5)del lcd a tierra. ;pat 1 del LCD tierra. ;pat 2 del LCD + 5 voltios. ;pat 3 del LCD luminosidad con resistencia variable. DPORT: EQU 90H ;DIRECCION PUERTO DE DATOS P1 INITD: EQU 38H ;INICIALIZA DISPLAY LIMP: EQU 01H ;BORRA PANTALLA INICIO: EQU 02H ;POSICION INICIAL VISUA: EQU 0CH ;ENCIENDE Y CURSOR ESTATICO CPORT: EQU 0B0H ;DIRECCION PUERTO P3 STROBE: EQU 0B4H ;P3.4 PAT 14-ENABLED CTRL: EQU 0B5H ;P3.5 PAT 11-RS ORG 0H PRIN: MOV CPORT,#00H ;LIMPIA PUERTO 3 MOV DPORT,#00H ;LIMPIA PUERTO 1 ACALL RETARDO ACALL LCDINI MOV DPORT,#48H ;LETRA H Mostramos el mensaje "HOLA" en LCD ACALL ESCRIBE MOV DPORT,# 4FH ;LETRA O ACALL ESCRIBE MOV DPORT,# 4CH ;LETRA L ACALL ESCRIBE MOV DPORT,# 41H ;LETRA A ACALL ESCRIBE MOV DPORT,# 20H ACALL ESCRIBE PRIN2: AJMP PRIN2 LCDINI: CLR STROBE ;A CERO STROBE CLR CTRL ;A CERO CTRL ACALL RETARDO ;RETRASO PARA EL LCD LCDLIM: MOV DPORT,#INITD ;ENCIENDE DISPLAY CURSOR ON ACALL CONTROL CLR CTRL MOV DPORT,#VISUA ;2 LINEAS DISPLAY ACALL CONTROL CLR CTRL MOV DPORT,#INICIO ;POSICION INICIAL ACALL CONTROL CLR CTRL MOV DPORT,#LIMP ;BORRA PANTALLA ACALL CONTROL CLR CTRL RET CONTROL: CLR CTRL ;CTRL a cero SETB STROBE ;STROBE a uno ACALL RETARDO CLR STROBE ;STROBE Y CTRL a cero CLR CTRL RET ESCRIBE: SETB STROBE ;STROBE Y CTRL a uno SETB CTRL ACALL RETARDO CLR STROBE ;STROBE Y CTRL a cero CLR CTRL RET RETARDO: MOV R3,#100 RETAR1: MOV R2,#255 RETAR2: DJNZ R2,RETAR2 DJNZ R3,RETAR1 RET END