Ayuda temporizador con el MikroC

#1
Estoy programando un Pic para utilizarlo de temporizador en una insoladora. Y como compilador utilizo el MikroC. No se si es el compilador o el proteus que no me hace lo que le programo, ya que al escribir Lcd_Out(2,4,"Hola"); En vez de escribir hola me aparece el contenido de otra variable que habia mostrado. Le dejo un enlace con el codigo fuente en C y el esquema del Proteus. El enlace es . Un saludo
 
#2
He siguido avanzando en el proyecto. Pero me encuentro con otro fallo que supongo de es del MikroC. La linea de codigo que esta marcada como comentario, no me la ejecuta bien. En vez de poner insolando como esta en el codigo fuente me pone un numero. El proyecto es . Esta en C de MikroC y el esquema del proteus para simular. Haber si alguien me puede echar una mano. Un saludo
 
#3
Hola, le di un rápido vistazo y veo que si funciona... Al iniciar aparece "INSOLAGUN" "2010", 2 segundos después aparece "TIEMPO(SEG)" y un valor 24. Al presionar el botón empieza el conteo, ahora te digo lo que modifique; Solo le agregue una resistencia PullDown (conectado a GND) entre el pin RC0 y el pulsador, pues lo que sucede es que el PIC está obteniendo falsos disparos (no sabe si es 1 o 0 cuando lee esa pata).

Mira otros esquemas ya que el motivo es obvio, cuando un pin es de entrada por lo menos debe haber una señal 0 o 1 que por lo general es una resistencia a PullDown o PullUp según sea el caso conectado a ese pin.

Otra cosa, ahí veo que usas dos veces el Lcd_Init();, no digo que está mal pero creo que ya no es necesario, tan solo usando los comandos de limpiar, mover el cursor, etc, podrías hacer todo.

Si pasa algo más me avisas.

Saludos.
 
Última edición:
#4
Ese probrema ya lo resolvi, muchas gracias por responder. Pero lo que mas me inquieta es el probrema que tengo expecificado en el segundo post. Un saludo
 
#5
OK, hay algo curioso... pon como comentario todas las rutinas que traten de sonido Sound_Init() y Sound_play(), que es el problema... al simular sin esas funciones ahora si aparece el texto "Insolando".

Puede ser que las funciones que generan sonido hacen alguna llamada que no sabes o hace uso de posiciones en memoria que tu estás usando (vale la pena ver el código ASM que genera),en fin prueba hacer de tus variables como estáticas o asigna una posición de memoria exacta a tus variables.

PD: Que versión estas usando del MiKroC ya que en el mio esto ADC_Init() me da error, no existe en la lib (Ver3.2).

Saludos.
 
#6
OK, hay algo curioso... pon como comentario todas las rutinas que traten de sonido Sound_Init() y Sound_play(), que es el problema... al simular sin esas funciones ahora si aparece el texto "Insolando".

Puede ser que las funciones que generan sonido hacen alguna llamada que no sabes o hace uso de posiciones en memoria que tu estás usando (vale la pena ver el código ASM que genera),en fin prueba hacer de tus variables como estáticas o asigna una posición de memoria exacta a tus variables.

PD: Que versión estas usando del MiKroC ya que en el mio esto ADC_Init() me da error, no existe en la lib (Ver3.2).

Saludos.
Muchas gracias por responder. Mi versión es la 3.8 creo que es la ultima. Vete a view y a library manager y activa la libreria del CAD. Un saludo

Como puedo hacer una variable estatica? Porque ahora lo que me pasa es que a la segunda vez, no me aparece los de Tiempo(Seg). Un saludo

Si quieres ver el nuevo codigo . Un saludo
 
Última edición:

Temas similares

Arriba