Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

15/08/2013 #1


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... ...
15/08/2013 #2
Moderador

Avatar de Chico3001

y tu programa?
Y el circuito?
15/08/2013 #3


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);
   }
}
16/08/2013 #4
Moderador

Avatar de D@rkbytes

anovarecio dijo: Ver Mensaje
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.
16/08/2013 #5


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.
16/08/2013 #6
Moderador

Avatar de D@rkbytes

anovarecio dijo: Ver Mensaje
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.


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

Suerte.
Imágenes Adjuntas
Tipo de Archivo: jpg 16F873A _LED_RB0_SCH.jpg (94,9 KB (Kilobytes), 5 visitas)
Tipo de Archivo: jpg 1617101.jpg (23,2 KB (Kilobytes), 33 visitas)
Archivos Adjuntos
Tipo de Archivo: rar 16F873A LED en RB0.rar (17,3 KB (Kilobytes), 8 visitas)
16/08/2013 #7


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!...

---------- Actualizado después de 16 minutos ----------

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...
16/08/2013 #8
Moderador

Avatar de Chico3001

Probaste usando un PIC nuevo??
16/08/2013 #9


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...
16/08/2013 #10
Moderador

Avatar de Chico3001

Por fin... te funciona o no te funciona???
16/08/2013 #11


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....
16/08/2013 #12
Moderador

Avatar de D@rkbytes

anovarecio dijo: Ver Mensaje
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.
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.