El programa podria rular asin??
Codigo:
;**********************************LCD_soft&hard********************************
;Testea pin RA1 ,si=0 llama a subrutina para LCD y sale un mensaje en la pantalla,
;si=1 los otros pin del PIC=0
;
;ZONA DE DATOS******************************************************************
LIST P=16F84 ;El ucontrolador utilizado
INCLUDE <P16F84.INC> ;Archivo de definicion de datos
CBLOCK 0x0C ;Define un bolque de constantes
ENDC
;ZONA DE CODIGOS****************************************************************
ORG 0 ;El programa empieza en la posicion 0
Inicio bsf STATUS,RP0 ;Pone a 1 el bit 5 del STATUS, Acceso al Banco 1.
clrf TRISB ;La lineas del Puerto B se configuran como salidas.
movlw b"00000000"
clrf TRISA ;Configura las linias del Puerto A:
movlw b"01000" ; RA1 como entrada, los otros son salidas
bcf STATUS,RP0 ;Pone a 0 el bit 5 del STATUS. Acceso al Banco 0.
Principal
btfsc PORTA,1 ;Testea el pin RA1 y salta si es 0
goto LCD ;Si RA1=0 salta a "LCD".
btfss PORTA,1 ;Testea el pin RA1 y salta si es 1
goto LCD_PC ;Si RA0=1 salta a LCD_PC
;"LCD"****************************************************************************
;
LCD
Iniciolcd
call LCD_Inicializa ;Prepara el display LCD.
Principal_LCD
movlw Mensaje0 ;Apunta el mensaje.
call LCD_MensajeMovimiento
goto Principal_LCD ;Repite la visualización.
;"MENSAJES"************************************************************************
;
Mensajes
addwf PCL,F
Mensaje0 ;Posicion inicial del mensaje
DT" " ;Espacios en blanco al principio
DT"El PC no esta mandando"
DT"informacion"
DT" ",0x0 ;Espacios en blanco al final.
INCLUDE<LCD_MENS.INC>
INCLUDE<LCD_4BIT.INC>
INCLUDE<RETARDOS.INC>
;"LCD_PC"****************************************************************************
;
LCD_PC
BCF PORTB,0 ;Desactiva a RB0 (RB0=0)
BCF PORTB,1 ;Desactiva a RB1 (RB1=0)
BCF PORTB,2 ;Desactiva a RB2 (RB2=0)
BCF PORTB,3 ;Desactiva a RB3 (RB3=0)
BCF PORTB,4 ;Desactiva a RB4 (RB4=0)
BCF PORTB,5 ;Desactiva a RB5 (RB5=0)
BCF PORTB,6 ;Desactiva a RB6 (RB6=0)
BCF PORTB,7 ;Desactiva a RB7 (RB7=0)
BCF PORTA,0 ;Desactiva a RA0 (RA0=0)
BCF PORTA,2 ;Desactiva a RA2 (RA2=0)
END ;Fin de programa