Introducción a la Lección Evaluativa Unidad 3!
En esta lección se evaluara los conocimientos y comprensión de los contenidos de la Unidad 3 y sus tres capítulos por lo que es recomendable:
Haber leído juiciosamente los contenidos de la Unidad 3 y sus tres capítulos. Socializar previamente dudas y respondido las preguntas de autoevaluación del contenido en línea, haber desarrollado las actividades propuestas para la unidad y tener clara la temática expuesta. Estar en disposición de presentar la evaluación con el tiempo suficiente y una buena conexión de ancho de banda para internet, la lección contiene algunos videos importantes en el contenido. Los Microcontroladores (MC), sirven como interface, para aplicaciones de control e instrumentación, algunos modelos incorporan puertos especializados y convertidores A/D y D/A.
Lectura N° 1 ¿Qué es un microcontrolador?
Una definición corta y general sería que un microcontrolador es un dispositivo electrónico capaz de llevar a cabo procesos lógicos. Estos procesos o acciones son programados en lenguaje ensamblador por el usuario, y son introducidos en este a través de un programador o quemador de microcontroladores. Una definición más completa sería que un microcontrolador es un Circuito integrado o chip que incluye en su interior las tres unidades funcionales de un computador: CPU, Memoria y Unidades de E/S, es decir, se trata de un computador completo en un solo circuito integrado. Aunque sus recursos son limitados comparados con un PC normal, adicional a su dicha integración, su característica principal es su alto nivel de especialización. El microcontrolador es un dispositivo dedicado. En su memoria sólo reside un programa destinado a controlar una aplicación determinada; sus líneas de entrada/salida soportan la conexión de sensores y dispositivos de control que permitan efectuar el proceso deseado. Una vez programado y configurado el microcontrolador solamente sirve para controlar la tarea asignada. Un microcontrolador es un microprocesador optimizado, utilizado para controlar equipos electrónicos, diseño de sistemas de comunicación, monitoreo y adquisición de señales físicas, procesamiento y administración de señales analógicas y digitales. Un microcontrolador difiere de una CPU normal, debido a que es más fácil convertirla en un computador en funcionamiento, con un mínimo de chips externos de apoyo. Un
microprocesador tradicional no le permitirá hacer esto, ya que espera que todas estas tareas sean manejadas por otros chips. Por ejemplo, un microcontrolador típico tendrá un generador de reloj integrado y una pequeña cantidad de memoria RAM y ROM/EPROM/EEPROM, lo que significa que para hacerlo funcionar, se necesita solamente unos pocos programas de control y un cristal de sincronización. Los microcontroladores disponen generalmente también de una gran variedad de dispositivos de entrada/salida, como conversores de analógico a digital, temporizadores, UARTs y buses de interfaz serie especializados, como I 2C y CAN. Frecuentemente, estos dispositivos integrados pueden ser controlados por instrucciones de procesadores especializados. Los modernos microcontroladores frecuentemente incluyen un lenguaje de programación integrado, como el Basic o el C que se utilizan bastante con este propósito.
Lectura N° 2 Fabricantes y Familias de Microcontroladores más importantes
El mayor atributo del microcontrolador es que puede integrar inteligencia casi a cualquier equipo. Se puede programar para adaptarse a su entorno, responder a condiciones cambiantes, volverse más eficiente y que responda a las necesidades únicas de sus usuarios. Los microcontroladores más comunes en uso son: Atmel : AVR Hitachi : H8 HOLTEK: HT8 Intel: 8 bits (8XC42,MCS51,8xC251), 16 bits (MCS96,MXS296) National Semiconductor : COP8
Microchip v Gama baja (Familia 12Cxx de 12 bits) (p.e. PIC12C508) v Gama media (Familia 12Fxx, 16Cxx y 16Fxx de 14 bits)(p.e. PIC16F84) v Gama alta (18Cxx y 18Fxx de 16 bits) (p.e. PIC18F452) v dsPIC ( DSP)
NEC : 78K,ST,ST 62,ST 7 Texas Instruments : TMS370 Zilog: Z8,Z86E02
Genérico Algunas arquitecturas de microcontrolador están disponibles por tal cantidad de vendedores y en tantas variedades, que podrían tener, con total corrección, su propia categoría. Entre ellos encontramos, principalmente, las variantes de 8051 y Z80. FREESCALE: Freescale cuenta con una gran diversidad de Microcontroladores para todos los gustos y requerimientos que presente un usuario en un determinado momento, los cuales se pueden clasificar de la siguiente forma: Microcontroladores de 8 Bits:
Dentro de las familias fundamentales se pueden mencionar: Familias HC08: HC08AB, HC08AP, HC08AS/AZ, HC08BD, HC08EY, HC08G, HC08JK/JL, HC08MR, HC08Q, HC08RF, HC08SR
Dentro de las familias con mejoras significativas sobre las anteriores incluyendo módulos como I2C, SPI, entre otros, se pueden mencionar: Familias HCS08: HCS08AW, HCS08G/Q/R Familias RS08 : MC9RS08KA1/2
Existen otras familias importantes, como es el caso de las familias HC05 y HC11, las cuales actualmente se encuentran descontinuadas. Microcontroladores de 16 Bits:
Este grupo presenta diferencias significativas con las familias anteriores, no solo, por los recursos adicionales que ofrecen, sino por su alta capacidad de procesamiento. Dentro de las familias fundamentales se pueden mencionar: Familias S12: S12XA/XD, S12A, S12C, S12D, S12E, S12H, S12G y una que le permite a los usuarios establecer comunicaciones de alta envergadura como el caso de la familia “S12 ETHERNET Y USB”. Familias HC12: HC912BXX, HC912DXX Familias HC16: 68HC16R1, 68HC16Y1/Y3, 68HC16Z1/Z3
Y la Familia 568XX/E que brinda al usuario la posibilidad de integrar todo el potencial de los Microcontroladores y la capacidad de procesamiento de Señales que brinda un DSP en un solo chip denominados DSCs. Microcontroladores de 32 Bits:
Este grupo presenta características avanzadas tanto en velocidad de procesamiento, como en funciones especiales que realiza. Dentro de las familias más importantes se pueden mencionar: Familias 68K/ColdFire: ColdFire MCF52XX, 68K M683XX, 68K M680X0 Lectura N° 3 Aplicaciones de los Microcontroladores
La única limitación que tienen las aplicaciones de los microcontroladores actuales está en la imaginación del diseñador. Los campos más destacados en los que se emplean microcontroladores son los siguientes: Automatización industrial.
Adquisición y cuantificación de variables físicas Control de procesos Industriales. Enseñanza e investigación. Electrodomésticos. Electromedicina. Robótica. Sistemas de navegación. Sistemas de seguridad.
La industria donde se presenta la mayor cantidad de éstos dispositivos programables es la informática, la cual acapara gran mayoría de los microcontroladores que se fabrican. Casi todos los periféricos de un computador, desde el mouse hasta la impresora o el teclado, son regulados por microcontroladores. En el campo de la instrumentación y la electromedicina existe una gran variedad de aplicaciones basadas en microcontroladores tales como: Mediciones del ritmo cardíaco, presión arterial, encefalogramas, temperatura, humedad, etc. En la rama de las comunicaciones y sistemas de transmisión y recepción de la información se utilizan constantemente estos microcomputadores, aplicados en diferentes medios de transmisión como: aire, par trenzado, red eléctrica, entre otros.
Algunas de sus principales prestaciones
Los productos que para su control incorporan un microcontrolador, disponen de las siguientes ventajas:
Aumento de prestaciones. Aumento de la fiabilidad. Reducción del tamaño en el producto acabado. Menor consumo de energía. Mayor flexibilidad. Reducción del precio del producto acabado.
Clasificación de los microcontroladores.
Los Microcontroladores se pueden clasificar de diferentes formas, según criterios de diseño tales como: Tamaño de los datos, tipos de arquitectura, cantidad de pines, etc. A continuación se hace un resumen de las principales características que definen las diferentes subclasificaciones que se presentan en los Microcontroladores existentes actualmente. Clasificación de la Microcontroladores Según el Tamaño de los datos
Según la arquitectura Interna Según la arquitectura del procesador
Descripción 4 bits 8 bits 16 bits 32 bits 64 bits Von Neumann Harvard Microcontroladores CISC. Microcontroladores RISC. Microcontroladores SISC.
Prestaciones y recursos especiales
Además de las clasificaciones anteriores, se podrían hacer otras dos clasificaciones más. Atendiendo a las necesidades y atendiendo a los recursos especiales que pueden tener los microcontroladores. Respecto a las bondades ofrecidas cabe destacar:
Precio. Velocidad de ejecución de código. Eficiencia en la compresión de código. Inmunidad al ruido.
Indudablemente, el precio es uno de los factores decisivos a la hora de emplear uno u otro microcontrolador. La velocidad de ejecución del código depende principalmente de la frecuencia de funcionamiento del microcontrolador la cual es establecida a través del oscilador externo, pero también influyen otras características como la arquitectura o el tipo de memoria empleada. En lo que se refiere al número de palabras o bytes en la memoria que emplea cada microcontrolador en contener un programa, esta depende sobre todo de la arquitectura básica y de la longitud de la palabra de datos. La inmunidad al ruido, así como otras características especiales como rangos amplios de temperaturas de funcionamiento, destacan sobre todo en microcontroladores destinados al uso militar.
Lectura N° 4 REPERTORIO DE INSTRUCCIONES
El repertorio completo de las instrucciones de los microcontroladores PIC. Los operandos afectados al ejecutar una instrucción, sedefinen en el siguiente cuadro.
OPERANDOS DESCRIPCIÓN f dirección del registro ( de 00h a FFh ) w registro de trabajo ( acumulador ) b dirección del bit dentro de un registro k literal, constante o etiqueta selector de destino; d = 0, almacena el resultado en w;d = 1, d almacena el resultado en el registro El set de insrucciones para el Microcontrolador PIC se divide en: Instruccionesaritméticas y lógicas Instrucciones de transferencia de datos Instrucciones de bifurcación Instrucciones de atención a subrutinas Instrucciones misceláneas
Un ejemplo de las instrucciones a manipular es: ADDLW suma un literal al reg. W --> pertenece a las instrucciones aritméticas y lógicas
Sintaxis: ( etiqueta ) ADDLW k --> es la forma correcta como se escribe note que 'ADD' proviene del termino suma en inglés, ‘L’ se refiere a literal o valor es decir, un número, ‘W’ se refiere al acumulador y ‘K’ es el número que sumaremos a lo que este almacenado en el acumulador Operandos: 0 < k < 255 --> El número a sumar debe estar entre cero (0) y 255 (Hexadecimal ‘FF’) Operación: ( W ) + k --> W. La suma de 'w' + 'k' se guarda en ' w' Estados Afectados: C, DC, Z Código: 11 111x kkkk kkkk Descripción: el contenido del reg. W es adicionado al literal k de 8 -bits y el resultado es almacenado en el reg. W.
Lectura N° 5 GENERALIDADES DE PROGRAMACION
Para programar con éxito un microprocesador o microcontrolador, es necesario conocer con cierta profundidad, la arquitectura general del sistema, los registros disponibles, el repertorio de instrucciones y comprender claramente la aplicación a desarrollar. Sin embargo, los siguientes pasos pueden ayudar en la realización de un proyecto en particular:
Ø Definir claramente el proyecto. Ø Realizar un diagrama de flujo con la solución del problema. Ø Seleccionar el hardware más conveniente. Ø Escribir el programa en lenguaje ensamblador. Ø Simular el programa (dependiendo de su complejidad ) Ø Programar y verificar el desempeño de la aplicación.
Programación del Microcontrolador
Cuando se escribe un programa en lenguaje ensamblador, se acostumbra dividir cada sentencia en 4 campos: (etiqueta) (nemotécnico) (operando) ; (comentarios ) De igual manera el programa se divide en secciones verticales que subdividen fases y partes del programa en sí, estas partes son:
Llamado a librerías en el caso de utilizar MPLAB de Microchip Ejemplo: title "PIC16F84A LCD PROGRAM CONTROL DEL LCD" LISTP=16F84A,F=INHX32 #INCLUDE
Comentarios sobre el programa, nos describe brevemente el programa, con alguna información adicional. ;INGENIERO URIEL VILLAMIL GONZALEZ ;INGENIERO ELECTRONICO ;PUERTO B=>DATOS DEL LCD ;PUERTO A0=RS A1=RW A2=E Se definen los registros de propósito especial ‘FSR’ ;DEFINICION REGISTROS FSR PCL EQU 02H ;PROGRAN COUNTERPARTE BAJA ULTIMOS 8 BITS STATUS EQU 03H ;ESTADODEL PIC PTA EQU 05H ;REGISTRO DELPUERTO A PTB EQU 06H ;REGISTRO DELPUERTO B OPTIO EQU 81H ;REGISTRO DEOPCIONES DEL PIC TRISA EQU 85H ;REGISTRO DECONFIGURACION DE PUERTO A TRISB EQU 86H ;REGISTRO DECONFIGURACION DE PUERTO B INTCON EQU 0BH ;REG_CONTROLDE INTERRUPCIONES Se definen los registros de propósito general ‘RPG’
;DEFINICION RPG TMP1 EQU 0CH ;PARA RETARDOS DETIEMPO TMP2 EQU 0DH TMP3 EQU 0EH Se definen bits o palabras que hacen las veces de bits en el programa ;DEFINICION DE BITS ;C EQU 0 ;Z EQU 2 ;W EQU 0
;F EQU 1 Se definen constantes, valores expresados en letras que no cambian ;DEFINICION DE CONSTANTES VAL1 EQU 01H ;VALOR PARA RETARDO DEMICROSEG 64H FF=255 VAL2 EQU 01H ;VALOR PARA RETARDO DEMILISEG VAL1=100+VAL2=200 C8H Ocasionalmente se pueden definir macros que son líneas de programa expresadas en un solo conjunto de letras ;DEFINICION DE MACROS #DEFINE BNK1 BSF STATUS, 5 ;BANCODE MEM UNO #DEFINE BNK0 BCF STATUS, 5 ;BANCODE MEM CERO Comenzamos con el inicio del programa para esto hacemos esta referencia ;INICIO DEL PROGRAMA ORG 00H GOTO INICIO De aquí en adelante comienza o sigue el flujo de programa, claro que si enuncias interrupciones debes hacer el siguiente comentario y marcar el origen del vector de interrupciones ;INICIO DEL PROGRAMA ORG 04H En este punto se colocan las instrucciones que atienden el llamado ainterrupciones. Finalmente se encuentra el fin del programa. END Es importante recordar que el Microcontrolador PIC por cada cuatro ciclos de reloj se ejecuta un ciclo maquina es decir si tenemos un cristal de 20 MHz es decir 20’000.000 de pulsos por segundo, en un segundo se ejecutan 5’000.000 de ciclos máquina, generalmente las instrucciones utilizan un ciclo máquina para su ejecución.