TODOPIC
Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: sentinela_x en 26 de Mayo de 2009, 01:45:04
-
Hola gente de todopic, soy nuevo en el foro! :mrgreen:
Soy estudiante de ingenieria electrónica (1er año) y estoy iniciandome en esto de la programacion de los pics, me parece mas que interesante! es increible lo que se puede llegar a hacer con tan solo unos componentes..
Lastima que no entiendo mucho y espero que me puedan ayudar con mi primer proyecto.
Es un Led que titila.. pero .... en mi caso NO titila se queda siempre encendido..
el circuito que use es el siguiente. (http://www.sigma-shop.com/e_images/scheme.jpg)
y la programación la realice en PIC SIMULATOR IDE. y es la siguente..
Alldigital
TrisA = %00000000
Ciclo:
PORTA.2 = 1 ' Estado 1 del pin RA2
Waitms 1000 ' Esperar 1 segundo
PORTA.2 = 0 ' Estado 0 del pin RA2
Waitms 1000 ' Esperar 1 segundo
Goto ciclo
End
Hice la simulación y el led titila exitosamente .. luego compile y lo pase a lenguaje .hex abri este archivo con IC-PROG (ya configurado segun mi pic y mi programador) y la opcion Oscillator se paso sola a RC (no se lo que significa).
luego para comprobar que este todo bien toque en "Verify" y salio un error "Failed at address 0000h!" con error y todo
presione el boton Program All ,, se lleno una barrita y dio un OK como si todo hubiera salido bien..
Monte el Pic en mi protoboard alimentada con 5.2v 500ma .. el led quedo encendido.. y nunca se apago. No se que es lo que estoy haciendo mal.. Ya intente sin los condensadores pero nada.. Alguna sugerencia??
desde ya muchas gracias por leer.
-
Opción Oscillator indica que tipo de oscilador estas usando, seguramente en tu caso estas usan un XT de 4MHz. La verificación se hace después de programar.
En el protoboard (o en el circuito que estés realizando) asegura bien las conexiones, el cristal y sus capacitores deben estar próximos al PIC, y el pin Mclr con una resistencia a Vdd.
-
no te olvides colocar un condensador de 100nF (104) y para que no quede solo uno de 10uF, ambos entre los terminales de alimentación, VDD y GND
-
Opción Oscillator indica que tipo de oscilador estas usando, seguramente en tu caso estas usan un XT de 4MHz. La verificación se hace después de programar.
En el protoboard (o en el circuito que estés realizando) asegura bien las conexiones, el cristal y sus capacitores deben estar próximos al PIC, y el pin Mclr con una resistencia a Vdd.
en el diagrama que subi ,, la resistencia no esta directamente al VDD.. osea que esta mal ?
mi oscilador es uno de 4Mhz,, tengo que elegir la opcion XT ? antes de darle a Program all???
otro detalle.. yo conecte todo lo que dice GND y 0v al negativo del transformador.. se supone que eso esta bien ?
El pic que estoy usando es el PIC 16F84-A con un oscilador de 4Mhz
gracias por responder suky y cryn
-
en el diagrama que subi ,, la resistencia no esta directamente al VDD.. osea que esta mal ?
Yo veo que si esta conectado a 5V ósea Vdd.
mi oscilador es uno de 4Mhz,, tengo que elegir la opcion XT ? antes de darle a Program all???
Exactamente.
otro detalle.. yo conecte todo lo que dice GND y 0v al negativo del transformador.. se supone que eso esta bien ?
Espero que cuando dices Transformador (Tensión Alterna) en realidad sea una fuente (Tensión continua) :mrgreen: La fuente tiene que ser de 2 a 5.5V según indica Datasheet. Si es mayor puedes armar una simple fuente con el integrado LM7805.
-
Si. mi transformador tiene una salida de 5.5 v de C.C .. pero por las dudas voy a usar una vieja fuente de computadora para volver a armar el proyecto . muy bueno el blog de suky y gracias por la ayuda. :)
-
asi conecte todo,, alguien me puede decir si esta bien ??
(http://img37.imageshack.us/img37/6701/coneccion.jpg)
-
si esta bien, pero el led no estaba en RA2?
y te recomiendo colocar otro condensador de 100nF en paralelo a tu C1
y por si las dudas, GND=NEGATIVO de la Fuente=0 Lógico=0V
VCC=VDD=5V=1 Lógico=POSITIVO de la fuente
-
si esta bien, pero el led no estaba en RA2?
si, pero ahora esta en RB0 cambie la programación también
y te recomiendo colocar otro condensador de 100nF en paralelo a tu C1
Ok lo voy a colocar .
y por si las dudas, GND=NEGATIVO de la Fuente=0 Lógico=0V
VCC=VDD=5V=1 Lógico=POSITIVO de la fuente
no entendi esa parte.. me explicas mejor ? es que soy novato en esto. :mrgreen:
-
y por si las dudas, GND=NEGATIVO de la Fuente=0 Lógico=0V
VCC=VDD=5V=1 Lógico=POSITIVO de la fuente
no entendi esa parte.. me explicas mejor ? es que soy novato en esto. :mrgreen:
A lo que se refiere es que:
0 Lógico equivale 0Volts=GND
1 Lógico equivale a 5Volts=Vdd
Pero esto depende de la lógica del puerto. Por ejemplo si es TTL:
0 Lógico es dentro del rango 0 a 0.8 Volts
1 Lógico es dentro del rango 2 a 5.5 Volts
Si es Schmitt Trigger:
0 Lógico es dentro del rango 0 a 0.2Vdd
1 Lógico es dentro del rango 0.8Vdd a Vdd
-
y por si las dudas, GND=NEGATIVO de la Fuente=0 Lógico=0V
VCC=VDD=5V=1 Lógico=POSITIVO de la fuente
no entendi esa parte.. me explicas mejor ? es que soy novato en esto. :mrgreen:
si exactamente como dijo suky, te di los nombres que son sinónimos en cuanto a la alimentación y lógica digital, para que te vayas familiarizando.
un saludo
-
hola
en PSI una vez que seleccionas el PIC puedes ir al menú 'Options -> Configuration Bits' y establecer los parámetros. eso te devolverá un valor en 'Configuration Word (2007h)'.
es muy buena costumbre añadir esa palabra de configuración al principio de nuestro código para evitarnos olvidos o despistes a la hora de grabar el PIC. te dejo un ejemplo de como suelo hacerlo en mi caso:
'PIC 16F84A
'Led intermitente en RB0
'27/05/2009
Define CONF_WORD = 0x3FF1
'Code Protection = OFF
'Power-up Timer = Enabled
'Watchdog Timer = Disabled
'Oscillator Selection = XT
Define CLOCK_FREQUENCY = 4 '4 Mhz
AllDigital 'E/S digitales
TRISA = %00000 'Todos como salidas
TRISB = %00000000 'Todos como salidas
PORTA = 0 'Puertos a 0
PORTB = 0
ciclo:
PORTB.0 = 1 'Estado 1 del pin RB0
WaitMs 1000 'Esperar 1 segundo
PORTB.0 = 0 'Estado 0 del pin RB0
WaitMs 1000 'Esperar 1 segundo
Goto ciclo
End
¿porqué aparece en tu código Waitms y no WaitMs que es lo correcto...? espero que te sirva ya que en principio no veo un motivo para que no lo haga.
un saludo
-
xocas06 use tu programación en mi Pic.. la mala noticia es que el led conectado a RB0 se queda siempre encendido,, yo pienso que tiene que ser un error en mi circuito o en la forma en la que paso de .hex al pic.. te comento yo uso el IC PROG.. le doy a abrir elijo el ledintermintente.hex cambio a modo XT y le doy program all. luego lo monto en el protoboard... y queda siempre encendido.. solo el RB0 lo cual es un avance ya que antes con mi programacion el led se encendia con todas las salidas.
pd. hay algun otro programa para Programar que directamente lo monte al PIC?
-
Si utilizas el código de Xocas la opción XT debería ya estar seleccionada! Revisa nuevamente las conexiones del Mclr, y las del oscilador.
-
ITS ALIVE !!! FUNCIONAAAAAAA!!!!!!!!!! :-/ :-/ :-/ :-/ :-/
que felicidad.. después de tanto esfuerzo y intentos . por fin me salio :) !!
mi error era que estaba usando el diagrama de un pic 16f8X ,, yo pense que era el mismo que el 16f84A .. pero NO,, era muy diferente, baje el datasheet correji los errores en el protoboard y ahora funciona .. gracias a todos los que ayudaron, ya los voy a estar molestando con otros proyectos :mrgreen: .
-
que bueno que te haya resultado bien el experimento, a seguir curioseando este mundo tan lindo!! :-/
por curiosidad que diagrama de pic 16f8X estabas usando? o donde exactamente estaba el error?
saludos.
-
y el error era que en el diagrama que tenia el oscilador estaba ocupando los pines 15 y 16. .. osea qque nada que ver :shock:
despues baje el de datasheet y salio todo bien :)
-
:-/ :-/ :-/
-
y el error era que en el diagrama que tenia el oscilador estaba ocupando los pines 15 y 16. .. osea qque nada que ver :shock:
despues baje el de datasheet y salio todo bien :)
que 16f8X estabas viendo?
-
que 16f8X estabas viendo?
la verdad ni idea solo decia 16f8x. :?
-
:| que extraño...
me lo muestras por favor?
-
:| que extraño...
me lo muestras por favor?
lo tenia impreso en un papel y de la bronca que me dio ya lo tire. :D
si encuentro el mismo diagrama en internet te lo mando por PM.
-
jajajaja, ok, no hay problema
saludos
-
y el error era que en el diagrama que tenia el oscilador estaba ocupando los pines 15 y 16. .. osea qque nada que ver :shock:
despues baje el de datasheet y salio todo bien :)
estoy tratando de armar ese circuito pero no puedo.
me podrias pasar el diagrama del pic 16f84a por favor?
gracias!!