Buenas tardes a todos.
He estado realizando peruebas con este pic 16f877 y vengo del 8051... el problema es que estoy programando en c todo los programas, estoy comenzando con cosas sencillas para ir poco a cpoco a más.......
Ahora os cuento mi problema (debo decir que me he leido todos los post relacionados con el pic y c....). Deseo crear un programa que mediante una interrupción externa (pulsador)conectado al pin rb0 valla contando las veces que pulse el boton y ponga el rersultado en el puerto D en binario, el tema es que cuando me lo pongo a analizar con proteus, ess como si no funcionara el pulsador y me da problemas.... el circuito que he diseñado en proteus es sencillo (aun no lo puedo colgar que no tengo suficientes posts....)alimentación al pulsador y de los bits del puerto d un led a cada uno y a masa...
Bueno, a ver si me podeis iluminar de la tontería que acabo de hacer.... aqui os la dejo:
#pragma chip PIC16f877
#pragma config=0x3f71
#pragma interruptSaveCheck n
// Declaración de prototipos de funciones
#pragma origin 4
unsigned cont;
interrupt puls (void)
{
INTF=0;
cont=cont+1;
PORTD=cont;
}
void main (void)
{
cont=0;
OPTION_REG=0X40;
TRISA=0XC0;
TRISB=0x01;
TRISD=0X00; //puerto d como salidas
GIE=1;
PEIE=1;
INTCON=0x10; //interrupcion externa por rb0
while(1);
}
He estado realizando peruebas con este pic 16f877 y vengo del 8051... el problema es que estoy programando en c todo los programas, estoy comenzando con cosas sencillas para ir poco a cpoco a más.......
Ahora os cuento mi problema (debo decir que me he leido todos los post relacionados con el pic y c....). Deseo crear un programa que mediante una interrupción externa (pulsador)conectado al pin rb0 valla contando las veces que pulse el boton y ponga el rersultado en el puerto D en binario, el tema es que cuando me lo pongo a analizar con proteus, ess como si no funcionara el pulsador y me da problemas.... el circuito que he diseñado en proteus es sencillo (aun no lo puedo colgar que no tengo suficientes posts....)alimentación al pulsador y de los bits del puerto d un led a cada uno y a masa...
Bueno, a ver si me podeis iluminar de la tontería que acabo de hacer.... aqui os la dejo:
#pragma chip PIC16f877
#pragma config=0x3f71
#pragma interruptSaveCheck n
// Declaración de prototipos de funciones
#pragma origin 4
unsigned cont;
interrupt puls (void)
{
INTF=0;
cont=cont+1;
PORTD=cont;
}
void main (void)
{
cont=0;
OPTION_REG=0X40;
TRISA=0XC0;
TRISB=0x01;
TRISD=0X00; //puerto d como salidas
GIE=1;
PEIE=1;
INTCON=0x10; //interrupcion externa por rb0
while(1);
}