TODOPIC
Microcontroladores PIC => Almacén del Assembler => Mensaje iniciado por: raul03 en 20 de Junio de 2013, 21:45:04
-
Amigos tengo un problema el cual me esta sacando canas verde y no lo encuentro :5] . El programa es muy simple y es el siguiente: tengo un boton el cual agregara a los 7 segmentos de 30 en 30 segundos cada vez que es presionado y otro boton el cual sera el start para que el programa empiece a descontar desde ese tiempo hasta llegar a 0, realice todo el codigo y me hace perfecto el conteo regresivo de 30 segundos y el de 1:30 hasta llegar a 1:00 , pero a la hora de hacer luego de 1min no lo realiza, el unico error que me sale es en el proteus cuando lo simulo y es el siguiente:
(http://img850.imageshack.us/img850/1685/s0uw.jpg) (http://imageshack.us/photo/my-images/850/s0uw.jpg/)
les adjunto el .asm el .hex y el archivo de proteus por si quieren verificar algo.
Muchas gracias de antemano si alguien me prodria ayudar se los agradeceria muchisimo
-
No tengo totalmente claros algunos detalles de tu aplicación y me perdí analizando el programa ASM pero me pareció que no se verifica el valor del dígito de minutos. Así pues cuando inicias de 1:30 el contador por supuesto llegará hasta 1:00 pero se detendrá ahí.
Tendrías que añadir el procedimiento para que cuando la cuenta de segundos alcance cero se verifique también el contador de minutos y si éste no es cero que lo decremente y recargue el contador de segundos a 59 y continúe la cuenta. Solo deberá detener la cuenta cuando ambos contadores, el de segundos y el de minutos sean cero. Precaución con el rollover de los segundos para que se despliegue la secuencia correcta 1:01/1:00/0:59.
La razón de que dije que decremente el contador de minutos es porque esa sería la situación con contadores de más de 1:59.
Espero que esto te ayude.
Saludos.