Autor Tema: PIC24 TIMER1 Contador Asincrono con Reloj Externo  (Leído 1364 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Rikr09

  • PIC16
  • ***
  • Mensajes: 112
PIC24 TIMER1 Contador Asincrono con Reloj Externo
« en: 08 de Junio de 2013, 12:55:56 »
Buenas amigos de TODOPIC,

Una vez más acudo a ustedes para que me ayuden esta vez con la configuración del TIMER 1 de mi PIC24FJ128GA310 como contador Asincrono, es decir, lo que quiero hacer es un contador de pulsos, que controlado con un interruptor vaya incrementando el Timer conforme el voltaje en el Pin T1CK llegue a VCC. Me estoy guiando del siguiente codigo que encontre en 24F Timers Reference Chapter:

Código: [Seleccionar]
/* The following code example will enable Timer1 interrupts, load the Timer1
Period register and start Timer1 using an asynchronous external clock and
a 1:8 prescaler setting.
When a Timer1 period match interrupt occurs, the interrupt service
routine must clear the Timer1 interrupt status flag in software.
*/
T1CON = 0x00; //Stops the Timer1 and reset control reg.
TMR1 = 0x00; //Clear contents of the timer register
PR1 = 0x8CFF; //Load the Period register with the value 0x8CFF
IPC0bits.T1IP = 0x01; //Setup Timer1 interrupt for desired priority level
// (this example assigns level 1 priority)
IFS0bits.T1IF = 0; //Clear the Timer1 interrupt status flag
IEC0bits.T1IE = 1; //Enable Timer1 interrupts
T1CON = 0x8012; //Start Timer1 with prescaler settings at 1:8 and
//clock source set to the external clock in the
//asynchronous mode


Y En la interrupción:
Código: [Seleccionar]
void __attribute__ ((interrupt, no_auto_psv)) _T1Interrupt(void){
    UA2(" INTERRUPT ON!!!!! ");
    TMR1=0;//_T1IE = 0;
    _T1IF = 0;
}

El problema que tengo es que apenas empiezo el programa, el Timer1 empieza a incrementarse, llega al valor del PR1 , se interrumpe y sigue contando nomrlamente, la cosa es que El no deberia incrementarse solo, ya que supuestamente el debe aumentar cuando le coloque un oulso al pin T1CK el cual esta configurado como entrada digital _TRISB9=1; y he hecho de todo y yano se q hacer....
 :5]
« Última modificación: 19 de Junio de 2013, 16:52:51 por Rikr09 »

Desconectado Rikr09

  • PIC16
  • ***
  • Mensajes: 112
Re: PIC24 TIMER1 Contador Asincrono con Reloj Externo
« Respuesta #1 en: 19 de Junio de 2013, 16:56:56 »
Les comento que ya solucione la parte de que cuenta solo, todo era cuestión de configuración del Timer 1 y que tabien debe activarse el PPS para T1CK tal y como lo van a detallar:
Código: [Seleccionar]
       
        
        RPINR23bits.T1CKR = 9;
        _T1CKR = 9;

        T1CONbits.TON = 0x01;
        T1CONbits.TCKPS = 0x00;

        T1CONbits.TGATE = 0x00;
        T1CONbits.TCS = 0x01;
        T1CONbits.TSYNC = 0x00;
        T1CONbits.TIECS = 0x01;
        PR1 = 5;
        IEC0bits.T1IE = 0x01;
        IPC0bits.T1IP = 0x07;
        IFS0bits.T1IF = 0x00;




El asunto es que ahora coloco el pin correspondiente a VCC y noincrementa el Timer  :5]

 Por favor leo sugerencias, consejos, pruebas etc etc !!! toda ayuda es Bienvenida!
« Última modificación: 13 de Septiembre de 2013, 19:17:52 por Rikr09 »


 

anything