TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: kurdo22 en 27 de Agosto de 2004, 04:16:00

Título: preescalado en un pic 18F8720
Publicado por: kurdo22 en 27 de Agosto de 2004, 04:16:00

   
    Muy buenas, estoy haciendo una temporizacion en un pic 18F8720 y a la hora de hacer el preescalado me dan por defecto unos preescalados ¿ No puedo poner yo el preescalado que quiera?Gracias
Título: RE: preescalado en un pic 18F8720
Publicado por: T0ni0 en 27 de Agosto de 2004, 04:25:00
Claro que si des de 1:2 hasta 1:256 mira en la pagina 131 (apartado 11.0) del DS39609B  , lo puedes cambiar modificando el estado de los bits 0-2 del T0CON .
Título: RE: preescalado en un pic 18F8720
Publicado por: kurdo22 en 27 de Agosto de 2004, 06:53:00

   Lo he mirado y a lo que te refieres es que puedo escoger entre unos preescalados ya establecidos. A lo que yo me refiero es a poner un numero de precarga cualquiera, elegido por mi dependiendo de unos calculos para el tiempo, igual que en el 8051.


   Tambien me gustaria saber si estos calculos son correctos:

   Queiro temporizar 10 us con el timer0 y 16bits. Tengo un cristal de 20MHz

   Frecuencia de oscilacion=20MHz
   ciclo maquina = Frecuencia de oscilacion/4= 4MHz
   tiempo unitario= 1/4MHz= 250 ns
   tiempo total del timer = 2^16*250ns= 16,384 ms

   16,384 mseg ----------- 2^16
    10 us  -------------------   x

      X = (10us *2^16)/ 16,384 ms =  40

     40 en hexadecimal deberia ser la precarga que debo meterle al timer para que me cuente 10 us.

   En caso de no poder meter este numero, que  creo que no se puede, ¿que preescalado de los que dan es el que mas se ajusta a los 10us?
   
Título: RE: preescalado en un pic 18F8720
Publicado por: manex_1987 en 27 de Agosto de 2004, 06:55:00
Hola kurdo una pregunta, como conseguiste poner en marcha el 18F8720? Es que yo tambien quiero ejercitarme con ellos, pero su encapsulado TQFP80 me lo impide.

Si compraste una placa entrenador, donde la compraste? O sino, como conseguiste soldar este micro?

muchas gracias

salu2
Título: RE: preescalado en un pic 18F8720
Publicado por: T0ni0 en 27 de Agosto de 2004, 07:08:00
Vale pues para los valores que has calculado, tienes que desactivar el prescaler activando T0CON,PSA y cuando (dentro del codigo ) quieras activar el timer le cargas el valor ( d"40" en decimal no en Hexadecimal si no me equivoco) al registro TIMR0L y 0x00 al TIMR0H


Ya nos explicaras que tal
Título: RE: preescalado en un pic 18F8720
Publicado por: kurdo22 en 28 de Agosto de 2004, 12:33:00
 

    Pues voy a probarlo a ver si funciona. De todas formas, ¿mis calculos del preescalado son correctos?

    En cuanto a como lo he puesto en marcha he diseñado yo mismo el circuito impreso, no he utilizado zocalos ni nada, simplemente un programador muy sencillo dento del circuito impreso para poder programarlo. Para soldarlo he utilizado estaño liquido que he aplicado en los pads he puesto el pic encima y he le he dado calor con un soldador con una punta muy fina. El estaño liquido funde a baja temperatura y por capilaridad se va a cada pad con su correspondiente patilla sin hacerse cortocircuitos. Claro que esto no funciona a la primera, hay que probar antes en otro lado. Tambiens e puede hacer con estaño normal si eres muy mañoso pero es mas complicado.

Título: RE: preescalado en un pic 18F8720
Publicado por: kurdo22 en 28 de Agosto de 2004, 12:38:00


     En mis calculos falta una cosilla:

     40 es el numero de unidades de tiempo correspondiente a 10 us por lo tanto hay que restarsela a 2^16 para que cuente ese tiempo;

                 2^16 - 40 = 65496

     65496 es la precarca que hay que introducir.


    ¿Son mis calculos correctos, se hace asi?
Título: RE: preescalado en un pic 18F8720
Publicado por: T0ni0 en 30 de Agosto de 2004, 03:06:00
Je je je

Fijate que 20MHz/4 NO da 4MHz  

20M/4 = 5M

1/5M  = 200nseg

una carga son 200nsegundos  10useg son 10.000nseg

10.000/200 = 50 es el valor a cargar al TIMER0  


Lo has probado ya?
Título: RE: preescalado en un pic 18F8720
Publicado por: kurdo22 en 30 de Agosto de 2004, 06:54:00


     Estoy en ello. Valla fallo el mio, en lo mas sencillo. Gracias por echarle un vistazo, en cuanto lo pruebe os cuento.