SoloCodigo
Programación Específica => Microcontroladores => Mensaje iniciado por: MORO2807 en Jueves 7 de Septiembre de 2006, 02:37
-
Hola amigos estoy trabajando con el pic 16f84A, pero tengo el siguiente inconveniente: Activo el TMR0 y le realizo una rutina de retardos de 1 segundo luego leo el valor del TMR0, borro e inicio el ciclo nuevamente, y bueno elprograma funciona en el simulador pero cuando lo "monto" en el circuito solo me lo hace pocas veces, algunas veces lo hace 5 o 6 veces como hay otras en que solo lo hace una vez y se queda con el dato eltimo dato medido.
Agradezco su ayuda y su atencion.
CHAU :D
-
elprograma funciona en el simulador pero cuando lo "monto" en el circuito solo me lo hace pocas veces, algunas veces lo hace 5 o 6 veces como hay otras en que solo lo hace una vez y se queda con el dato eltimo dato medido.
Hola :hola: MORO2807 , si te es posible postea el programa para buscar donde este el problema, sin verlo no se me ocurre que podria estar mal para que en el simulador funcione y no funcione al montarlo :think: , aunque una vez me pasaba algo similar y era unas configuraciones que debia cambiar en el software grabador (WINPIC800) ¿que grabador estas usando tu?
-
el amigo tiene razon es dificil saber cual es tu problema
puede que no estes limpiando el TMR0 y/o que no estes limpiando la bandera de desbordamiento del timer 0
puedes ver el siguiente sitio que tiene como utilizar el tmr0(se utiliza igual en toda la serie 16F) y tmr1(para el 16F87x)
esperto haya sido de utilidad
-
Saludos Compañeros.
Asi es dsanjuan71, sino colocas tu programa nose te puede ayudar y como dicen los compañeros puede ser desde que no acargas el TMR0 o no limpias la bandera, o hasta mala programacion
bye
:hola:
-
:o hola MORO! saves que tengo el mismisimo problema con un pic 16f84a..aveces arranca despues de varios minutos..pero hay veces que ni se le antoja arrancar..mi proyecto es prender varias luces en distintos intervalos de tiempos..yo programmo en c con el compilador c de HI-TECH..porfavor si alguien me podria alsar alguna ayudita gracias.. :D
-
aqui les posteo mi programiya!
#define XTAL 4000000
#define amon (RA0=1,RA2=1,RB1=1,RB3=1)
#define amoff (RA0=0,RA2=0,RB1=0,RB3=0,RB6=1)
#include <htc.h>
#include <pic.h>
__CONFIG(0x3FFB&0x3FFD);
long int z,x;
int j,seg,sama,i,a,b,c,d;
void interrupt isr_tmr0(void)
{
j++;
if(j == 961)
{
seg++;
sama++;
a++;
}
if(j == 1922)
{
seg++;
sama++;
a++;
j = 0;
}
TMR0 = 130;
T0IF = 0;
}
main()
{
TRISA=0x00;
TRISB=0x00;
RA0=0;
RA1=0;
RA2=0;
RA3=0;
RA4=0;
RB0=0;
RB1=0;
RB2=0;
RB3=0;
RB4=0;
RB5=0;
RB7=0;
TMR0 = 130;
T0CS = 0;
PSA = 0;
PS2 = 0;
PS1 = 1;
PS0 = 0;
T0IE = 1;
GIE = 1;
for(;;)
{
if(seg<=12)
{
RB6=1;
if(sama == 1)
{
amon;
}
if(sama == 2)
{
amoff; sama = 0;
}
a=0;
}
}
}
-
ah y por sierto tambien funciona perfectamente en el simulador ISIS pero el montarlo..no funciona correctamente.. :wacko: