Conceptos Elementales



Microcontrolador

Un microcontrolador es un circuito integrado digital que puede ser usado para muy diversos propósitos debido a que es programable. Está compuesto por una unidad central de proceso (CPU), memorias (ROM y RAM) y líneas de entrada y salida (periféricos). Tiene los mismos bloques de funcionamiento básicos de una computadora lo que nos permite tratarlo como un pequeño dispositivo de cómputo.
¿Qué se puede hacer con un microcontrolador?
Puede usarse para muchas aplicaciones algunas de ellas son: manejo de sensores, controladores, juegos, calculadoras, agendas, avisos lumínicos, secuenciador de luces, cerrojos electrónicos, control de motores, relojes, alarmas, robots, entre otros. El límite es la imaginación.
¿Cómo funciona un microcontrolador?
Como el hardware ya viene integrado en un solo chip, para usar un microcontrolador se debe especificar su funcionamiento por software a través de programas que indiquen las instrucciones que el microcontrolador debe realizar. En una memoria se guardan los programas y un elemento llamado CPU se encarga de procesar paso por paso las instrucciones del programa. Los lenguajes de programación típicos que se usan para este fin son ensamblador y C, pero antes de grabar un programa al microcontrolador hay que compilarlo a hexadecimal que es el formato con el que funciona el microcontrolador.
Para diseñar programas es necesario conocer los bloques funcionales básicos del microcontrolador, estos bloques son:

  •   CPU: La unidad central de procesamiento o unidad de procesamiento central, es el hardware dentro de un ordenador u otros dispositivos programables, que interpreta las instrucciones de un programa informático mediante la realización de las operaciones básicas aritméticas, lógicas y de entrada/salida del sistema.
  • Memoria ROM: La memoria de solo lectura, conocida también como ROM, es un medio de almacenamiento utilizado en ordenadores y dispositivos electrónicos, que permite solo la lectura de la información y no su escritura, ​ independientemente de la presencia o no de una fuente de energía.
  • Memoria RAM: La memoria de acceso aleatorio se utiliza como memoria de trabajo de computadoras y otros dispositivos para el sistema operativo, los programas y la mayor parte del software.
  • Periférico de entradas y salidas:  es aquel tipo de dispositivo periférico de un computador capaz de interactuar con los elementos externos a ese sistema de forma bidireccional, es decir, que permite tanto que sea ingresada información desde un sistema externo, como emitir información a partir de ese sistema.


 La CPU posee, de manera independiente, una memoria de acceso rápido para almacenar datos denominada registros, si estos registros son de 8 bits se dice que el microcontrolador es de 8 bits.
¿Qué se necesita para grabar un programa en un microcontrolador?
Se necesita básicamente tres cosas:
1.    Una computadora
2.    Software de programación (incluyendo un compilador).
3.    Un circuito programador
Y obviamente también se necesita un microcontrolador. La computadora, a través del software de grabación, se encarga de enviar el programa que se desea grabar al microcontrolador por intermedio del circuito programador. 
Ahora bien que tenemos claro algunas cosas, debemos continuar con otras definiciones.

Retardos.

Cuando necesitamos que transcurra un determinado tiempo de espera antes de que ocurra un evento como por ejemplo el encendido de una luz, LED, activación de una bobina de un relé o lectura de una determinada entrada, se suele recurrir a los retardos. Prácticamente casi todos los programas de microcontroladores PIC usan en algún momento una rutina de retardo. Los retardos en los PIC los podemos generar de dos formas diferentes: por software o por hardware mediante el Registro Timer TMR0.

Banderas.


En programación, la bandera o flag se refiere a uno o más bits que se utilizan para almacenar un valor binario o código que tiene asignado un significado. Dentro de los microprocesadores y otros dispositivos lógicos, las banderas se utilizan mayoritariamente para controlar o indicar el estado intermedio o final o el resultado de diferentes operaciones.



Por ejemplo, los microprocesadores suelen tener un registro de estado que se compone de varias de estas banderas que se usarán para indicar varias condiciones establecidas como resultado de una operación, como podría ser hacer notar que ha habido un desbordamiento en una operación aritmética. Una vez establecidas, las banderas pueden utilizarse en operaciones posteriores como el control de flujo en una operación de salto condicional.

Interruptores.


Una interrupción es un evento que hace que el microcontrolador deje de ejecutar la tarea que está realizando para atender dicho acontecimiento y luego regrese y continue la tarea que estaba realizando antes de que se presentara la interrupción. Hemos de diferenciar entre dos tipos de interrupciones posibles en un PIC:




1. Mediante una accion interna. El desbordamiento de la Pila (Stack) por una operacion indebida, por ejemplo: 


  • Al completarse la escritura de datos en una EEPROM.
  • Por desbordamiento del registro TMR0 al rebasar el valor 255 (FFh) a 0.

2. Mediante una accion externa, la mas util. Al producirse un cambio del nivel en uno de sus pines por una accion externa. 

  • Estando en el modo de reposo (SLEEP), un cambio de nivel en el pin RB0/INT .
  • Un cambio de nivel en uno de los pines RB4 a RB7 estando configurados como entrada.

Pilas

Estos registros no forman parte de ningún banco de memoria y no permiten el acceso por parte del usuario. Se usan para guardar el valor del contador de programa cuando se hace un llamado a una subrutina o cuando se atiende una interrupción; luego, cuando el micro regresa a seguir ejecutando su tarea normal, el contador de programa recupera su valor leyéndolo nuevamente desde la pila.


Buses

Son el medio de comunicación que utilizan los diferentes componentes del procesador para intercambiar información entre sí, eventualmente los buses o una parte de ellos estarán reflejados en los pines del encapsulado del procesador. En el caso de los microcontroladores, no es común que los buses estén reflejados en el encapsulado del circuito, ya que estos se destinan básicamente a las E/S de propósito general y periféricos del sistema.

Existen tres tipos de buses:

  • Dirección: Se utiliza para seleccionar al dispositivo con el cual se quiere trabajar o en el caso de las memorias, seleccionar el dato que se desea leer o escribir.
  • Datos: Se utiliza para mover los datos entre los dispositivos de hardware (entrada y salida).
  • Control: Se utiliza para gestionar los distintos procesos de escritura lectura y controlar la operación de los dispositivos del sistema.

Palabras de configuración

Bits de configuración PIC también llamada la palabra de configuración, Siempre que se quiera programar un microcontrolador PIC, en primer lugar hay que programar lo que se conoce como los bits de configuración PIC, estos bits forman parte de unos registros especiales que constan de 14 bits, algunos PIC solo tienen uno de estos registros como el PIC16F84A, mientras otros como el PIC18F4550 constan con mucho mas de estos registros, para ubicar estos registros en la hoja de datos del microcontrolador utilizado se tiene que ir a la sección llamada “SPECIAL FEATURES OF THE CPU” que es algo como características especiales del CPU.

Los bits de configuración PIC son grabados en el microcontrolador cuando este se programa, y no hay manera de manipularlos o hacer cambios en ellos una vez el microcontrolador PIC este programado, la única manera de hacer cambios en ellos es volviendo a reprogramar el PIC. Los bits de configuración PIC sirven por ejemplo para indicarle al PIC que tipo de oscilador va utilizar puede ser interno o externo, también se le indicará si se quiere utilizar un temporizador llamado el perro guardián, que sirve para evitar que el microcontrolador se quede colgado sin hacer nada, mediante estos bits también se le puede asignar un códigos de protección si no se quiere que se copien los programas, otros bits son utilizados para que el PIC se reinicie en caso la tensión baje de algún límite mínimo entre muchas otras posibilidades; dependiendo del PIC utilizado variará la cantidad de bits a configurar y sus posibilidades de uso, el para qué sirve cada bits de configuración PIC se puede ver en la hoja de datos del PIC utilizado.


Bits de configuración del PIC18F445K20

Comentarios