Autor Tema: problemas para leer puerto A del pic 16F877  (Leído 2527 veces)

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

Desconectado NODOR

  • PIC10
  • *
  • Mensajes: 3
problemas para leer puerto A del pic 16F877
« en: 06 de Octubre de 2004, 11:14:00 »
Soy nuevo en el mundo de los microprocesadores, intento realizar programas sencillos y me ha surgido un problema al intentar leer el puerto A, adjunto el programa para ver si alguien me puede ayudar y me indique que es lo que realizo mal.

#include <16f877.h>



#USE STANDARD_IO(A)
#use fast_io(a)
#use fast_io(b)
#byte porta = 0x05
#byte portb = 0x06


INT INICIALIZAR_VALORES()
{
   setup_adc(ADC_OFF);
   setup_adc_ports(NO_ANALOGS);
   SET_TRIS_A(0xFF);
   set_tris_b(0x00);
 
RETURN;
}  


main(void)
{
INICIALIZAR_VALORES();


IF (INPUT(PIN_A5))
{
 OUTPUT_HIGH(PIN_B5);

}
IF (INPUT(!PIN_A5))
{
 OUTPUT_HIGH(PIN_B7);
}


}

Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2569
RE: problemas para leer puerto A del pic 16F877
« Respuesta #1 en: 06 de Octubre de 2004, 12:26:00 »
Tenías que haber explicado concretamente cual es el problema que te sucede al leer el porta. No somos adivinos, hay que facilitar las cosas.

Dos errores:

- Falta inicializar el puerto en la función con output_b(0x00)

- Cambia el segundo IF (INPUT(!PIN_A5)) por IF (!INPUT(PIN_A5))

Un saludo

Desconectado NODOR

  • PIC10
  • *
  • Mensajes: 3
RE: problemas para leer puerto A del pic 16F877
« Respuesta #2 en: 13 de Octubre de 2004, 11:30:00 »
La función output_b(0x00) me da error al compilar el programa.
La libreria que estoy utilizando es la que viene por defecto con el programa CCS, puede que esté incompleta?
Alguien me podría ayudar?
Gracias.

Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2569
RE: problemas para leer puerto A del pic 16F877
« Respuesta #3 en: 13 de Octubre de 2004, 11:40:00 »
¿Qué te pone en el error?

De paso pega el programa entero, a ver como lo tienes.

Un saludo


 

anything