Hola queridos programadores de todopic.
Os expongo un tema un poco xungillo (por lo menos para mi) y que me ha llevao verdaderos comederos de cabeza.
El enunciado es facil, hacer un LCD en el que el texto aparazca estatico, y se mueva solo cuando pulse la interrupcion externa de forma que cuando vuelva a pulsar la interrupcion externa, se pare otra vez. La direcion da iwal, izq o derecha, y la interrupcion ext es un pulsador.
Este es el codigo que e desarrollao hasta ahora:
#include<16f877.h>
#use delay(clock=4000000)
#fuses xt
#use standard_io(a)
#include<LCD_flexible.c>
///LLAMADA FUNCION INTERRUPCION
#INT_EXT
//EXT_isr()
void IntRB0()
{
int a,b,c; /*variable para hacer la rotacion de la linea inferior*/
inicio:
b=14; //variables linea de abajo
c=1; //variable linea arriba
lcd_init();
for(a=0;a<25;a++)
{
while(!input(pin_b0));
{
disable_interrupts(GLOBAL);
}
//lcd_init();
delay_ms(200);
lcd_gotoxy(c,1);
printf(lcd_putc,"Hola");
lcd_gotoxy(b,2);
printf(lcd_putc,"mundo");
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
}
muchas gacias de antemano!
(vszener!! ayudanos x favor!!!
)