Muchas gracias IOIO por todas tus sugerencias
He realizado todas las conexiones y pruebas que se han dicho, creo que el problema está en la programación del programa ya que no se me enciende el led ni parpadea, el Led lo eh colocado en el PIN B1. Los leds de comunicación de el rx y el tx tampoco se me encienden, pero en la salida del PIC en el pin C7 (RX) tengo un voltaje de 5 voltios,
en el C6 (TX) tengo 0 voltios
y en el C5(activación) tengo 0 voltios
el oscilador funciona a 20 Megahercios.
Al MAX la patilla de recibir la tengo a 5 voltios,
Las de activación y la de enviar las tengo a 0 voltios.
los cables de transmisión de datos A y B me dan el A 2.47 y el B 2.23voltios
y sigue sin pasarme datos .....
El programa no se debe ejecutar bien porque el LED del pin B1 nunca se llega a enchufar.
#include <16F877.h>
#device adc=8
#FUSES NOWDT //No Watch Dog Timer
#FUSES HS //High speed Osc (> 4mhz)
#FUSES NOPUT //No Power Up Timer
#FUSES PROTECT //Code protected from reads
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD //No EE protection
#FUSES NOWRT //Program memory not write protected
#FUSES NODEBUG //No Debug mode for ICD
#use delay(clock=20000000)
#use rs232(baud=9600,parity=N,bits=8,stop=1,xmit=PIN_C6,rcv=PIN_C7,enable=PIN_C5,errors) //enable=PIN_C5 hace que el C maneje el pin de habilitación
static int y=5;
void main (void)
{
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_psp(PSP_DISABLED);
setup_spi(SPI_SS_DISABLED);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
while(TRUE)
{
printf("temperatura=%u ", y);
delay_ms(500); // espera por ejemplo 0,5 seg para enviar nuevamente el dato,
output_HIGH(PIN_B1); // por ejemplo conectas un led entre el pin C0 y masa y este debe prender
delay_ms(250); // espera por ejemplo 0,25 seg
output_LOW(PIN_B1); // se apaga el led
delay_ms(250); // esperas otros 0,25 seg para enviar nuevamente el dato,
}
}
Muchas gracias
Saludos!