Bienvenidos a los
tutoriales de Artes Electrónicas Pachani, hoy vamos a
iniciar la serie de tutoriales dedicados a los microcontroladores
PIC, este tutorial está dirigido a lectores novatos, aficionados
(hobbistas), estudiantes, que deseen implementar programas para
microcontroladores en lenguaje ensamblador (ASM).
¿Que
es un PIC?
Vayamos definiendo
que entendemos por PIC: Los PIC son una familia de
microcontroladores desarrollados y fabricados por la empresa
Microchip Technologies Inc., diseñados en una tecnología del
tipo RISC (“Reduced Instruction Set Computer” Set de
instrucciones reducido para computadora) y con arquitectura
interna característica que varían según el modelo de PIC que
deseamos utilizar.
![]() |
Figura 1.1.-
Elementos de un microcontrolador.
|
De principio de
podemos decir que los microcontroladores se asemejan a una
computadora, de tamaño muy reducido y compacto, ya que cuentan con
los mismos recursos que una computadora, es decir, poseen memoria
de programa, memoria RAM, memoria
de datos, puertos de entrada o salida,
temporizadores y en algunos casos cuentan con recursos
adicionales como conversores A/D,
comparadores, USART (Universal
Synchronous/Asynchronous Receiver/Transmitter), comunicación serie
I2C, entre otros.
Las
herramientas
![]() |
Figura 1.2.- Bienvenida e Inicio
del curso. (me parecio un hermosa manera de iniciar la clase)
|
Primero consideremos
las herramientas necesarias para empezar este curso:
Lenguaje
Ensamblador
Primero conozcamos
mas a fondo que necesitamos para poder iniciar nuestro trabajo en los
microcontroladores PIC, entendamos primero que puede hacer un
microcontrolador PIC:
“Por
si mismo no puede hacer nada”
-¿Entonces
donde se encuentra la magia de los microcontroladores PIC?
De igual manera que
nosotros utilizamos un lenguaje para comunicarnos entre nosotros, los
Microcontroladores necesitan de un lenguaje para poder interactuar
con nosotros. Ahí es donde tiene mayor importancia un lenguaje de
programación llamado Ensamblador, es la manera mas directa con la
que podemos trabajar con un microcontrolador.
Lenguaje
de Bajo Nivel (Ensamblador), a diferencia de Alto Nivel
que son interpretes de lenguaje de bajo nivel como lo son: C, Basic,
VisualBasic, Fortran, etc . La capacidad del lenguaje de bajo nivel
se halla en que podemos trabajar con un puerto bit a bit.
Siendo mas estrictos
diremos que los microcontroladores entienden un lenguaje formado por
los ceros y unos en sistema binario. Es decir ualquier instrucción
que deba ser ejecutada por el microcontrolador debe estar expresada
en binario. Ahí
es donde mas
importancia tiene el Ensamblador pues este interpreta a Código
Máquina
las
instrucciones que necesitemos indicarle al microcontrolador.
Por
ejemplo. Cuando el microcontrolador PlC lee el código
maquina " 1111100011101”
, esta recibiendo la siguiente instrucción:
"suma
58 al registro de trabajo W y guarda el
resultado en este mismo registro
W".
Dicha codificación
binaria resulta incomoda para trabajar ( ademas que visualmente
parece algo desconcertante), por lo que muchas veces se utiliza la
codificación hexadecimal para facilitar la interpretación de los
códigos maquina y no saturar las pantallas (ni los cerebros) de unos
y ceros.
![]() |
Figura 1.3.-
Programación del microcontrolador.
|
Diremos que el
lenguaje ensamblador utiliza nemonicos que son grupos de caracteres
alfanuméricos que simbolizan las órdenes o tareas a realizar con
cada instrucción. Los nemonicos se corresponden con las iniciales
del nombre de la instrucción en inglés, de forma que "recuerdan"
la operación que realiza la instrucción, lo que facilita su
memorización.
Por
ejemplo:
Instrucción:
"suma 58 al registro de trabajo W
y guarda el resultado en este mismo
registro W"
Ensamblador:
addlw d’58’
Máquina:
‘11111000111010’ (expresado en binario).
3 E3 A (expresado en hexadecimal).
Programa
ensamblador
Por lo que hemos
visto hasta ahora podemos decir que un programa escrito en lenguaje
ensamblador recibe la denominación de código
fuente, archivo fuente o fichero fuente. Suele tener
la extensión *.asm
. El archivo fuente debe ser traducido a código
maquina, de lo cual se encarga el programa ensamblador, en nuestro
caso sera IDE de MikroC, IDE MpLab u
otro que pueda interpretar a código fuente
. La mayoría de los ensambladores proporcionan a su salida
ademas un fichero que suele tener la extensión *.hex . Este
fichero puede ser grabado en la memoria de programa mediante la
utilización de un grabador de microcontroladores como por ejemplo
Pickit2, Pickit3 o un grabador universal, etc .
![]() |
Figura 1.4.- Inicio
de IDE MpLab. |
![]() |
Figura 1.5.- Inicio IDE MikroC.
|
Para espesar vamos a iniciar nuestras practicas con el IDE de MpLab,
y luego en MikroC pero dentro del código C vamos a colocar en
Ensamblador las instrucciones que así necesitemos.
Bien hasta aquí la parte introductoria para lo que sera nuestro
tutorial de programación en ensamblador para microcontroladores ,
espero les sea de utilidad todo este material aquí presentado y es
libre de ser utilizado como material de apoyo y no se olviden de
mencionar la fuente de este materia.
Espero les sea de utilidad a las personas que sienten esa inquietud
de aprender, para resolver sus necesidades, por el momento hasta la
próxima entrega.
Todo el material que aquí se encuentra es de mi autoría, ademas de
una recopilación de información de Internet de recursos que se
pueden descargar como libros los cuales son usados como referencia
para los ejercicios y los ejemplos. Cualquier consulta la puedes
realizar en la parte de comentarios.
Bibliografia:
1.- Enrique Palacios , Fernando Ramiro y Lucas J. López,
Microcontrolador PIC16F84 Editorial Alfa Omega; Publicado el año
2004;[Fecha de consulta 21 de Febrero de 2017].
2.-Christian Bodignton Estava; Mikro Basic ; descargada de
WWW.CONEXIONELECTRONICA.COM;
Publicado el año 2010; [Fecha de consulta 5 de Marzo de 2017].
Software utilizados:
1.- MikroC_PRO_PIC_2016_Build.6.6.3 descargado de la pagina
oficial de Microchip;
2.- MpLab version
8.92 descargado de la pagina oficial de Microchip;
No hay comentarios.:
Publicar un comentario
Hola, con tu comentario puedes aportar para mejorar la calidad de mi trabajo