Autor Tema: Interrupcion externa RB0/ PIC16F1939  (Leído 2293 veces)

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

Desconectado NO_e

  • PIC10
  • *
  • Mensajes: 2
Interrupcion externa RB0/ PIC16F1939
« en: 09 de Mayo de 2016, 16:15:53 »
BUENAS NECESITO AYUDA: ESTOY HACIENDO EL CONTROL DE UN HORNO MEDIANTE UN PID, MI PROYECTO CONSTA DE UN DETECTOR DE CRUCE POR CERO, EL MICRO DONDE ESTA EL PROGRAMA DEL PID Y UNA ETAPA DE POTENCIA LA CUAL EN FUNCION AL ANGULO DE DISPARO DEL TRIAC ENCIENDE EL HORNO.
EL PROBLEMA ES QUE LA INTERRUPCION POR RB0 DEL PIC NO ME RESPONDE, EL PROGRAMA ESTA ARMADO PARA QUE POR CADA CRUCE POR CERO ENTRE A LA INTERRUPCION, HAGA LO QUE CORRESPONDA, ACTIVE EL MOC3021 PARA EL GATE DEL TRIAC Y CONTINUE DE MANERA NORMAL. NO ENCUENTRO EL ERROR QUE PUEDA TENER EL PROGRAMA QUE NO ANDA LA INTERRUPCION !
LOS CIRCUITOS ESTAN PROBADOS POR SEPARADO Y CADA UNO ANDA PERFECTAMENTE.
CODIGO:
void main(void)
{
   
 
    /*INTERRUPSION**********************************************************/
        INTCONbits.GIE=1; // Permiso global de interrupcion por timer0
        INTCONbits.INTE=1; //activo interrupcion externa
        OPTION_REGbits.INTEDG=0;//seleccione por flanco descendente
        INTCONbits.INTF=0;
//**********************************************************
 
        while (1)
        {
         Display();
         result= read_adc ();
 
       Tem_sensor=(result*5/1024); // paso a grados     
        }
        return;
}
void interrupt lampara ()
{
     if (INTCONbits.INTF==1)
    {
        PORTBbits.RB3=1;
        __delay_ms (5);
        PORTBbits.RB3=0;
        __delay_ms (5);
    }
   
    INTCONbits.INTF=0;   
}

DE ANTE MANOS MUCHAS GRACIAS!!!!!

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1982
    • Sicoy
Re:Interrupcion externa RB0/ PIC16F1939
« Respuesta #1 en: 09 de Mayo de 2016, 17:07:06 »
Me imagino que RB0 está configurado como entrada y no existe algún conversor AD o comparador a dicho pin. ¿Verdad?
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado NO_e

  • PIC10
  • *
  • Mensajes: 2
Re:Interrupcion externa RB0/ PIC16F1939
« Respuesta #2 en: 31 de Mayo de 2016, 20:34:57 »
Me imagino que RB0 está configurado como entrada y no existe algún conversor AD o comparador a dicho pin. ¿Verdad?
Si RB0 esta configurada como entrada, igual gracias ya resolvi el problema y es que mi programa si entraba a la interrupcion solamente que es tan poco el tiempo que queda ahi hasta que vuelve que desde el main se colgaba todo. El problema se resuelve haciendo multitaskin (algo que debo aprender)! Muchas Gracias!

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Interrupcion externa RB0/ PIC16F1939
« Respuesta #3 en: 18 de Junio de 2016, 16:45:57 »
Me imagino que RB0 está configurado como entrada y no existe algún conversor AD o comparador a dicho pin. ¿Verdad?
Si RB0 esta configurada como entrada, igual gracias ya resolvi el problema y es que mi programa si entraba a la interrupcion solamente que es tan poco el tiempo que queda ahi hasta que vuelve que desde el main se colgaba todo. El problema se resuelve haciendo multitaskin (algo que debo aprender)! Muchas Gracias!

Me parece que tu problema es mas los delays en la interrupcion y no el multitasking que decis. Sino vas a meterte en RTOS y va a ser una montaña de cosas mas de lo que deberia haber sido.


 

anything