list p= 16F628A ;listo el micros a utilizar
#include P16F628A.inc; incluye la libreria del pic
__CONFIG _FOSC_XT & _WDTE_OFF & _PWRTE_OFF & _CP_OFF;configuracion de la palabra del pic con seguridar timers
CBLOCK 0X20
NUM1, NUM2, NUM3, DATO ;declaración de registros
ENDC
ORG 0X00 ;declaro el origen del programa en la dirección de reset
GOTO INICIO ;voy al inicio real del programa
ORG 0X04 ;declaro el vector de interrupción
;******************C O D I G O D E I N T E R R U P C I O N************************************
MOVF RCREG,W
MOVWF TXREG
MOVWF DATO
BCF PIR1,RCIF
RETFIE
;*****************************************************************************************
;******************C O N F I G U R A C I O N D E P U E R T O S********************************
INICIO: BSF STATUS,RP0 ;CAMBIO A BANCO 1
BCF TRISB,3 ;CONFIGURO PORTB,3 Y PORTB,4 COMO SALIDA
BCF TRISB,4 ;PARA LOS LEDS INDICADORES
BSF TRISB,1 ;CONFIGURO PORTB,1 Y PORTB,2 PARA QUE
BSF TRISB,2 ;FUNCIONE EL MODULO USART
BCF STATUS,RP0 ;CAMBIO A BANCO 0
CALL USARTINI ;LLAMO A LA SUBRUTINA QUE CONFIGURA
;AL MODULO USART
START: MOVF DATO,W ;COLOCO EL CONTENIDO DEL REGISTRO
SUBLW "49" ;DATO EN W Y LO COMPARO CON UNA
BTFSS STATUS,Z ;LITERAL
GOTO NEXT ;SI NO ES IGUAL, VA A LA SIGUIENTE PREGUNTA
bsf PORTB,4 ;SI ES IGUAL, ENCIENDO PORTB,4
CLRF DATO ;BORRO EL CONTENIDO DEL REGISTRO
GOTO START ;Y REGRESO AL INICIO DEL CODIGO
NEXT: MOVF DATO,W ;COLOCO EL CONTENIDO DEL REGISTRO
SUBLW "50" ;DATO EN W Y LO COMPARO CON UNA
BTFSS STATUS,Z ;LITERAL
GOTO NEXT1 ;SI NO ES IGUAL, VA A LA SIGUIENTE PREGUNTA
bsf PORTB,3 ;SI ES IGUAL, ENCIENDO PORTB,3
CLRF DATO ;BORRO EL CONTENIDO DEL REGISTRO
GOTO START ;Y REGRESO AL INICIO DEL CODIGO
NEXT1: MOVF DATO,W ;COLOCO EL CONTENIDO DEL REGISTRO
SUBLW "51" ;DATO EN W Y LO COMPARO CON UNA
BTFSS STATUS,Z ;LITERAL
GOTO START ;SI NO ES IGUAL, REGRESA A START
CLRF PORTB ;SI ES IGUAL, BORRA TODO PORTB
CLRF DATO ;BORRO EL CONTENIDO DEL REGISTRO
GOTO START ;Y REGRESO AL INICIO DEL CODIGO
;*****************************************************************************************
;*************C O D I G O D E I N I C I A L I Z A C I O N D E L A U S A R T********************
USARTINI: BSF STATUS,RP0
MOVLW 0X24
MOVWF TXSTA
MOVLW D'25'
MOVWF SPBRG
BSF PIE1,RCIE
MOVLW 0XC0
MOVWF INTCON
BCF STATUS,RP0 ;BANCO 0
MOVLW 0X90
MOVWF RCSTA
RETURN
;*****************************************************************************************
END