Timer Con Dspic30F4011

Páginas: 6 (1333 palabras) Publicado: 7 de agosto de 2012
UNIVERSIDAD DE GUANAJUATO 
 

División de Ingenierías Campus        Irapuato‐Salamanca 
 

                   

Diseño Lógico con Microprocesadores 
 

       

Práctica:  #03    Profesor:  Dr. J. Jesús Escobedo Ala Torre.    Integrantes del Equipo:    Ramírez Montalvo Ana Luisa.  Angel Saldaña Ismael A.  Laguna Pérez José Jesús.                               Flores Martínez Eduardo 
     

 

Fecha: 2/Marzo/2012                   

 
OBJETIVO: 

 
Implementar  en nuestro dspic30f4011 un programa que controle el ancho de pulso de una señal cuadrada para  así poder controlar el nivel de iluminación de un LED utilizando un par de timer’s de nuestro circuito. 

DESCRIPCIÓN: 

 
Como  se  sabe  un  TIMER  es  un  dispositivo,  con  frecuencia  programable,  que  permite  medir  un lapso  de  tiempo  previamente definido.  En esta práctica se trabajo con los timer’s internos de nuestro circuito. En esta práctica se desarrollo por así decirle  un modificador de ancho de pulso de una señal, esto se logró con el empleo de 2 timer´s.   Uno de los timer´s fue utilizado para controlar el ancho total del periodo del pulso, el timer fue programado para dar  tener  una  frecuencia de  1khz  o  sea  que  se  repitiera  cada  un  milisegundo,  y  el  segundo  timer  fue  utilizado  para  controlar el ancho de la onda, este se podría modificar desde 0 hasta 1, o sea desde un ancho de onda de 0 hasta el  ancho total de un milisegundo.     Tenemos nuestro Timer 1, que será constante con una frecuencia de 1Khz y que controlará el periodo de nuestra señal, como se puede ver nuestro Timer 2 es variable y controlará el ancho de pulso y como se sabe la energía total  es igual al área del pulso, por lo tanto podemos variar la energía suministrada por nuestra señal ya sea aumentando  o disminuyendo nuestro Timer 2.    Por lo tanto al disminuir nuestro Timer 2 la energía suministrada será menor y por el contrario al aumentar el Timer 2 la energía suministrada irá aumentando hasta un máximo el cual es controlado por nuestro Timer 1.  

 
  CÓDIGO:    • Inicializar timer 1:    En  esta  función  es  donde  inicializamos  nuestro  timer  1,  con  sus  respectivas especificaciones.    void ini_tmr1(unsigned int TIME)  {      IPC0=0x1000;                      //Define prioridad 1 al TMR1    IEC0bits.T1IE=1;                    //se habilita con 1    TMR1=0;                  //Se inicializa con cero    T1CON=0x8000;    //configuración TMR1    PR1= variando_TIME();           //Valor tope del TMR1    }    Nuestro  timer  2  se  define  de  la  misma  manera,  solo  cambia  la  primera línea donde se define la prioridad, es este caso la línea es:    IPC0=0x2000;      • Función para variar el tiempo   

Se  podría  decir  que  esta  es  la  función  más  importante  de  nuestro programa,  donde  se  llevará  a  cabo  la  variación  del  periodo  de  nuestro timer, para asi modficar el ancho de pulso y así mismo con  este  cambio  de  periodo  tambien  habrá  un  cambio  en  la  energía  suministrada de salida, que en este caso alimentará a nuestro LED.  En  esta  función  se  declaran  los  límites  que  podrá  alcanzar  nuestro  timer  a  modificar,  tales límites  están  definidos  por  el  periodo  de  nuestro timer constante.     En esta parte del programa también se programaron los pushbutton  los  cuales  tendrán  el  control  de  aumentar  o  disminuir  el  ancho  de  nuestra señal (o sea aumentar o disminuir nuestro timer variable).  Estos  pushbutton  tienen  programado  también  un  eliminador  de rebotes, el cual se utiliza para que al presionar el botón una vez solo  nos  mande  una  señal  y  no  varias,  debido  a  las  oscilaciones  que  se  producen debido a que este se controla por fuerza mecánica.      unsigned int variando_TIME(void)  {    if (PORTDbits.RD1==1)      {      _delay();       while(PORTDbits.RD1!=0){}      TIME = TIME+0x000A; //Time Aumenta 10 ...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • el time
  • timo
  • Time
  • timo
  • Timo
  • timer
  • Time
  • timer

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS