Problema con programa PIC16f877a i/p en CCs

#1
Que tal, agradecería bastante que alguien me ayudara con el siguiente problema:

He realizado un programa con el compilador CCS, el programa lo he probado con el programa Proteus y funciona todo perectamente, he grabado el programa sin que me arroje ningún tipo de error, y al conectarlo en el protoboard simplemente no hace nada, ya he checado las conexiones bastantes veces y no es el problema,he checado tambien el oscilador y tampoco es el problema espero me puedan ayudar, les anexo el programa:

#INCLUDE <16F877A.H> //DEFINE EL MICROCONTROLADOR A UTILIZAR


#USE DELAY(CLOCK=4000000) //DEFINE LA FRECUENCIA DE RELOJ A 20 MHz
#FUSES XT,NOWDT,NOPUT,NOPROTECT

#BYTE PORT_B=0x06 //
#BYTE PORT_C=0x07 //
#BYTE PORT_D=0x08 //

VOID MAIN() {
//SET_TRIS_B(0x00); //PORTB IS SET FOR OUTPUT, CONTROL FOR M1 AND M2
//SET_TRIS_C(0x00); //PORTC IS SET FOR OUTPUT, CONTROL FOR M3 AND M4
//SET_TRIS_D(0x00); //PORTC IS SET FOR OUTPUT, CONTROL FOR L0 TO L7

do{

OUTPUT_B(0xFF); //CLEAR PORTB
OUTPUT_C(0xff); //CLEAR PORTC
OUTPUT_D(0xff); //CLEAR PORTD
delay_ms(5000);
OUTPUT_B(0x00); //CLEAR PORTB
OUTPUT_C(0x00); //CLEAR PORTC
OUTPUT_D(0x00); //CLEAR PORTD
delay_ms(1000);
}while(true);

} //CLOSE BRACKET FOR THE MAIN FUNCTION

Espero alguien me pueda ayudar.

Gracias
 
#2
Hola, si te anduvo con el proteus, el codigo debe estar bien... si podes poner un esquema de las conexiones, quizas falta algo...saludos
 
#3
Hola, gracias por responder; te comento que a la hora de conectarlo al Protoboard solo he colocado el oscilador, la alimentación, y el reset(el cual tambien he comprobado),mido la señal de salida directamente del pin; he estado pensando en que sea alguna opcion en el compilador que haya que cambiar o algo así, espero me puedan ayudar.

Saludos
 
#4
Bueno aca te dejo un archivo con ejemplos, espero que te sirvan esos funcionan bien, estan hechos con otro pic pero es lo mismo.... fijate con el programas que grabas si elejis bien el pic a grabar...yo uso el icprog y anda de lujo---
Saludos
 

Adjuntos

#6
Antonio_Maza dijo:
...
VOID MAIN() {
//SET_TRIS_B(0x00); //PORTB IS SET FOR OUTPUT, CONTROL FOR M1 AND M2
//SET_TRIS_C(0x00); //PORTC IS SET FOR OUTPUT, CONTROL FOR M3 AND M4
//SET_TRIS_D(0x00); //PORTC IS SET FOR OUTPUT, CONTROL FOR L0 TO L7
...
Hola:
Tenés los SET_TRIS comentariados, eso está bien ?
Por defecto te los inicia como entradas!
Ver hoja de datos, pic16F87XA, Tablas 4.4, 4.6 y 4.8.

Además está el comentario (no es grave pero puede llevar a confusión):

#USE DELAY(CLOCK=4000000) //DEFINE LA FRECUENCIA DE RELOJ A 20 MHz
#FUSES XT,NOWDT,NOPUT,NOPROTECT

Se ve que lo "copy-paste" de otro lado y te quedó así. :)
En realidad lo hace a 4 MHz, compatible con "FUSES XT"
 
Arriba