Mira esta es la rutina de inicializacion, me interesa poder hacer el scroll de la seccion prim_mensaje, asi como esta el texto esta fijo, cualquier ayuda es bien recibida.
Gracias por la orientacion inicial.
;*****************************************************************************************
;..........................COMANDOS PARA EL LCD...........................................
;
LCD_INI CALL D_15MS ;
MOVLW 28H ; 4Bits,2 lineas, 5*7
CALL LCDI ;
MOVLW 6H ; incremento, desplaza visualizacion
CALL LCDI ;
MOVLW 0CH ; Display on,cursor off,parpadeo off
CALL LCDI ;
RETURN ;
;
;****************************************************************************************
;................RUTINA PARA EL ENVIO DE INSTRUCCIONES...................................
;
LCDI BCF RS ; LCD en modo de INSTRUCCIONES
MOVWF AUX ;
SWAPF AUX,W ;Voltea el dato
MOVWF PORTA ;
CALL LCD_E ;
MOVF AUX,W ;
MOVWF PORTA ; Carga el dato al puerto
CALL LCD_E ; Llama bit de habilitacion de LCD
CALL D_5MS ; Tiempo de 5 mS
RETURN ;
;
;****************************************************************************************
;................RUTINA PARA EL ENVIO DE CARACTERES......................................
;
LCDC BSF RS ; LCD en modo de DATOS
MOVWF AUX ;
SWAPF AUX,W ;
MOVWF PORTA ;
CALL LCD_E ;
MOVF AUX,W ;
MOVWF PORTA ; Carga el dato al puerto
CALL LCD_E ; Llama bit de habilitacion de LCD
CALL D_5MS ; Tiempo de 5 mS
RETURN ;
;
;****************************************************************************************
;................RUTINA PARA EL ENVIO DE PULSO HABILITADOR...............................
;
LCD_E BSF E ; Activa señal E
NOP ;
BCF E ; Desactiva E
RETURN ;
;
;*****************************************************************************************
;--------------------RUTINA DE ENVIO DE PRIMER MENSAJE PARA VISUALIZAR--------------------
;
PRIM_MENSAJE
MOVLW 01H ;
CALL LCDI ; ENVIA INSTRUCCION DE BORRADO PARA LCD
;
CLRF AUX1 ;
MOVLW .16 ; CARGA REGISTRO CON NUMERO DE CARACTERES
MOVWF COUNT ; A VISUALIZAR EL LA PANTALLA
;
LOOP_MEN1
MOVF AUX1,W ; MUEVE VALOR CERO PARA LLAMAR EL PRIMER
CALL MENSAJE_1 ; CARACTER QUE ESTA EN LA TABLA MENSAJE_1
CALL LCDC ; LLAMA LA RUTINA DE ENVIO DE CARACTER AL LCD
INCF AUX1,1 ; AUMENTA EL REGISTRO DE POSICIONES EN LA TABLA
DECFSZ COUNT,1 ; DECREMETA EL CONTADOR DE CARACTERES DE LINEA DE CARACTER
GOTO LOOP_MEN1 ; SI NO HA TERMINADO CONTINUA CON LA RUTINA
;
MOVLW 0C0H ; POSICIONAMIENTO DE LA DD_RAM
CALL LCDI ; 2 LINEA * 1 POSICION
;