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

  • queria preguntar si alguien pudiera pasarme el programa o link maxloader pues eh tratado de descargarlo y se me a complicado gracias!!

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