PIC16F873A No funciona!!!

Hola! no me funciona el PIC16F873A, le cargo el programa y no hace nada!. El mismo programa lo grabo en un PIC16F84A y también lo grabe en un PIC16F628A y funciona perfecto!. Mi pregunta es: (ya que es un PIC nuevo y tengo 3 del mismo y hacen exactamente lo mismo!) le estoy echando la culpa al oscilador, cosa que lo probé con XT y RC. y sigue como muerto!. Estuve buscando en la web y no hacen ninguna conexión distinta a la que estoy haciendo!, ni siquiera un simple programa que parpadee un led logra hacer este pic. Les agradecería si me pudieran ayudar con esto! (la programación lo hago en C).
Saludos... ...
 
El programa que quiero hacer funcionar en este momento es el del parpadeo del led! pero no hace nada! y el circuito lo tengo simulado en proteus y en la simulación funciona! pero en el protoboard no! no hace nada!
este es el programa:
Código:
#include <16f873a.h>
#fuses RC,NOWDT,NOPROTECT,NOPUT
#use delay(clock=4000000)
#use fast_io(b)
#byte PORTB=0x06
#bit LED=PORTB.0

void main(){
   set_tris_b(0x00);
   LED=0;
   for(;;){
      LED=!LED;
      delay_ms(500);
      LED=!LED;   
      delay_ms(500);
   }
}
 
Última edición por un moderador:
El programa que quiero hacer funcionar en este momento es el del parpadeo del led! pero no hace nada! y el circuito lo tengo simulado en proteus y en la simulación funciona! pero en el protoboard no! no hace nada!
Con esa configuración de fuses (RC) difícilmente podrás llegar a la frecuencia de 4MHz que tienes declarada.
Utiliza un cristal de 4MHz, elimina la configuración de fuses y escribe solo esto...
#use delay(crystal = 4000000)
Al declarar esto, el compilador asume que se usará un cristal de baja frecuencia y establecerá los fuses adecuados.
Con esta declaración no necesitas establecer fuses extra, con los que establecerá el compilador quedará bien.

Si quieres usar un oscilador externo RC, tendrás que calcular los valores y establecer la frecuencia de trabajo.

Saludos.
 
Hola! probé la configuración como dijiste y no hizo nada! Los fuses los configuro de la misma manera que al PIC16F628A y este pic funciona perfectamente. No se si este pic tiene alguna maña o algo! por lo que no funciona! y la alimentación yo conecto los dos Vss que tiene el pic16f873a.
 
Hola! probé la configuración como dijiste y no hizo nada! Los fuses los configuro de la misma manera que al PIC16F628A y este pic funciona perfectamente. No se si este pic tiene alguna maña o algo! por lo que no funciona! y la alimentación yo conecto los dos Vss que tiene el pic16f873a.
Pues te debería funcionar, lo que quieres hacer no tiene ningún problema.
Recuerda conectar el pin 1 (MCLR/Vpp) hacia VDD (Positivo) directamente ó a través de una R de 2.2k a 10k.
Con la modificación que te mencioné debe funcionar físicamente, pues yo lo tengo funcionando. :)
1617101.jpg

Por si acaso, aquí adjunto el programa compilado, simulación y esquema.

Suerte.
 

Adjuntos

  • 16F873A LED en RB0.rar
    17.3 KB · Visitas: 8
  • 16F873A _LED_RB0_SCH.jpg
    16F873A _LED_RB0_SCH.jpg
    94.9 KB · Visitas: 6
Grabe el pic directamente del del adjunto! funciono pero no lo hace en la frecuencia que debe! prende y apaga rápido y por ahí engancha, no es estable. en que compilador lo hiciste? porque yo estoy utilizando el MPLAB y compilo en C con el CCS del mismo MPLAB...
Puede ser un problema del compilador que no me activa bien los fuses, ya nose que puede ser!...



Una cosa mas! que recién probando y me genero mas dudas... desconecte las tierras y luego conecte una sola(La que esta al lado del oscilador PIN 8), empezó a andar unos segundos, luego dejo de funcionar! después le deje la tierra del PIN 20 solo esa, y funciona un par de veces nada mas(Prendio y apagao). con la tierra solo del PIN 8 funciona unos segundos y si le conecto la otra tierra se extiende el tiempo pero no llega al minuto!...
saludos...
 
Última edición:
Me funciona perfectamente con el pic nuevo! pero al pic nuevo cuando le cargo mi programa no me funciona! solo funciona el que me mando D@rkbytes por eso quiero saber cual es el compilador que utiliza! porque se ve que el que tengo me crea conflicto!
saludos...
 
Si me funciona! (el problema es el compilador). Estoy utilizando el CCS lo compile de ahí y me funciona de maravilla! ustedes que compilador utilizan? porque yo estoy familiarizado con el MPLAB y me crea conflicto con el este PIC16F873A porque con los otros me funciona bien! con el 84A y el 628A.
bueno les agradezco por su ayuda! ya que sin ella, estaría parado en el mismo lugar!.

SALUDOS....
 
Si me funciona! (el problema es el compilador). Estoy utilizando el CCS lo compile de ahí y me funciona de maravilla! ustedes que compilador utilizan? porque yo estoy familiarizado con el MPLAB y me crea conflicto con el este PIC16F873A porque con los otros me funciona bien! con el 84A y el 628A.
bueno les agradezco por su ayuda! ya que sin ella, estaría parado en el mismo lugar!.

SALUDOS....
Por eso siempre les he dicho que escriban y compilen sus programas con el compilador por default.
MPLAB es un IDE que por medio de plug-ins acepta otros compiladores, pero existen varios problemas.
Yo en lo personal sólo uso MPLAB para programas en ensamblador.

Para saber que programa usé para compilar tu programa, tan solo hubieras mirado el archivo LED_RB0.lst
Ahí hasta arriba del archivo dice esto : CCS PCM C Compiler, Version 4.140, 44440

Y bueno, pues que bien que ya pudiste hacer funcionar tu programa. :)

Saludos y suerte.
 
Atrás
Arriba