Sei sulla pagina 1di 24

3.

Microcontrolador

Un microcontrolador es un circuito integrado que en su interior contiene una unidad


central de procesamiento (CPU), unidades de memoria (RAM y ROM), puertos de entrada
y salida y perifricos. Estas partes estn interconectadas dentro del microcontrolador, y en
conjunto forman lo que se le conoce como microcomputadora.

3.1 Caractersticas generales

Un microcontrolador tpico tendr un generador de reloj integrado y una pequea cantidad de


memoria de acceso aleatorio y/o ROM/EPROM/EEPROM/flash, con lo que para hacerlo funcionar
todo lo que se necesita son unos pocos programas de control y un cristal de sincronizacin. Los
microcontroladores disponen generalmente tambin de una gran variedad de dispositivos de
entrada/salida, como convertidor analgico digital, temporizadores, UARTs y buses de interfaz
serie especializados. Frecuentemente, estos dispositivos integrados pueden ser controlados por
instrucciones de procesadores especializados. Los modernos microcontroladores frecuentemente
incluyen un lenguaje de programacin integrado, como el lenguaje de programacin BASIC que se
utiliza bastante con este propsito.

3.1.1 Introduccin
Los componentes de un microcontrolador son:

El registro de Instruccin (RI)


El acumulador (ACC)
El registro de estado (STATUS)
El contador de programa (PC)
El registro de direcciones de datos (RDD)
El puntero de pila (SP)
Memoria del controlador

La arquitectura tradicional de computadoras y microcontroladores se basa en el


esquema propuesto por John Von Neumann, en el cual la unidad central de proceso, o
CPU, esta conectada a una memoria nica que contiene las instrucciones del programa
y los datos. El tamao de la unidad de datos o instrucciones esta fijado por el ancho
del bus de la memoria.

La arquitectura conocida como Harvard, consiste simplemente en un esquema en el


que el CPU esta conectado a dos memorias por intermedio de dos buses separados.
Una de las memorias contiene solamente las instrucciones del programa, y es llamada
Memoria de Programa. La otra memoria solo almacena los datos y es llamada Memoria
de Datos. Ambos buses son totalmente independientes y pueden ser de distintos
anchos.

3.1.2 Familias

Familia Intel 8051: El primer microcontrolador fue el 8048 con 8bits de datos, con RAM interna,
pero la memoria de programa era externa. En los aos 80 naci el 8051, siendo el ms difundido a
nivel mundial. El 8051 tiene 4 Kbytes de ROM que deben programarse durante su construccin. El
8751 reemplazo la ROM por una EPROM. El 8031 no tiene ROM interna; el programa reside en
memoria externa. Para la comunicacin con la memoria, utiliza 3 de los cuatro puertos entrada /
salida. Esta posibilidad de expansin es caracterstica de esta familia.
Familia Motorola: forman parte de aparatos de produccin masiva como juguetes, equipos de
video, impresoras, electrodomsticos y tienen amplia aplicacin en la industria automotriz. Existen
cinco familias principales: La 68H05, 68HC08 y 68HC11 de 8 bits; la 68HC12 y 68HC16 son de 16
bits, cada una de ellas con diferente UCP. Por ejemplo la 68hc05,representa a mas de 30
microcontroladores distintos con la misma UCP y de 8 bits.. stos incluyen RAM, ROM, puertos
I/O, temporizadores, convertidores A/D y memorias PROM o EPROM.

Familia Microchip: Estos microcontroladores tienen arquitectura Hardware. Se clasifican en tres


grupos, dependiendo de la longitud de palabra de instruccin que pueden manejar (12,14 o 16
bits), tomando las referencias 12XXX, 16XXXX, 17XXX y 18XXX. Los fabricantes los definen a los PIC
como microcontroladores de 8 bits tipo RISC. Son de bajo costo poco consumo y alta velocidad de
operacin.

Familia ATMEL: Manejan 3 grandes grupos de microcontroladores RISC, cuyas UCP, llegan hasta los
32 bits. El 1 grupo tiene la arquitectura basada en el 8051 con memoria de programa FLASH. El 2
grupo es el AT91, los cuales soportan compilados en lenguaje C, ensamblador etc. El 3 grupo,
AVR, son arquitectura RISC y UCP de 8 bits y mdulos de comunicacin USART, SIP, ADC, etc.

Microcontroladores Basic Stamp: Toman como base el microcontrolador PIC los cuales forman un
sistema soportados en una placa principal, que les permite programarlos en lenguaje Basic
Stamp, siendo ste ms sencillo que otros (lenguaje de alto nivel).El fabricante de estos sistemas
es PARALLAX INC.
3.1.3 ANCHO DE BUSES y 3.1.4 MEMORIA

ria
3.2. Circuitera alternativa para entrada/salida

3.2.1. Generalidades

Lneas o puertos de entradas y salidas (I/O)

Estn destinadas a soportar los perifricos exteriores que controlan. Son de ambos sentidos, es
decir que pueden actuar como entradas o salidas segn se las programe y se adaptan con los
perifricos, manejando informacin paralela; se agrupan generalmente en grupos de 8 bits,
denominndose el conjunto Puertas. La actuacin de estas puertas es la de suministrar corriente
elctrica en el estado binario alto, con el nivel de tensin aprox. Al de la fuente de alimentacin, y
absorber corriente en el estado binario bajo.

Existen modelos que soportan comunicacin serie, otros disponen de lneas para diversos
protocolos de comunicacin como I2C, USB etc.

Otros terminales de un microcontrolador son dos entradas para alimentacin de energa elctrica
(VDD(+) y Vss(-); una entrada para el reinicio o reset(MCLR#) y dos entradas para el oscilador
externo (osc1/CLKIN y osc2/CLKOUT); una entrada para interrupcin.
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.

Puertos de E/S digitales

Todos los microcontroladores destinan algunas de sus patitas a soportar lneas de E/S digitales.
Por lo general, estas lneas se agrupan de ocho en ocho formando Puertos.

Las lneas digitales de los Puertos pueden configurarse como Entrada o como Salida cargando un 1
un 0 en el bit correspondiente de un registro destinado a su configuracin.

Puertos de comunicacin

Con objeto de dotar al microcontrolador de la posibilidad de comunicarse con otros dispositivos


externos, otros buses de microprocesadores, buses de sistemas, buses de redes y poder
adaptarlos con otros elementos bajo otras normas y protocolos. Algunos modelos disponen de
recursos que permiten directamente esta tarea, entre los que destacan:

UART, adaptador de comunicacin serie asncrona.

USART, adaptador de comunicacin serie sncrona y asncrona

Puerta paralela esclava para poder conectarse con los buses de otros microprocesadores.

USB (Universal Serial Bus), que es un moderno bus serie para los PC.

Bus I2C, que es un interfaz serie de dos hilos desarrollado por Philips.

CAN (Controller Area Network), para permitir la adaptacin con redes de conexionado
multiplexado desarrollado conjuntamente por Bosch e Intel para el cableado de dispositivos en
automviles. En EE.UU. se usa el J185O.

1.8 Herramientas para el desarrollo de aplicaciones.

Uno de los factores que ms importancia tiene a la hora de seleccionar un microcontrolador entre
todos los dems es el soporte tanto software como hardware de que dispone. Un buen conjunto
de herramientas de desarrollo puede ser decisivo en la eleccin, ya que pueden suponer una
ayuda inestimable en el desarrollo del proyecto.
3.2.2. Displays LED, LCD y otros dispositivos de visualizacin

LED: es un diodo emisor de luz el cual emite luz monocromtica que no genera calor, es
decir es un componente elctrico semiconductor.

LCD: es una pantalla delgada y plana formada por un numero de pixeles en color o
monocromos colocados delante de una fuente de luz o reflectora.

OLED: diodo orgnico de emisin de luz se basa en una capa electroluminiscente formada
por una pelcula de componentes orgnicos que reaccionan a una determinada
estimulacin elctrica generando y emitiendo luz por s mismos.

CODIFICADORES DE POSICIN: son aquellos que ofrecen directamente un seal digital a


partir de una entrada analgica, su importancia subyace en la demanda de medicin de
posiciones lineales y angulares para sistemas de control de industrias.

CODIFICADOR INCREMENTAL: consta de una regla lineal o en un disco, el cual es movido


por la parte cuya posicin o velocidad va a ser determinada.

Los codificadores de incremento pueden ser de tipo magntico, elctrico u ptimo.

Los codificadores pticos pueden estar basados en sectores pticos pueden estar basados
en sectores opacos y transparentes (en sectores reflectores y no reflectores).

Los codificadores de franjas de interferencia estn basados en las figuras de Moire. Para
producirlas mediante un movimiento lineal se puede emplear una regla fija y otra mvil
que tenga una serie de rayas inclinadas un respecto ala otra.

Los codificadores absolutos entregan una salida codificada que indica la posicin del
elemento mvil con respecto a una referencia. El elemento mvil cuenta con una zona
que permiten distinguir y asignrseles valores de uno o cero.

Unidad 4

4.1.1. Modelo de programacin

MODELO DE PROGRAMACIN:

Descripcin de micros controladores: son circuitos integrados que contienen muchas de


las mismas cualidades de una computadora de escritorio, tales como la CPU.

Juegos de instrucciones reducidas: es una especificacin que detalla las instrucciones que
una unidad central de procesamiento puede entender y ejecutar, o el conjunto de todos
los comandos implementados por un diseo particular de una CPU.

Ncleo: pertenece a las caractersticas bsicas, que son requeridas, para que el dispositivo
funcione. Incluye dispositivos como la CPU, la ALU, el juego de instruccin.

Perifricos: son los dispositivos que los diferencian de los microprocesadores.


Funciones o caractersticas especiales: son todos aquellos detalles que ayudan a que el
micro controlador pueda ser ms barato, rentable y flexible.

4.2. Estructura de registros de CPU.

Registros visibles al usuario: Permiten al programador de lenguaje de mquina o


ensamblador minimizar las referencias a memoria principal optimizando el uso de los
registros.

Registros de control: Son utilizados por la unidad de control para controlar el


funcionamiento de la CPU y por programas privilegiados del sistema para controlar la
ejecucin de programas.

Registro de estado: Se utiliza para tomar decisiones en funcin de operaciones realizadas.

4.3. Modos de direccionamiento

Direccionamiento inmediato: - La instruccin contiene al propio objeto.


- Se emplea cuando la instruccin contiene un valor constante.
- El tamao del operando viene determinado por el espacio reservado para l en el
formato de instruccin.

Direccionamiento directo:

Direccionamiento mediante registro


- El operando se encuentra contenido en un registro.
- Subcampos del campo de operando
Mdir CR
Direccionamiento directo absoluto
- La instruccin contiene la direccin de memoria exacta donde se encuentra el
operando.
- El operando se encuentra en memoria.
- Subcampos del campo de operando
El rango de CD debe ser capaz de direccionar toda la memoria.
Si no es capaz: direccionamiento de pgina base.

DIRECCIONAMIENTO RELATIVO A REGISTRO


- El operando se encuentra en memoria.
- La direccin del objeto ha de ser calculada a partir de la suma del contenido de un
cierto registro (que funciona como un puntero) y un desplazamiento (contenido en la
instruccin).
- Subcampos del campo de operando
Direccionamiento relativo a registro base
- Se emplea como puntero un registro base, que puede ser un registro especfico o uno
cualquiera de los del banco.
- El registro base utilizada se indica en el subcampo CR.
Direccionamiento relativo a contador de programa
- Como puntero se emplea el contador de programa.
- Este direccionamiento se emplea para acceder a instrucciones (saltos relativos o
bucles) o para referenciar datos cercanos al cdigo.
- No es preciso introducir el subcampo CR.

Direccionamiento relativo a puntero de pila


- Pila: estructura de tipo LIFO marcada por
el fondo de la pila
el puntero de pila (*SP), registro que apunta a la ltima posicin ocupada de la
pila
- Como puntero del direccionamiento se emplea el puntero de pila.
- No es preciso incluir el subcampo CR, y a veces no lleva CD.

DIRECCIONAMIENTO INDEXADO
- Similar al direccionamiento relativo a registro base.
El operando se encuentra en memoria.
Registro ndice: se modifica a menudo en la ejecucin del programa.
- Subcampos del campo de operando
- El registro ndice puede permitir incrementos o decrementos antes o despus de
obtenerse la direccin del objeto:
Preincremento
Predecremento
Posincremento
Posdecremento
- El incremento o decremento puede depender del tamao del objeto referenciado.

DIRECCIONAMIENTO INDIRECTO
- El operando se encuentra en memoria.
- La instruccin contiene una direccin que se emplea para leer en memoria una
direccin intermedia que ser la verdadera direccin del objeto buscado.
- Subcampos del campo de operando
- Esquema de funcionamiento

Mdir CD (direccin indirecta)

COMBINACIONES DE MODOS BSICOS DE DIRECCIONAMIENTO


Direccionamiento indirecto a registro
- Es similar al direccionamiento indirecto, pero la direccin intermedia est contenida en
un registro, no en una posicin de memoria.
- La instruccin contendr la referencia al registro.
Mdir CR - Subcampos del campo de operando
Coincide con el direccionamiento relativo a registro base sin usar desplazamiento.
Combinacin de modos indirecto e indexado

- Subcampos del campo de operando

Mdir CR CD (direccin indirecta)

- Preindexado: El contenido del registro ndice se suma al de la direccin indirecta en el


primer paso de la indireccin.

Direccionamiento relativo a registro con ndice y desplazamiento


- La direccin del objeto se obtiene sumando el contenido de un registro base, un
registro ndice y un desplazamiento.
- Subcampos del campo de operando

Mdir CR1 CR2 CD (desplazamiento)

DIRECCIONAMIENTO PAGINADO Y DIRECCIONAMIENTO


SEGMENTADO
Direccionamiento paginado
- La memoria se encuentra dividida en pginas (bloques de igual longitud).
- Las direcciones se componen de dos partes:
Indicador de pgina (IP): en un registro especfico o de propsito general de
la mquina.
Direccin de palabra (DP): en el campo CD de la instruccin.
- Concatenando IP y DP se obtiene la direccin completa.

Direccionamiento segmentado
- La memoria se divide en porciones de tamao variable llamadas segmentos.
- Tabla de segmentos: contiene la direccin del comienzo y del final de cada segmento
en memoria.
- Problemas: fraccionamiento de memoria.
- Ventajas: se pueden definir segmentos de tamao arbitrario.

4.1.1 conjunto de instrucciones


Cualquier microprocesador o microcontrolador ejecuta las instrucciones de un programa en su
lenguaje de maquina. El lenguaje o cdigo maquina es el constituido por los cdigos binarios de
las instrucciones que pueden ejecutar el microcontrolador por un lenguaje de unos y ceros.
Para reducir el nivel de dificultad de la programacin a este bajo nivel se crearon los lenguajes
ensambladores. Los PIC de gama media tienen un lenguaje ensamblador compuesto por 35
instrucciones. Un programa escrito en lenguaje ensamblador no se puede ejecutar directamente
en el microcontrolador es necesario traducirlo al lenguaje maquina.

Programa fuente - ensamblador - programa en lenguaje de maquina -- al programador


de microcontrolador.

Programa fuente - ensamblador -- programa codificado parcialmente --- enlazador --


programa en lenguaje de maquina -- al programador del microcontrolador .

4.1.2 estructura de las instrucciones

En los microcontroladores PIC de gama media un operador puede ser

*una direccin de 7 bits de la memoria de datos

* una direccin de 11 bits de la memoria de programa

* un dato de 8 bits

* la direccin de 3 bits de un bit de un registro cualquiera de la memoria de datos

* la indicacin de cual es el destino del resultado de las instrucciones si es el registro W o un


registro de la memoria de datos.

4.1.3 modo de direccionar los datos

El direccionamiento es inmediato cuando el dato forma parte de la instruccin. El operando de


las instrucciones es el propio dato

El direccionamiento es directo cuando la direccin del dato se da en la instruccin. El operando


de la instruccin es la direccin del dato.

El direccionamiento es indirecto cuando la instruccin toma la direccin del dato RDD. El


operando de la instruccin es la direccin del RDD.

La pila se usa para almacenar direcciones de instrucciones y en concreto para recordar la


direccin de retorno al programa principal desde una subrutina. Cuando se llama a una
subrutina mediante una instruccin call o similar, el valor del contador de programa PC debe
retornar al terminar la ejecucin se guarda en la pila.

Potrebbero piacerti anche