Microprocesadores y Microcontroladores

Page 1

MICROPROCESADORES Y MICROCONTROLADORESES

Prof. Rosalba Chรกvez Gonzรกlez

Armando Urbรกn


Microprocesador...................................................................................................................................................... Características...................................................................................................................................................... Encapsulado..................................................................................................................................................... Memoria cache................................................................................................................................................ Coprocesador Matemático o correctamente la FPU (Unidad de coma flotante............................................. Registros........................................................................................................................................................... Acumulador..................................................................................................................................................... Contador de programa..................................................................................................................................... Memoria.......................................................................................................................................................... Puertos............................................................................................................................................................. Buses del procesador....................................................................................................................................... Unidad Aritmética y Lógica (A.L.U).................................................................................................................. Tipos de microprocesadores................................................................................................................................ Microprocesadores de instrucciones complejas............................................................................................. Microprocesador de conjunto de instrucciones reducidas............................................................................. Microprocesadores Súper Escalares................................................................................................................ Circuito integrado para aplicaciones especificas............................................................................................. Multiprocesadores de Señal Digital................................................................................................................. Microcontrolador................................................................................................................................................... Características.................................................................................................................................................... Familia de Microcontroladores.......................................................................................................................... La familia Motorola Freescale........................................................................................................................ Familia PIC...................................................................................................................................................... Familia de microcontroladores Intel MCS 51................................................................................................. Familia de microcontroladores ATMEL.......................................................................................................... Arquitectura....................................................................................................................................................... Arquitectura Von Neumann........................................................................................................................... Arquitectura Harvard.................................................................................................................................... Arquitectura CISC........................................................................................................................................... Arquitectura RISC........................................................................................................................................... Estructura........................................................................................................................................................... Procesador o UCP.......................................................................................................................................... Memoria........................................................................................................................................................ Puertos de Salida y Entrada........................................................................................................................... Reloj Principal................................................................................................................................................ Compilador PIC C................................................................................................................................................... Funciones........................................................................................................................................................... Variables............................................................................................................................................................. Constantes......................................................................................................................................................... Tipos de Datos................................................................................................................................................... Librerías.............................................................................................................................................................

2


Microprocesador El microprocesador, también conocido como “Central Processing Unit” (CPU) o Chip Lógico, es el procesador de toda computadora en un microchip. El microprocesador contiene toda, o la mayor parte de las funciones del CPU, es el motor que esta en movimiento cuando enciendes una computadora. Un microprocesador está diseñado para realizar operaciones aritméticas y lógicas que hacen uso de pequeñas áreas de retención de números llamadas registros. La velocidad del microprocesador se expresa en Hz (Hertz) que es la cantidad de operaciones que puede realizar en un segundo. Por ejemplo un microprocesador de 1 GHz (Giga hertzios) es capaz de realizar mil millones de operaciones en un segundo. Usualmente las operaciones que puede realizar un microprocesador incluye sumas, restas, comparar dos números y buscar números de un área a otra. Estas operaciones son el resultado de un conjunto de instrucciones que forman parte del diseño del microprocesador. El microprocesador es el cerebro de toda computadora y de muchos dispositivos domésticos y electrónicos. Múltiples microprocesadores, trabajando juntos, son el corazón de centros de datos, súper computadoras, productos de comunicación y de cualquier otro dispositivo digital. El primer microprocesador fue el Intel 4004, creado en 1971. El 4004 no fue muy poderoso, era principalmente usado para realizar operaciones matemáticas simples en una calculadora llamada “Busicom”. Los microprocesadores son parte de nuestra vida diaria, aplicados en hornos de microondas o teléfonos, etc., no podríamos imaginar una vida sin ellos. 3


Hoy en día, los microprocesadores modernos pueden realizar diversas operaciones sofisticadas en áreas como metrología, aviación, física nuclear e ingeniería, y ocupan mucho menos espacio así como un mejor rendimiento. Durante los últimos 40 años, los microprocesadores han sido mas rápidos y poderosos, siendo cada vez mas pequeños y mas manejables. La manufactura de los microprocesadores es un proceso altamente complejo y demandante, incluyendo cientos de pasos en cuartos “súper limpios”. Estos cuartos o plantas de ensamble o manufactura, contienen aire mil veces mas limpio que una sala de cirugía en un hospital. Un edificio de una planta, para el desarrollo de estos dispositivos, puede llegar a costar aproximadamente 5 billones de dólares.

Características El microprocesador está compuesto básicamente por: varios registros, una unidad de control, una unidad aritmético-lógica, y dependiendo del procesador, puede contener una unidad en coma flotante. El microprocesador ejecuta instrucciones almacenadas como números binarios organizados secuencialmente en la memoria principal.

Encapsulado Es lo que rodea a la oblea de silicio en si, para darle consistencia, impedir su deterioro (por ejemplo, por oxidación por el aire) y permitir el enlace con los conectores externos que lo acoplaran a su zócalo a su placa base.

Memoria cache

4


Es una memoria ultrarrápida que emplea el microprocesador para tener a mano ciertos datos que predeciblemente serán utilizados en las siguientes operaciones sin tener que acudir a la memoria RAM reduciendo el tiempo de espera. Todos los microprocesadores compatibles con PC poseen la llamada cache interna de primer nivel o L1; es decir, la que está más cerca del microprocesador, tanto que está encapsulada junto a él.

Coprocesador Matemático o correctamente la FPU (Unidad de coma flotante) Es la parte del microprocesador especializada en esa clase de cálculos matemáticos, antiguamente estaba en el exterior del procesador en otro chip. Esta parte esta considerada como una parte "lógica" junto con los registros, la unidad de control, memoria y bus de datos.

Registros Son básicamente un tipo de memoria pequeña con fines especiales que el microprocesador tiene disponible para algunos usos particulares. Hay varios grupos de registros en cada procesador. Un grupo de registros esta diseñado para control del programador y hay otros que no son diseñados para ser controlados por el procesador pero que el CPU los utiliza en algunas operaciones, en total son treinta y dos registros.

Acumulador

5


Es un registro en el que son almacenados temporalmente los resultados aritméticos.

Contador de programa Indica el desplazamiento de la próxima instrucción a ejecutar.

Memoria Es el lugar donde el procesador encuentra las instrucciones de los programas y sus datos. Tanto los datos como las instrucciones están almacenados en memoria, y el procesador las toma de ahí. La memoria es una parte interna de la computadora y su función esencial es proporcionar un espacio de trabajo para el procesador.

Puertos Es la manera en que el procesador se comunica con el mundo externo. Un puerto es parecido a una línea de teléfono. Cualquier parte de la circuitería de la computadora con la cual el procesador necesita comunicarse, tiene asignado un número de puerto que el procesador utiliza como un número de teléfono para llamar al circuito o a partes especiales.

Buses del procesador Todos los procesadores poseen un bus principal o de sistema por el cual envían y reciben los datos,

se todos

6


instrucciones y direcciones desde los integrados del chipset o desde el resto de los dispositivos. Como puente de conexión entre el procesador y el resto del sistema, este define mucho el rendimiento del sistema, su velocidad se mide en bits por segundo.

Unidad Aritmética y Lógica (A.L.U) Es una red combinacional, acepta dos palabras de datos y una palabra de control que especifica el tipo de operación que ha de ejecutarse con los datos.

7


Tipos de microprocesadores Existen básicamente 5 clases de microprocesadores:

Microprocesadores de instrucciones complejas También conocidos como CISM, categorizan a un microprocesador en el que las ordenes se pueden ejecutar junto con otras actividades de bajo nivel. Realiza principalmente la tarea de cargar, descargar y recuperar datos en y desde la tarjeta de memoria. Aparte de que también hace complejos cálculos matemáticos dentro de un solo comando.

Microprocesador de conjunto de instrucciones reducidas

8


Este microprocesador también se denomina como RISC. Estos tipos de chips se hacen de acuerdo con la función en la que el microprocesador puede llevar a cabo pequeñas cosas dentro de un comando en particular. De esta manera completa más comandos a un ritmo más rápido.

Microprocesadores Súper Escalares Este es un microprocesador que copia el hardware en el microprocesador para realizar numerosas tareas a la vez. Pueden ser utilizados para la aritmética y como multiplicadores. Tienen varias unidades operativas y realizan así más de un comando transmitiendo constantemente varias instrucciones a las unidades operativas dentro del microprocesador.

Circuito integrado para aplicaciones especificas Este microprocesador también se conoce como ASIC. Se utilizan para propósitos específicos tales como control de emisiones de automóviles o asistentes digitales de computadoras personales. Este tipo de procesador es fabricado con las especificaciones adecuadas para realizar funciones especificas.

Multiprocesadores de Señal Digital También se les conoce como DSP, estos se usan para codificar y decodificar videos o para convertir video digital a analógico y de analógico a digital. Necesitan un microprocesador que sea excelente en cálculos matemáticos. Los chips de este microprocesador se emplean en SONAR, RADAR, equipos de audio en casa, teléfonos móviles y decodificadores de TV. 9


Microcontrolador Un microcontrolador es un circuito integrado que en su interior contiene una unidad central de procesamiento (CPU), unidades de memoria (RAM y ROM), puertos de entrada y salida y periféricos. Estas partes están interconectadas dentro del microcontrolador, y en conjunto forman lo que se le conoce como microcomputadora. Se puede decir con toda propiedad que un microcontrolador es una microcomputadora completa encapsulada en un circuito integrado. El propósito fundamental de los microcontroladores es el de leer y ejecutar los programas que el usuario le escribe, es por esto que la programación es una actividad básica e indispensable cuando se diseñan circuitos y sistemas que los incluyan. El carácter programable de los microcontroladores simplifican el diseño de circuitos electrónicos. Permiten modularidad y flexibilidad, ya que un mismo circuito se puede utilizar para que realice diferentes funciones con solo cambiar el programa del microcontrolador.

10


Las aplicaciones de los microcontroladores son vastas, se puede decir que solo están limitadas por la imaginación del usuario. Es común encontrar microcontroladores en campos como la robótica y el automatismo, en la industria del entretenimiento, en las telecomunicaciones, en la instrumentación, en el hogar, en la industria automotriz, etc.

¿Cómo se escriben los programas? Los microcontroladores están diseñados para interpretar y procesar datos e instrucciones en forma binaria. Patrones de 1's y 0's conforman el lenguaje maquina de los microcontroladores, y es lo único que son capaces de entender. Estos 1's y 0's representan la unidad mínima de información, conocida como bit, ya que solo puede adoptar uno de dos valores posibles: 0 ó 1. Otro tipo de lenguaje mas especializado es el lenguaje ensamblador. El lenguaje ensamblador es una lista con un limitado numero instrucciones a los cuales puede responder un microcontrolador. Estas instrucciones son palabras o abreviaciones que representan las instrucciones en lenguaje maquina del microcontrolador. 11


Las instrucciones en lenguaje ensamblador, también conocidas como nemotécnicos, son fáciles de entender y permiten operar directamente con los registros de memoria así como con las instrucciones intrínsecas del microcontrolador. Es por esto que el lenguaje ensamblador es sin lugar a dudas el lenguaje por excelencia en la programación de microcontroladores, ya que permite hacer un uso eficiente de la memoria y minimizar el tiempo de ejecución de un programa.

Características Los microcontroladores son diseñados para disminuir el costo económico y el consumo de energía de un sistema en particular. Por eso el tamaño de la CPU, la cantidad de memoria y los periféricos incluidos dependerán de la aplicación. El control de un electrodoméstico sencillo como una batidora, utilizará un procesador muy pequeño (4 u 8 bit) por que sustituirá a un autómata finito. En cambio un reproductor de música y/o vídeo digital (mp3 o mp4) requerirá de un procesador de 32 bit o de 64 bit. El control de un sistema de frenos ABS (Antilock Brake System) se basa normalmente en un microcontrolador de 16 bit, al igual que el sistema de control electrónico del motor en un automóvil. Un microcontrolador difiere de una CPU normal, debido a que es más fácil convertirla en una computadora en funcionamiento, con un mínimo de chips externos de apoyo. La idea es que el chip se coloque en el dispositivo, enganchado a la fuente de energía y de información que necesite, y eso es todo. Un microprocesador tradicional no le permitirá hacer esto, ya que espera que todas estas tareas sean manejadas por otros chips. Hay que agregarle los módulos de entrada/salida (puertos) y la memoria para almacenamiento de información.

12


Los microcontroladores negocian la velocidad y la flexibilidad para facilitar su uso. Debido a que se utiliza bastante sitio en el chip para incluir funcionalidad, como los dispositivos de entrada/salida o la memoria que incluye el microcontrolador, se ha de prescindir de cualquier otra circuitería.

Familia de Microcontroladores Existen muchas familias fabricantes de microcontroladores, entre las más comunes están: Atmel (AVR ), Hitachi (H8), Intel de 8 bits (8XC42, MCS51, 8xC251) o Intel de 16 bits (MCS96, MXS296), National Semiconductor (COP8), Microchip, Motorola de 8 bits (68HC05, 68HC08, 68HC11) o de 16 bits (68HC12, 68HC16) o de 32 bits (683xx ), NEC (78K), Texas Instruments (TMS370) y Zilog (Z8, Z86E02).

La familia Motorola Freescale Esta familia, desarrollada por la casa Motorola, se divide en las siguientes subfamilias: 1. Familia HC05: Esta familia es una de las más utilizadas en la gran mayoría de aplicaciones por su versatilidad de recursos y fácil programación. Sin embargo, presenta una propiedad con mayor importancia y es su compatibilidad con familias más avanzadas, por ejemplo con la familia HC08, lo que permite hacer migración de diseños hacia dispositivos de más alto rendimiento de una manera muy fácil y rápida. Sus principales ventajas son:  Un timer robusto  Memoria EEprom de 256  Memoria de programa desde 4k hasta 32 k  Memoria RAM desde 176 hasta 528 bytes. 13


 Ocho canales A/D  Comunicación serial síncrona y asíncrona. 2. · Familia HC08 Son microcontroladores de propósito general. Cada miembro de esta familia cuenta con diferentes periféricos internos, pero con una CPU común que permite migrar aplicaciones entre ellos, facilitando con ello el diseño. El 68HC08 es un microcontrolador de 8 bits y arquitectura Von Neumann, con un solo bloque de memoria. Es conocido también simplemente por HC08. Entre los periféricos internos con los que cuentan estos microcontroladores, están: conversores analógicos-digitales, módulo de control de tiempos y sistemas de comunicación como SPI, I²C, USB o SSCI entre otros.

3. Familia 68HC11 (abreviado HC11 o 6811) Es una familia de microcontroladores de Motorola, derivada del microprocesador Motorola 6800. Los microcontroladores 68HC11 son más potentes y costosos que los de la familia 68HC08 y se utilizan en múltiples dispositivos empotrados. Los 68HC11 tienen cinco puertos externos (A, B, C, D y E), cada uno de ocho bits excepto el E, que es generalmente de seis bits. El puerto A se emplea en captura de eventos, salida comparada, acumulador de pulsos y otras funciones de reloj. El puerto D para E/S serie y el puerto E como conversor analógico-digital. 14


La familia 68HC11 puede funcionar tanto con memoria interna o externa. En caso de emplear memoria externa, los puertos B y C funcionan como bus de datos y direcciones respectivamente. Últimos Microcontroladores de la Familia Freescale.

Familia PIC Esta familia, desarrollada por la casa Microchip, se divide en varias gamas: enana, baja, media y alta. Las principales diferencias entre estas gamas radica en el número de instrucciones y su longitud, el número de puertos y funciones, lo cual se refleja en el encapsulado, la complejidad interna y de programación, y en el número de aplicaciones. 1. Gama enana Su principal característica es su reducido tamaño, al disponer todos sus componentes de 8 pines. Se alimentan con un voltaje de corriente continua comprendido entre 2,5 V y 5,5 V, y consumen menos de 2 mA cuando trabajan a 5 V y 4 MHz. El formato de sus instrucciones puede ser de 12 o de 14 bits y su repertorio es de 33 o 35 instrucciones, respectivamente. 2. Gama baja Se trata de una serie de PICs de recursos limitados, pero con una de la mejores relaciones costo/prestaciones. Sus versiones están encapsuladas con 18 y 28 pines y pueden alimentarse a partir de una tensión de 2,5 V, lo que los hace ideales en las aplicaciones que funcionan con pilas, teniendo en cuenta su bajo consumo (menos de 2 mA a 5 V y 4 MHz). Tienen un repertorio de 33 instrucciones cuyo formato consta de 12 bits.

15


3. Gama media Es la gama más variada y completa de los PIC. Abarca modelos con encapsulado desde 18 pines hasta 68, cubriendo varias opciones que integran diversos periféricos. En esta gama sus componentes añaden nuevas prestaciones a las que poseían los de la gama baja, haciéndoles más adecuados en las aplicaciones complejas. Admiten interrupciones, poseen comparadores de magnitudes analógicas, convertidores A/D, puertos serie y diversos temporizadores. El repertorio de instrucciones es de 35, compatible con el de la gama baja. Sus distintos modelos contienen todos los recursos que se precisan en las aplicaciones de los microcontroladores de 8 bits. También dispone de interrupciones y una pila de 8 niveles que permite el anidamiento de subrutinas. 4. Gama alta En esta gama se alcanzan las 58 instrucciones de 16 bits en el repertorio y sus modelos disponen de un sistema de gestión de interrupciones vectorizadas muy potente. También incluyen variados controladores de periféricos, puertos de comunicación serie y paralelo con elementos externos, un multiplicador hardware de gran velocidad y mayores capacidades de memoria, que alcanza los 8K palabras en la memoria de instrucciones y 454 bytes en la memoria de datos. Quizás la característica más destacable de los componentes de esta gama es su arquitectura abierta, que consiste en la posibilidad de ampliación del microcontrolador con elementos externos. Para este fin, los pines comunican al exterior las líneas de los buses de datos, direcciones y control, a las que se conectan memorias o controladores de periféricos. Esta facultad obliga a estos componentes a tener un elevado número de pines comprendido entre 40 y 44. Esta filosofía de construcción del sistema es la que se empleaba en los microprocesadores y no suele ser una práctica habitual cuando se emplean microcontroladores.

Familia de microcontroladores Intel MCS 51

16


Las versiones existentes de esta familia se basan en el núcleo del 8051, de ahí que se tomo como referencia en la denominación oficial de Intel para la familia de microcontroladores basados en el 8051, esta denominación es MCS51. El 8051 se caracteriza por tener 4K de memoria ROM, posteriormente se implementa el 8751 con una memoria EPROM dando la posibilidad de la reprogramación, borrando el dispositivo de memoria por exposición a luz ultravioleta. La característica más sobresaliente de estos dispositivos es la capacidad expansión de memoria, es decir, tienen puertos habilitados para direccionar hasta 64K de memoria externa RAM y ROM esta ultima con la capacidad de almacenar el programa de control. Permite operaciones a nivel de bit, por la inclusión de una unidad booleana. Características:  Tiene un cuatro conjuntos separado de registros.  Pueden incluir una o dos UARTs, puerto Transmisor-Receptor Asíncrono Universal.  Inclusión de dos o tres temporizadores.  128 a 256 de RAM interna  0K y 54K de memoria de programa.  Watchdog.  Compatibilidad con I2C, SPI, USB.  Generadores PWM  Conversor A/D y D/A.

Familia de microcontroladores ATMEL Esta empresa maneja microcontroladores basados en arquitectura RISC, las CPUs llegan hasta 32 bits, existen varios grupos de microcontroladores:

17


 Microcontroladores basados en el 8051 Intel, incorporan una memoria de programa Flash.  Microcontroladores AT91, soportan compilaciones en C, emulador.  Microcontroladores AVR, con arquitectura RISC y CPU de 8 bits, incorpora módulos USART, SPI, ADC, etc. Implementado sobre arquitectura Harvard.

18


Arquitectura La arquitectura en los microcontroladores se refiere a la forma como la CPU accede a la memoria y a la cantidad o set de instrucciones de cada familia. La arquitectura de un microcontrolador permite definir la estructura de su funcionamiento, las dos arquitecturas principales usadas en la fabricación de microcontroladores son: arquitectura de Von Neumann y arquitectura Harvard. Además, estas arquitecturas pueden tener procesadores de tipo CISC o de tipo RISC.

Arquitectura Von Neumann Con esta arquitectura se hace el diseño conceptual y la estructura operacional de la mayoría de microprocesadores y de computadoras de uso personal que se utilizan desde su aparición a la fecha. Esta arquitectura esta basada en el concepto de programa almacenado propuesto por el matemático Von Neumann y propuesto por Jhon Ecker, Jhon William Mauchly, Arthur Burks, entre otros en el periodo de construcción de la ENIAC. En la arquitectura Von Neumann la CPU se conecta a una memoria principal única generalmente del tipo RAM, donde se almacenan los datos y el programa, accediendo a través de un sistema de buses único, como son el bus de dirección, control y datos.

El ancho del bus que comunica la memoria con la CPU determina el tamaño de la unidad de datos o instrucciones, un microprocesador de 8 bits con bus de 8 bits tendrá que manejar datos o instrucciones de 8 bits de longitud. Para el acceso a datos o instrucciones de más de 8bits tendrá que realizar más de un acceso a la memoria. 19


La arquitectura Von Neumann tiene varias limitaciones:  La longitud de las instrucciones están limitadas por el bus de datos, lo que hace que el ejecutar una instrucción compleja requiera varios accesos a memoria.  El microprocesador es mas lento en su respuesta, la velocidad de operación se afecta por tener un único bus para datos e instrucciones lo que impide acceder a la memoria de datos y de instrucciones simultáneamente, es decir, no permite superponer tiempos de acceso.

Arquitectura Harvard El termino proviene de la Harvard Mark I, la cual almacenaba los datos en cintas perforadas y las instrucciones mediante interruptores, la arquitectura Harvard se caracteriza por tener separados los bloques de memoria de datos e instrucciones y acceder a ellos por buses independientes de dirección, datos y control. La independencia de buses permite tener accesos simultáneos e independientes a la memoria de datos e instrucciones, el contenido y longitud de las localidades de memoria pueden ser distintos para los datos e instrucciones, esto permite una optimización en el uso de la memoria. La arquitectura Harvard tiene ventajas significativas con respecto a la arquitectura Von Neumann, las más significativitas son:  El tamaño de las instrucciones no esta relacionado con el tamaño de los datos permitiendo optimizar la memoria haciendo que cada instrucción ocupe una única posición de memoria, esto hace que la longitud de programa puede ser menor.  La posibilidad de superponer tiempos de acceso, es decir, poder acceder a la memoria de programa y a la memoria de datos en el mismo ciclo maquina, esta característica y la anterior permiten una velocidad de operación es mas alta. 20


Arquitectura CISC Complex Instruction Set Computing o Computadores de juego de instrucciones complejo, la mayoría de CPUs utilizada en microcontroladores están basados en esta arquitectura, dentro de las características mas relevantes están:      

Un gran numero de instrucciones de longitud variable. Generalmente más de 80 instrucciones en su set de instrucciones. Instrucciones muy sofisticadas y potentes, que actúan como macros. Instrucciones que requieren un numero de múltiplos de ciclo maquina. Modos de direccionamiento múltiple. Pequeño numero de registros de trabajo de propósito general.

Esta arquitectura dificulta el paralelismo entre instrucciones, en la actualidad los sistemas con CISC de alto rendimiento implementan sistemas que convierten instrucciones complejas en simples del tipo RISC, denominadas microinstrucciones.

Arquitectura RISC Reduced Instruction Set Computer, Computadores con set de instrucciones

reducido, esta arquitectura se implementa con gran éxito actualmente en microcontroladores PIC, como características principales están:  Conjunto de instrucciones reducido, generalmente menor o igual a 120.

21


 Típicamente un numero reducido de modos de direccionamiento, que son las formas como el procesador utiliza la memoria, básicamente cuatro modos.  El procesador tiene un numero superior de registros de propósito genera típicamente de 32 registros.  Todas las instrucciones se ejecutan típicamente en un solo ciclo maquina, compuesto de unos pocos ciclos de reloj, generalmente cuatro ciclos de reloj.  La longitud de las instrucciones tiende a ser fija y pequeña entre 12 y 32 bits con un número reducido de formatos.

Estructura Procesador o UCP Es el elemento más importante del microcontrolador y determina sus principales características, tanto a nivel hardware como software. Se encarga de direccionar la memoria de instrucciones, recibir el código OP de la instrucción en curso, su decodificación y la ejecución de la operación que implica la instrucción, así como la búsqueda de los operandos y el almacenamiento del resultado.

Memoria En los microcontroladores la memoria de instrucciones y datos está integrada en el propio chip. Una parte debe ser no volátil, tipo ROM, y se destina a contener el programa de instrucciones que gobierna la aplicación. Otra parte de memoria será tipo RAM, volátil, y se destina a guardar las variables y los datos. Hay dos peculiaridades que diferencian a los microcontroladores de los computadores personales: No existen sistemas de almacenamiento masivo como disco duro o disquetes. Como el microcontrolador sólo se

22


destina a una tarea en la memoria ROM, sólo hay que almacenar un único programa de trabajo. La RAM en estos dispositivos es de poca capacidad pues sólo debe contener las variables y los cambios de información que se produzcan en el transcurso del programa.

Puertos de Salida y Entrada La principal utilidad de las patitas que posee la cápsula que contiene un microcontrolador es soportar las líneas de E/S que comunican al computador interno con los periféricos exteriores. Según los controladores de periféricos que posea cada modelo de microcontrolador, las líneas de E/S se destinan a proporcionar el soporte a las señales de entrada, salida y control.

Reloj Principal Todos los microcontroladores disponen de un circuito oscilador que genera una onda cuadrada de alta frecuencia, que configura los impulsos de reloj usados en la sincronización de todas las operaciones del sistema. Generalmente, el circuito de reloj está incorporado en el microcontrolador y sólo se necesitan unos pocos componentes exteriores para seleccionar y estabilizar la frecuencia de trabajo. Aumentar la frecuencia de reloj supone disminuir el tiempo en que se ejecutan las instrucciones pero lleva aparejado un incremento del consumo de energía.

23


Compilador PIC C

El compilador PIC C nos permite desarrollar programas en lenguaje C enfocado a PIC con las ventajas que supone tener un lenguaje desarrollado específicamente para un microcontrolador concreto. Su facilidad de uso, su cuidado interno de trabajo y la posibilidad de compilar en las tres familias de gama baja, media y alta, le confieren una versatilidad y potencia muy elevadas. El desarrollo de un lenguaje C específico para un microcontrolador permite obtener el máximo rendimiento del micro. Los programas de simulación permiten depurar hasta casi la perfección el diseño antes de ser montado en una placa.

24


El compilador PIC C es un inteligente y muy optimizado compilador C que contienen operadores estándar del lenguaje C y funciones incorporados en bibliotecas que son específicas a los registros de PIC, proporcionando a los desarrolladores una herramienta poderosa para el acceso al hardware y a las funciones del dispositivo desde el nivel de lenguaje C.

Funciones Las funciones son un conjunto de sentencias u ordenes que realizan una operación determinada, como lo hacen las rutinas, sin embargo las funciones tiene una característica extra; a ellas se les puede pasar valores de variables para que las procesen, y son capaces de devolvernos los resultados de dichos procesos. Básicamente actúan como las funciones matemáticas. Todo programa C siempre inicia en la función principal, la cual se denomina main. Dicho nombre no puede ser distinto, todo programa debe tener una función main, de lo contrario el compilador nos indicará un error. La función encierra una serie de sentencias, las cuales forman el bloque de dicha función. Dicho bloque inicia con una llave { y finaliza con otra llave } . Entre estas dos llaves se encuentran las sentencias y las estructuras lógicas. La función main es una función especial ya que no puede recibir ningún valor, ni tampoco puede devolver uno. Por lo tanto observe que va acompañada por dos palabras void lo cual en el lenguaje C significa vacío; es decir que no devuelve ningún valor (primer void) ni puede recibir ningún valor, (segundo void, el cual esta encerrado entre paréntesis).

25


Variables La variables se utilizan para nombrar posiciones de memoria RAM. Se deben de declarar obligatoriamente antes de utilizarlas, para ello se debe indicar el nombre y el tipo de dato que se utilizarรก.

Constantes

26


Tipos de Datos

Los compiladores PIC C aceptan los siguientes tipos de datos:

27


28


Librerías Las librerías contienen el código objeto de muchos programas que permiten hacer cosas comunes, como leer el teclado, escribir en la pantalla, manejar números, realizar funciones matemáticas, etc. Las librerías están clasificadas por el tipo de trabajos que hacen, hay librerías de entrada y salida, matemáticas, de manejo de memoria, de manejo de textos y todas con una función especifica. Se conoce como librerías (o bibliotecas) a cierto tipo de archivos que podemos importar o incluir en nuestro programa. Estos archivos contienen las especificaciones de diferentes funcionalidades ya construidas y utilizables que podremos agregar a nuestro programa, como por ejemplo leer del teclado o mostrar algo por pantalla entre muchas otras más. Cuando el programador desea separar algunas ó todas las funciones del programa principal en un archivo ó archivos distintos, entonces es indispensable crear nuevos archivos ó librerías cuyo nombre debe llevar la terminación .h . De esta manera, el programa en el archivo "main" se simplifica a un mínimo de líneas, facilitando su comprensión. Como ventaja adicional para los programadores al crear sus propias librerías, es permitir que esas funciones puedan ser utilizadas por otros programadores. Un archivo .h puede contener las llamadas "directivas del preprocesador de C", como #define e #include, así como las funciones. Puede también contener la declaración de otros archivos .h, que son indispensables para la operación de algunas de las funciones, incluyendo las llamadas "librerías estándar" del propio compilador C como son "stdio.h" ó "string.h".

29


CibergrafĂ­a 1. http://www.electronicshub.org/microprocessors/#Types_of_microprocessor 2. http://es.slideshare.net/alexanderchule/arquitectura-interna-del-procesador 3. https://sites.google.com/site/incoelectronicasas/mini-tutos/-como-programar-unmicrocontrolador-con-pic-c 4. http://download.intel.com/newsroom/kits/40thanniversary/pdfs/What_is_a_Micropro cessor.pdf 5. http://whatis.techtarget.com/definition/microprocessor-logic-chip 6. http://www.intel.la/content/dam/www/public/lar/xl/es/documents/40_aniversario_de l_procesador.pdf 7. http://www.electronicaestudio.com/microcontrolador.htm 8. http://axnm.galeon.com/ 9. http://datateca.unad.edu.co/contenidos/309696/ECBTI_MPyMC_V_02/leccin_20_famil ias_de_microcontroladores.html 10. http://datateca.unad.edu.co/contenidos/309696/ECBTI_MPyMC_V_02/leccin_19_arqui tectura_interna.html

30


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.