Autor Tema: Hacer parpadear un led. Una ayudita please  (Leído 4196 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado Minu

  • PIC10
  • *
  • Mensajes: 15
Hacer parpadear un led. Una ayudita please
« en: 15 de Octubre de 2008, 14:35:29 »
Hola...sin conseguirlo he intentado varias veces hacer parpadear un led.
El pic utilizado es el 16f628-04,posteriormente y obteniendo el mismo resultado,lo he probado con el 16F877A-1.
Este es el programa:
Define CONF_WORD = 0x3f50

AllDigital

TRISA = %11111111
TRISB = %00000000

loop:
PORTB.3 = 1
WaitMs 500
PORTB.3 = 0
WaitMs 500
Goto loop

En el pic simulator ide he seleccionado correctamente el pic,frecuencia del reloj 4.0 Mhz. Configuration bits,la he dejado por defecto dandole a generate basic code.
Depues en la ventana de basic compiler,una vez escrito el codigo,le he dado a tools,compile & assemble para que genere los archivos correspondientes
Con una aplicaion llamada MicroPro he abierto el archivo *.hex, "en esta aplicacion tambien he seleccionado el pic correctamente", y lo he mandado al pic usando un programador usb.
Aparentemente hasta aqui todo es correcto.
En la protoboard he alimentado el microcontrolador con +5V en Vdd y -5V en Vss,la resistencia conectada a portb.3(pin9),a continuacion de ella el led(siempre respetando la polaridad),el otro extremo del led conectado a Vss. He chekeado haciendo lucir el led conectado a la resitencia,el led funciona correctamente.

Pues bien,seguramente me he dejado algo por poner,asi que ojala quieran darme una ayudita para poder continuar.
Gracias y un saludo.

Un saludo desde Mallorca

Desconectado misstreated

  • PIC10
  • *
  • Mensajes: 16
Re: Hacer parpadear un led. Una ayudita please
« Respuesta #1 en: 15 de Octubre de 2008, 15:29:34 »
He mirado lo que has echo y solo encuentro una cosa:


en Vss, ¿has puesto -5 o 0?

vss debe de estar a 0V (masa)

no se si es eso, por lo demas esta bien
« Última modificación: 15 de Octubre de 2008, 15:31:54 por misstreated »
Saludos desde el planeta aceituna

Desconectado Minu

  • PIC10
  • *
  • Mensajes: 15
Re: Hacer parpadear un led. Una ayudita please
« Respuesta #2 en: 15 de Octubre de 2008, 17:07:28 »
Hola misstreated,uso un pack de  4 pilas recargables 1.2V,en total 4.8V,imagino que será suficiente,¿o por el contrario tiene que ser 5V?
EL positivo lo pongo a Vdd y el negativo a Vss

Gracias y un saludo
Un saludo desde Mallorca

Desconectado misstreated

  • PIC10
  • *
  • Mensajes: 16
Re: Hacer parpadear un led. Una ayudita please
« Respuesta #3 en: 15 de Octubre de 2008, 17:22:15 »
Ok entonces eso esta bien, si estan bien cargadas las baterias no debes tener problemas , yo para probar uso tambien baterias (4,8 v).

¿estas seguro que grabas bien el pic? puede ser que no este bien grabado , de todas formas, comprueba en el programa que usas para grabar el pic usa la configuracion del pic (reloj interno , etc)

otra cosa, prueba a poner todos los pines como salida (el puerto A tambien) o a ponerle resistencias de 10k desde el pin a masa (una a cada pin de entrada).
Saludos desde el planeta aceituna

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Hacer parpadear un led. Una ayudita please
« Respuesta #4 en: 15 de Octubre de 2008, 18:17:19 »
Y el pin de MCLR esta con una resistencia de 10K? O has deshabilitado el uso de MCLR?
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado misstreated

  • PIC10
  • *
  • Mensajes: 16
Re: Hacer parpadear un led. Una ayudita please
« Respuesta #5 en: 15 de Octubre de 2008, 18:36:40 »
Y el pin de MCLR esta con una resistencia de 10K? O has deshabilitado el uso de MCLR?

Yo por lo que veo aqui "Define CONF_WORD = 0x3f50" el MCLR esta desabilitado lo mismo ye tiene habilitado el reloj interno del pic. Lo unico que me da por pensar es en el puerto A que esta como entrada y notiene puesto ninguna resistencia,.
Saludos desde el planeta aceituna

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Hacer parpadear un led. Una ayudita please
« Respuesta #6 en: 16 de Octubre de 2008, 01:44:51 »
Mejor prueba con el 16F628, porque el 16F877 no tiene la posibilidad de desactivar MCLR, ni oscilador interno.
Y prueba también cambiando la configuración por 3F11, para desactivar el BOR, por si estás teniendo problemas de tensión, y para sacar los pulsos de reloj por CLKOUT.
¿Puedes medir lo que hay en CLKOUT cuando el PIC está corriendo?
Por cierto, ¿de qué valor es la resistencia que conectas al LED?

Desconectado Minu

  • PIC10
  • *
  • Mensajes: 15
Re: Hacer parpadear un led. Una ayudita please
« Respuesta #7 en: 16 de Octubre de 2008, 05:35:14 »

He probado de poner todos los puertos como salidas.Carezco de tantas resistencias de 10k,en cuanto pueda ire a comprar unas cuantas para probar lo de poner los bits del puerto A como entradas con resistencias.
El mcrl lo tengo deshabilitado...creo,de tal manera que ese pin estaba como digital I/O
He probado dejando habilitado y deshabilitado mcrl teniendo una resistencia de 10k en el pin correspondiente,la R puesta a masa claro.
El valor de la resistencia es de 150 ohmios,utilizo un led verde.
Ahora me pondre a probar de cambiar la configuracion a 3f11 e intentare medir el clkout,mas tarde os comento.
Un saludo desde Mallorca

Desconectado Minu

  • PIC10
  • *
  • Mensajes: 15
Re: Hacer parpadear un led. Una ayudita please
« Respuesta #8 en: 16 de Octubre de 2008, 05:54:45 »
Siiiiiiiiii......despues de 3 dias intentandolo,me habia desmoralizado un poco,ya funicona el dichoso led,que bieeen !!!!

Este es el programita:

Define CONF_WORD = 0x3f11

TRISA = %11111111
TRISB = %00000000
loop:
PORTB.3 = 1
WaitMs 500
PORTB.3 = 0
WaitMs 500
Goto loop

Aunque no termino de entender el por que de 0x3f11.
Gracias por la ayuda,de veras,ahora ya puedo continuar experimentando en este fascinante mundillo.
Gracias y saludos.
Un saludo desde Mallorca

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Hacer parpadear un led. Una ayudita please
« Respuesta #9 en: 16 de Octubre de 2008, 06:06:50 »
Lo que hemos desactivado al poner 3F11 es el fuse BOR (Brown Out Reset) que resetea el micro si la tensión de alimentación cae por debajo de determinado nivel durante determinado tiempo. Puedes verlo en el apartado 14.5.4 de la datasheet.
Al desactivarlo no desaparece tu problema de alimentación, simplemente lo ignoras, por lo que deberías revisarlo.

Desconectado Minu

  • PIC10
  • *
  • Mensajes: 15
Re: Hacer parpadear un led. Una ayudita please
« Respuesta #10 en: 16 de Octubre de 2008, 07:08:28 »
He leido la hoja de datos. He realizado un checkeo y efectivamente,la tension de trabajo se encontraba bastante baja,concretamente 4V. Es lo que ocurre por usar pilas recargables  :(
Gracias de nuevo.  :-)
Un saludo desde Mallorca

Desconectado misstreated

  • PIC10
  • *
  • Mensajes: 16
Re: Hacer parpadear un led. Una ayudita please
« Respuesta #11 en: 16 de Octubre de 2008, 08:28:08 »
Lo que hemos desactivado al poner 3F11 es el fuse BOR (Brown Out Reset) que resetea el micro si la tensión de alimentación cae por debajo de determinado nivel durante determinado tiempo. Puedes verlo en el apartado 14.5.4 de la datasheet.
Al desactivarlo no desaparece tu problema de alimentación, simplemente lo ignoras, por lo que deberías revisarlo.
no hay nada como leer a los que saben. buena informacion y gracias por ella
Saludos desde el planeta aceituna


 

anything