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.
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.
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!!!!!
8:16:10 pm
queria preguntar si alguien pudiera pasarme el programa o link maxloader pues eh tratado de descargarlo y se me a complicado gracias!!