; Programa principal
;====================================================================
inicio
call LCD_Inicializa
call Retardo_1ms
movlw 'H'
Call LCD_Caracter
movlw 'o'
Call LCD_Caracter
movlw 'l'
Call LCD_Caracter
movlw 'a'
Call LCD_Caracter
movlw ' '
Call LCD_Caracter
movlw 'm'
Call LCD_Caracter
movlw 'u'
Call LCD_Caracter
movlw 'n'
Call LCD_Caracter
movlw 'd'
Call LCD_Caracter
movlw 'o'
call LCD_Caracter
goto $
INCLUDE <RETARDOS.INC>
INCLUDE <LCD_4BIT.INC>
;====================================================================
END ;Directiva que indica la finalización del pgm
Para no tener problemas con el LCD, modificamos la subrutina "LCD_Inicializa" de la siguiente manera:
; Subrutina "LCD_Inicializa" ------------------------------------------------------------
;
; Inicialización del módulo LCD: Configura funciones del LCD, produce reset por software,
; borra memoria y enciende pantalla. El fabricante especifica que para garantizar la
; configuración inicial hay que hacerla como sigue:
;
LCD_Inicializa
bsf STATUS,RP0
bcf LCD_PinRS
bcf LCD_PinEnable
bcf STATUS,RP0
bcf LCD_PinRW
bcf LCD_PinEnable
bcf LCD_PinRS
call Retardo_20ms
movlw b'00110000'
call LCD_EscribeLCD
call Retardo_5ms
movlw b'00110000'
call LCD_EscribeLCD
call Retardo_200micros
movlw b'00110000'
call LCD_EscribeLCD
call Retardo_20micros ; NUEVO
movlw b'00100000'
call LCD_EscribeLCD
call Retardo_20micros ; NUEVO
I got here much interesting stuff. The post is great! Thanks for sharing it! Diseño Pcb
ResponderEliminar