Autor Tema: contador con dyspley 7 secmentos  (Leído 1534 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado sandra_rcb2000

  • PIC12
  • **
  • Mensajes: 92
contador con dyspley 7 secmentos
« en: 09 de Julio de 2003, 21:39:00 »
hola como ya les e mencionado no tengo experiencia en programacion despues de muchos intentos programe una una rutina para conteo asendente,desendente la cual no funciona correctamente por las siguientes causas:
1-cuando corro el programa el displey se inicialisa con el digito 7 enves de 0 o 9 segun el caso.
2-en la cuenta desendente inicia en 8 en ves de 9 y no pasa por 0.
3-en la cuenta asendente no pasa por 0
4-para realizar el cambio entre cuenta asendente y desendente debo resetear el programa y no deveria ser asi.
4-estoy segura que no es necesario tener repetido el codigo,pero no encuentro como.
les incluyo el programa ogala puedan mostrarme mis errores que estoy segura son muchos.

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7912
RE: contador con dyspley 7 secmentos
« Respuesta #1 en: 10 de Julio de 2003, 13:30:00 »
Aunque me parecio imposible, en el codigo no has cometido los terrores de ortografia que escribes en los mensajes....

Para que siempre verifiques si cambias de cuenta ascendente a descendente deberas poner el primer Button despues de la etiqueta Ini, pues sino despues de iniciado el programa nunca vuelve a comprobarlo.
Ademas, deberas ponerle al conteo descendente el cierre del Loop a Ini y no a Ini1, pues tampoco sabras como volver a cambiar a ascendente.

En el caso de los ceros no los ves no quiere decir que no se produzcan, nuevamente es un problema de prioridad de instrucciones, pues si incrementas el conteo inmediatamente despues de poner a cero, muestra uno sin mostrar el cero (pusiste a cero, incrementaste uno y luego mandaste al display, siempre va a mostrar 1).
Aqui solo puedo recomendar incrementar despues de mostrar en display.

El 7 inicial es aleatorio, a mi entender.
Yo siempre introduzco luego de setear los puertos y antes de la rutina principal un CLEAR, que se encarga de poner en cero los valores aleatorios que pudieran aparecer.
Incluso los de los puertos, que tu no seteas correctamente, eso se hace con TRISA y TRISB.

Suerte
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.