Hola Charly te voy a agregar abajo de este comentario una copia de lo que pude obtener de adentro de un PIC, el tema es que el programa ese no funciona, y no tengo ni la menor idea de donde puede estar la falla; con respecto a las patas usadas, cuales describo las que intervienen los pulsadores? o las que se conectan mediante las pistas de la tarjeta a los relay?? muchas gracias y espero una respuesta tuya! saludos Aplanado!!
; Generated by WinDis84, (c) Nigel Goodwin 1998.
LIST P=16F84, F=INHX8M
include "P16FXX.inc"
ORG 0x0000
ORG 0x0007
MOVF 0x0C , W
ORG 0x000F
MOVF PCLATH , W
ORG 0x0017
CALL Label_0001
ORG 0x001F
XORLW 0x01
ORG 0x0027
CALL Label_0002
ORG 0x002F
SUBLW 0x07
ORG 0x0037
ADDLW 0x39
ORG 0x003F
GOTO Label_0003
ORG 0x0047
MOVLW 0x6B
Label_0003
ORG 0x004F
XORLW 0x08
ORG 0x0057
DECF 0x20 , f
ORG 0x005F
BSF PCLATH , 03
ORG 0x0067
DECF 0x20 , W
ORG 0x006F
CALL Label_0004
Label_0004
ORG 0x0077
BTFSC STATUS , Z
ORG 0x007F
XORLW 0x02
ORG 0x0087
RETLW 0x55
ORG 0x008F
BTFSC STATUS , Z
ORG 0x0097
MOVWF FSR
ORG 0x009F
MOVF 0x1F , W
ORG 0x00A7
CALL Label_0005
ORG 0x00AF
MOVF 0x1F , W
ORG 0x00B7
MOVF 0x20 , W
ORG 0x00BF
ADDLW 0xEF
ORG 0x00C7
BTFSC EEADR , 04
ORG 0x00CF
BTFSC 0x20 , 00
ORG 0x00D7
GOTO Label_0006
ORG 0x00DF
GOTO Label_0007
ORG 0x00E7
MOVF 0x0D , W
Label_0006
ORG 0x00EF
MOVF PORTA , W
ORG 0x00F7
MOVWF 0x1F
ORG 0x00FF
CALL Label_0008
ORG 0x0107
MOVLW 0x6A
ORG 0x010F
CALL Label_0009
ORG 0x0117
CALL Label_000A
ORG 0x011F
MOVWF 0x24
ORG 0x0127
ANDLW 0xF0
ORG 0x012F
MOVF 0x2F , W
ORG 0x0137
MOVLW 0x03
Label_0007
ORG 0x013F
INCF 0x0C , f
ORG 0x0147
Label_0009 CLRF 0x2D
ORG 0x014F
CALL Label_0002
ORG 0x0157
ANDLW 0xF0
ORG 0x015F
INCF 0x2D , f
ORG 0x0167
MOVF 0x2D , W
ORG 0x016F
ADDWF 0x2E , f
ORG 0x0177
CALL Label_000B
Label_000C
ORG 0x017F
DECFSZ 0x20 , f
ORG 0x0187
DECF 0x0F , W
ORG 0x018F
CALL Label_0009
ORG 0x0197
CALL Label_0002
ORG 0x019F
ADDLW 0x3A
ORG 0x01A7
CALL Label_000C
ORG 0x01AF
MOVLW 0x88
ORG 0x01B7
BTFSS 0x20 , 00
ORG 0x01BF
MOVLW 0xEA
ORG 0x01C7
INCF FSR , f
ORG 0x01CF
BTFSC STATUS , Z
ORG 0x01D7
CALL Label_000D
ORG 0x01DF
INCF 0x0C , f
Label_000A
ORG 0x01E7
BSF PCLATH , 00
ORG 0x01EF
RETURN
Label_000D
ORG 0x01F7
MOVLW 0x7F
ORG 0x01FF
XORWF 0x2B , f
ORG 0x0207
BCF PORTB , 07
ORG 0x020F
CALL Label_000E
Label_000E
Label_0001
ORG 0x0217
BCF STATUS , C
ORG 0x021F
MOVLW 0x28
ORG 0x0227
RETLW 0x00
ORG 0x022F
BSF STATUS , IRP
ORG 0x0237
BTFSC 0x20 , 07
ORG 0x023F
SWAPF EEDATA , W
Label_0018
ORG 0x0247
CALL Label_000F
Label_000F
ORG 0x024F
MOVF EEADR , W
Label_0015
ORG 0x0257
BCF STATUS , C
ORG 0x025F
RLF 0x23 , f
ORG 0x0267
Label_0014 MOVWF EEDATA
ORG 0x026F
INCF FSR , f
ORG 0x0277
MOVWF 0x28
ORG 0x027F
CALL Label_0010
ORG 0x0287
BSF PCLATH , 04
Label_0010
ORG 0x028F
MOVLW 0x10
ORG 0x0297
GOTO Label_0011
Label_0011
ORG 0x029F
GOTO Label_0012
Label_0012
ORG 0x02A7
MOVWF 0x17
Label_0013
ORG 0x02AF
ADDLW 0x20
ORG 0x02B7
BCF STATUS , C
ORG 0x02BF
GOTO Label_0013
ORG 0x02C7
CLRF 0x17
ORG 0x02CF
BTFSC EEDATA , 03
ORG 0x02D7
RLF 0x1D , W
ORG 0x02DF
BTFSC EEDATA , 02
ORG 0x02E7
CALL Label_0014
ORG 0x02EF
BSF 0x15 , 00
ORG 0x02F7
ANDLW 0x3F
ORG 0x02FF
BSF 0x15 , 06
ORG 0x0307
CALL Label_0002
ORG 0x030F
BSF 0x14 , 05
ORG 0x0317
BSF 0x14 , 04
ORG 0x031F
RRF 0x1F , W
ORG 0x0327
BTFSC EEDATA , 06
ORG 0x032F
XORWF 0x2F , W
ORG 0x0337
BTFSC EEDATA , 05
ORG 0x033F
MOVF 0x1A , W
ORG 0x0347
MOVLW 0xF8
ORG 0x034F
CALL Label_0015
Label_0016
ORG 0x0357
GOTO Label_0016
ORG 0x035F
MOVLW 0x28
ORG 0x0367
GOTO Label_0017
Label_0017
ORG 0x036F
RETURN
ORG 0x0377
GOTO Label_0018
Label_0002
Label_000B ORG 0x037F
BSF STATUS , C
ORG 0x0387
BCF STATUS , C
Label_0008
ORG 0x038F
IORLW 0xA0
Label_0005
ORG 0x0397
CALL Label_0019
Label_0019
ORG 0x039F
BSF STATUS , C
ORG 0x03A7
BSF PORTB , 04
ORG 0x03AF
MOVLW 0xCF
Label_001A
Label_001B ORG 0x03B7
RETURN
ORG 0x03BF
GOTO Label_001A
ORG 0x03C7
GOTO Label_001B
ORG 0x2000
DATA 0x0F
DATA 0x0F
DATA 0x0F
DATA 0x0F
ORG 0x2007
DATA 0x19
END
Otra cosa que no entiendo es por que dice 16F84 cuando es un ...876A, espero respuestas!! Saludos