Electronica

Ξ 11 comentarios

Cómo hacer un “Hello world” con un Micro Controlador

por Dexter
Cómo hacer un “Hello world” con un Micro Controlador

Hola queridos amigos(as) de Como Lo Hago. Hoy les traigo un tutorial para que puedan comenzar a hacer circuitos electrónicos programables mediante el uso de micro controladores.

Para ello les enseñaré la implementación de la aplicación más básica en los micro controladores. Me refiero al “Hello world”.

Para ver su implementación, los invito a continuar leyendo después del salto.

Cómo hacer un “Hello World” con un Micro Controlador

Implementos necesarios:

  • Un protoboard
  • Un micro controlador Atmel AT89S52
  • Un Programador (En mi caso use un TopMax de EEtools)
  • Un cristal de 12MHz
  • Dos condensadores cerámicos de 20 a 30 pF
  • Un condensador electrolítico de 10 μF
  • Un pulsador
  • Una resistencia de 10KΩ
  • Una resistencia de 150Ω
  • Un diodo LED Rojo
  • Cables Varios
  • Fuente de voltaje de 5 Volts DC

La idea es correr una secuencia la cual nos entregará un pulso por una de las salidas de micro controlador con el fin de que se prenda y apague un LED. Esto es una de las primeras rutinas que uno implementa en todo micro controlador con el fin de ver si está en buen estado y para así luego implementar circuitos más grandes.

Una vez recolectados los materiales podemos comenzar con nuestro Tutorial.

Comenzaremos por tomar nuestro microcontrolador y programarlo.

Comenzaremos por poner el AT89S52 en el TOPMAX y haciendo uso del programa “Max Loader” que pueden descargar de aquí, procederemos a cargar el programa que les mostraré a continuación.

Obviamente necesitarán el modulo del TOPMAX para poder programar el microcontrolador.

Aquí podemos ver el micro controlador insertado en el programador TOPMAX.

Para hacer la programación debemos crear el archivo que contenga la rutina específica a realizar.

La programación de este debe hacerse en un programa especial para luego abrir el programa en el TOPMAX.

A continuación les dejo el programa listo para llegar y abrirlo con el programa Max Loader.

No he hecho mucho hincapié a los programas de programación ya durante otro tutorial que vendrá veremos la programación misma. Pero para que se hagan una idea, el codigo está hecho con el programa Keil uVision, el cual es un compilador. Básicamente hemos creado un código en C el cual cambiamos su extensión a HEX para poder leerlo en el Max Loader.

Aquí está el código “Hello world”.

El código del programa es el siguiente para que tengan una idea.

#include <REGX52.h>
#include <math.h>

delay(unsigned int y){
unsigned int i;
for(i=0;i<y;i++){;}
}

main(){
while(1){
delay(30000);
P1_0 = 0;
delay(30000);
P1_0 = 1;
}
}

Como pueden observar usamos un ciclo While(1) el cual al ser siempre 1 ejecutará las lineas siguiente infinitamente.

Exite un retraso dado por el comando delay(30000) en el cual lanza un “0” lógico o en otras palabras 0 Volts por el puerto P1_0 luego otro retraso para mandar un “1” lógico o en otras palabras 5volts por el puerto P1_0 de manera que el LED que conectaremos a ese puerto se prenda y apague.

Bueno una vez descargado el archivo hello.hex lo abrimos con el Max Loader.

Una vez abierto el archivo, debemos proceder a borrar el contenido del micro controlador para cargar el programa nuevo.

Para ello hacemos click tal como lo indican los números.

Primero Erase, luego Verify(si les lanza un error es normal), luego Prog. y luego nuevamente Verify(ahora debiese lanzar un OK).

Ahora que ya tenemos nuestro micro controlador programado procederemos a la implementación del circuito, pero primero, veamos la disposición de las patitas del AT89S52.

Si observan el código que escribimos más arriba recordarán que había una linea de comando en la cual invocábamos a P1_0=… bueno si observan la disposición, la primera patita arriba a la izquierda es justamente ese puerto, en el cual conectaremos el LED que se encenderá y apagará.

Aquí les presento el circuito a implementar.

Si observan a la patita 9 está conectado el switch o pulsador(SW1) junto a un condensador electrolítico(C3=10μF) y una resistencia(R3=10KΩ). Esto nos servirá para resetear el programa que hemos cargado con anterioridad en el microcontrolador.

Por otro lado hacia la patita 18 y 19 está conectado el cristal(X1=12MHz) junto a dos condensadores cerámicos (C1 y C2 de entre 20 y 30 pF).

De la patita 1 se ve la conexión de una resistencia(R1=150Ω) junto al diodo Led. Si no recuerdan como conectar un LED les recomiendo que vean este tutorial antes.

Por último la patita 20 va conectada a tierra y la patita 40 y la patita 31 van conectadas a 5volts.

El prototipo inicial:

A continuación un par de fotos con las conexiones hechas de manera más ordenada y con mejor detalle.

Aquí un zoom a la zona donde conecté el cristal junto a los dos condensadores:

Y por último una fotografía con las lineas que se siguieron para las conexiones. En verde son las conexiones a tierra mientras que en rojo son las conexiones a 5 Volts.

La linea naranja corresponde a la patita número 1.

Otra cosa muy importante es que el condensador electrolítico posee polarización, por lo que se debe conectar de una sola manera, es por eso que les puse en la foto siguiente donde se conecta el (-) y donde se conecta el (+). Mucho OJO con eso!

Lo otro es que el pulsador se conecta una pata al costado superior izquierdo mientras que la otra patita se conecta en el costado inferior derecho, osea, no son las patas de un mismo lado sino las diagonalmente opuestas.

Ahora solo falta conectarlo a la fuente de voltaje y comenzarán a ver como la luz comienza  a parpadear.

Bueno con esto me despido.

Los invito a seguir visitandonos ya que más adelante les enseñaré a crear su propio programador.

Hasta una proxima!!!

Como siempre, este tutorial ha sido desarrollado, probado y documentado por el equipo de CLH, por lo que cuenta con nuestro Sello de Garantía.

Sello de GarantÍa CLH

Para cualquier consulta no duden en escribirnos. Estaremos felices de responderles y ayudarles en todo lo posible

Además, en Como Lo Hago siempre estamos al servicio de nuestros lectores, por lo que si hay algo que quieran hacer y no saben como, pueden solicitarlo en esta página que hemos habilitado.

Sin más que agregar, me despido y como siempre, Felices proyectos!!!!!

Comparte este tutorial

El culpable de todo esto

Cuenta la leyenda, que si Albert Einstein hubiese sido mujer, se hubiese encontrado con Isaac Newton y hubiesen tenido un hijo, mientras por otro lado MacGyver se hubiese encontrado con la versión femenina de una fusión entre los Cazadores de Mitos, hubiesen tenido una hija, y por afán del destino esos 2 niños se hubiesen encontrado cuando adultos y hubiesen tenido un hijo, ese sería Dexter. Simple, ¿No?. Existen otras teorías respecto a su origen, pero en verdad no quisieramos mentirles… sería una rotería. Bautizado en los barrios populares como ‘El Jackie Chan de la Electrónica’, presenta las más diversas soluciones a los problemas diarios. Es un crack.

En los barrios marginales se le conoce como: Dexter

Comentarios en Facebook

11 Comentarios

  • Jajajaja oye no estaba tan desordenado el cableado.
    saludos

  • @Gonzalo
    Saludos a mi socio de electrónica.
    En realidad no está desordenado es solo que yo soy un poco maniático, jajaja.
    Saludos!!!!

  • Muy Weno!!!
    no esta desordenado el cableado, lo que pasa es que salen las dos versiones, la normal y la perfect.
    saludos

  • @Priscilla
    Jajaja No menospreciemos el arduo trabajo de Gonzalo porfavor!!
    Saludos!!!!

  • hola k tal???
    se puede hacer con algun pic, por ejemplo el pic16f877 o el pic16f628??? gracias y saludos, una sugerencia, deberian de subir algun manual en español para el lenguaje de ensamblador, ya que soy estudiante de electronica y practicamente no sé nada de programacion para controladores… saludos…

  • @henrywolf
    De poder hacerse con otros micro controladores, porsupuesto que se puede, solo se debe tener conocimiento de programación básica como C++ para entender el código.
    Manuales hay por montones en Internet, simplemente basta con buscar.

    Por desgracia en esta página no alojamos archivos que no sean propios, ya sea fotos o videos por lo que nos es imposible tener un manual en nuestros servidores. De todas maneras enviame un mail a [email protected] para intercambiar información.
    Saludos!!

  • hola
    interesante el tema y bien explicado,
    saben donde puedo co seguir una top max universal programmer o si hay otro tipo de controlador para cargar los programas. a todo esto no le pego a la electronica.
    Saludos
    Gracias

  • Los programadores son bastante caros pero estoy haciendo un programador especifico para el 89s52, el cual postearé más adelante. Saludos

  • […] Hace un tiempo hice un tutorial introductorio al mundo de los Micro controladores con el Hello World. […]

  • me conectre para navegar durante un momento y estoy pegado al compu viendo su pagina que extraordinario super buena gracias por compartir sabiduria que dios los bendiga

1 2

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Gente linda que nos quiere

Donde mas estamos