Antes de nada deciros que por fin lo he hecho funcionar. El problema estaba en la configuración del Winpic800. Hay que marcar una opción que no lo estaba. Adjunto envio fichero por si alguien tiene el mismo problema.
No creo que haya sido ese el problema, hasta donde se nada tiene que ver la Opcion de AVR de Atmel con la de los Pic de microchip... pero bueno... dices que funciono...
Otra cosa es que el programa no funciona todo lo fino que yo quisiera; es decir, cuando enciendo la placa, los led actuan de acuerdo con la posición del conmutador, pero cuando voy cambiando las posiciones una veces lo hace bien y otras no. Si apago y enciendo de nuevo, otra vez lo hace bien y cuando cambio otra vez se vuelve loco. Quizas por esto digas que el programa esta medio chistoso.
si el como estas usando la bandera no creo que sea lo adecuado... llega hasta 8 y efectivamente tienes que reiniciar para empezarla en 0... por eso digo que esta chistoso...
El calculo de las resistencias lo he hecho según la formula que he visto en un libro sobre el 16F84A que es: R= Vin - 1.2V /5mA. Segun esta sale un valor de 2K2.
depende mucho del opto, pero normalmente se necesitan 10mA... tienes 12v-1.4v aprox.de la caida de los diodos. menos 1.2v de Led de opto da 1k aprox. pero verifica las caracteristicas del opto que tengas...
En cuanto a alimentar directamente con 12 V, no he visto nada en el datasheets referente a eso. Es posible?.
yo no dije que lo alimentaras con 12v sino que en las entradas RA0, RA1, YRA2 que estas utilizando tienen diodos de proteccion y puedes poner los 12v (menos las cadas de voltaje de los diodos) directos, obviamente como menciono peep287 limitando la corriente con una resistencia, segun el datashit aguanta una corriente maxima de 20mA, asi que 12v/.02mA= 600Ω, con 10k seguro funcionara bien...
Por el puerto B que saldrian 12 V o 5V?.
por el puerto B saldrian 5v... porque el pic no lo puedes alimentar en Vdd con un voltaje mayor de 6.5 con respecto a vss, repito yo no dije que se alimente con 12v
Haber, aun a pesar de extenderme mucho, voy a explicarme bien. La idea del circuito es: en función de la posición de un conmutador de 8 posiciones sale un codigo BCD pero de tres cifras solamente y a 12V. Dependiendo del codigo alimento 8 pequeños motores. El PIC lo quiero para mostrar en un LCD el motor que esta activo en cada momento. El circuito lo voy haciendo poco a poco para ir asegurandome de que va funcionando bien. Ahora estoy en la fase del PIC y antes de conectar el LCD quiero estar seguro de que funciona. Lo que hago es poner 3 led a la entrada del PIC y si funciona tengo que tener el mismo codigo a salida que a la entrada. De momento, como os he dicho mas arriba, he conseguido que se enciendan pero solo funciona bien despues de apagar y encender.
Siento mucho haberme extendido tanto y por encima de todo, muchas gracias por vuestra ayuda.
Mejor pon el esquema como va a quedar porque el LCD seguramente va en todo el puerto B y el puerto A lo tendras que utilizar para el selector y los motores, y pues como manejes el puerto A va a ser lo importante...
en cuanto a lo de los fuses ok.. no tenia idea en que estas compilando... Dijiste Pic basic Pro, asi que ya estoy confundio....