;RINFRA ;PROGRAMA USADO EN EL MODULO RECEPTOR INFRARROJO ;CONECTAR EL MODULO RECEPTOR AL CONECTOR PARA LCD EN EVOLUPIC ;recibe un mensaje remoto desde el módulo trasmisor infrarrojo ;modo asincrono a 300 bauds. EL MENSAJE CONSISTE DE UN SOLO ;BYTE QUE CONTIENE EL CODIGO DE LOS MICROSWITCHES ;enciende los LEDS según la posición de los microswitches en el ;módulo trasmisor. si se trasmite el código 1001, enciende y ;apaga el relevador. ;EL PROGRAMA FUNCIONA PARA UN SISTEMA EVOLUPIC 16F628 ;EL PROGRAMA TAMBIEN FUNCIONA CON UN SISTEMA EDUPIC, SIEMPRE Y ;CUANDO SE REEMPLACE EL 16F84 POR UN MICROCONTROLADOR 16F628 processor 16F628 include __config _XT_OSC & _WDT_OFF & _PWRTE_OFF & _MCLRE_ON & _BODEN_OFF & _LVP_OFF BANCO0 MACRO BCF STATUS,RP0 BCF STATUS,RP1 ENDM BANCO1 MACRO BSF STATUS,RP0 BCF STATUS,RP1 ENDM CARA1 EQU 0X20 L EQU 21H M EQU 22H P EQU 23H ACUM EQU 24H STAT EQU 25H CUEN EQU 26H CARA2 EQU 27H ORG 00H movlw 0xa movwf CUEN goto INICIO ORG 04H CORTE bcf INTCON,2 movwf ACUM movfw STATUS BANCO0 movwf STAT decfsz CUEN goto HECHO btfsc PORTB,3 goto ESUNO bsf PORTB,3 movlw 0xa movwf CUEN goto HECHO ESUNO bcf PORTB,3 movlw 0xa movwf CUEN HECHO movfw STAT movwf STATUS swapf ACUM,F swapf ACUM,W retfie INICIO BANCO1 movlw b'00000000' movwf TRISA ;puerto A salidas MOVLW 02H ;B1/RX entrada, B2/TX salida MOVWF TRISB movlw b'11010111' movwf OPTION_REG MOVLW 0xcf ;x=207(10)=cf(16) en formula de baud rate MOVWF SPBRG ;para 300 bauds, modo sincrono MOVLW 00H ;BRG=0, SYNC=0, TXEN=0, TX9=0 MOVWF TXSTA ;baja Vel., Asin, no Hab. Tx, 8 bits de datos movlw 0x4 movwf VRCON ;deshabilita referencia BANCO0 MOVLW 0X7 MOVWF CMCON ;deshabilita comparador bsf INTCON,7 bsf INTCON,5 MOVLW 0X00 MOVWF RCREG MOVLW 0X90 ;habilita puerto serie MOVWF RCSTA ;bits 7 SPEN y 4 CREN a uno RECIBO BTFSS PIR1,5 GOTO RECIBO movfw RCREG movwf CARA1 movwf CARA2 swapf CARA2 andlw 0XF0 movwf CARA1 movfw CARA2 andlw 0XF0 bcf STATUS,Z subwf CARA1,w btfss STATUS,Z goto RECIBO BANCO1 movlw 0x0 movwf TRISB BANCO0 movlw 0x0 ;deshabilita puerto serie movwf RCSTA ;bits 7 SPEN y 4 CREN a cero bcf STATUS,Z movfw CARA1 sublw 0x90 btfsc STATUS,Z goto RELE goto SIGUE RELE movfw CARA1 movwf PORTB BSF PORTA,0 ;activa relevador CALL PAUSA1 BCF PORTA,0 ;desactiva relevador goto FIN SIGUE movfw CARA1 movwf PORTB FIN GOTO INICIO PAUSA1 movlw 0x6 ;1.005878 s movwf L PAL1 movlw 0xDA movwf M PAM1 MOVLW 0XFF MOVWF P PAN1 DECFSZ P,F GOTO PAN1 decfsz M,F goto PAM1 decfsz L,f goto PAL1 return END