Contar cuantas veces se enciende el pic y cuando llegue a una cifra.

#1
Hola soy ingeniero eléctrico y quiero incursionar en el tema de los pic y estoy dando los primeros pasos, y por supuesto tengo muchas lagunas .... estoy haciendo un comprador de tensión con un pic1f675 hasta ahí no hay problemas, pero quiero agregarle que me cuente las veces se enciende el pic o cuantas veces da un 1 una salida ...grabarlo en eeprom para no perderlo al quitar la alimentacion ....y una ves que llegue a una cifra X ....deje de funcionar . o se bloque ..hasta que lo vuelva a programar ...es posible??. por ejemplo ...estoy programando con pbp..
saludos ...
 
Última edición por un moderador:
#2
Tendrias que comprobar el valor apenas arranca el programa, sumarle uno, y luego comparar con el valor preestablecido. Y de ahi en adelante todo el resto de programa. No conozco ese programa, yo uso PIC C, o algo asi
 
#3
el programa es microcode studio .....basic no?.me pudieras ayudar con el codigo ??te le agradeceria ya q soy nuevo en esto y me estoy rompiendo el coco .. esto es lo q tengo para el comprador y me funciona solo quiero implementar lo otro...esto lo estoy haciendo de manera autodidacta desde cero saludos y gracias

CMCON = %00000011 'HABILITA EL COMPARADOR CON REFERENCIA INTERNA
VRCON = %10100010 'Vref interna 0.42v
ANSEL = 0
ADCON0 = 0
'
'DEFINICIONES
'
OUT1 VAR GPIO.2 'SALIDA DEL COMPARADOR PIN (5)
OUT2 VAR GPIO.4 'SALIDA PIN (3)
'COMIENZA EL PROGRAMA
'
TRISIO = %11101011 'HACE SALIDA EL PIN GPIO.2 y PIN GPIO.4
REPETIR:
OUT1 = cmcon.6
if OUT1 = 1 THEN OUT2 = 0
IF OUT1 = 0 THEN OUT2 = 1
GOTO REPETIR
END
 
#4
Hola, pregunto, cuántas veces puede iniciar el PIC, hasta bloquearse? Ya que los registros de la EEPROM, te permiten hasta un valor de 255(8bits). Siendo el caso de un número superior, habrá que aparear dos o más registros.
 
#7
pudiera ser 100 veces ?
Bien, cómo comenta el compañero. Debes leer el registro donde se incrementará en +1, cada vez que inicie el programa. Y los pasos a seguir serían:

Inicio programa
Leer registro x en EEPROM.
Comparar si el valor almacenado es menor al establecido, continua la ejecución
Caso contrario, entra en bucle infinito.
Sumar +1 a dicho registro.
Grabar nuevo valor en registro x.
Continua ejecución del programa
 
#8
No conozco ese lenguaje, pero te puedo guiar con un plan de programacion.
Esto tendria que suceder todas las veces que el PIC comience su programa.
1) inicio las variables, definiciones, configuraciones, etc.
2) leo el valor desde la EEPROM (asi sea externa o interna)
3) comparo si el valor guardado es el maximo preestablecido. Si es asi, no continuo con el resto del programa hasta que el valor se reinicie. Si el valor es menor o diferente, entonces sigo con el programa.
Aca hago mension que si el valor es el maximo, habria que ir a una subrutina que compruebe si el pin asignado como "reset", o "reinicio" de ese valor se ha pulsado, si es asi, reestablezco el valor a cero, y continuo con el resto del programa normalmente.
4) si el valor es diferente al preestablecido, sigo con el resto del programa, pero al valor guardado le sumo 1, y luego lo vuelvo a guardar en la EEPROM.
5) sigo el programa normalmente.

Mas o menos asi deberia ser.
 
#9
En el ultimo espacio de la EEPROM graba 255, cada vez que arranca el PIC le debe descontar en uno, y vuelve a grabar dicho valor, ademas de poner un condicional si var eeprom >= 156 entonces sigue el programa, si se enciende el PIC 100 veces, entonces terminó el demo del programa, cuando llegue a 155, :LOL:
Americo
 
Arriba