Taller de Microcontroladores 15-04.2015

21
TALLER MICROCONTROLADORES Nixon Rodríguez Juan Carlos Pereira Juan Carlos Leal. TRABAJO PRESENTADO A EDWIN ALEXIS PINEDA MUÑOZ CENTRO AGROINDUSTRIAL Y FORTALECIMIENTO EMPRESARIAL DE CASANARE SENA- YOPAL

description

TALLER MICROS

Transcript of Taller de Microcontroladores 15-04.2015

  • TALLER MICROCONTROLADORES

    Nixon Rodrguez

    Juan Carlos Pereira

    Juan Carlos Leal.

    TRABAJO PRESENTADO A

    EDWIN ALEXIS PINEDA MUOZ

    CENTRO AGROINDUSTRIAL Y FORTALECIMIENTO EMPRESARIAL DE CASANARE

    SENA- YOPAL

  • TALLER INTRODUCCION A LOS SISTEMAS EMBEBIDOS

    1. Qu es un sistema embebido?

    Son dispositivos usados para controlar equipos, operacin de maquinarias o plantas industriales

    completas. El trmino "embebido" (tambin se lo conoce como "incrustado" o "embutido") est

    caracterizando que esos circuitos integrados son una parte integral del sistema en que se

    encuentran. Lo interesante de que un sistema sea "embebido" es que puede estar de tal forma

    incrustado, puede quedar tan oculto a nuestros ojos, que la presencia de tales "chips" no resulte

    nada obvia a quien lo mira.

    2. Como se clasifican los sistemas embebidos.

    Se entiende que en nuestra definicin de SE, ste siempre alberga una o ms CPUs ya que son

    el elemento encargado de aportar la inteligencia al sistema. El formato en el que la CPU se

    encuentra puede ser el de microprocesador, micro controlador (C), DSP, etc. Segn este

    formato, la memoria necesaria puede ir integrada dentro del chip que contiene la CPU, de forma

    externa a ste o un bajo ambas posibilidades. La oferta en el mercado de semiconductores tanto

    de microprocesadores como microcontroladores y DSP es elevada y se requiere de una cuidada

    fase de estudio inicial para seleccionar el mas adecuado a cada aplicacin.

    La norma IPC-2221B-1.6.2 clasifica a los sistemas

    Embebidos en tres clases:

    Clase 1 - Productos electrnicos de uso general.

    Clase 2 Productos electrnicos de servicio ininterrumpido.

    Clase 3 Productos electrnicos con alto grado de Confiabilidad.

    Esta clasificacin refleja el grado de sofisticacin.

    - Microprocesador.

    - Micro controlador de 4, 8, 16 o 32 bits.

    - DSP de punto fijo o punto flotante.

    - Diseo a medida custom tales como los dispositivos FPGA

    Microprocesador:

    Es un chip que incluye bsicamente la CPU y circuitera Relacionadas con los buses de datos

    y memoria. Para poder realizar su tarea se necesitan otro chips adicionales (Sistema mnimo)

    tales como memoria, circuitos de entrada salida E/S (I/O) y reloj.

    Microcontrolador

    (MCU): Es un dispositivo que alberga el sistema mnimo dentro de un nico chip, esto es,

    incluye CPU, buses, reloj, memoria ROM, memoria RAM, E/S, otros perifricos tales como

    conversores A/D, temporizadores (timers), etc.

  • Procesador Digital de Seal (DSP):

    Son microcontroladores o microprocesadores diseados especficamente, tanto en arquitectura

    hardware como conjunto de instrucciones, para realizar tareas tpicas de procesamiento digital

    de seales en tiempo real.

    DSC:

    Dispositivos mixtos microcontrolador/DSP que algunos fabricante ofrecen dentro de su catlogo

    de productos.

    3. Mencione por lo menos 15 aplicaciones de los sistemas embebidos

    Los sistemas embebidos se encuentran en una variedad de dispositivos electrnicos comunes, tales

    como consumibles electrnicos (telfonos celulares, pagers, cmaras digitales, video juegos

    porttiles, calculadoras, PDAs, etc.), electrodomsticos (hornos microondas, mquinas

    contestadoras, termostatos, lavadoras, etc.), equipos de oficina (fax, copiadoras, impresoras,

    scanners), equipos de negocios (caja registradora, sistemas de alarma, lectores de tarjeta y cajeros

    automticos), y automviles (control de transmisin, control de viaje, inyeccin de combustible, ABS,

    etc.). Podra decirse que prcticamente cualquier dispositivo que se ejecute con electricidad o ya

    tiene un sistema computacional embebido o prximamente lo tendr.

    4. Realice una descripcin acerca de los perifricos de sistemas embebidos (Puertos I/O,

    temporizadores, Conversor A/D, etc).

    Puertos de Entrada y Salida digitales

    La mayor parte de los pines que posee el encapsulado de un chip microcontrolador se dedican a

    soportar las numerosas lneas de E/S que lo comunican con el mundo exterior, Esta lneas de E/S

    se destinan a proporcionar el soporte a las seales de entrada, salida y control necesarias en cada

    diseo. Los pines de E/S se suelen asociar en puertos de 8 bits, de 16 bits o de un numero

    Determinado de pines, dependiendo de cada referencia de chip en concreto. La tensin y la corriente

    de entrada/salida de cada pin depender tambin de cada chip por lo que siempre es necesario

    consultar el data sheet suministrado por el fabricante. Las lneas digitales de cada uno de los

    puertos pueden configurarse como Entrada o como Salida, quedando un circuito semejante al que

    aparece en la figura 2.3. Para ello se necesitar configurar algn registro del microcontrolador.

    En el caso de la familia PIC se pone un 1 un 0 en el bit correspondiente del registro TRISA, TRISB, segn el puerto seleccionado. La mxima corriente que son capaces de entregar auna carga o son capaces de adquirir son parmetros de gran importancia. Cuando el dispositivo sea incapaz de suministrar la suficiente corriente a un determinado dispositivo, ser necesario intercalar un DRIVER de corriente adecuado. Temporizadores o Timers. Se emplean para controlar periodos de tiempo (temporizadores) y para llevar la cuenta de acontecimientos que suceden en el exterior (contadores). Para la medida de tiempos se carga un registro con el valor adecuado y a continuacin dicho valor se va incrementando o decrementando al ritmo de los impulsos de reloj, ciclos de instruccin o algn mltiplo hasta que se desborde y llegue a 0, momento en el que se produce un aviso, generalmente, en forma de interrupcin. Cuando se desean contar acontecimientos que se materializan por cambios de nivel o flancos en alguna de las patitas del micro controlador, el mencionado registro se va Incrementando o decrementando al ritmo de dichos impulsos. Para calcular el nmero de periodos que habr que contar para medir un determinado Intervalo temporal, habr que tener en cuenta:

    La frecuencia de reloj principal.

  • Si empleamos PLL para multiplicar la frecuencia del resonador.

    Si empleamos algn prescaler para dividir la frecuencia de entrada al contador.

    nmero de ciclos de reloj que se necesitan para ejecutar una instruccin (4

    En la familia PIC). Conversores Analgicos/Digitales (ADC) Los micro controladores que incorporan un Conversor A/D (Analgico/Digital) pueden Digitalizar seales analgicas procedentes de sensores u otras fuentes de informacin. Suelen disponer de un multiplexor analgico que permite aplicar a la entrada del A/D, En forma secuencial, diversas seales analgicas desde determinados pines del circuito integrado.

    5. De ejemplos de lenguajes de programacin de alto, medio y bajo nivel.

    4.1. LENGUAJES DE BAJO NIVEL

    Vistos a muy bajo nivel, los microprocesadores procesan exclusivamente seales electrnicas

    binarias. Dar una instruccin a un microprocesador supone en realidad enviar series de unos y ceros

    espaciadas en el tiempo de una forma determinada. Esta secuencia de seales se denomina cdigo

    mquina. El cdigo representa normalmente datos y nmeros e instrucciones para manipularlos. Un

    modo ms fcil de comprender el cdigo mquina es dando a cada instruccin un mnemnico, como

    por ejemplo STORE, ADD o JUMP. Esta abstraccin da como resultado el ensamblador, un lenguaje

    de muy bajo nivel que es especfico de cada microprocesador. Los lenguajes de bajo nivel permiten

    crear programas muy rpidos, pero que son a menudo difciles de aprender. Ms importante es el

    hecho de que los programas escritos en un bajo nivel son totalmente dependientes de la mquina o

    de cada procesador. Si se lleva el programa a otra mquina se debe reescribir el programa desde el

    principio. Al estar prcticamente diseados a medida del hardware, aprovechan al mximo las

    caractersticas del mismo.

    Dentro de este grupo se encuentran:

    LENGUAJE MQUINA.

    ENSAMBLADOR.

    LENGUAJES DE MEDIO NIVEL

    Un lenguaje intermedio se puede definir como una manera de representar procedimientos y

    estructuras de datos que sirva como entrada para una MV (Maquina Virtual) en alguna parte de su

    jerarqua, entre el lenguaje de entrada (el nivel ms alto) y el cdigo ejecutado en la mquina (el

    nivel ms bajo) tanto en el tiempo de compilacin como en el de ejecucin. Para considerar el papel

  • de los lenguajes intermedios y sus ventajas y desventajas, conviene destacar la diferencia entre la

    traduccin de un lenguaje de alto nivel a cdigo mquina anteriormente a su ejecucin (su

    compilacin) y su interpretacin, es decir, la conversin de cada instruccin del lenguaje a cdigo

    mquina y su ejecucin, una por una, al ejecutar el programa. Este proceso se realiza a travs de

    una MV de interpretacin que simula un ordenador cuyo cdigo mquina es el lenguaje de alto nivel

    que est siendo interpretado. Y tpicamente, esta MV se construye a travs de un conjunto de

    programas de cdigo mquina que representa los algoritmos y estructuras de datos necesarios para

    la ejecucin de las instrucciones del lenguaje de alto nivel. Hay ventajas y desventajas en cada

    manera de convertir los lenguajes de alto nivel a cdigo mquina, que se pueden resumir as:

    LENGUAJES DE ALTO NIVEL

    El avance en el desarrollo de "compiladores" e "intrpretes" (los dos tipos de programas traductores)

    ha sido por lo tanto fundamental en el desarrollo de los lenguajes de "3 generacin" cuyas ventajas

    adems de la facilidad de aprendizaje y lectura/escritura son las facilidades de correccin,

    transformacin y conversin de un lenguaje a otro. Los lenguajes de alto nivel tienen normalmente

    las caractersticas de Transportabilidad. Es decir, estn implementadas sobre varias maquinas de

    forma que un programa puede ser fcilmente Transportado (Transferido) de una maquina a otra

    sin una revisin sustancial. En ese sentido se llama "Independientes de la maquina". Los lenguajes

    de Alto Nivel son los ms utilizados como lenguaje de programacin. Aunque no son

    fundamentalmente declarativos, estos lenguajes permiten que los algoritmos se expresen en un nivel

    y estilo de escritura fcilmente legible y comprensible por otros programadores. Los lenguajes de

    alto nivel son normalmente fciles de aprender porque estn formados por elementos de lenguajes

    naturales, como el ingls. En BASIC, el lenguaje de alto nivel ms conocido, los comandos como "IF

    CONTADOR = 10 THEN STOP" pueden utilizarse para pedir a la computadora que pare si

    CONTADOR es igual a 10. Estn dirigidos a solucionar problemas mediante el uso de EDD's

    (Estructuras Dinmicas de Datos: Son estructuras que pueden cambiar de tamao durante la

    ejecucin del programa. Nos permiten crear estructuras de datos que se adapten a las necesidades

    reales de un programa). Estos lenguajes permiten al programador olvidarse por completo del

    funcionamiento interno de la maquina/s para la que estn diseando el programa. Tan solo necesitan

    un traductor que entiendan el cdigo fuente como las caractersticas de la maquina. Suelen usar

    tipos de datos para la programacin y hay lenguajes de propsito general (cualquier tipo de

    aplicacin) y de propsito especifico (como FORTRAN para trabajos cientficos). Ejemplos de estos

    lenguajes de alto nivel son PASCAL, APL y FORTRAN (para aplicaciones cientficas), COBOL (para

    aplicaciones de procesamiento de datos), SNOBOL (para aplicaciones de procesamiento de textos),

    LISP y PROLOG (para aplicaciones de inteligencia artificial), C y ADA (para aplicaciones de

    programacin de sistemas) y PL/I (para aplicaciones de propsitos generales) .

  • 6. Qu es lenguaje de mquina, lenguaje assembler y lenguaje C?

    LENGUAJE MQUINA.

    El lenguaje mquina es el nico lenguaje que entiende directamente la computadora. Por esta razn,

    su estructura esta totalmente adaptada a los circuitos de la mquina y muy alejado de la forma de

    expresin y anlisis de los problemas propia de los humanos. Esto hace que la programacin en

    este lenguaje resulte tediosa y complicada, requirindose un conocimiento profundo de la

    arquitectura fsica del ordenador. Frente a esto, el cdigo mquina hace posible que el programador

    utilice la totalidad de los recursos que ofrece el ordenador, obtenindose programas muy eficientes

    (es decir, que aprovechan al mximo los recursos existentes) en tiempo de ejecucin y en ocupacin

    de memoria.

    LENGUAJE EN C

    Adems del papel de los lenguajes intermedios en la compilacin parcial, se puede destacar su papel

    en la compilacin estndar. Como ejemplo se puede considerar C como lenguaje intermedio para un

    lenguaje compilado nuevo. Si el autor de un nuevo lenguaje decide utilizar C, por ejemplo, como su

    lenguaje intermedio, slo tendr que implementar una MV para convertir el cdigo fuente de su

    lenguaje a C, ahorrando mucho trabajo.

    Las ventajas de utilizar un lenguaje tan establecido como C como lenguaje intermedio son:

    La facilidad de portar el lenguaje a una nueva mquina (slo hay que tener un compilador

    C disponible all).

    La generacin de cdigo mquina es una tarea muy compleja que requiere un

    conocimiento profundo de la arquitectura de la mquina en cuestin y de cada mquina

    en que se quiere una versin del lenguaje.

    La facilidad de modificar algn rasgo del comportamiento del lenguaje en alguna mquina

    en concreto (por ejemplo, caractersticas de memoria o rendimiento se pueden aadir

    libreras C customizadas sin grandes problemas).

    Las posibilidades disponibles para mapear estructuras intermedias del nuevo lenguaje a

    estructuras de datos de C.

    Y las desventajas son:

    La depuracin es muy difcil porque, entre otras cosas, los errores que ocurren en el cdigo

    C no son muy fciles de localizar en lo que ha escrito el programador originalmente en el

    nuevo lenguaje.

  • Las caractersticas de rendimiento y eficiencia del lenguaje estn determinadas por el

    compilador C.

    Habr ocasiones en las que no exista una buena traduccin entre una estructura en el

    nuevo lenguaje y las estructuras de datos en C, por lo que habr una prdida de eficiencia

    en el programa resultante (como, por ejemplo, ocurre en la mayora de las ocasiones en

    que se compilan estructuras de Prolog a C slo se puede expresar iteracin en Prolog

    utilizando recursin).

    LENGUAJE ENSAMBLADOR.

    El lenguaje ensamblador constituye el primer intento de sustitucin del lenguaje mquina por uno

    ms cercano al usado por los humanos. Este acercamiento a las personas se plasma en las

    siguientes aportaciones:

    Uso de una notacin simblica o nemotcnica para representar los cdigos de

    operacin

    direccionamiento simblico

    Se permite el uso de comentarios entre las lneas de instrucciones, haciendo posible

    la redaccin de programas ms legibles.

    Aparte de esto l LE presenta la mayora de los inconvenientes del lenguaje mquina, como son su

    repertorio muy reducido de instrucciones, el rgido formato de instrucciones, la baja potabilidad y la

    fuerte dependencia del hardware. Por otro lado mantiene la ventaja del uso ptimo de los recursos

    hardware, permitiendo la obtencin de un cdigo muy eficiente.

    Ese tipo de lenguajes hacen corresponder a cada instruccin en ensamblador una instruccin en

    cdigo mquina. Esta transduccin es llevada a cabo por un programa traductor denominado

    Ensamblador.

    Para solventar en cierta medida la limitacin que supone poseer un repertorio de instrucciones, tan

    reducido, se han desarrollado unos ensambladores especiales denominados macroensambladores.

    Los lenguajes que traducen los macroensambladores disponen de macroinstrucciones cuya

    traduccin da lugar a varias instrucciones mquina y no a una sola.

    Dado que el lenguaje ensamblador esta fuertemente condicionado por la arquitectura del ordenador

    que soporta, los programadores no suelen escribir programas de tamao considerable en

    ensamblador. Mas bien usan este lenguaje para afinar partes importantes de programas escritos en

    lenguajes de ms alto nivel.

    Hay un distinto Lenguaje de Mquina (y, por consiguiente, un distinto Lenguaje Ensamblador) para

    cada CPU. Por ejemplo, podemos mencionar tres lenguajes completamente diferentes, que sin

    embargo vienen de la aplicacin de los conceptos anteriores:

    Lenguaje Ensamblador de la familia Intel 80x86

    Lenguaje Ensamblador de la familia Motorola 68000

    Lenguaje Ensamblador del procesador POWER, usado en las IBM RS/6000.

  • Tenemos 3 fabricantes distintos, compitiendo entre s y cada uno aplicando conceptos

    distintos en la manufactura de sus procesadores, su arquitectura y programacin; todos

    estos aspectos, influyen en que el lenguaje de mquina y ensamblador cambie bastante.

    VENTAJAS DEL LENGUAJE ENSAMBLADOR

    Una vez que hemos visto la evolucin de los lenguajes, cabe preguntarse: En estos tiempos

    "modernos", para qu quiero el Lenguaje Ensamblador?

    El proceso de evolucin trajo consigo algunas desventajas, que ahora veremos como las ventajas

    de usar el Lenguaje Ensamblador, respecto a un lenguaje de alto nivel:

    Velocidad

    El proceso de traduccin que realizan los intrpretes, implica un proceso de cmputo adicional al

    que el programador quiere realizar. Por ello, nos encontraremos con que un intrprete es siempre

    ms lento que realizar la misma accin en Lenguaje Ensamblador, simplemente porque tiene el costo

    adicional de estar traduciendo el programa, cada vez que lo ejecutamos.

    De ah nacieron los compiladores, que son mucho ms rpidos que los intrpretes, pues hacen la

    traduccin una vez y dejan el cdigo objeto, que ya es Lenguaje de Mquina, y se puede ejecutar

    muy rpidamente. Aunque el proceso de traduccin es ms complejo y costoso que el de ensamblar

    un programa, normalmente podemos despreciarlo, contra las ventajas de codificar el programa ms

    rpidamente.

    Sin embargo, la mayor parte de las veces, el cdigo generado por un compilador es menos eficiente

    que el cdigo equivalente que un programador escribira. La razn es que el compilador no tiene

    tanta inteligencia, y requiere ser capaz de crear cdigo genrico, que sirva tanto para un programa

    como para otro; en cambio, un programador humano puede aprovechar las caractersticas

    especficas del problema, reduciendo la generalidad pero al mismo tiempo, no desperdicia ninguna

    instruccin, no hace ningn proceso que no sea necesario.

    Para darnos una idea, en una PC, y suponiendo que todos son buenos programadores, un programa

    para ordenar una lista tardar cerca de 20 veces ms en Visual Basic (un intrprete), y 2 veces ms

    en C (un compilador), que el equivalente en Ensamblador.

    Por ello, cuando es crtica la velocidad del programa, Ensamblador se vuelve un candidato lgico

    como lenguaje. Ahora bien, esto no es un absoluto; un programa bien hecho en C puede ser muchas

    veces ms rpido que un programa mal hecho en Ensamblador; sigue siendo sumamente importante

    la eleccin apropiada de algoritmos y estructuras de datos. Por ello, se recomienda buscar optimizar

    primero estos aspectos, en el lenguaje que se desee, y solamente usar Ensamblador cuando se

    requiere ms optimizacin y no se puede lograr por estos medios

  • 7. Escriba por lo menos 10 instrucciones en lenguaje de mquina, lenguaje assembler y

    lenguaje C

    Instrucciones Lenguaje assembler

    - Model SMALL ; indica el modelo de memoria (SMALL)

    - STACK 200 ; indica el tamao del STACK (bytes)

    - DATA ; indica que la siguiente informacin

    - ___ ; deber quedar en el segmento de datos

    - CODE ; indica que la siguiente informacin

    - ___ ; es el programa ejecutable

    - MOV AH,4CH ;necesario para terminar el programa

    - INT 21 ; y regresar al prompt C>

    - END ; Indica el fin del programa

    - F1: subi $a0, $a0, 1

    Lenguaje C:

    - int i, j, f, g, h; f = (g + h) - (i + j); int g, h, A[100]; g = h + A[8];

    - int h, A[100]; A[4] = h + A[8]; A[4] += 5;

    - int i, g, h, A[100]; g = h + A[i];

    - int i, j, f, g, h; if (i == j) f = g + h; else f = g - h;

    - int i, j, k, A[100]; while (A[i] == k) i = i + j;

    - int sub1(int g, int h, int i, int j) { int f; f = (g + h) - (i + j); return f;}

    - int fact(int n) {if (n == 1) return 1;elsereturn n*fact(n - 1);}

    Lenguaje de Mquina:

    0011 0001 1010 0001 01 A1

    1000 1001 1001 1010 FF 9A

    0011 1010 1001 1100 3A 9C

    0111 0100 0111 0011 74 F0

    1110 1001 0010 1100 C8 30

    8. Qu es un compilador?

    Los compiladores son programas de computadora que traducen de un Lenguaje a otro. Un

    compilador toma como su entrada un programa Escrito en lenguaje fuente y produce un programa

    equivalente escrito en Lenguaje objeto. Generalmente al lenguaje fuente se le asocia como lenguaje

    de alto nivel, mientras al lenguaje objeto se le conoce como cdigo objeto (cdigo de Maquina)

    escrito especficamente para una maquina objeto. A lo largo del Proceso de traduccin el compilador

    debe informar la presencia de Errores en el lenguaje fuente.

  • 9. Describa las diferencias entre compilador e interpretador

  • 10. Realizar un esquema donde se muestre la estructura y pasadas de un compilador

  • 11. Describa que es un micro controlador y por lo menos mencione 10 aplicaciones.

    Un micro-controlador es, esencialmente, una computadora llevada a una escala liliputiense, de varios

    centmetros cuadrados en el peor de los casos .Por supuesto que carece de monitor, teclado y

    mouse, pero dentro de sus circuitos, cuenta generalmente con ROM, RAM, puertos

    de comunicaciones seriales y convertidores Analgico / Digitales.

    Aplicaciones

    Hoy en da podemos encontrarlos en juguetes, aparatos electrodomsticos, equipos de audio y

    video, incluyendo la tele, estreos, equipos perifricos de cmputo como impresoras y aviones y

    cualquier otra mquina que requiera de algn control concierto grado de inteligencia. Una aplicacin

    que vale la pena mencionar es el que tienen los micro controladores en la industria automotriz,

    probablemente su campo de aplicacin ms importante. Un auto comn usa entre 30 y40 micro

    controladores que sirven para manejar el sistema de suspensin, la mezcla de aire-gasolina,

    la sincronizacin y frecuencia de la ignicin en los cilindros, los frenos ABS y desplegar informacin

    al usuario a travs del tablero entre otras cosas. Un auto ms costoso puede incluir hasta

    80microcontroladores, mucha ms potencia de cmputo que la que era posible en las primeras naves

    espaciales.

    12. Explique la diferencia entre micro controlador y microprocesador.

    Muchas veces nos a caido la duda de cual es la diferencia entre un microprocesador y un

    microcontrolador cual es la diferencia entre estos y cual sera el mas idoneo para ocupar en algun

    proyecto. Bueno si se ha tenido la oportunidad de realizar un diseo con un

    Microprocesador, se puede observar que dependiendo del circuito se requeran algunos circuitos

    integrados adicionales adems del Microprocesador como por ejemplo:

    RAM (para almacenar datos temporalmente y memorias)

    ROM (para guardar el programa encargado del proceso del equipo)

    Circuito integrado (para los puertos de entrada y salida)

    Descodificador de direcciones.

    En cambio un Microcontrolador es un sistema cerrado, 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 ste caso el controlador recibe el nombre de controlador empotrado. En donde todas las partes del procesador estn contenidas en su interior y slo salen al exterior las lneas que gobiernan los perifricos.

    En conclucion las estas ventajas son reconocidas inmediatamente para aquellas personas que han

    trabajado con losMicroprocesadores 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 componentes, el costo para un sistema basado en Microcontrolador es mucho

    menor y, lo mejor de todo, el tiempo de desarrollo de su proyecto electrnico se disminuye

    considerablemente.

    Cules son las principales marcas de micro controladores. Describa las ventajas y

    desventajas de cada una.

    Los fabricantes de micro controladores son ms de 50, podemos mencionar a:

    - microchip

    - Motorola

    - Microchip

    - NEC

    - Hitachi

    - Mitsibishi

    - Philips

    - Matsushita

    - Toshiba

    - AT&T

    - Zilog

    - Siemens

    -National Semiconductor

    13. Qu es arquitectura RISC (Harvard) y arquitectura CISC (Von Newman)?

    Arquitecturas Harvard y Von Neumann

    La arquitectura de Von Neumann es caracterizada por los procesadores que poseen el mismo

    dispositivo de almacenamiento en donde coexisten tanto datos como instrucciones.

    Las instrucciones y los datos son almacenados en el mismo formato dentro de la misma memoria, lo

    que quiere decir que las instrucciones son datos y comparten el mismo bus de datos en su

    transmisin. En principio un programa en ejecucin se puede modificar a s mismo y en prctica

    usualmente esto significa que un error ocurri. La ventaja de este tipo de arquitectura es que es

    eficiente en la utilizacin de la memoria pero su desventaja es que los tipos de datos no pueden ser

    reconocidos sin ambigedad. La arquitectura se compone de las siguientes unidades o bloques:

    Unidad de memoria principal Unidad aritmtico-lgica. Unidad de control. Unidad de entrada y salida.

  • La arquitectura Harvard esencialmente posee una diferencia muy marcada con respecto a la

    arquitectura Von Neumann, la cual es que los procesadores utilizan dispositivos de almacenamiento

    fsicamente separados para el manejo de instrucciones y datos. El acceso a cada espacio de

    memoria puede llegar a ser mediante buses distintos, es decir, existe un bus de datos y un bus de

    instrucciones; pero lo ms habitual es que exista un nico bus de direcciones, en cuyo caso debe

    existir alguna seal de control que permita diferenciar a que espacio de memoria hace referencia

    (seales de Read, Write y Fetch).

    14. Enumere una ventaja de la arquitectura RISC sobre la CISC y una de la CISC sobre la

    RISC.

    VENTAJAS DEL RISC:

    La CPU trabaja ms rpido al utilizar menos ciclos de reloj para ejecutar instrucciones.

    Utiliza un sistema de direcciones no destructivas en RAM. Eso significa que a diferencia de

    CISC, RISC conserva despus de realizar sus operaciones en memoria los dos operando y

    su resultado, reduciendo la ejecucin de nuevas operaciones.

    Cada instruccin puede ser ejecutada en un solo ciclo del CPU

    VENTAJAS CISC:

    Reduce la dificultad de crear compiladores.

    Permite reducir el costo total del sistema.

    Reduce los costos de creacin de software.

    Mejora la compactacin de cdigo.

    Facilita la depuracin de errores

  • 15. Realice una descripcin de las caractersticas del micro controlador PIC16F877 de

    Microchip.

    El microcontrolador PIC16F877 de Microchip pertenece a una gran familia de micro controladores

    de 8 bits (bus de datos) que tienen las siguientes caractersticas generales que los distinguen de

    otras familias:

    Arquitectura Harvard

    Tecnologa RISC

    Tecnologa CMOS Estas caractersticas se conjugan para lograr un dispositivo altamente

    eficiente en el uso de la memoria de datos y programa y por lo tanto en la velocidad de

    ejecucin. Microchip ha dividido sus microcontroladores en tres grandes subfamilias de

    acuerdo al nmero de bits de su bus de instrucciones:

    Los microcontroladores que produce Microchip cubren una amplio rango de dispositivos cuyas

    caractersticas pueden variar como sigue:

    Empaquetado (desde 8 patitas hasta 68 patitas)

    Tecnologa de la memoria incluida (EPROM, ROM, Flash)

    Voltajes de operacin (desde 2.5 v. Hasta 6v)

    Frecuencia de operacin (Hasta 20 MHz)

    16. Realice una descripcin de las caractersticas del micro controlador MCS08JM60 de

    Freescale.

    Microcontrolador Freescale MC9S08JM16CLD

    MC9S08JM16CLD Microcontrolador Freescale de 8 bits de la familia HCS08 de bajo costo y alto rendimiento. 16KB de memoria flash para programacin

    RAM de 1KB 33 puertos de entrada/salida

    8 canales de ADC de 12 bits 2 Timers

    Velocidad: 48MHz Voltaje de alimentacin: 2,7 ~ 5,5V dc

    Interfaz SCI / SPI / I2C / USB / LIN Encapsulado: LQFP-44

  • 17. Haga una descripcin acerca de la arquitectura, memoria de programa, memoria de

    datos, registros de control, diagrama de conexiones y repertorio de instrucciones del

    microcontrolador PIC16F877.

  • PIC16F877 ARQUITECTURA

    Arquitectura interna del microcontrolador

    Este trmino se refiere a los bloques funcionales internos que conforman el

    microcontrolador y la forma en que estn conectados, por ejemplo la memoria FLASH

    (de programa), la memoria RAM (de datos), los puertos, la lgica de control que

    permite que todo el conjunto funcione, etc.

    Memoria de programa PiC16F877

    Memoria de programa (FLASH) Es una memoria de 8K de longitud con datos de 14 bits en cada

    posicin. Como es del tipo FLASH se puede programar y borrar elctricamente, lo que facilita el

    desarrollo de los programas y la experimentacin. En ella se graba o almacena el programa o

    cdigos que el microcontrolador debe ejecutar. En la figura 3.8 se muestra el mapa de la memoria

    de programa. La memoria de programa est dividida en cuatro bancos o pginas de 2K cada uno.

    El primero va de la posicin de memoria 0000h a la 07FFh, el segundo va de la 0800h a la 0FFFh,

    el tercero de la 1000h a la 17FFh y el cuarto de la 1800h a la 1FFFh. Vector de reset. Cuando

    ocurre un reset al microcontrolador, el contador de programa se pone en ceros (0000H). Por esta

    razn, en la primera direccin del programa se debe escribir todo lo relacionado con la iniciacin del

    mismo.

    Vector de interrupcin.

    Cuando el microcontrolador recibe una seal de interrupcin, el contador de programa apunta a la

    direccin 04H de la memoria de programa, por eso, all se debe escribir toda la programacin

    necesaria para atender dicha interrupcin.

    Pila (Stack)

    Estos registros no forman parte de ningn banco de memoria y no permiten el acceso por parte del

    usuario. Se usan para guardar el valor del contador de programa cuando se hace un llamado a una

    subrutina o cuando se atiende una interrupcin; luego, cuando el micro regresa a seguir ejecutando

    su tarea normal, el contador de programa recupera su valor leyndolo nuevamente desde la pila. El

    PIC16F877 tiene una pila de 8 niveles, esto significa que se pueden anidar 8 llamados a subrutina

    sin tener problemas.

    Memoria de datos (RAM)

    El PIC16F877 posee cuatro bancos de memoria RAM, cada banco posee 128 bytes. De estos 128

    los primeros 32 (hasta el 1Fh) son registros que cumplen un propsito especial en el control del

    microcontrolador y en su configuracin. Los 96 siguientes son registros de uso general que se

    pueden usar para guardar los datos temporales de la tarea que se est ejecutando, figura 3.9. Todas

    las posiciones o registros de memoria se pueden acceder directa o indirectamente (esta ltima forma

    a travs del registro selector FSR). Para seleccionar que pgina o banco de memoria se trabaja en

    un momento determinado se utilizan los bits RP0 y RP1 del registro STATUS.

  • RESGISTROS DE CONTROL

  • 18. Haga una descripcin acerca de la arquitectura, memoria de programa, memoria de

    datos, registros de control, diagrama de conexiones y repertorio de instrucciones del

    microcontrolador MCS08JM60.

    REGISTRO DE CONTROL

  • MAPAS DE MEMORIA

    19. Por qu son importantes los sistemas embebidos en la automatizacin industrial?

    Los sistemas embebidos son considerados como el rea de aplicacin de mayor importancia de

    la tecnologa de la informacin en el transcurso de los aos venideros gracias a esta expectativa

    que ha venido creciendo alrededor de estos sistemas, surge un trmino conocido como la era

    post-PC, ste denota el hecho de que en el futuro los computadores personales estndares se

    convertirn en los sistemas hardware menos dominantes. Los desarrollos en software y

    hardware sern empleados cada vez en sistema ms pequeos en muchos casos invisibles al

    usuario en el orden de facilitar al mximo el empleo de los diferentes productos. En la actualidad

    el nmero de microprocesadores embebidos en un producto determinado excede la cantidad de

    los que se pueden encontrar en computador personal.