lcd_8_bit_de_olger_erazo

Buenas tardes Estudiantes a continuación encuentran la libreria que se construyo en la clase de digitales 2 para pantallas lcd's conectadas por 8 lineas al bus de datos.

CBLOCK .60 dato_lcd

ENDC Iniciar_pantalla CALL Retardo_200ms bsf STATUS,RP0 bcf STATUS,RP1 bcf RS bcf RW bcf EN clrf PD;todas las anteriores son salidas bcf STATUS,RP0 clrf PD
 * 1) DEFINE RS PORTC,5
 * 2) DEFINE RW PORTC,6
 * 3) DEFINE EN PORTC,7; EN=enable
 * 4) DEFINE PD PORTD; PD=PUERTO DE DATOS EN EL PUERTO D

bcf RS bcf RW bcf EN call Retardo_20micros movlw b'00110000' call LCD_envia_comando call Retardo_5ms

bcf RS bcf RW movlw b'00110000' call LCD_envia_comando call Retardo_200micros

bcf RS bcf RW movlw b'00110000' call LCD_envia_comando

bcf RS bcf RW movlw b'00111000' call LCD_envia_comando; lcd 2 filas de 5x7 matrices

bcf RS bcf RW movlw b'00001000' call LCD_envia_comando; apaga el display

bcf RS bcf RW movlw b'00000001' call LCD_envia_comando; limpia la LCD y se ubica en la primera fila

bcf RS bcf RW movlw b'00000110' call LCD_envia_comando; cursor en 1/2 incremento. return LCD_Borra movlw b'00000001' goto LCD_envia_comando LCD_Cursor_Incremento movlw b'00000110' goto LCD_envia_comando LCD_Cursor_Off movlw b'00001100' goto LCD_envia_comando LCD_Linea1 movlw b'10000000' goto LCD_envia_comando LCD_Linea2 movlw b'11000000' goto LCD_envia_comando LCD_envia_comando movwf dato_lcd bcf RS movwf dato_lcd movwf PD bsf EN; habilitado call Retardo_1ms bcf EN;desabilitado call Retardo_2ms return LCD_envia_caracter movwf dato_lcd bsf RS movf dato_lcd,w movwf PD bsf EN call Retardo_1ms bcf EN call Retardo_1ms return