;RINFRAF88TINY ;PROGRAMA PARA EVOLUPIC Bootloader 16F88 ;PROGRAMA USADO EN EL MODULO RECEPTOR INFRARROJO ;REQUIERE MODIFICACIONES EN EL MODULO. VER DOCUMENTO PDF. ;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 RB4...RB7 DURANTE UN SEGUNDO ;según la posición de los microswitches en el ;módulo trasmisor.Si se trasmite el código 1001(OFF,ON,ON,OFF) ;enciende (durante un segundo)y apaga el relevador. ;CVRCON,CMCON,ANSEL EN BANCO 1 ;JUMPERS DE EVOLUPIC Bootloader 16F88 OPUESTOS A LA ;FLECHA QUE APUNTA A LA POSICION RS232. processor 16F88 include 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 PE EQU 23H ACUM EQU 24H STAT EQU 25H CUEN EQU 26H CARA2 EQU 27H ORG 00H CLRF PCLATH GOTO WEB 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 WEB movlw 0xa movwf CUEN goto INICIO INICIO BANCO1 clrf ANSEL movlw b'00000000' movwf TRISA ;puerto A salidas MOVLW 04H ;B2/RX entrada, B5/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 CVRCON ;deshabilita referencia MOVLW 0X7 MOVWF CMCON BANCO0 ;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 CALL PAUSA1 FIN GOTO INICIO PAUSA1 movlw 0x6 ;1.005878 s movwf L PAL1 movlw 0xDA movwf M PAM1 MOVLW 0XFF MOVWF PE PAN1 DECFSZ PE,F GOTO PAN1 decfsz M,F goto PAM1 decfsz L,f goto PAL1 return END