Bueno gente. Acá ajunto un txt. con el programa finalizado.
La plaqueta todavía no la hice. Pero supongo que mañana la haré.
Gracias por la ayuda brindada y cualquier consulta escribanme que los trataré de ayudar en lo que pueda.
Por lo pronto, en los próximos días subiré los planos de la plaqueta, con el conexionado así se entiende bien.
Pero para los que me lo pedían, acá está el código en asembler.
Sancho
PD: No me deja agregar el .txt... asique se los copio en la caja de texto:
LIST P=16F84A
#INCLUDE <P16F84A.inc>
CBLOCK H"0C"
CONTADOR
CONTADOR2
TEMPORAL
CounterA
CounterB
PISO
BYTE
DIRECCION
ENDC
__CONFIG _XT_OSC &_WDT_OFF &_PWRTE_ON &_CP_OFF
ORG H"00"
GOTO INICIO
ORG H"05"
DELAY
movlw D"5"
movwf CounterB
movlw D"138"
movwf CounterA
loop
decfsz CounterA,1
goto loop
decfsz CounterB,1
goto loop
return
TABLA
ADDWF PCL,F
RETLW B"00010001"
RETLW B"00001110"
RETLW B"00001110"
RETLW B"00001110"
RETLW B"00001110"
RETLW B"00001110"
RETLW B"00010001"
RETLW B"00011011"
RETLW B"00011001"
RETLW B"00011010"
RETLW B"00011011"
RETLW B"00011011"
RETLW B"00011011"
RETLW B"00000000"
RETLW B"00010001"
RETLW B"00001110"
RETLW B"00001111"
RETLW B"00010111"
RETLW B"00011001"
RETLW B"00001110"
RETLW B"00000000"
RETLW B"00010001"
RETLW B"00001110"
RETLW B"00001111"
RETLW B"00010011"
RETLW B"00001111"
RETLW B"00001110"
RETLW B"00010001"
RETLW B"00010111"
RETLW B"00010011"
RETLW B"00010101"
RETLW B"00010110"
RETLW B"00000000"
RETLW B"00010111"
RETLW B"00010111"
RETLW B"00000000"
RETLW B"00001110"
RETLW B"00011110"
RETLW B"00010001"
RETLW B"00001111"
RETLW B"00001110"
RETLW B"00010001"
RETLW B"00010001"
RETLW B"00001110"
RETLW B"00011110"
RETLW B"00010000"
RETLW B"00001110"
RETLW B"00001110"
RETLW B"00010001"
RETLW B"00000000"
RETLW B"00001111"
RETLW B"00010111"
RETLW B"00011011"
RETLW B"00011101"
RETLW B"00011101"
RETLW B"00011101"
RETLW B"00010001"
RETLW B"00001110"
RETLW B"00001110"
RETLW B"00010001"
RETLW B"00001110"
RETLW B"00001110"
RETLW B"00010001"
RETLW B"00010001"
RETLW B"00001110"
RETLW B"00001110"
RETLW B"00010001"
RETLW B"00001111"
RETLW B"00001110"
RETLW B"00010001"
RETLW B"00010001"
RETLW B"00001110"
RETLW B"00001110"
RETLW B"00010001"
RETLW B"00001111"
RETLW B"00001110"
RETLW B"00010001"
MUESTREO
CLRF CONTADOR
MOVLW H"00"
MOVWF EEADR ;PASO DIRECCION A EEADR
BSF STATUS,RP0 ;BANCO 1
BSF EECON1,RD ;LEER DATO DE LA EEPROM
BCF STATUS,RP0
MOVF EEDATA,W ;DATA --->W
CLRWDT
MOVWF PISO
MOVF PISO,W
MOVWF TEMPORAL
LMUESTREO
MOVF CONTADOR,W
MOVWF PORTB
MOVF TEMPORAL,W
CALL TABLA
MOVWF PORTA
CALL DELAY
MOVLW D"7"
XORWF CONTADOR,W
BTFSC STATUS,Z
RETURN
INCF TEMPORAL,F
INCF CONTADOR,F
GOTO LMUESTREO
ESCRITURA
BSF STATUS,RP0
BSF EECON1,WREN
MOVLW H"55"
MOVWF EECON2
MOVLW H"AA"
MOVWF EECON2
BSF EECON1,WR
LOPO BTFSS EECON1,EEIF
GOTO LOPO
BCF EECON1,EEIF
BCF STATUS,RP0
RETURN
INICIO
BSF STATUS,RP0
CLRF TRISA
MOVLW B"11000000"
MOVWF TRISB
BCF STATUS,RP0
LOOP2
CALL MUESTREO
BTFSS PORTB,7
GOTO LOOP5
GOTO SUBE
LOOP5
BTFSS PORTB,6
GOTO LOOP2
GOTO BAJA
SUBE
MOVLW D"63"
XORWF PISO,W
BTFSC STATUS,Z
GOTO LOOP2
MOVLW D"7"
MOVWF CONTADOR2
LSUBE
INCF PISO,F
CLRF EEADR
MOVF PISO,W
MOVWF EEDATA
CALL ESCRITURA
CALL MUESTREO
CALL MUESTREO
CALL MUESTREO
CALL MUESTREO
CALL MUESTREO
CALL MUESTREO
CALL MUESTREO
CALL MUESTREO
CALL MUESTREO
CALL MUESTREO
CALL MUESTREO
CALL MUESTREO
DECFSZ CONTADOR2,F
GOTO LSUBE
CLRF EEADR
MOVF PISO,W
MOVWF EEDATA
CALL ESCRITURA
GOTO LOOP2
BAJA
MOVLW D"0"
XORWF PISO,W
BTFSC STATUS,Z
GOTO LOOP2
MOVLW D"7"
MOVWF CONTADOR2
LBAJA
DECF PISO,F
CLRF EEADR
MOVF PISO,W
MOVWF EEDATA
CALL ESCRITURA
CALL MUESTREO
CALL MUESTREO
CALL MUESTREO
CALL MUESTREO
CALL MUESTREO
CALL MUESTREO
CALL MUESTREO
CALL MUESTREO
CALL MUESTREO
CALL MUESTREO
CALL MUESTREO
CALL MUESTREO
DECFSZ CONTADOR2,F
GOTO LBAJA
CLRF EEADR
MOVF PISO,W
MOVWF EEDATA
CALL ESCRITURA
GOTO LOOP2
END