LED parpadeante con PIC

Buenas, soy nuevo en este foro y tambien nuevo en lo que respecta a electronica .
Compre un PIC16F877A hace rato, ya tengo el programador tambien y no creo que batalle mucho en aprender a programarlo, he estado buscando un buen proyecto para comenzar y parece que el "Hola Mundo" del PIC es hacer parpadear un LED. Pero los diagramas que encuentro en internet son para otro tipo de PIC (principalmente el 16f84 o algo asi). Esperaba que me pudieran ayudar para armar el mismo circuito en el f877a, hay muchas diferencias?

Gracias y saludos.

1) Tema del proyecto: Led que parpadea.

2) Descripción del proyecto: N/A

3) Que busca demostrar el proyecto: Iniciarme con los PIC.

4) Nivel de conocimientos de electrónica que posee: Muy Básico, nunca realicé ningún circuito.

5) Lenguaje de programación que maneja: C/C++, Assembler basico, Java, PHP.

6) Nivel académico: Secundaria.
 
Hola amigo jams...

Pues lo que quieres hacer con el micro es algo bastante fácil. Veo que sabes algo de assembler, pues no va a ser tan dificil para tí hacer lo que quieres. Las instrucciones esenciales que necesitas para encender y apgar el led son bsf y bcf, respectivamente. Entra a la página web de Microchip y allí encontrarás el data sheet de ese pic. Cabe señalar que después de cada una de estas dos instrucciones necesitas hacer un retardo para que el led quede un momento encendido y otro momento apagado. Te sugiero que manejes el led a través del puertoB.

Con lo referente a las conexiones del led. Coloca una resistencia entre 220 y 560 ohmios en la salida del micro, la otra patita de la resistencia únela con la patita mas larga del led, mientras que la patita mas corta del led conectala a tierra.

Saludos.... [/b]
 
Gracias, ya compre resistencias y el LED. Tambien compre un cristal de 4 porque se que lo necesitare, tengo una protoboard para montar todo. Cuanto voltaje necesito para encender el circuito? Esta bien con baterias?
Saludos.
 
A buen entendedor con pocas palabras basta!

Consigue un simulador de pics (Como pueda ser Isis de Preoteus) y montas y pruebas tu circuito sin hacer falta programador y demás cosas.

Saludos
 
ops: Baje el programa pero no tengo ni idea de como usarlo disculpen la ignorancia apenas empiezo con esto, todavia no puedo ser un buen entendedor jejej Como es que alimento con una bateria el pic? donde conecto tierra y donde la masa? (en que pines) como es que se llegan a conectar el cristal y el pic?
 
Bueno yo soy totalmente nuevo en esto de los codigos y quiero una opinion de este:
Led parpadeante
16F84A

Código:
STATUS    equ   0x3
PORTA     equ   0x5

TRISA     equ   0x5

PORTB     equ   0x6

TRISB     equ   0x6

ORG    0
BSF      STATUS,RP0

MOVLW    B'00000'

MOVWF   TRISA

MOVLW    B'00000000'

MOVWF  TRISB

BCF   STATUS,RP0

INICIO
    
    BSF    PORTB,0
  
    CALL        RETARDO ; Llama a RETARDO

GOTO    INICIO

RETARDO

        CALL  RETARDO1

        DECFSZ  CONTADOR,1

        GOTO  RETARDO

        MOVLW 80

        MOVWF CONTADOR

        RETURN

RETARDO1

        DECFSZ  CONTADOR1,1

        GOTO  RETARDO1

        MOVLW   80

        MOVWF   CONTADOR1

        RETURN

        EN
 
Hola, anthony123 a tu programa le falta la parte en donde apaga el led, antes de agregar la instruccion goto INICIO agrega esto:

BCF PORTB,0

CALL RETARDO ; Llama a RETARDO

Por lo que veo a tu rutina de retardo le tendrias que cargar el valor en los contadores al incio del programa, despues de configurar el puerto B y cambiar de banco agrega lo siguiente:


MOVLW 80

MOVWF CONTADOR

MOVWF CONTADOR1

Tengo un programa que es para calcular retardos, es muy facil de usar y nos da todo el codigo en ensamblador para agregar al programa, lo unico que hay que hacer es indicar la frecuencia a la que corre el micro, indicar el tiempo del retardo y luego copiar y pegar, tambien hay que definir una o mas variables que necesita la rutina de retardo.

Este programa de anthony123 se puede usar en casi cualquier micro que tengo el puerto B.

jams2006 te recomiendo que empieces con un pic16f84 porque es uno de los micros mas faciles de usar y ademas podes encontrar toneladas de ejemplos en internet, libros, revistas, etc

Cualquier cosa avisen y les hago un programa para que parpadee un led o cualquier cosa.

Saludos y espero que les sirva el programa :)
 

Adjuntos

  • calcular_retardos_521.zip
    90.2 KB · Visitas: 384
El nombre dijo:
antony ¿En que linea esactamente apagas el Led?

Como disfruto.

No lo malinterpretes, es constructiva.

Amigo no se q trataste de decir! Pero buehh aqui estoy en la lucha! Este proyecto me lo propuse desde hace mucho y quiero aprender a manejar los "fucking, assholes" codigos!

EDIT1: No cree el program! :S

EDIT2: Gracias por los consejos pero no se como tomarlos :S!
 
Bueno lo del simulador es muy buena opcion y sobre todo el PROTEUS que es el que yo uso, a continuacion voy a poner el codigo para hacer parpadear un led, yo actualmente uso el lenguaje C, por tanto necesitarás un compilador como el CCS.

ahi tienes el código:

#include <16f877a.h> //Incluye el archivo de cabecera para el PIC
#use delay (clock=4000000) //Define la velocidad del Oscilador
#bit Led=5.0 //Define la patita RA0 como LED


main() //Empieza el programa principal

{
set_tris_a(0x00); //Configura PORTA como salidas
set_tris_b(0x00); //Configura PORTB como salidas
output_a(0x00); //Todas las salidas de PORTA a 0
output_b(0x00); //Todas las salidas de PORTB a 0


while(1) //Entra en un ciclo infinito

{
Led=1; //Enciende el LED
delay_ms(1000); //Espera 1 segundo
Led=0; //Apaga el LED
delay_ms(1000); //Espera 1 segundo
}
}

si te interesan algunos otros proyectitos sencillitos, (como para comenzar) puedes visitar mi página web: www.picmind.es.tl

suerte y ánimo con tu proyecto.
 
Porque no hay un buen tutorial que explique todo: Como hacer el codigo, como compilar el hex, como emplear los programas, etc...
Todos siempren culminan asi

"Finalmente nos toca copilar e insertar el codigo en el pic"
 
hola amigos espero esta información les sirva si manejan el pic 16f877 para este tipo de programa esta bien solo que se me hace demaciada capaciad de memoria para la funcion que va hacer el programa asi que pueden usar un 16f84.

como ustedes quieran le recomiendo que empiezen por realizar un diagrama de flujo del funcionamiento del programa creanme cuando uno empieza con pics ayuda mucho.

hasta pronto......
 

Adjuntos

  • set_16f84_124.doc
    346.5 KB · Visitas: 333
lo de compilar es de lo mas sencillo lo unico que tienes que hacer es copiar el codigo en el MPLAB crear un proyecto donde incluyas el archivo y listo le das F10 o le dices en el botoncito de compilar y YA!

No tiene misterio.

SUERTE
 
hola anthony123 aqui esta el codigo del programa para hacer parpadear un led con un 16f84
te lo explico paso a paso y lo puedes simular com MPLAB Software aqui te dejo el link para que lo bajes es este solo paciencia por que si se tarda un buen(MPLAB IDE v8.01 Interim Release Zipped Installation
Release Notes for MPLAB IDE v8.01)

http://www.microchip.com/stellent/i...E&nodeId=1406&dDocName=en019469&part=SW007002

te anexo el archivo para poderlo simular .ASM y como te dije el diagrama para su realizacion.

ojala te sirva.
 

Adjuntos

  • diagrama_de_flujo_led_parpadeante_565.jpg
    diagrama_de_flujo_led_parpadeante_565.jpg
    20 KB · Visitas: 585
  • led_parpadeante_226.asm
    3.1 KB · Visitas: 193
  • led_parpadeante_102.txt
    3.1 KB · Visitas: 241
Atrás
Arriba