Bueno chicos, estoy muy aficionado a la electronica, pero la verdad es que el programa isis de proteus me vuelve loco. Lo que pretendo hacer es que primero se encienda una filera de led uno a uno y luego se encienda la primera filera de led junto con la segunda, columna a columna. Lo primero que debo deciros es que cuando enviaba data = 1 al registro de desplazamiento los led no se encendian ( con el programa Isis ) y al subsituir los 1 por los 0 si que me funcionaba. Otra cosa es que si variaba un poco la resistencia en la cual esta conectada un led el programa ya me mandaba un error. Otra cosa que hace es que cuando acaba de hacer el encendido de led el programa no me regresa a main.
A partir de aqui quiero haceros unas cuantas preguntas:
1) ¿ El programa que he escrito en basic (pic simulator ide --> basic compiler ) esta bien echo ? ¿ Que retocariais ?
2) ¿ El circuito en isis mas o menos esta bien echo ? ¿ Los errores continuos son debidos al programa o errores mios ?
3) ¿ Que otro simulador me recomendais para hacer pruebas con pic que no sea Isis y que sea mas fiable ?
Symbol fila1 = PORTA.0
Symbol fila2 = PORTA.1
Symbol clock = PORTB.6
Symbol data = PORTB.7
Dim reset As Byte
Dim contador As Byte
reset = 0
contador = 0
TRISB = %00000000
TRISA = %00000000
PORTB = %00000000
PORTA = %00000000
main:
Gosub reset
fila1 = 1
Gosub uno
WaitMs 500
Gosub parpadeo
fila2 = 1
Gosub uno
WaitMs 500
Gosub parpadeo
Goto main
End
reset:
While reset < 8
data = 1
clock = 0
WaitUs 2
clock = 1
reset = reset + 1
WaitUs 2
Wend
Return
parpadeo:
While contador < 8
data = 1
clock = 0
WaitUs 2
clock = 1
WaitMs 500
contador = contador + 1
Wend
Return
uno:
data = 0
clock = 0
WaitUs 2
clock = 1
WaitUs 2
Return