2da Clace
Visitas
Introducción al curso
Posteado por Raul Alejandro QL
En la primera clace, vimos los recursos en cuanto a hardware del microcontrolador AT89c51, esta es una bace para las variantes de los microcontroladores 8051 como son el at89c52, el at89c55, estos compatibles entre si, mas adelante veremos las variantes del at89c1051 el at89c2051 y el at89c4051, en esta sección veremos como manejar el assembler del microcontrolador 8051, para esto, haremos uso del Simulador Proteus de Labcenter Electronics,, un excelente simulador para micro-controladores. Esto es solo una muestra introductoria de como se llevara todo el curso.
La familia del 8051 tiene una amplia cantidad de instrucciones para una fácil programación, aproximadamente unos 255 instrucciones, descarque y tenga a mano tanto la Hoja de datos del AT89c51 como el Set de instrucciones del mismo, de aqui en adelante sera necesario.
Empezaremos con un codigo simple.
Empezaremos con un codigo simple.
; * * * * * * * * * * * * * * * * * * * * * * * ; * leccion 1 * ; * Lenguaje Assembler * ; * * ; * autor: Raul Alejandro Quispe Larico * ; * * ; * * * * * * * * * * * * * * * * * * * * * * * ; esto es solo un comentario org 0000h ; reset inicio: ; etiqueta simple mov a,p0 ; mover al acumulador A el valor del puerto 0, p0 mov p1,a ; mueve el valor del acumulador al puerto 1, p1 ajmp inicio ; salta a inicio, el proceso es infinito. end ; fin de codigo
En el código, todo lo que esta después de " ; " es un comentario, y sirve para guiar al programador en las lineas de código, claro esta que mientras mas comentarios se tenga mas claro sera el código de programa que se esta escribiendo, ademas es una regla del buen programador comentar su código, así de esta manera puede recordar después de mucho tiempo el propósito de dicho codigo.
la instrucción " org 0000h " es una instrucción que determina la dirección de memoria donde se inicia el codigo siguiente, es decir que todo el código se graba en la dirección de memoria de programa 0000h.
La instruccion " inicio: " es una etiqueta y nos sirve en el código para determinar sectores del código o para saltos, en este caso esta haciendo ambas cosas, nos indica que alli " inicia " el codigo y nos sirve como etiqueta para retornar a esa misma linea de código gracias a la instrucción " ajmp " q significa salto incondicional a. . ., en este caso el codigo completo es " ajmp incio" , indica que el programa continua nuevamente en el inicio, de esta manera se crea un bucle cerrado e infinito para correr el programa.
La instruccion " mov a,p0 " permite leer el valor que en ese momento posee el puerto cero " p0 " y lo almacena en el acumulador A.
La instruccion " mov p1,a " envia al puerto 1 " p1 " el valor que tiene almacenado el acumulador A.
La instruccion " end " finaliza el código.
En resumen este código simple refleja la información del puerto 0 al puerto 1 y es fácilmente comprobable con el simulador y el grabando el programa en en micro-controlador.
A continuación simularemos el código antes escrito en el simulador Proteus de Labcenter Electronics
Set de instrucciones