Autor Tema: hacer una interupcion en el 16f628  (Leído 2083 veces)

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

Desconectado gedabele

  • PIC10
  • *
  • Mensajes: 8
hacer una interupcion en el 16f628
« en: 12 de Octubre de 2006, 21:48:10 »
wuenas! miren tengo que hacer un trabajo para la escuela y necesito saber como hacer una interrupcion en el 16f628 si me podrian dar algun ejemplo para guiarme y q me expliquen desde ya muchisimas gracias al que se tome la molestia de ayudarme  :-)

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5544
    • Picmania by Redraven
Re: hacer una interupcion en el 16f628
« Respuesta #1 en: 13 de Octubre de 2006, 04:26:20 »
Ejemplo de una Interrupción por Recepción de un Carácter por la USART (Serie) int_rda.

Código: CSS
  1. #include <16f628.h>                             // Selecciona el PIC
  2. #fuses XT,NOWDT,NOPROTECT,NOLVP,PUT,BROWNOUT    // Opciones de configuración
  3. #use delay(clock=4000000)                       // Velocidad del Cristal : 4 Mhz
  4. #use standard_io(b)
  5. #use rs232(baud=9600, xmit=PIN_B2, rcv=PIN_B1)  // Definición del RS232
  6.  
  7. char Keypress=' ';
  8.  
  9. #int_rda
  10. void serial_isr() {
  11.  
  12.    Keypress=0x00;
  13.    if(kbhit()){
  14.       Keypress=getc();
  15.       if(Keypress!=0x00){
  16.          putchar(keypress);
  17.          keypress=0x00;
  18.       }
  19.    }
  20. }
  21.  
  22.  
  23. void main() {
  24.  
  25.    enable_interrupts(global);
  26.    enable_interrupts(int_rda);
  27.  
  28.    printf("\r\n\Listen on RS232 (Int)\r\n");
  29.  
  30.    do {
  31.      // Aqui lo que quiereas            
  32.    } while (TRUE);
  33. }
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado vszener

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2395
Re: hacer una interupcion en el 16f628
« Respuesta #2 en: 13 de Octubre de 2006, 06:34:14 »
Aparte del programa que te ha puesto el amigo RedPic, hay dos post de ejemplos donde se tratan las interrupciones:
Ejemplitos en C para 16F648A
Ejemplitos 16F876A: Indice de contenidos.
Y un cursillo de C:
Microcursillo en C


Suerte!!! :wink:
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte

Desconectado gedabele

  • PIC10
  • *
  • Mensajes: 8
Re: hacer una interupcion en el 16f628
« Respuesta #3 en: 13 de Octubre de 2006, 12:09:59 »
OK! gracias!

Desconectado gedabele

  • PIC10
  • *
  • Mensajes: 8
Re: hacer una interupcion en el 16f628
« Respuesta #4 en: 13 de Octubre de 2006, 14:06:35 »
Ahora q lo analize tengo unas dudas.... el tema es que con un jumper conectado a RA1 le doy el estado a un led en RA2 de prendido o apagado... pero cuando RB0 me detecte una interrupcion me prenda otro led conectado a RA3   
A eso del jumper ya esta pero no se como hacer para q me detecte una interrupcion  y se me prenda el led en RA3 
Como hago porfavor helpme! 

Desconectado vszener

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2395
Re: hacer una interupcion en el 16f628
« Respuesta #5 en: 13 de Octubre de 2006, 14:10:19 »
¿Has rebisado los post que te puse? concretamente en el de Ejemplitos en C para... hay un ejemplito donde configurar la interrupción externa.


Suerte!!! :wink:
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte


 

anything