Hola a todos, en esta ocasión encuentro problemas con el uso del porta del pic 16f876a. Por más que intento configurarlo, este no responde a pulsos de entrada pues siempre está a GND sin importar la resistensias pull up. Intento conectar un switch al RA3 y que cuando este se ponga a cero, encienda el pin RC3 (esta es una pequeña depuración para luego utilizar el ADC para un lm35). El problema es que siempre está activo (el RC3) por que siempre hay un cero a la entrada de RA3 así este lo coloque directo a VDD . MI código en Mplab Hi-tech es este:
#include <htc.h>
#include <stdio.h>
//#include "lcd.h"
#define _XTAL_FREQ 4000000
__CONFIG(FOSC_XT & WDTE_OFF & LVP_OFF );
void main(void)
{
TRISA = 0b11111111; //todo el porta como entradas
TRISC = 0; //todo el portC como salidas
ADCON1 = 0111; // todas entradas digitales
PORTC = 0;
PORTA = 0;
while (1)
{
if (RA3 == 0)
{
RC2 = 1;
__delay_ms (1);
}
else RC2 = 0;
}
}
el efecto que indico arriba, sucede tanto para proteus como para el Mplab sim. Si alguien sabe que estoy pasando por alto o que estoy haciendo mal les agradezco la colaboración de antemano. Si no puedo realizar esta pequeña tarea de este código ,menos va a funcionar el ADC que sus entradas están en porta. Gracias. http://i10.forosdeelectronica.net/icon_eek.gif
#include <htc.h>
#include <stdio.h>
//#include "lcd.h"
#define _XTAL_FREQ 4000000
__CONFIG(FOSC_XT & WDTE_OFF & LVP_OFF );
void main(void)
{
TRISA = 0b11111111; //todo el porta como entradas
TRISC = 0; //todo el portC como salidas
ADCON1 = 0111; // todas entradas digitales
PORTC = 0;
PORTA = 0;
while (1)
{
if (RA3 == 0)
{
RC2 = 1;
__delay_ms (1);
}
else RC2 = 0;
}
}
el efecto que indico arriba, sucede tanto para proteus como para el Mplab sim. Si alguien sabe que estoy pasando por alto o que estoy haciendo mal les agradezco la colaboración de antemano. Si no puedo realizar esta pequeña tarea de este código ,menos va a funcionar el ADC que sus entradas están en porta. Gracias. http://i10.forosdeelectronica.net/icon_eek.gif