Hola, soy José Luis, vengo a hacerles un cuestionamiento, espero puedan ayudarme.
Tengo un circuito, lo adjunto, está en Isis (Proteus), que se compone de un PIC16F873A,de 5 interruptores con optoacopladores y 4 displays de 7 segmentos.
La función del circuito es para un sumador de monedas, se supone que cuando pasa una moneda, interrumpe la luz en determinados optos, según el tamaño de la moneda; la moneda mas grande (en México es la de 10 pesos) bloquea los 5 optos, y la mas pequeña solo uno. Las monedas las simule en Isis con unos switches. Se deben ir sumando los valores, segun su tamaño, y mostrar la suma en un display.
El programa del PIC consta de varios módulos:
El tercero no es de mi autoría, lo saque de un código que ví en internet (si debo poner el enlace, solo diganme). Los otros 2 si, los hice como pude, jejeje.
Probé el primero en un circuito de un solo digito, y si los suma, o sea, si sirvió.
Probé el tercero con solo un interruptor, y tambien funcionó.
El problema es a la hora de juntarlos, ya que para hacer que el tercer modulo (que toma valores separados de decenas, unidades y centenas) funcione con el primer módulo (que guarda toda la suma en un solo registro, o sea, en binario) solo se me ocurrió hacerlo con el segundo módulo, pero no funciona. No logro ver porque el display solo muestra ceros en la simulación.
Espero haber sido claro.
Por favor, les pido amablemente que me echen la mano. Gracias.
Tengo un circuito, lo adjunto, está en Isis (Proteus), que se compone de un PIC16F873A,de 5 interruptores con optoacopladores y 4 displays de 7 segmentos.
La función del circuito es para un sumador de monedas, se supone que cuando pasa una moneda, interrumpe la luz en determinados optos, según el tamaño de la moneda; la moneda mas grande (en México es la de 10 pesos) bloquea los 5 optos, y la mas pequeña solo uno. Las monedas las simule en Isis con unos switches. Se deben ir sumando los valores, segun su tamaño, y mostrar la suma en un display.
El programa del PIC consta de varios módulos:
- El que interpreta los valores que le mandan los sensores y los suma en un contador. ("Registro de monedas" en el *.asm que adjunto)
- El que separa las unidades de las decenas de lo que está en el contador. ("Traspaso de contador a unidades y decenas" en el *.asm que adjunto)
- El que toma los valores de las unidades y decenas y los despliega en los displays. (Toda la primera parte del *.asm que adjunto)
El tercero no es de mi autoría, lo saque de un código que ví en internet (si debo poner el enlace, solo diganme). Los otros 2 si, los hice como pude, jejeje.
Probé el primero en un circuito de un solo digito, y si los suma, o sea, si sirvió.
Probé el tercero con solo un interruptor, y tambien funcionó.
El problema es a la hora de juntarlos, ya que para hacer que el tercer modulo (que toma valores separados de decenas, unidades y centenas) funcione con el primer módulo (que guarda toda la suma en un solo registro, o sea, en binario) solo se me ocurrió hacerlo con el segundo módulo, pero no funciona. No logro ver porque el display solo muestra ceros en la simulación.
Espero haber sido claro.
Por favor, les pido amablemente que me echen la mano. Gracias.