You are on page 1of 21

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.

You might also like