Autor Tema: Interrupción externa sin pines para dicha interrupción mediante timer0 :-D  (Leído 2484 veces)

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

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Hola amigos!

Comparto con ustedes este fragmento de código .xD

En mi aplicación ocupe la dichosa interrupcion externa en mi pic16f88 IntRB0 para medir el timepo entre flancos.
Use practicamente todos los pines , excepto RA4/T0CKI que tiene la funcion de entrada externa del TIMER0.



NEcesito detectar cuando unos rieles llegan a los limites de estos.


Asi que use el TIMER0 en modo CONTADOR y aprovecho la interrupcion por desborde.FF-00

 ENtonces esto queda asi :

   Configuro el pin como entrada digital
       Selecciono el Incremento por subida o bajada segun sea la necesidad.
         Configuro el TIMER0 en modo contador
           Cargo el TIMER0 con 255
              HAbilito interrupcion.

Cargo con 255 , asi cuando mi pin cambie de estado alto a bajo incremente y desborde el timer produciendo la interrupcion.

Al salir de la interrupcion cargo nuevamente el timer.

Código: [Seleccionar]
//INterrupcion  desborde timer0

#int_timer0
void stop_switch(){

      clear_interrupt(INT_TIMER0); //Limpiamos flag
                 
     flag=1;   //  Bandera de desborde
}


main(){
         set_tris_a(0b00110000)

//--------- Configuracion Interrupcion Switch Overflow ---//

         SETUP_TIMER_0(RTCC_DIV_1 | RTCC_EXT_H_TO_L);  //1:1 _Incremento por ALto-Bajo
         SET_TIMER0(255);       //CArga del timer con 0xFF

//--------------------------------------------------------//

       enable_interrupts(INT_TIMER0);    //HAbilitamos interrupcion

while(1){

           

              //loop
         }



        }
« Última modificación: 10 de Enero de 2009, 00:46:28 por AKENAFAB »

Desconectado josnelihurt

  • PIC12
  • **
  • Mensajes: 64
Re: Interrupción externa sin pines para dicha interrupción mediante timer0 :-D
« Respuesta #1 en: 10 de Enero de 2009, 00:46:26 »
oeee que buena idea, es una cosa por otra, ganas un pin pero pierdes un Timer  :mrgreen: :mrgreen: :mrgreen:, oye gracias por compartir la información.
JoN

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re: Interrupción externa sin pines para dicha interrupción mediante timer0 :-D
« Respuesta #2 en: 10 de Enero de 2009, 00:49:00 »
oeee que buena idea, es una cosa por otra, ganas un pin pero pierdes un Timer  :mrgreen: :mrgreen: :mrgreen:, oye gracias por compartir la información.

 :mrgreen:Buen punto!


Para mi suerte no necesite el timer0  xD

Pero si uso el timer2 y el timer1

Buen punto!


Desconectado Gonzalo_BlackHawk

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 519
Re: Interrupción externa sin pines para dicha interrupción mediante timer0 :-D
« Respuesta #4 en: 10 de Enero de 2009, 17:09:18 »
La verdad que interesante, queda guardado en favoritos  :-).
"Siempre piensa si el jugo vale la exprimida..."

"La muerte esta tan segura de vencer que nos da toda una vida de ventaja."


 

anything