Está en la página 1de 40

INSTITUTO TECNOLGICO SUPERIOR DE JESS CARRANZA

INGENIERA EN SISTEMAS COMPUTACIONALES

ING. OMARTN PREZ JUREZ

ARQUITECTURA DE COMPUTADORAS

UNIDAD IV.- MICROCONTROLADORES

OCHOA VELASQUEZ JOSUE HEBERTO


GRUPO: 502 A

JESS CARRANZA, VER., A 21 DE NOVIEMBRE DEL 2011.

NDICE
Contenido NDICE............................................................................................................1 INTRODUCCIN..............................................................................................2 OBJETIVO.......................................................................................................3 4.1 ARQUITECTURA........................................................................................4 4.1.1 TERMINALES.........................................................................................5 4.1.2 CPU.......................................................................................................7 Operacin del CPU.......................................................................................9 4.1.3 ESPACIO DE MEMORIA........................................................................12 4.1.4 ENTRADA/ SALIDA...............................................................................15 4.1.5 CARACTERSTICAS ESPECIALES.......................................................16 4.2 PROGRAMACIN....................................................................................18 #include <pic.h>..........................................................................................20 #include <p16F628.inc>................................................................................20 Ejemplos de configuracin para el PIC 16F877A..............................................21 Ejemplos de configuracin para el PIC 16F628................................................21 Registros que intervienen..............................................................................23 Modo de uso...............................................................................................25 4.2.1 Modelo de programacin..........................................................................25 Ventajas de lenguajes de programacin de alto nivel.....................................27 4.2.2 Conjunto de instrucciones........................................................................28 4.2.3 Modos de direccionamiento......................................................................31 4.2.4 Lenguaje ensamblador.............................................................................33 Caractersticas............................................................................................34 4.3 APLICACIONES....................................................................................35 4.3.1 COMO SISTEMA INDEPENDIENTE........................................................36 4.3.2 COMO SUBSISTEMA DE UNA COMPUTADORA.......................................36 CONCLUSIN...............................................................................................37 BIBLIOGRAFA..............................................................................................38 BIBLIOGRAFA

INTRODUCCIN
En esta ocasin hablaremos un poco de los microcontroladores, tanto como su arquitectura, terminales y las diferentes operaciones que tienen cada una de ellas. Tambin aprenderemos a programarlos, usarlos e implementarlos en algo que le sirva a la sociedad en comn. Describiremos ms a fondo.

OBJETIVO
EL ALUMNO COMPRENDERA LA IMPORTANCIA DE LOS MICROCONTROLADORES, A SI COMO IMPLEMENTARA LAS UTILIDADES DE ESTAS EN LA VIDA DIARIA Y LLEVARLOS ALA PRACTICA.

4.1 ARQUITECTURA
Un controlador es un dispositivo electrnico encargado de, valga la redundancia, controlar uno o ms procesos. Por ejemplo, el controlador del aire acondicionado, recoger la informacin de los sensores de temperatura, la procesar y actuar en consecuencia. Arquitectura Von Neumann La arquitectura tradicional de computadoras y microprocesadores est basada en la arquitectura Von Neumann, en la cual la unidad central de proceso (CPU), est conectada a una memoria nica donde se guardan las instrucciones del programa y los datos. El tamao de la unidad de datos o instrucciones est dado por el ancho del bus que comunica la memoria con la CPU. Las principales limitaciones que nos encontramos con la arquitectura Von Neumann son: 1. La limitacin de la longitud de las instrucciones por el bus de datos, que hace que el microprocesador tenga que realizar varios accesos a memoria para buscar instrucciones complejas. 2. La limitacin de la velocidad de operacin a causa del bus nico para datos e instrucciones que no deja acceder simultneamente a unos y otras, lo cual impide superponer ambos tiempos de acceso.

Arquitectura Harvard La arquitectura Harvard tiene la unidad central de proceso (CPU) conectada a dos memorias (una con las instrucciones y otra con los datos) por medio de dos buses diferentes. Una de las memorias contiene solamente las instrucciones del programa (Memoria de Programa), y los otros slo almacenos datos (Memoria de Datos). Ambos buses son totalmente independientes y pueden ser de distintos anchos. Para un procesador de Set de Instrucciones Reducido, o RISC (Reduced Instruccin Set Computer), el set de instrucciones y el bus de memoria de programa pueden disearse de tal manera que todas

las instrucciones tengan una sola posicin de memoria de programa de longitud. Adems, al ser los buses independientes, la CPU puede acceder a los datos para completar la ejecucin de una instruccin, y al mismo tiempo leer la siguiente instruccin a ejecutar.

Ventajas de esta arquitectura: 1. El tamao de las instrucciones no esta relacionado con el de los datos, y por lo tanto puede ser optimizado para que cualquier instruccin ocupe una sola posicin de memoria de programa, logrando as mayor velocidad y menor longitud de programa. 2. El tiempo de acceso a las instrucciones puede superponerse con el de los datos, logrando una mayor velocidad en cada operacin. Una pequea desventaja de los procesadores con arquitectura Harvard, es que deben poseer instrucciones especiales para acceder a tablas de valores constantes que pueda ser necesario incluir en los programas, ya que estas tablas se encontraran fsicamente en la memoria de programa (por ejemplo en la EPROM de un microprocesador). El microcontrolador PIC 16F84 posee arquitectura Harvard, con una memoria de datos de 8 bits, y una memoria de programa de 14 bits. En la Figura 5 vemos la arquitectura interna organizada en bloques interconectados, en donde se incluye la memoria RAM, la memoria EEPROM, los puertos de entrada y salida (I/O), etc.

4.1.1 TERMINALES.
Un terminal, conocido tambin como consola es un dispositivo electrnico o electromecnico de hardware, usado para introducir o mostrar datos de una computadora o de un sistema de computacin.

La funcin de un terminal est confinada a la exhibicin y entrada de datos; un dispositivo con una significativa capacidad local programable de procesamiento de datos puede ser llamado un "terminal inteligente" o cliente pesado. Un terminal que depende del computador husped para su capacidad de procesamiento es llamado cliente ligero. Un computador personal puede correr un software que emule la funcin de un terminal, permitiendo a veces el uso concurrente de programas locales y el acceso a un distante sistema husped de terminal. Las puertas de Entrada y Salida (E/S) permiten comunicar al procesador con el mundo exterior, a travs de interfaces, o con otros dispositivos. Estas puertas, tambin llamadas puertos, son la principal utilidad de las patas o pines de un microprocesador. Segn los controladores de perifricos que posea cada modelo de microcontrolador, las lneas de E/S se destinan a proporcionar el soporte a las seales de entrada, salida y control. Microchip Technology Inc. fabrica estos microcontroladores en encapsulados PDIP y SPDIP, SOIC, SSOP, PLCC, QFP y QFN. Los dispositivos PIC16F870, PIC16F872, PIC16F873A y PIC16F876A se fabrican en encapsulados de 28 patitas en formatos PDIP, SOIC, SSOP y QFN, mientras que los dispositivos PIC16F871, PIC16F874A y PIC16F877A se fabrican en encapsulados de 40 patitas para formato PDIP, y en encapsulados de 44 patitas para formatos PLCC, QFP y QFN. En los encapsulados de 28 patitas no est implementado el Puerto Paralelo Esclavo (PSP). Tpicamente cualquier pin de E/S puede ser considerada E/S de propsito general, pero como los microcontroladores no pueden tener infinitos pines, ni siquiera todos los pines que queramos, las E/S de propsito general comparten los pines con otros perifricos. Para usar un pin con cualquiera de las caractersticas a l asignadas debemos configurarlo mediante los registros destinados a ellos. 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 sincronizacin de todas las operaciones del sistema. Esta seal del reloj es el motor del sistema y la que hace que el programa y los contadores avancen. Generalmente, el circuito de reloj est incorporado en el microcontrolador y slo se necesitan unos pocos componentes exteriores para seleccionar y estabilizar la frecuencia de trabajo. Dichos componentes suelen consistir en un cristal de cuarzo junto a elementos pasivos o bien un resonador cermico o una red R-C. Aumentar la frecuencia de reloj supone disminuir el tiempo en que se ejecutan las instrucciones pero lleva aparejado un incremento del consumo de energa y de calor generado

4.1.2 CPU.
La expresin "unidad central de proceso" es, en trminos generales, una descripcin de una cierta clase de mquinas de lgica que pueden ejecutar complejos programas de computadora. Esta amplia definicin puede fcilmente ser aplicada a muchos de los primeros computadores que existieron mucho antes que el trmino "CPU" estuviera en amplio uso. Sin embargo, el trmino en s mismo y su acrnimo han estado en uso en la industria de la informtica por lo menos desde el principio de los aos 1960. La forma, el diseo y la implementacin de los CPU ha cambiado drsticamente desde los primeros ejemplos, pero su operacin fundamental ha permanecido bastante similar. Tanto la miniaturizacin como la estandarizacin de los CPU han aumentado la presencia de estos dispositivos digitales en la vida moderna mucho ms all de las aplicaciones limitadas de mquinas de computacin dedicadas. Los microprocesadores modernos aparecen en todo, desde automviles,

televisores, neveras, calculadoras, aviones, hasta telfonos mviles o celulares, juguetes, entre otros Casi todos los CPU tratan con estados discretos, y por lo tanto requieren una cierta clase de elementos de conmutacin para diferenciar y cambiar estos estados. Antes de la aceptacin comercial del transistor, los rels elctricos y los tubos de vaco (vlvulas termoinicas) eran usados comnmente como elementos de conmutacin. Aunque stos tenan distintas ventajas de velocidad sobre los anteriores diseos puramente mecnicos, no eran fiables por varias razones. Por ejemplo, hacer circuitos de lgica secuencial de corriente directa requera hardware adicional para hacer frente al problema del rebote de contacto. Por otro lado, mientras que los tubos de vaco no sufren del rebote de contacto, stos deben calentarse antes de llegar a estar completamente operacionales y eventualmente fallan y dejan de funcionar por completo.1 Generalmente, cuando un tubo ha fallado, la CPU tendra que ser diagnosticada para localizar el componente que falla para que pueda ser reemplazado. Por lo tanto, los primeros computadores electrnicos, (basados en tubos de vaco), generalmente eran ms rpidos pero menos confiables que las computadoras electromecnicas, (basadas en rels). Esta tendencia ampliamente observada es descrita por la ley de Moore, que ha demostrado hasta la fecha, ser una prediccin bastante exacta del crecimiento de la complejidad de los CPUs y otros IC. Mientras que, en los pasados sesenta aos han cambiado drsticamente, la complejidad, el tamao, la construccin, y la forma general del CPU, es notable que el diseo y el funcionamiento bsico no hayan cambiado demasiado. Casi todos los CPU comunes de hoy se pueden describir con precisin como mquinas de programa almacenado de von Neumann. A medida que la ya mencionada ley del Moore contina mantenindose verdadera, se han presentado preocupaciones sobre los lmites de la tecnologa de transistor del circuito integrado. La miniaturizacin extrema de puertas electrnicas est causando los efectos de fenmenos que se vuelven mucho ms significativos, como la electromigracin, y el subumbral de prdida.

Estas ms nuevas preocupaciones estn entre los muchos factores que hacen a investigadores estudiar nuevos mtodos de computacin como la computadora cuntica, as como ampliar el uso de paralelismo, y otros mtodos que extienden la utilidad del modelo clsico de von Neumann.

Operacin del CPU La operacin fundamental de la mayora de los CPU, es ejecutar una secuencia de instrucciones almacenadas llamadas "programa". El programa es representado por una serie de nmeros que se mantienen en una cierta clase de memoria de computador. Hay cuatro pasos que casi todos los CPU de arquitectura de von Neumann usan en su operacin: fetch, decode, execute, y writeback, (leer, decodificar, ejecutar, y escribir).

Diagrama mostrando como es decodificada una instruccin del MIPS32. (MIPS Technologies 2005) El primer paso, leer (fetch), implica el recuperar una instruccin, (que es representada por un nmero o una secuencia de nmeros), de la memoria de programa. La localizacin en la memoria del programa es determinada por un contador de programa (PC), que almacena un nmero que identifica la posicin actual en el programa. En otras palabras, el contador de programa indica al CPU, el lugar de la instruccin en el programa actual. Despus de que

se lee una instruccin, el Contador de Programa es incrementado por la longitud de la palabra de instruccin en trminos de unidades de memoria.2 Frecuentemente la instruccin a ser leda debe ser recuperada de memoria relativamente lenta, haciendo detener al CPU mientras espera que la instruccin sea retornada. Este problema es tratado en procesadores modernos en gran parte por los cachs y las arquitecturas pipeline (ver abajo). La instruccin que el CPU lee desde la memoria es usada para determinar qu deber hacer el CPU. En el paso de decodificacin, la instruccin es dividida en partes que tienen significado para otras unidades del CPU. La manera en que el valor de la instruccin numrica es interpretado est definida por la arquitectura del conjunto de instrucciones (el ISA) del CPU.3 A menudo, un grupo de nmeros en la instruccin, llamados opcode, indica qu operacin realizar. Las partes restantes del nmero usualmente proporcionan informacin requerida para esa instruccin, como por ejemplo, operandos para una operacin de adicin. Tales operandos se pueden dar como un valor constante (llamado valor inmediato), o como un lugar para localizar un valor, que segn lo determinado por algn modo de direccin, puede ser un registro o una direccin de memoria. En diseos ms viejos las unidades del CPU responsables de decodificar la instruccin eran dispositivos de hardware fijos. Sin embargo, en CPUs e ISAs ms abstractos y complicados, es frecuentemente usado un microprograma para ayudar a traducir instrucciones en varias seales de configuracin para el CPU. Este microprograma es a veces reescribible de tal manera que puede ser modificado para cambiar la manera en que el CPU decodifica instrucciones incluso despus de que haya sido fabricado.

Diagrama de bloques de un CPU simple Despus de los pasos de lectura y decodificacin, es llevado a cabo el paso de la ejecucin de la instruccin. Durante este paso, varias unidades del CPU son conectadas de tal manera que ellas pueden realizar la operacin deseada. Si, por ejemplo, una operacin de adicin fue solicitada, una unidad aritmtico lgica (ALU) ser conectada a un conjunto de entradas y un conjunto de salidas. Las entradas proporcionan los nmeros a ser sumados, y las salidas contendrn la suma final. La ALU contiene la circuitera para realizar operaciones simples de aritmtica y lgica en las entradas, como adicin y operaciones de bits (bitwise). Si la operacin de adicin produce un resultado demasiado grande para poder ser manejado por el CPU, tambin puede ser ajustada una bandera (flag) de desbordamiento aritmtico localizada en un registro de banderas (ver abajo la seccin sobre rango de nmeros enteros). El paso final, la escritura (writeback), simplemente "escribe" los resultados del paso de ejecucin a una cierta forma de memoria. Muy a menudo, los resultados son escritos a algn registro interno del CPU para acceso rpido por subsecuentes instrucciones. En otros casos los resultados pueden ser escritos a una memoria principal ms lenta pero ms barata y ms grande. Algunos tipos de instrucciones manipulan el contador de programa en lugar de

directamente producir datos de resultado. stas son llamadas generalmente "saltos" (jumps) y facilitan comportamientos como |bucles (loops), la ejecucin condicional de programas (con el uso de saltos condicionales), y funciones en programas.4 Muchas instrucciones tambin cambiarn el estado de dgitos en un registro de "banderas". Estas banderas pueden ser usadas para influenciar cmo se comporta un programa, puesto que a menudo indican el resultado de varias operaciones. Por ejemplo, un tipo de instruccin de "comparacin" considera dos valores y fija un nmero, en el registro de banderas, de acuerdo a cul es el mayor. Entonces, esta bandera puede ser usada por una posterior instruccin de salto para determinar el flujo de programa. Despus de la ejecucin de la instruccin y la escritura de los datos resultantes, el proceso entero se repite con el siguiente ciclo de instruccin, normalmente leyendo la siguiente instruccin en secuencia debido al valor incrementado en el contador de programa.

4.1.3 ESPACIO DE MEMORIA

En los microcontroladores la memoria de instrucciones y datos est integrada en el propio chip. Una parte debe ser no voltil, tipo ROM, y se destina a contener el programa de instrucciones que gobierna la aplicacin. Otra parte de memoria ser tipo RAM, voltil, 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 slo se destina a una tarea en la memoria ROM, slo hay que almacenar un nico programa de trabajo. La RAM en estos dispositivos es de poca capacidad pues slo debe contener las variables y los cambios de informacin que se produzcan en el transcurso del programa. Por otra parte, como slo existe un programa activo, no se

requiere guarda r una copia del mismo en la RAM pues se ejecuta directamente desde la ROM. Los usuarios de computadores personales estn habituados a manejar Megabytes de memoria, pero, los diseadores con microcontroladores trabajan con capacidades de ROM comprendidas entre 512 bytes y 8 k bytes y de RAM comprendidas entre 20 y 512 bytes. Segn el tipo de memoria ROM que dispongan los microcontroladores, la aplicacin y utilizacin de los mismos es diferente. Se describen las cinco versiones de memoria no voltil que se pueden encontrar en los microcontroladores del mercado. ROM con mscara Es una memoria no voltil de slo lectura cuyo contenido se graba durante la fabricacin del chip. Si tenemos idea de cmo se fabrican los circuitos integrados, sabremos de donde viene el nombre. Estos se fabrican en obleas que contienen varias decenas de chips. Estas obleas se fabrican a partir de procesos fotoqumicos, donde se impregnan capas de silicio y oxido de silicio, y segn convenga, se erosionan al exponerlos a la luz. Como no todos los puntos han de ser erosionados, se sita entre la luz y la oblea una mscara con agujeros, de manera que donde deba incidir la luz, esta pasar. Con varios procesos similares pero ms complicados se consigue fabricar los transistores y diodos micromtricos que componen un chip. Ahora ya sabes de donde viene la mscara y no te acostars sin saber una cosa ms. El elevado coste del diseo de la mscara slo hace aconsejable el empleo de los microcontroladores con este tipo de memoria cuando se precisan cantidades superiores a varios miles de unidades. OTP El microcontrolador contiene una memoria no voltil de slo lectura programable una sola vez por el usuario. OTP (One Time Programable). Es el usuario quien puede escribir el programa en el chip mediante un sencillo grabador controlado por un programa desde un

PC. La versin OTP es recomendable cuando es muy corto el ciclo de diseo del producto, o bien, en la construccin de prototipos y series muy pequeas. Tanto en este tipo de memoria como en la EPROM, se suele usar la encriptacin mediante fusibles para proteger el cdigo contenido. EPROM Los microcontroladores que disponen de memoria EPROM (Erasable Programmable Read OnIy Memory) pueden borrarse y grabarse muchas veces. La grabacin se realiza, como en el caso de los OTP, con un grabador gobernado desde un PC. Si, posteriormente, se desea borrar el contenido, disponen de una ventana de cristal en su superficie por la que se somete a la EPROM a rayos ultravioleta durante varios minutos. Las cpsulas son de material cermico y son ms caros que los microcontroladores con memoria OTP que estn hechos con material plstico. EEPROM, E2PROM o E2PROM Se trata de memorias de slo lectura, programables y borrables elctricamente EEPROM (Elctrica Erasable Programmable Read OnIy Memory). Tanto la programacin como el borrado, se realizan elctricamente desde el propio grabador y bajo el control programado de un PC. Es muy cmoda y rpida la operacin de grabado y la de borrado. No disponen de ventana de cristal en la superficie. Los microcontroladores dotados de memoria EEPROM una vez instalados en el circuito, pueden grabarse y borrarse cuantas veces se quiera sin ser retirados de dicho circuito. Para ello se usan "grabadores en circuito que confieren una gran flexibilidad y rapidez a la hora de realizar modificaciones en el programa de trabajo. El nmero de veces que puede grabarse y borrarse una memoria EEPROM es _nito, por lo que no es recomendable una reprogramacin contina. Son muy idneos para la enseanza y la Ingeniera de diseo. Se va extendiendo en los fabricantes la tendencia de incluir una pequea zona de memoria EEPROM en los circuitos programables para guardar y modificar cmodamente una serie de parmetros que adecuan el dispositivo a las

condiciones del entorno. Este tipo de memoria es relativamente lenta, como ya veremos ms adelante. FLASH Se trata de una memoria no voltil, de bajo consumo, que se puede escribir y borrar. Funciona como una ROM y una RAM pero consume menos y es ms pequea. A diferencia de la ROM, la memoria FLASH es programable en el circuito. Es ms rpida y de mayor densidad que la EEPROM. La alternativa FLASH est recomendada frente a la EEPROM cuando se precisa gran cantidad de memoria de programa no voltil. Es ms veloz y tolera ms ciclos de escritura/borrado. Las memorias EEPROM y FLASH son muy tiles al permitir que los microcontroladores que las incorporan puedan ser reprogramados en circuito, es decir, sin tener que sacar el circuito integrado de la tarjeta. As, un dispositivo con este tipo de memoria incorporado al control del motor de un automvil permite que pueda modificarse el programa durante la rutina de mantenimiento peridico, compensando los desgastes y otros factores tales como la compresin, la instalacin de nuevas piezas, etc. La reprogramacin del microcontrolador puede convertirse en una labor rutinaria dentro de la puesta a punto.

4.1.4 ENTRADA/ SALIDA.


Cualquier aplicacin de un sistema digital basado en un microprocesador o microcontrolador requiere la transferencia de datos entre circuitos externos al microprocesador y l mismo. Estas transferencias constituyen las operaciones llamadas ENTRADA y SALIDA, (input /output) o ES (I/O). Los puertos de entrada/salida son bsicamente registros externos o internos. Algunos microprocesadores proporcionan seales de control que permiten que los registros externos que forman los puertos de E/S ocupen un espacio de

direcciones separada, es decir, distinto del espacio de direcciones de los registros externos que componen la memoria. Cuando los puertos tienen asignado un espacio de direcciones separado, se dice que estn en modo de ENTRADA/SALIDA AISLADA o E/S ESTNDAR. Por el contrario, cuando se ubican dentro del mismo espacio que la memoria, se dice que estn en modo de ENTRADA/SALIDA MAPEADA A MEMORIA o PROYECTADA EN MEMORIA. En su forma ms elemental, un puerto de entrada est compuesto slo por un buffer de tercer estado y con ms frecuencia por un buffer de tercer estado junto con un registro de almacenamiento (latch). El buffer de tercer estado tiene la funcin de controlar, es decir, aislar o permitir el flujo de informacin del puerto al bus de datos del microprocesador. El registro tiene la funcin de almacenar temporalmente la informacin generada por el dispositivo perifrico de entrada hasta que pueda ser leda por el microprocesador.

ENTRADA/SALIDA

AISLADA.-

Para

que

un

microprocesador

pueda

implementar el modo E/S aislada (isolated I/O) son indispensables las siguientes condiciones: 1.- El microprocesador debe proporcionar seales de control que permitan distinguir entre una operacin con un puerto y una referencia a memoria. 2.- El cdigo de instrucciones debe tener instrucciones especiales con las que se pueda leer (entrada) o escribir (salida) en los puertos. ENTRADA/SALIDA MAPEADA.- El modo de E/S mapeada a memoria (Memory mapped I/O) se basa en que tanto las localidades de memoria como los puertos de E/S se consideran como registros externos desde el punto de vista del microprocesador. Entonces, las instrucciones que hacen referencia a la memoria tambin pueden transferir datos entre un dispositivo perifrico y el microprocesador, siempre y cuando el puerto de E/S que los interconecta se encuentre dentro del espacio de direccionamiento de memoria, es decir, controlado por las seales de control para memoria. De esta forma, el registro

asociado con el puerto de E/S es tratado simplemente como una localidad de memoria ms. Una caracterstica importante es que las operaciones de entrada y salida usando E/S mapeada a memoria no estn limitadas a los registros internos. 4.1.5 CARACTERSTICAS ESPECIALES La principal utilidad de las patitas que posee la cpsula que contiene un microcontrolador es soportar las lneas de E/S que comunican al computador interno con los perifricos exteriores. Segn los controladores de perifricos que posea cada modelo de microcontrolador, las lneas de E/S se destinan a proporcionar el soporte a las seales de entrada, salida y control. Seal de Corriente de Entrada: Considerada como estmulo aplicado a un sistema desde una fuente de energa externa con el propsito de que el sistema produzca una respuesta especfica. Seal de Corriente de Salida: Respuesta obtenida por el sistema que puede o no relacionarse con la respuesta que implicaba la entrada Los microcontroladores representan la inmensa mayora de los chips de computadoras vendidos, sobre un 50 % son controladores "simples" y el restante corresponde a DSPs ms especializados. Mientras se pueden tener uno o dos microprocesadores de propsito general en casa (Ud. est usando uno para esto), usted en tiene casi distribuidos cualquier seguramente entre los como electrodomsticos de su hogar una o dos docenas de microcontroladores. Pueden encontrarse dispositivo electrnico automviles, lavadoras, hornos microondas, telfonos, etc. Un microcontrolador difiere de una unidad central de procesamiento normal, debido a que es ms fcil convertirla en una computadora en funcionamiento, con un mnimo de circuitos integrados externos de apoyo. La idea es que el circuito integrado se coloque en el dispositivo, enganchado a la fuente de energa y de informacin 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 mdulos de entrada y salida (puertos) y la memoria para almacenamiento de informacin. 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 circuitera Diferencias entre microprocesador y microcontrolador Si has tenido la oportunidad de realizar un diseo con un microprocesador pudiste observar que dependiendo del circuito se requeran algunos circuitos integrados adicionales adems del microprocesador como por ejemplo: memorias RAM para almacenar los datos temporalmente y memorias ROM para almacenar el programa que se encargara del proceso del equipo, un circuito integrado para los puertos de entrada y salida y finalmente un decodificador de direcciones. Un microcontrolador es un solo circuito integrado que contiene todos los elementos electrnicos que se utilizaban para hacer funcionar un sistema basado con un microprocesador; es decir contiene en un solo integrado la Unidad de Proceso, la memoria RAM, memoria ROM , puertos de entrada, salidas y otros perifricos, con la consiguiente reduccin de espacio. El microcontrolador es en definitiva un circuito integrado que incluye todos los componentes de un computador. Debido a su reducido tamao es posible montar el controlador en el propio dispositivo al que gobierna. En este caso el controlador recibe el nombre de controlador empotrado o embebido (embedded controller).

Ventajas de un microcontrolador frente a un microprocesador Estas ventajas son reconocidas inmediatamente para aquellas personas que han trabajado con los microprocesadores y despus pasaron a trabajar con los microcontroladores. Estas son las diferencias ms importantes: Por ejemplo la

configuracin mnima bsica de un microprocesador estaba constituida por un Micro de 40 Pines, Una memoria RAM de 28 Pines, una memoria ROM de 28 Pines y un decodificador de direcciones de 18 pines; pero un microcontrolador incluye todo estos elementos en un solo Circuito Integrado por lo que implica una gran ventaja en varios factores: En el circuito impreso por su amplia simplificacin de circuitera, el costo para un sistema basado Estructura de un sistema abierto basado en un microprocesador. La disponibilidad de los buses en el exterior permite que se configure a la medida de la aplicacin El microcontrolador es un sistema cerrado. Todas las partes del procesador estn contenidas en su interior y slo salen al exterior las lneas que gobiernan los perifricos. En microcontrolador es mucho menor y, lo mejor de todo, el tiempo de desarrollo de su proyecto electrnico se disminuye considerablemente

4.2 PROGRAMACIN.
Ensamblador. La programacin en lenguaje ensamblador puede resultar un tanto ardua para el principiante, pero permite desarrollar programas muy eficientes, ya que otorga al programador el dominio absoluto del sistema. Los fabricantes suelen proporcionar el programa ensamblador de forma gratuita y en cualquier caso siempre se puede encontrar una versin gratuita para los microcontroladores ms populares. Compilador. La programacin en un lenguaje de alto nivel (como el C el Basic) permite disminuir el tiempo de desarrollo de un producto. No obstante, si no se programa con cuidado, el cdigo resultante puede ser mucho ms ineficiente que el programado en ensamblador. Las versiones ms potentes suelen ser muy caras, aunque para los microcontroladores ms populares pueden encontrarse versiones demo limitadas e incluso compiladores gratuitos. Depuracin: debido a que los microcontroladores van a controlar dispositivos fsicos, los desarrolladores necesitan herramientas que les permitan

comprobar el buen funcionamiento del microcontrolador cuando es conectado al resto de circuitos. Simulador. Son capaces de ejecutar en un PC programas realizados para el microcontrolador. Los simuladores permiten tener un control absoluto sobre la ejecucin de un programa, siendo ideales para la depuracin de los mismos. Su gran inconveniente es que es difcil simular la entrada y salida de datos del microcontrolador. Tampoco cuentan con los posibles ruidos en las entradas, pero, al menos, permiten el paso fsico de la implementacin de un modo ms seguro y menos costoso, puesto que ahorraremos en grabaciones de chips para la prueba in-situ. Placas de evaluacin. Se trata de pequeos sistemas con un

microcontrolador ya montado y que suelen conectarse a un PC desde el que se cargan los programas que se ejecutan en el microcontrolador. Las placas suelen incluir visualizadores LCD, teclados, LEDs, fcil acceso a los pines de E/S, etc. El sistema operativo de la placa recibe el nombre de programa monitor. El programa monitor de algunas placas de evaluacin, aparte de permitir cargar programas y datos en la memoria del microcontrolador, puede permitir en cualquier momento realizar ejecucin paso a paso, monitorizar el estado del microcontrolador o modificar los valores almacenados los registros o en la memoria. Emuladores en circuito. Se trata de un instrumento que se coloca entre el PC anfitrin y el zcalo de la tarjeta de circuito impreso donde se alojar el microcontrolador definitivo. El programa es ejecutado desde el PC, pero para la tarjeta de aplicacin es como si lo hiciese el mismo microcontrolador que luego ir en el zcalo. Presenta en pantalla toda la informacin tal y como luego suceder cuando se coloque la cpsula.

Includes #include <pic.h>

Cuando se programa utilizando el MPLAB, al elegir el modelo de PIC para el que se va a compilar, el IDE genera la lnea de compilacin incluyendo este modelo. Con esta bandera seteada y la inclusin de la biblioteca <pic.h> es suficiente para que a su vez se incluya la biblioteca picXX.h (siendo XX el modelo del PIC).

Cdigo ejemplo: #include <pic.h> Colocar este include permite manejar el conjunto de nombres de registros y bits, haciendo mucho ms intuitiva la programacin, y sobre todo ms entendible la posterior lectura de cdigo (en las secciones siguientes se mencionaran registros segn sus nombres en estas bibliotecas), por ejemplo: a partir de la inclusin de estas bibliotecas se puede usar el nombre PORTA en lugar de la direccin de memoria 05h, y el TRISA en lugar de 85h (esta biblioteca es en realidad un gran conjunto de defines). #include <p16F628.inc> Utilizando el MPASM Assembler tambin es posible incluir bibliotecas que permiten nombrar registros, aunque no existe la facilidad de incluir una sola, por lo que es necesario incluir la que corresponde al microcontrolador en cuestin. Cdigo ejemplo: #include <p16F628.inc> Existen muchas bibliotecas disponibles para incluir, aunque hay que considerar que tanto el lenguaje C como el assembler son exclusivos para estos microcontroladores, por lo tanto no se puede incluir cualquier biblioteca. Por otro lado el C sigue el estndar de ANSI casi completamente, a menos de algunas macros y el tipo de dato bit (en PICC existe el tipo de dato bit), as

como el tratamiento de la rutina de interrupcin (en PICC existe una sola rutina de interrupcin). Ejemplos de configuracin para el PIC 16F877A Configuracin de un microcontrolador PIC 16F877A programado con el lenguaje PICC versin Lite que incluye la librera pic.h.

Cdigo ejemplo:

__CONFIG( HS & WDTDIS & PWRTEN & BORDIS & LVPDIS & DUNPROT & UNPROTECT ); Ejemplos de configuracin para el PIC 16F628 Configuracin de un microcontrolador PIC 16F628 programado en Assembler que incluye la librera p16F628.inc Cdigo ejemplo:

__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_OFF & _INTRC_OSC_NOCLKOUT & _MCLRE_OFF & _LVP_OFF & _PWRTE_ON

USART Universal Synchronous Asynchronous Receiver Transmitter. Tambin se conoce como SCI (Serial Communications Interface).

El mdulo USART de los microcontroladores PIC permite la comunicacin con otros microcontroladores, memorias eeproms, PC, etc., utilizando tanto un modo asincrnico (pudiendo ser full duplex) o sincrnico (master o Slave, half duplex).

Permite enviar 8 o 9 bits por transmisin y tiene posibilidad de alcanzar varias velocidades de transmisin, siendo lo ms importante, que por ser una funcionalidad integrada al PIC, el programador logra desentenderse de toda la complejidad del protocolo a nivel de capa 1 y es suficiente con poner un dato en un registro del microcontrolador para enviar y leer otro registro para recibir.

Si bien existen varios protocolos relacionados con la sincronizacin de la comunicacin USART como el RTS/CTS o el XON/XOFF, los microcontroladores PIC de gama media no los implementan, para utilizarlos hay que programarlos utilizando algn par de pines disponibles.

En un PIC 16F87XA los pines que son utilizados por la funcionalidad integrada USART son el RC6/TX y el RC7/RX. En un PIC 16F62X los pines que son utilizados por la funcionalidad integrada USART son el RB1/RX y el RB2/TX.

Estos pines tienen que estar configurados como entrada (puestos en 1 en los registros TRIS correspondientes). En las siguientes secciones se describir como se utiliza el USART en modo asincrnico con transmisiones de 8 bits. Cuando se utiliza el lenguaje PICC en su versin Lite, existen rutinas para el uso y gestin del USART que se encuentran en el archivo sci.h, ubicado en el directorio C:\PICCLITE \samples\USART en una instalacin estndar. Para

utilizar el mdulo en Assembler se deben utilizar los registros de la misma forma en que se usan en C a bajo nivel. A pesar de que se cuenta con la biblioteca sci.h, se describir el funcionamiento y uso del mdulo USART a ms bajo nivel, dado que puede ser necesario cambiar esta biblioteca. En particular para el proyecto se hicieron cambios para integrar controles de tiempos (se agregaron timer para controlar que si pasado cierto tiempo no llega un dato se devuelva error), es decir se hicieron rutinas bloqueantes con timeout.

Registros que intervienen Registro TXSTA Transmit Status and Control Register (Registro de estado y control de transmisin) . Incluye: CSRC selecciona la fuente de reloj (interna, externa). TX9 TXEN SYNC BRGH baudios. TRMT TX9D bit de estado del Transmit Shift Register noveno bit de transmisin de datos. habilita transmisiones de 8 o 9 bits. habilita transmisin. seleccin de modo (sincrnico, asincrnico). complementa el control en la generacin de

Registro RCSTA Receive Status and Control Register (Registro de estado y control de recepcin) .

Incluye: SPEN RX9 SREN CREN ADDEN FERR OERR RX9D bit de habilitacin del puerto serial. setea recepcin de 8 o 9 bits. bit de habilitacin de recepcin simple. bit de habilitacin de recepcin continua. bit de habilitacin de deteccin de direccin. bit bandera de error de framing. bit de error por sobreescritura. noveno bit de recepcin de datos.

Registro SPBRG Genera los pulsos, el reloj de la transmisin. Existe un timer independiente de 8 bits que Decrementa hasta 0 a partir del valor de este registro. Dependiendo de la velocidad de transmisin que se quiera conviene setear en 0 o 1 el BRGH, y dependiendo de este es el valor que se setea en el SPBRG (ver figura 10-3 y 10-4 de la hoja de datos del pic16F87X).

Registro PIE1 Incluye: TXIE habilita interrupciones por transmisin de USART RCIE habilita interrupciones por recepcin de USART

Registro PIR1 Incluye: TXIF bandera que indica que se enviado por USART RCIF bandera que indica que se ha recibido por USART

Registro TXREG Registro que se debe escribir con el dato a enviar por USART.

Registro RCREG Registro que se debe leer al recibir un dato por USART.

Modo de uso Inicializacin Inicialmente es necesario hacer una serie de seteos para que pueda usarse el modo USART, esto incluye definir a qu velocidad se va a transmitir, el modo (sincrnico / asincrnico), con interrupciones, etc.

4.2.1 Modelo de programacin. Mecanismos disponibles al programador para expresar la estructura lgica de un programa Influye Complejidad del programa

1. Costo de desarrollo 2. Legibilidad. Costo de mantenimiento Rendimiento

1. Influenciado por el modelo 2. por la implementacin del modelo


3. Por la estructura de paralelizacin

Componentes Datos Procesos Comunicacin Sincronizacin Entrada/salida

El microcontrolador ejecuta el programa cargado en la memoria Flash. Esto se denomina el cdigo ejecutable y est compuesto por una serie de ceros y unos, aparentemente sin significado. Dependiendo de la arquitectura del microcontrolador, el cdigo binario est compuesto por palabras de 12, 14 o 16 bits de anchura. Cada palabra se interpreta por la CPU como una instruccin a ser ejecutada durante el funcionamiento del microcontrolador. Todas las instrucciones que el microcontrolador puede reconocer y ejecutar se les denominan colectivamente Conjunto de instrucciones. Como es ms fcil trabajar con el sistema de numeracin hexadecimal, el cdigo ejecutable se

representa con frecuencia como una serie de los nmeros hexadecimales denominada cdigo Hex. En los microcontroladores PIC con las palabras de programa de 14 bits de anchura, el conjunto de instrucciones tiene 35 instrucciones diferentes. Como el proceso de escribir un cdigo ejecutable era considerablemente arduo, en consecuencia fue creado el primer lenguaje de programacin denominado ensamblador (ASM). Siguiendo la sintaxis bsica del ensamblador, era ms fcil escribir y comprender el cdigo. Las instrucciones en ensamblador consisten en las abreviaturas con significado y a cada instruccin corresponde una localidad de memoria. Un programa denominado ensamblador compila (traduce) las instrucciones del lenguaje ensamblador a cdigo mquina (cdigo binario). HEste programa compila instruccin a instruccin sin optimizacin. Como permite controlar en detalle todos los procesos puestos en marcha dentro del chip, este lenguaje de programacin todava sigue siendo popular. Ventajas de lenguajes de programacin de alto nivel A pesar de todos los lados buenos, el lenguaje ensamblador tiene algunas desventajas: Incluso una sola operacin en el programa escrito en ensamblador consiste en muchas instrucciones, hacindolo muy largo y difcil de manejar. Cada tipo de microcontrolador tiene su propio conjunto de instrucciones que un programador tiene que conocer para escribir un programa Un programador tiene que conocer el hardware del microcontrolador para escribir un programa Programa escrito en C (El mismo programa compilado al cdigo ensamblador):

Si alguna vez ha escrito un programa para un microcontrolador PIC en lenguaje ensamblador, probablemente sepa que la arquitectura RISC carece

de algunas instrucciones. Por ejemplo, no hay instruccin apropiada para multiplicar dos nmeros. Por supuesto, para cada problema hay una solucin y ste no es una excepcin gracias a la aritmtica que permite realizar las operaciones complejas al descomponerlas en un gran nmero operaciones ms simples. En este caso, la multiplicacin se puede sustituir con facilidad por adicin sucesiva (a x b = a + a + a + ... + a). Ya estamos en el comienzo de una historia muy larga... No hay que preocuparse al utilizar uno de estos lenguajes de programacin de alto nivel como es C, porque el compilador encontrar automticamente la solucin a ste problema y otros similares. Para multiplicar los nmeros a y b, basta con escribir a*b.

4.2.2 Conjunto de instrucciones. Aunque no aparezca en el esquema, no podamos dejar al conjunto o repertorio de instrucciones fuera de esta fiesta, porque este elemento determina lo que puede hacer el procesador. Define las operaciones bsicas que puede realizar el procesador, que conjugadas y organizadas forman lo que conocemos como software. El conjunto de instrucciones vienen siendo como las letras del alfabeto, el elemento bsico del lenguaje, que organizadas adecuadamente permiten escribir palabras, oraciones y cuanto programa se le ocurra. Existen dos tipos bsicos de repertorios de instrucciones, que determinan la arquitectura del procesador: CISC y RISC. CISC, del ingls Complex Instruction Set Computer, Computadora de Conjunto de Instrucciones Complejo. Los microprocesadores CISC tienen un conjunto de instrucciones que se caracteriza por ser muy amplio y que permiten realizar operaciones complejas entre operandos situados en la memoria o en los registros internos. Este tipo de repertorio dificulta el paralelismo entre instrucciones, por lo que en la actualidad, la mayora de los sistemas CISC de alto rendimiento, convierten las instrucciones complejas en varias instrucciones simples del tipo RISC, llamadas generalmente microinstrucciones.

Dentro de los microcontroladores CISC podemos encontrar a la popular familia INTEL -51 y la Z80, aunque actualmente existen versiones CISC-RISC de estos microcontroladores, que pretenden aprovechar las ventajas de los procesadores RISC a la vez que se mantiene la compatibilidad hacia atrs con las instrucciones de tipo CISC. RISC, del ingls Reduced Instruction Set Computer, Computadora con Conjunto de Instrucciones Reducido. Se centra en la obtencin de procesadores con las siguientes caractersticas fundamentales: Instrucciones de tamao fijo. Pocas instrucciones. Slo las instrucciones de carga y almacenamiento acceden a la memoria de datos. Nmero relativamente elevado de registros de propsito general.

Una de las caractersticas ms destacables de este tipo de procesadores es que posibilitan el paralelismo en la ejecucin, y reducen los accesos a memoria. Es por eso que los procesadores ms modernos, tradicionalmente basados en arquitecturas CISC implementan mecanismos de traduccin de instrucciones CISC a RISC, para aprovechar las ventajas de este tipo de procesadores. Los procesadores de los microcontroladores PIC son de tipo RISC. Conjunto de Instrucciones en lenguaje ensamblador Lista Alfabtica de Instrucciones ACALL ADD ADDC AJMP ANL ANL bit CJNE CLR A CLR bit CPL A Absolute Call Add Accumulator Add Accumulator with Carry Absolute Jump Logical AND for byte variables Logical AND for bit variables Compare and Jump if Not Equal Clear Accumulator Clear bit Complement Accumulator

CPL bit Complement bit DA Decimal Adjust of Accumulator DEC Decrement Register DIV Divide Accumulator by B DJNZ Decrement Register and Jump if Not Zero INC Increment Register JB Jump if Bit Set JBC Jump if Bit Set and Clear Bit JC Jump if Carry Set JMP @ Jump indirect to Address JNB Jump if Bit Not Set JNC Jump if Carry Not Set JNZ Jump if Accumulator Not Zero JZ Jump if Accumulator Zero LCALL Long Call LJMP Long Jump MOV Move byte variable MOV bit Move bit MOVC Move Code Memory MOVX Move External Memory MUL Multiply Accumulator by B NOP No Operation ORL Logical OR for byte variables ORL bit Logical OR for bit variables POP Pop From Stack PUSH Push Onto Stack RET Return From Subroutine RETI Return From Interrupt RL Rotate Accumulator Left RLC Rotate Accumulator Left Through Carry RR Rotate Accumulator Right RRC Rotate Accumulator Right Through Carry SETB Set Bit SJMP Short Jump SUBB Subtract From Accumulator With Borrow SWAP Swap Accumulator Nibbles XCH Exchange Bytes XCHD Exchange Digits XRL Exclusive OR ?? Undefined Instruction

4.2.3 Modos de direccionamiento.

Una instruccin es un cdigo binario con un significado ya establecido de antemano. Para no tener que memorizar estos cdigos y facilitar de esta manera la tarea del programador, a cada instruccin se le asigna una abreviatura que d una idea de la accin que realiza. As por ejemplo si se pretende cargar un dato en el acumulador se emplea una instruccin cuyo nemnico es LDA abreviatura de LoaD Accumulator. Pero adems hay que indicar en la instruccin cual es el dato o donde se encuentra el dato con el que hay que operar. As por ejemplo la instruccin LDA (Cargar el acumulador) da lugar a los nueve cdigos de operacin que se indican en la tabla siguiente, que tienen como denominador comn que todas las instrucciones cargan en el acumulador un dato, pero difieren en la forma de obtener ese dato. Instruccin LDA LDA LDA Instruccin LDA LDA LDA LDA LDA LDA Modo de Direccionamiento Inmediato Absoluto Absoluto Indexado X Modo de direccionamiento Absoluto Indexado Y Preindexado Postindexado Absoluto Pgina 0 Indexado Pgina 0 X Indirecto Cdigo de Operacin A9 AD BD Cdigo de operacin B9 A1 B1 A5 B5 B2

Esta gran variedad de modos de direccionamiento facilita la labor del programador que deber de recordar un grupo de nemnicos ms reducido que en otros microprocesadores. El 65C02 dispone de 68 nemnicos, que expandidos en los 15 modos de direccionamiento posibles dan un total de 210 cdigos de operacin. En la siguiente tabla se muestran los modos de direccionamiento del 65C02; en la columna de la derecha se representa el formato de escritura para cada uno de ellos en un lenguaje emsamblador. Esta gran variedad de modos de direccionamiento facilita la labor del programador que deber de recordar un grupo de nemnicos ms reducido que en otros microprocesadores. El 65C02 dispone de 68 nemnicos, que expandidos en los 15 modos de direccionamiento posibles dan un total de 210 cdigos de operacin. En la siguiente tabla se muestran los modos de direccionamiento del 65C02; en la columna de la derecha se representa el formato de escritura para cada uno de ellos en un lenguaje emsamblador.

Modos de Direccionamiento Implcito Inmediato Absoluto Pgina Cero Indirecto absoluto Absoluto,X (indexado) Absoluto,Y (indexado) Pgina Cero,X (Indexado) Pre-indexado (Indexado indirecto) Indirecto absoluto indexado Post-indexado (indirecto indexado)

Formato del Operando (No hay operando) #nn nnnn nn [nnnn] nnnn,X nnnn,Y nn,X [nn,X] [nnnn],X [nn],Y

Relativo Acumulador Indirecto Mejorado

nn A [nn]

4.2.4 Lenguaje ensamblador. El lenguaje ensamblador, o assembler (assembly language en ingls) es un lenguaje de programacin de bajo nivel para los computadores, microprocesadores, microcontroladores, y otros circuitos integrados programables. Implementa una representacin simblica de los cdigos de mquina binarios y otras constantes necesarias para programar una arquitectura dada de CPU y constituye la representacin ms directa del cdigo mquina especfico para cada arquitectura legible por un programador. Esta representacin es usualmente definida por el fabricante de hardware, y est basada en los mnemnicos que simbolizan los pasos de procesamiento (las instrucciones), los registros del procesador, las posiciones de memoria, y otras caractersticas del lenguaje. Un lenguaje ensamblador es por lo tanto especfico a cierta arquitectura de computador fsica (o virtual). Esto est en contraste con la mayora de los lenguajes de programacin de alto nivel, que, idealmente son portables. Fue usado principalmente en los inicios del desarrollo de software, cuando an no se contaba con potentes lenguajes de alto nivel y los recursos eran limitados. Actualmente se utiliza con frecuencia en ambientes acadmicos y de investigacin, especialmente cuando se requiere la manipulacin directa de hardware, altos rendimientos, o un uso de recursos controlado y reducido. Muchos dispositivos programables (como los microcontroladores) an cuentan con el ensamblador como la nica manera de ser manipulados.

Caractersticas El cdigo escrito en lenguaje ensamblador posee una cierta dificultad de ser entendido ya que su estructura se acerca al lenguaje mquina, es decir, es un lenguaje de bajo nivel. El lenguaje ensamblador es difcilmente portable, es decir, un cdigo escrito para un microprocesador, puede necesitar ser modificado, para poder ser usado en otra mquina distinta. Al cambiar a una mquina con arquitectura diferente, generalmente es necesario reescribirlo completamente.

Los programas hechos por un programador experto en lenguaje ensamblador son generalmente mucho ms rpidos y consumen menos recursos del sistema (memoria RAM y ROM) que el programa equivalente compilado desde un lenguaje de alto nivel. Al programar cuidadosamente en lenguaje ensamblador se pueden crear programas que se ejecutan ms rpidamente y ocupan menos espacio que con lenguajes de alto nivel.

Con el lenguaje ensamblador se tiene un control muy preciso de las tareas realizadas por un microprocesador por lo que se pueden crear segmentos de cdigo difciles y/o muy ineficientes de programar en un lenguaje de alto nivel, ya que, entre otras cosas, en el lenguaje ensamblador se dispone de instrucciones del CPU que generalmente no estn disponibles en los lenguajes de alto nivel.

Tambin se puede controlar el tiempo en que tarda una rutina en ejecutarse, e impedir que se interrumpa durante su ejecucin.

4.3 APLICACIONES

En los compiladores para lenguajes de alto nivel, son el ltimo paso antes de generar el cdigo ejecutable. Aparatos electrodos ticos: microondas, refrigeradores, hornos, TV,

reproductores y grabadores de CD y DVD, equipos de sonido, telfonos,...

Equipo de

Cmputo impresoras, mdems, unidades de disco, ratones,

teclados, Automviles: mando de sistemas del automvil (ABS, inyeccin, encendido, climatizador...) Domtica sistemas antirrobo, climatizadores,. los sistemas de supervisin, vigilancia y alarma en los edificios utilizan estos chips para optimizar el rendimiento de ascensores, calefaccin, alarmas de incendio, robo, etc. 1. Perifricos y dispositivos auxiliares de los computadores. 2. Electrodomsticos. 3. Aparatos porttiles y de bolsillo (tarjetas, monederos, telfonos, etc.) 4. Mquinas expendedoras y juguetera. 5. Instrumentacin. 6. Industria de automocin . 7. Control industrial y robtica. 8. Electro medicina. 9. Sistema de navegacin espacial. 10. Sistemas de seguridad y alarma. Domtica en general.

4.3.1 COMO SISTEMA INDEPENDIENTE.


Un microcontrolador dispone normalmente de los siguientes componentes: Procesador o UCP (Unidad Central de Proceso). Memoria RAM para Contener los datos. Memoria para el programa tipo ROM/PROM/EPROM. Lneas de E/S para comunicarse con el exterior.

Diversos mdulos para el control de perifricos (temporizadores, Puertas Serie y Paralelo, CAD: Generador de impulsos de reloj que sincronizan el funcionamiento de todo el sistema Conversores Analgico/Digital, CDA: Conversores Digital/Analgico, etc.)

Modificarse, un sistema complete, con unas prestaciones limitadas que no pueden modificarse y que no pueden llevar a cabo las tareas para las que ha sido programado de forma autnoma.

4.3.2 COMO SUBSISTEMA DE UNA COMPUTADORA.

El rendimiento de los sistemas no depende nicamente del microprocesador, sino que tambin afecta a los resultados de los componentes de hardware y software como el sistema operativo, el subsistema de grficos y el subsistema de E/S, el software de aplicaciones y la memoria. Por esta razn, es que se muestra el rendimiento del procesador.

CONCLUSIN

En esta unidad nos dimos cuenta de la importante que es manejar microcontroladores, en al mbito social. Con ella tenemos grandes beneficios que nosotros podemos aportar para la sociedad desde un letrero hasta un proyecto general de ayuda a la comunidad.

As como nos ayuda se nos es un poco difcil programarlos para requerir lo que nosotros necesitamos que haga, pero es muy importante y de gran utilidad en las empresas.

BIBLIOGRAFA
http://www.angelfire.com/electronic2/jhueso/Entradas.PDF http://es.wikipedia.org/wiki/Microcontrolador

http://silvamondragon.wordpress.com/2010/11/29/4-2-1-modelo-deprogramacion/ http://www.mailxmail.com/curso-arquitectura-computadores-diseno-costerendimiento/modelo-programacion http://silvamondragon.wordpress.com/2010/11/29/4-2-2-conjunto-deinstrucciones/ http://www.sc.ehu.es/sbweb/webcentro/automatica/web_8051/Contenido/set_8 051/set8051.htm http://silvamondragon.wordpress.com/2010/11/29/4-2-4-lenguaje-ensamblador/


http://ocw.upm.es/tecnologiaelectronica/microprocesadores/contenidos/Archivos_Semana_1/introduccion _a_los_microcontroladores.pdf http://www.mikroe.com/eng/chapters/view/80/capitulo-2-programacion-delos-microcontroladores/