Hola a todos, buen fin de semana. Subí un ratito y encontré Los comentarios, a los que me sumo. No he tratado con el Altium por no necesitarlo, sé que es un gran programa y muy potente, pero en general, y con los limites que conllevan, utilizo el Eagle, Front Designer, etc, programas menos complejos pero de buen desempeño. No uso otros porque considero, al no ser algo tan profesional lo mio, que sería innecesario y no me da el PC para ello. En el zip pongo el npl de algo que adelante en ratos libre, no he probado más que la falta de errores de compilado asm, por lo que lo expongo a su criterio, adjunto imagen de funcion de lo pines para su comprension. Tambien dejo parte de lo que te habia dicho Sergio, no puedo subir una imagen de la vista del teclado con leds realizado.
He ehado un vistazo a lo adjuntado y decir que me parece correcto el planteamiento pero tengo que hacer unas preguntas/observaciones:
veo que trabajas con banderas, pero
- ¿Como cambian los bits de las mismas? Veo que los compruebas pero no veo como se activan me imagino que será con las rutinas de deteccion de programa seleccionado. Entonces en las rutinas de deslavdado, lavado_1 lo estas comprobando doblemente por ejemplo si esta a media carga una vez con la bandera y otra con los pines de entrada.
- Dentro del registro de banderas_l me parece que tienes repetido lel nombre "Iniciar_lavado"
- Toda la parte que hay debajo de cada seleccion de lavado: usr_lavado1, lavado2, lavado3,..... deberia ir dentro de cada uno de los mismos , pero adaptandolo un poco a las especificaciones de cada uno de los programas de lavado.
- ¿no se pueden utilzar en vez de esas banmderas los mismos nombres pero asociados a cada uno de los bits de los puertos de entrada y salida? Quizas el codigo sea mas eficiente y directo.
Aparte de eso nada mas a primera vista pero ya te digo que esta bastante bien para empezar. Una vez que se avance y se vaya probando podré ir realizando los comentarios y un word de los pasos de como está realizado y para que cosa sirve cada bloque del programa. Mas o menos una descripcion del proyecto para que los principiantes puedan entender mejor el manejo de Niple.
______________________________________________________________________________________________________________________________
Respecto al pcb:
- veo que has decidido utilizar el oscilador interno del pic, cosa que en el Niple no has configurado la cpu para ese fin. ¿Has mirado si el datasheet de ese pic te permite trabajar con el oscilador interno a 4MHz? Niple solo permite hacerlo a esa frecuencia. Una cosa mas el bit osc debes ponerlo tambien a "XT".
-Aunque para este caso no es significativo, te aconsejaria que cuando realizes un pcb las curvas de las pistas NO las realices en angulo recto, procura que si son a 45º mucho mejor. Es un consejo util cuando se trabaja con altas frecuencias y si te acostumbras a realizarlo de esa manera siempre lo haras asi y te evitaras problemas.
- Una cosilla mas me puedes poner aunqe sea en texto las señales de cada pin, en el pcb no las veo muy bien.
Saludos
Fermin