Está en la página 1de 18

INSTITUTO TECNOLÓGICO SUPERIOR DE

CHAMPOTÓN

Docente:

Lic. Kelvin del Jesús Delgado Chan

Alumno:

Palomo Brito Edgar Eduardo

Asignatura:

Microcontroladores

Trabajo:

Investigación documental

Unidad #2
INTRODUCCIÓN

Hoy en día aplicaciones donde las computadoras digitales son utilizadas para
controlar procesos de medición e instrumentación en experimentos complejos de
laboratorio ha tenido un gran incremento e impacto. Muchas de las cualidades de
una computadora de escritorio, como son la facilidad de procesar la información y
obtener resultados, pueden ser obtenidos de igual forma por un microcontrolador.
Casi todo producto electrónico a nuestro alcance tiene al menos un
microcontrolador en un su interior. El microcontrolador es quizás el componente
electrónico más versátil que existe, sus aplicaciones están limitadas únicamente
por la imaginación. Cada día es más frecuente encontrar equipos que los utilicen
como elementos de control, de comunicaciones, de señalización, etc.

En el año de 1976 Surgen las primeras microcomputadoras de un sólo chip, que


más tarde se denominarán microcontroladores. Dos de los primeros
microcontroladores, son el 8048 de Intel y el 6805R2 de Motorola. A raíz de ello
comenzó el gran desarrollo en el avance digital.
COMPONENTES DEL MICROCONTROLADOR.

La CPU

Podemos decir que la CPU, siglas en inglés de unidad central de proceso, es el


núcleo del microcontrolador. Se encarga de ejecutar las instrucciones
almacenadas en la memoria, de la que hablaremos más adelante. Es lo que
habitualmente llamamos procesador o microprocesador, término que a menudo se
confunde con el de microcontrolador. En esta línea cabe aclarar que, tal y como
estamos viendo, ambos términos no son lo mismo: el microprocesador es una
parte de un microcontrolador y sin él no sería útil; un microcontrolador, en cambio,
es un sistema completo que puede llevar a cabo de forma autónoma una labor.

Podemos ver al microprocesador como el cerebro de una persona y al


microcontrolador como el cuerpo: el cerebro se encarga de procesar toda la
información, pero necesita a los demás órganos para funcionar. De la misma
forma, el microprocesador, que únicamente se encarga de ejecutar las
instrucciones, necesita, por un lado, un lugar donde almacenarlas, es decir, la
memoria, y por otro, un medio para interactuar con el exterior, es decir, los
dispositivos de entrada/salida.

Memorias

Entendemos por memoria los diferentes componentes del microcontrolador que se


emplean para almacenar información durante un periodo determinado de tiempo.
La información que necesitaremos durante la ejecución del programa será, por un
lado, el propio código, y por otro, los diferentes datos que usemos durante la
ejecución del mismo. Hablaremos por tanto de memoria de programa y de
memoria de datos, respectivamente.

La diferente naturaleza de la información que hay que almacenar hace necesario


el uso de diferentes tipos memorias. Sin hacer especial énfasis en este apartado,
sí habrá que tener en cuenta una clasificación básica, que distingue entre memoria
volátil y no volátil. La primera es aquella que pierde la información que almacena
al desconectarla de la alimentación; la segunda, como resulta obvio, no. Por lo
tanto, se hace evidente que al menos la memoria de programa deberá ser no
volátil: no sería práctico que el programa grabado en el microcontrolador se
borrará cada vez que apagáramos el dispositivo. Con respecto a la memoria de
datos, diremos por el momento según la situación puede interesarnos una u otra.

La existencia de dos tipos de información a almacenar, nos lleva también al


concepto de arquitectura. Entendemos por arquitectura el conjunto de
componentes del microcontrolador y la forma en la que éstos se relacionan. Las
más conocidas son la arquitectura Harvard y la arquitectura Von Neumann. En la
primera, datos y programa estas almacenados en dos memorias físicamente
separadas, cada una de ellas con un bus de comunicaciones propio. En la
segunda, datos y programa se encuentran en el mismo dispositivo de memoria,
por lo que comparten un mismo.

En los microcontroladores la memoria de instrucciones y datos está integrada


en el propio chip. Una parte debe ser no volátil, de tipo ROM, que se destina a
contener el programa de instrucciones que gobierna la aplicación. Otra parte
de memoria debe ser volátil, de tipo RAM, y se destina a guardar las variables
y los datos. Existen principalmente cinco versiones de memoria no volátil que
se pueden encontrar en los microcontroladores del mercado:
 Memoria ROM con máscara.
 Memoria OTP.
 Memoria EPROM.
 Memoria EEPROM.
 Memoria FLASH

Unidades de entrada y salida


Con el propósito de sincronizar el funcionamiento de los puertos de E/S con la
organización interna del microcontrolador de 8 bits, ellos se agrupan, de manera
similar a los registros, en cinco puertos denotados con A, B, C, D y E. Todos ellos
tienen las siguientes características en común:
Por las razones prácticas, muchos pines de E/S son multifuncionales. Si un pin
realiza una de estas funciones, puede ser utilizado como pin de E/S de propósito
general.
Cada puerto tiene su propio registro de control de flujo, o sea el registro TRIS
correspondiente: TRISA, TRISB, TRISC etc. lo que determina el comportamiento
de bits del puerto, pero no determina su contenido.
Al poner a cero un bit del registro TRIS (pin=0), el pin correspondiente del puerto
se configurará como una salida. De manera similar, al poner a uno un bit del
registro TRIS (bit=1), el pin correspondiente del puerto se configurará como una
entrada. Esta regla es fácil de recordar: 0 = Entrada 1 = Salida.
REGISTROS INTERNOS.

Los registros del procesador se emplean para controlar instrucciones en ejecución,


manejar direccionamiento de memoria y proporcionar capacidad aritmética. Los
registros son direccionales por medio de un nombre. Los registros son las
memorias digitales más rápidas. Se construyen con Flip-Flops y generalmente
funcionan a una velocidad cercana a la del procesador. En algunos procesadores,
también incluyen un tipo de memoria llamada CACHE. Está no puede guardar
operaciones y sólo es un puente entre el procesador y la memoria principal. Por
ejemplo, se puede ver la estructura del registro 74LS377 el cual puede funcionar
como un registro (memoria).

tipos de registros:

 Registros de segmento.

 Registros de propósito general.

 Registros de apuntadores.

 Registros de banderas.

 Registros de Pila.

 Registros Indicé.

Registros de segmento:
Un registro de segmento tiene 16 bits de longitud y facilita un área de memoria
para direccionamiento conocida como el segmento actual.

Registro CS:  El DOS almacena la dirección inicial del segmento de código de un
programa en el registro CS. Esta dirección de segmento, más un valor de
desplazamiento en el registro apuntador de instrucción (IP), indica la dirección de
una instrucción que es buscada para su ejecución.

Registro DS:  La dirección inicial de un segmento de datos de programa es


almacenada en el registro DS. En términos sencillos, esta dirección, más un valor
de desplazamiento en una instrucción, genera una referencia a la localidad de un
byte especifico en el segmento de datos.
Registro SS: El registro SS permite la colocación en memoria de una pila, para
almacenamiento temporal de direcciones y datos. El DOS almacena la dirección
de inicio del segmento de pila de un programa en le registro SS. Esta dirección de
segmento, mas un valor de desplazamiento en el registro del apuntador de pila
(SP), indica la palabra actual en la pila que esta siendo direccionada.

Registros ES: Alguna operaciones con cadenas de caracteres (datos de


caracteres) utilizan el registro extra de segmento para manejar el direccionamiento
de memoria. En este contexto, el registro ES esta asociado con el registro DI
(índice). Un programa que requiere el uso del registro ES puede inicializarlo con
una dirección de segmento apropiada.

Registros FS y GS: Son registros extra de segmento en los procesadores 80386 y


posteriores.

Registros de propósito general:

Los registros de propósito general AX, BX, CX y DX son los caballos de batalla del
sistema. Son únicos en el sentido de que se puede direccionarlos como una
palabra o como una parte de un byte. El ultimo byte de la izquierda es la parte
“alta”, y el ultimo byte de la derecha es la parte “baja”. Por ejemplo, el registro CX
consta de una parte CH (alta) y una parte Cl (baja), y usted puede referirse a
cualquier parte por su nombre.
Registro AX: El registro AX, el acumulador principal, es utilizado para operaciones
que implican entrada/salida y la mayor parte de la aritmética. Por ejemplo, las
instrucciones para multiplicar , dividir y traducir suponen el uso del AX. También,
algunas operaciones generan código mas eficiente si se refieren al AX en lugar de
a los otros registros.

Registro BX: El BX es conocido como el registro base ya que es el único registro


de propósito general que puede ser índice para direccionamiento indexado.
También es común emplear el BX para cálculos.

Registro DX: Es conocido como el registro de datos. Alguna operación de


entrada/salida requieren uso, y las operaciones de multiplicación y división con
cifras grandes suponen al DX y al AX trabajando juntos.

Registros Apuntadores:

Los registros SP (apuntador de la pila) Y BP (apuntador de base) están asociados


con el registro SS y permiten al sistema acezar datos en el segmento de la pila.

Registro SP: El apuntador de la pila de 16 bits está asociado con el registro SS y


proporciona un valor de desplazamiento que se refiere a la palabra actual que está
siendo procesada en la pila. Los procesadores 80386 y posteriores tienen un
apuntador de pila de 32 bits, el registro ESP. El sistema maneja de forma
automática estos registros.
Registro BP: El BP de 16 bits facilita la referencia de parámetros, los cuales son
datos y direcciones transmitidos vía pila. Los procesadores 80386 y posteriores
tienen un BP ampliado de 32 bits llamado el registro EBP.

Registro de Banderas:

De los 16 bits del registro de banderas, nueve son comunes a toda la familia de
procesadores 8086, y sirven para indicar el estado actual de la máquina y el
resultado del procesamiento. Muchas instrucciones que piden comparaciones y
aritmética cambian el estado de las banderas, algunas cuyas instrucciones pueden
realizar pruebas para determinar la acción subsecuente. En resumen, los bits de
las banderas comunes son como sigue:

OF (Overflow, desbordamiento): Indica desbordamiento de un bit de orden alto


(más a la izquierda) después de una operación aritmética.

DF (dirección): Designa la dirección hacia la izquierda o hacia la derecha para


mover o comparar cadenas de caracteres.

IF (interrupción): Indica que una interrupción externa, como la entrada desde el


teclado, sea procesada o ignorada.

TF (trampa): Permite la operación del procesador en modo de un paso. Los


programas depuradores, como el DEBUG, activan esta bandera de manera que
usted pueda avanzar en la ejecución de una sola instrucción a un tiempo, para
examinar el efecto de esa instrucción sobre los registros de memoria.

SF (signo): Contiene el signo resultante de una operación aritmética (0 = positivo y


1 = negativo).
ZF (cero): Indica el resultado de una operación aritmética o de comparación (0 =
resultado diferente de cero y 1 = resultado igual a cero).

AF (acarreo auxiliar): Contiene un acarreo externo del bit 3 en un dato de 8 bits


para aritmética especializada.

PF (paridad): Indica paridad par o impar de una operación en datos de 8 bits de


bajo orden (más a la derecha).

CF (acarreo): Contiene el acarreo de orden más alto (más a la izquierda) después


de una operación aritmética; también lleva el contenido del ultimo bit en una
operación de corrimiento o de rotación. Las banderas están en el registro de
banderas en las siguientes posiciones:

Las banderas más importantes para la programación en ensamblador son O, S, Z


y C, para operaciones de comparación y aritméticas, y D para operaciones de
cadenas de caracteres. Los procesadores 80286 y posteriores tienen algunas
banderas usadas para propósitos internos, en especial las que afectan al modo
protegido. Los procesadores 80286 y posteriores tienen un registro extendido de
banderas conocido como Eflags.

Registros de PILA

La pila es un área de memoria importante y por ello tiene, en vez de uno, dos
registros que se usan como desplazamiento (offset) para apuntar a su contenido.
Se usan como complemento al registro y son:
SP (Stack Pointer): Se traduce como puntero de pila y es el que se reserva el
procesador para uso propio en instrucciones de manipulado de pila. Por lo
general, el programador no debe alterar su contenido.

BP (Base pointer): Se usa como registro auxiliar. El programador puede usarlo


para su provecho. Cabe destacar que estos nombres y tipos de registros son
estándar, ya que cada fabricante puede utilizar otros registros que reemplacen a
estos o los auxilien, aun así, los fabricantes que usan otros registros tienen la
misma función que los anteriormente mencionado.

Registros índice:

Los registros SI y DI están disponibles para direccionamiento indexado y para


sumas y restas.

Registro SI: El registro índice fuente de 16 bits es requerido por algunas


operaciones con cadenas (de caracteres). En este contexto, el SI está asociado
con el registro DS. Los procesadores 80386 y posteriores permiten el uso de un
registro ampliado de 32 bits, el ESI.

Registro DI: El registro índice destino también es requerido por algunas


operaciones con cadenas de caracteres. En este contexto, el DI está asociado con
el registro ES. Los procesadores 80386 y posteriores permiten el uso de un
registro ampliado de 32 bits, el EDI.

TIPOS Y DISTRIBUCIÓN DE LAS MEMORIAS INTERNAS.

La memoria de los microcontroladores puede dividirse en cuatro tipos distintos:


para el programa, generalmente es una memoria interna del tipo FLASH. También
para las variables de los programas se llama RAM. Los registros de propósito
general que utiliza el procesador para guardar los resultados de las operaciones,
así como los datos que se traen y llevan a la RAM y finalmente la memoria externa
que se utiliza para guardar mediciones y/o datos de calibración.

MEMORIA DE PROGRAMA – FLASH

La memoria de programa es la que se utiliza cuando estamos programando a


nuestra aplicación. Cada instrucción del lenguaje ensamblador o de lenguaje C o
de un lenguaje de alto nivel, es convertida a instrucciones máquina que requieren
de un tamaño particular de bits para ser guardadas. Estos bits o instrucciones se
guardan en la FLASH.

Si tenemos poca FLASH, entonces sólo podremos hacer programas pequeños.

MEMORIA DE DATOS – RAM

La memoria de datos se utiliza cada vez que agregamos una variable a nuestro
programa. Como la variable seguramente se utilizará como entrada para un
proceso o calculo, está requiere de estar disponible a una velocidad relativamente
rápida. Este tipo de información se guarda en la RAM – Random Access Memory
o Memoria de Acceso Aleatorio por sus siglas en ingles.

PERIFÉRICOS INTERNOS.
periféricos de comunicación

 UART. Unidad de Recepción y Transmisión Serial Asíncrona. Consiste de


dos cables llamados RX y Tx que sirven para enviar mensajes binarios con otros
sistemas digitales.
 I2C. Puerto de comunicación serial síncrono. Permite enviar y recibir datos
mensajes con hasta 127 dispositivos conectados al mismo de bus que consiste en
dos cables: SDA y SCL. Serial Data y Serial CLock respectivamente.
 SPI. Serial Peripherical Interface. Interfaz Serial Periferica. Es un puerto de
comunicación serial síncrona. Su función es la de enviar información binaria
mediante 4 cables de conexión.
 MISO – Master Input Slave Output . Entrada del Maestro y Salida del
Esclavo.
 MOSI – Master Output Slave INput.  Salida del Maestro Entrada del
Esclavo.
 SCK. Serial Clock. Reloj Serial.
 /CS ó /SS. Chip Select ó Slave Select. Selector del Chip o Selector
del Esclavo. Permite activar un esclavo.
 Puerto Paralelo. Se controlan por medio de registros. Generalmente
se pueden controlar mediante tres registros.
 Registro de dirección para configurar entrada ó salida.
 Registro de estado para la entrada. Nos indica el nivel lógico a
la entrada del pin de cada puerto, cuando esté esta configurado como entrada.
 Registro de configuración del estado lógico de salida. Permite
escribir 1’s y 0’s a los pines del puerto, cuando esté esta configurado como salida.

periféricos de adecuación de señales


 ADC. Convertidor de Señales Analógicas a Digitales. Permiten generar una
representación binaria para la magnitud de una señal analógica.
 DAC. Digital to Analog Converter. Lo opuesto a un DAC. También es ideal
cuando se quiere generar audio. Una tarjeta de audio no es más que un DAC de
muy buena calidad y muy rápido.

periféricos generales

 Timer/Contador. Son circuitos electrónicos digitales y secuenciales. Es decir


que funcionan en flancos de una señal de reloj que oscila a una frecuencia
determinada. Su función principal es la de contar eventos, ya sea internos (timer) o
externos (contador), a una frecuencia que nos permite por ejemplo, contar el
tiempo transcurrido de un proceso.
 Controlador de Interrupciones. Son dispositivos que permiten alterar la
secuencia de ejecución del procesador. Esto logra que se pueda interrumpir al
procesador para atender el llamado de dispositivos electrónicos de baja velocidad.
Por ejemplo, teclados o sensores.
 Controlador de Oscilador. Permite dividir y/o multiplicar a osciladores
internos o externos para poder hacer funcionar a la parte secuencial de la
electrónica del microcontrolador.

LAS INSTRUCCIONES DEL MICROCONTROLADOR.


CONCLUSIÓN
REFERENCIAS

 https://trecedb.wordpress.com/2009/02/13/partes-del-microcontrolador/
 https://www.mikroe.com/ebooks/microcontroladores-pic-programacion-en-c-
con-ejemplos/puertos-de-entradasalida
 Vesga Ferreira Juan Carlos, Microcontroladores Motorola-Freescale,
Alfaomega.
 http://www.oocities.org/mx/antrahxg/documentos/org_comp/registro.html

También podría gustarte