jueves, 29 de septiembre de 2011
Actividad numero 5 - Contadores - Sistemas secuenciales
He aquí el video que comprueba el correcto funcionamiento del contador discreto armado por nuestro grupo.
miércoles, 14 de septiembre de 2011
LCD- Hola Mundo
;====================================================================
; 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 LCD_PinRW
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
; 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
Suscribirse a:
Entradas (Atom)