elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


  Mostrar Mensajes
Páginas: [1]
1  Informática / Electrónica / Ayuda con la interrupcion por RB_0 en: 19 Enero 2008, 22:51 pm
hola amigos tengo un problema con un programa que tengo que hacer para un pic en lenguaje c.

tengo que hacer que pulsando rb0 se active la interrupcion externa y muestre un mensaje rotatorio por el lcd, mi problema es que consigo que lo muestre todo el rato pero se me queda encerrado en la interrupcion, no he mencionado que si vuelvo a pulsar rb0 tiene que salir que es lo importante. Lo que he conseguido tambien es que rote una vez y salga pero no vale. Aqui os remito mi programa a ver si me echais un cable.

muchas gracias.
******************************************************
#include<16f877.h>
#use delay(clock=4000000)
#fuses xt
#use standard_io(a)
#include<LCD_flexible.c>
 ///LLAMADA FUNCION INTERRUPCION
#INT_EXT
void IntRB0()
{     
   int a,b,c;       /*variable para hacer la rotacion de la linea inferior*/
   inicio:
   lcd_init();
   b=14;         //variables linea de abajo
   c=1;         //variable linea arriba
   for(a=0;a<25;a++)   
   {
   delay_ms(200);
   lcd_gotoxy(c,1);
   printf(lcd_putc," Jose Eugenio");
   lcd_gotoxy(b,2);
  printf(lcd_putc,"Diseño 2008 ");
   c++;
   b--;
      }
      a=0;      //pone a cero la cuenta de digitos
      b=14;
      c=1;
   goto inicio;
}   
///PROGRAMA
void main(void)
{
   enable_interrupts(int_ext);      //activar interrupcion externa
   ext_int_edge(L_TO_H);         //configuracion:interrupcion cuando señal esta en alta
   enable_interrupts(GLOBAL);      //todas las interrupciones desactivadas
   for( ; ; ){}   //bucle infinito esperando interrupcion
}
   
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines