Introducción

Con el desarrollo de los transistores, se ha venido evolucionando desde compuertas lógicas, pasando por memorias ROM, RAM, FLASH, entre otras, hasta llegar a los microcontroladores y a los microprocesadores. Los microcontroladores son utilizados para tareas de control específicas, mientras que los microprocesadores son empleados en tareas generales.

En esta unidad se tratará todo lo correspondiente a la historia de los microcontroladores, así como a las partes que lo conforman. Así mismo, es necesario abordar la forma cómo se puede interactuar con todos los elementos internos; esto se hace mediante los lenguajes de programación mas utilizados: lenguaje C, para microcontroladores, y el lenguaje assembler o ensamblador.

Finalmente, se explicará cómo el uso de esta tecnología aporta a la ingeniería informática a la hora de resolver problemas puntuales.

Propósitos de aprendizaje

Propósito general

Identificar las partes y funciones de los microcontroladores.

Propósitos específicos

  • Conocer cómo se compone un microcontrolador.
  • Identificar las palabras reservadas y cómo se implementan en lenguaje ensamblador.
  • Identificar las palabras reservadas y cómo se implementan en lenguaje C para microcontroladores.
  • Conocer el funcionamiento de los módulos especiales de los microcontroladores.

Arquitectura y composición interna

Un microcontrolador, según Reyes (2006), es un circuito integrado; en cuyo interior posee toda la arquitectura de un computador: CPU, memorias RAM, EEPROM y circuitos de entrada y salida. El primer microcontrolador fue el TMS-1000, desarrollado por la empresa Texas Instruments. Este fue el primer circuito integrado que trabajaba sin necesidad de tener chips externos, ya que poseía una memoria RAM y una ROM para almacenar un programa.

A continuación, se expone la arquitectura interna y cada uno de los componentes de un circuito integrado de gama media.

Entre los fabricantes más conocidos de microcontroladores se encuentran Microchip Technology Inc., el cual cuenta con los PIC (Controlador de Interfaz Periférico, por sus siglas en inglés) y dentro de este una gran variedad de familias y configuraciones, tal como se presentó en el gráfico anterior.

Los microcontroladores por si solos no pueden hacer nada, es necesario que sean programados, es decir que se guarde en la memoria de instrucciones un programa que gobernará el funcionamiento de cada una de las partes del circuito integrado.

A continuación, se presenta un tabla con las operaciones lógicas y matemáticas de un microcontrolador de gama media. Es decir, las operaciones que pueden realizar una ALU, de un microcontrolador de gama media de la empresa Microchip, y que tiene 8 bits, los cuales son los más utilizados.

Lenguaje ensamblador

El lenguaje de máquina es el conjunto de instrucciones que pertenecen exclusivamente a una máquina, y solamente esta puede entenderlas.

El lenguaje ensamblador es utilizado tanto en el desarrollo de sistemas operativos como en microcontroladores.

Estas funciones están divididas o clasificadas de diferentes formas, una de ellas, y la que será utilizada en esta unidad, es según su orientación, las cuales pueden ser, orientadas a registros, a bits u orientados al control.

Algunos microcontroladores tienen mnemónicos extendidos, tal es el caso de los microcontroladores de alta gama, por lo que se recomienda revisar la hoja de datos del microcontrolador para identificar todas las operaciones que el microcontrolador es capaz de hacer.

Lenguaje C para microcontroladores

Los programas de alto nivel, tales como c o basic, se caracterizan por utilizar palabras provenientes del inglés común. Es decir, de muy fácil entendimiento para las personas, en vez de usar número directamente o abreviaciones.

La invención de este lenguaje, permitió que se llevarán a cabo tareas mucho más complejas de una manera más sencilla. El programa traductor en este caso se llama compilador y se encarga de traducir el programa hecho en lenguaje de alto nivel en lenguaje de máquina.

Como todo entorno de programación, la construcción de un código en c debe incluir ciertas partes. Estas son las directivas, las funciones, las instrucciones y los comentarios.

Lenguaje C para microcontroladores

Primera sección: directivas

Las directivas controlan la conversión del programa a código de máquina por parte del compilador [Compilador C CCs y simulador Proteus para Microcontroladores PIC].

Estas son palabras reservadas que proveen información, ya que pueden ser extensiones del C estándar o propios del compilador, tal como se presenta en la interactividad y se explica en el gráfico principal de esta pantalla.

Lenguaje C para microcontroladores

Segunda sección: funciones

En la segunda sección de un programa hecho en lenguaje C para microcontroladores se encuentran las funciones, es decir, las instrucciones que debe realizar el microcontrolador para realizar una tarea en específico. A continuación, se listan estos comandos.

Así mismo existen funciones que son heredadas del lenguaje C estándar. En otras palabras, son instrucciones que cumplen la misma función y que existen también en el lenguaje C, utilizado para la programación de computadores.

El lenguaje C para microcontroladores también contiene comandos orientados al manejo del tiempo, tales como retardos y otros orientados al manejo de los recursos internos del microcontrolador, tales como el almacenamiento o lectura de las memorias RAM o EEPROM.

Al utilizar el lenguaje ensamblador se gana control sobre el tiempo de ejecución, pero se pierde simplicidad en el desarrollo del programa, mientras que, al usar el lenguaje C, se gana simplicidad en el desarrollo del código, pero se pierde control sobre el tiempo.

Las sentencias condicionales y de repetición son las mismas que en el lenguaje C estándar. Esto quiere decir que las palabras reservadas para condiciones como if y else y switch se utilizan de la misma manera, al igual que las utilizadas en ciclos de repetición o bucles, como lo son for, while y do-while.

Actividad de aprendizaje

Actividad de Aprendizaje

Responde correctamente cada una de las preguntas en este videotest y evalúa lo aprendido hasta este punto.

Material
de apoyo

Resumen

En la unidad se tratan los temas correspondientes a la arquitectura y composición interna de los controladores de gama media. Es decir, aquellos que tienen unos recursos suficientes para ejecutar las tareas más comunes.

Se nombran algunos de los circuitos integrados de algunas de las familias de los fabricantes que dominan el mercado. Algunos son reconocidos únicamente en el ámbito de los microcontroladores, tal es el caso de microchip, pero otros gozan de prestigio en muchas otras áreas como, por ejemplo, Motorola.

Se describen las principales partes que componen los microcontroladores y se explican dos de los lenguajes más utilizados para programarlos. El lenguaje ensamblador con sus 34 mnemónicos y el lenguaje C, con sus más de 50 comandos. Finalmente, se describen las partes que conforman los programas en cada uno de los lenguajes y sus estructuras.

Actividad de aprendizaje

Actividad de Aprendizaje

De acuerdo con todo lo estudiado, desarrolla de forma paralela el caso que se plantea en la siguiente interactividad.

Bibliografía ()

  • Angulo Usategui, J. M., Angulo Martínez, I. (1999). Microcontroladores PIC. Madrid: McGraw-Hill.
  • Caprile, S. (2012) Desarrollo con microcontroladores ARM Cortex-M3. Buenos Aires: Puntolibro
  • Microchip Technology Inc (2003). Hoja de datos de PIC16F877A. Estados Unidos: Microchip
  • Reyes, C. A. (2006). Microcontroladores PIC Programación en Basic, Microcontroladores PIC Programación en Basic. Quito: Rispergraf.
  • Vesga Ferreira, J. C. (2008) Microcontroladores Motorola-Freescale. México: Alfaomega

Referencias Web