Beruflich Dokumente
Kultur Dokumente
Configuracin de Terminales
1. 2. 3. 4. Ground VCC (+3.3 to +5V) Contrast adjustment (VO) Register Select (RS). RS=0: Command, RS=1: Data 5. Read/Write (R/W). R/W=0: Write, R/W=1: Read 6. Clock (Enable). Falling edge triggered 7. Bit 0 (Not used in 4-bit operation) 8. Bit 1 (Not used in 4-bit operation) 9. Bit 2 (Not used in 4-bit operation) 10.Bit 3 (Not used in 4-bit operation) 11.Bit 4 12.Bit 5 13.Bit 6 14.Bit 7 15.Backlight Anode (+) 16.Backlight Cathode (-)
3
Rutina de Inicializacin
Encender LCD Enviar cdigo de INICIO Repetir cdigo de INICIO Repetir cdigo de INICIO Inicializar LCD
Esperar 1.5 ms despus de que Vdd llega a 4.5V
0011XXXX
Esperar 100s
Limpiar pantalla
LCD HD44780
Rutina de inicializacin
Escribir el cdigo 0011XXXX Checar BF, cuando este en bajo enviar nuevamente el cdigo 0011XXXX Checar BF, cuando este en bajo enviar nuevamente el cdigo 0011XXXX Establecer el tipo de funcionalidad del LCD Apagar el cursor y la pantalla Limpiar la pantalla Establecer el modo de entrada Encender el cursor y pantalla
6
1. 2. 3.
RS=0: Instruccin, RS=1: Dato R/W=0: Escritura, R/W=1: Lectura CE = 1 habilita, CE = 0, deshabilitado
Seleccin de Registro Escritura Habilita intercambio Envi de datos Deshabilita Intercambio
RS = 0, setup RS = 1, dato
RW = 1
CE = 1
CE = 0
25/11/2011
Function Set
RS 0 DL N F N 0 0 1 0 R/W 0 D7 0 D6 0 D5 1 D4 DL D3 N D2 F D1 X D0 X D RS 0 R/W 0 D7 0 = 1, Los datos son enviados en 8 bits = 0; Los datos son enviados en 4 bits, dos lecturas por cada carcter Establece el numero de lneas de la pantalla Establece el tamao del carcter. F 0 1 X 0 Numero de Lineas 1 1 2 0 0 Tamao del Carcter 57 puntos 510 puntos 57 puntos 1 1 Duty Factor 1/8 1/11 1/8 1 0 0 0 38H
7
Apagar Pantalla
D6 0 D5 0 D4 0 D3 1 D2 D D1 C D0 B = 1, Pantalla Encendida = 0; Pantalla Apagada, los datos permanecen en la RAM interna para desplegarse en cuanto la pantalla se encienda =1, despliega el cursor, = 0, apaga el cursor =1, el cursos destella, = 0, el cursor permanece encendido todo el tiempo RS 0 0 R/ W 0 0 D7 0 0 D6 0 0 D5 0 0 D4 0 0 D3 1 1 D2 0 1 D1 0 1 D0 0 1 pantalla y cursor apagados Pantalla y cursor encendido y cursor destellando
8
C B
SETUP:
; Configurar el puerto A como SALIDA ; Escribe al registro de control A ; Configurar el puerto B como salida ; Escribe al registro de control B ; cdigo para establecer comunicacin con LCD
Comandos
RS 0 0 R/ W 0 0 D7 0 0 D6 0 0 D5 0 0 D4 0 0 D3 0 0 D2 0 0 D1 0 1 D0 1 X
Limpiar pantalla Regresar el cursor a la primer columna de la pantalla 1/D=1 incrementa la posicin del cursor hacia la derecha 1/D = 0 decrementa la posicin del cursor hacia la izquierda S = 1 mueve todo el display hacia la derecha si I/D = 1 o hacia la izquierda si I/D = 0.
LD B,A CALL OUTPUT CALL CMDOUT CALL CMDOUT LD A, 00111000B CALL CMDOUT LD A,00001000B CALL CMDOUT LD A,00000001B CALL CMDOUT LD A,00000110B CALL CMDOUT LD A,00001100B CALL CMDOUT
9
; enva el cdigo a LCD ; reenva el cdigo a LCD ; reenva el cdigo a LCD ; establece 8 bits, 2 lneas y 5X7 caracteres
1/D
;limpia pantalla
RET
10
RS = 0 RS = 0, R/W = 1 RS = 0, R/W = 1, CE = 1
OUTPUT:
; RS = 0 ; R/W = 0 ; EN = 1
25/11/2011
; RS = 1 ; R/W = 0 ; EN = 1
START:
Microprocesadores 2011
15
Subrutina Retardo
DELAY:
; Esta subrutina realiza un retardo de 10 ms. El retardo es repetido el ; numero de veces indicado en B. ; Entrada: Numero de veces a repetir el retardo especificado en B ; Salida: Ninguna ; Registros Modificados: B
PUSH DE PUSH AF WAIT: LOOP: LD DEC LD OR JP DEC JR POP POP RET DE, COUNT DE A,D E NZ,LOOP B NZ,WAIT AF DE
;de 10ms ; Coloca D en A para checar banderas ; Prende bandera del cero si D=E=0 ; Decrementa B ; Si el retardo es suficiente termina
10 ; Restablece el valor de DE y AF
25/11/2011
Retardo
Total de estados-t LT = 40 TC = 0.5s Ttotal = 10ms L0 = 68
3
SETUP:
; Configurar el puerto A como SALIDA ; Escribe al registro de control A ; Configurar el puerto B como salida ; Escribe al registro de control B ; Espera por 0.1 segundos ; Retardo de 10 ms ; cdigo para establecer comunicacin con LCD ; enva el cdigo a LCD ; espera por 10ms ; reenva el cdigo a LCD ;espera por 10ms ; reenva el cdigo a LCD ;espera por 10ms
20
LOOP:
CALL DELAY DJNZ LOOP LD A,00110000B CALL CMDOUT CALL DELAY CALL CMDOUT CALL DELAY CALL CMDOUT CALL DELAY
LD A, 00111000B CALL CMDOUT CALL DELAY LD A,00001000B CALL CMDOUT CALL DELAY LD A,00000001B CALL CMDOUT CALL DELAY LD A,00000110B CALL CMDOUT CALL DELAY LD A,00001100B CALL CMDOUT CALL DELAY RET
; establece 8 bits, 2 lneas y 5X7 caracteres ;espera por 10ms ; apaga pantalla y cursor ;espera por 10ms ;limpia pantalla ;espera por 10ms ; modo de entrada, corre e incrementa cursor ;espera por 10ms ; enciende pantalla y cursor ;espera por 10ms
; RS = 0 comando ; R/W = 0 escribir ; EN = 1 habilitar LCD ; Enviar comando a escribir ; Deshabilitar LCD
START:
LD SP, STACK CALL SETUP LD A,87H CALL CMDOUT CALL DELAY LD HL, MESSAGE
24
25/11/2011
25