You are on page 1of 11

Microprocesadores y Microcontroladores.

Realizar un diagrama de pescado para las consideraciones requeridas para aprobar el curso.

Se tiene conocimiento de:


• Sistemas Digitales
• Programación

Se requiere de
• Acreditar B1, B2, B3 y Proyecto Final 50%
• Tareas y Prácticas 30%.
• Proyecto Final 20%.

Diagnóstico.
1. Realice la siguiente operación 2410 y 1A16 a decimal
2. De que tipo de componentes esta formado un registro
3. Que es RAM y ROM
4. Sume 1A+33
5. Tabla de Verdad de AND y OR Salidas S1 y S2
6. Dibuje los bloques básicos para la realización de algoritmos utilizando
diagrama de flujo.

Introducción.
Los μP se esta utilizando cada vez más y se dice que para el 2009 en promedio
habrá del orden de 20 μPs en cada hogar, esto es, tenemos a nuestro servicio un buen
esclavo con sólo un poco de energía.
Muchas veces cuando utilizamos un equipo que contiene μP, no nos interesa el μP
mismo, sino el costo, funcionalidad y confiabilidad del equipo. Sin embargo ahora
aprenderemos el μP y los dispositivos que lo rodean.
Este dispositivo es de gran complejidad, tiene del orden de 3 a 5 millones de
transistores interconectados. Esto hace que el costo de un μP no sea tan económico ya que
se debe garantizar una cantidad de buenos (rendimiento). El rendimiento presenta un
decaimiento exponencial a medida que el número de transistores aumenta.
A continuación se presentan algunos eventos que permitieron el desarrollo de las
computadoras
1. El primer ordenador (Abaco) fue debido a Charles Babbage XIX, este pensó en una
máquina con los siguientes elemento.
2. En 1946 ENIAC primer ordenador práctico presento las siguientes características:
• Tubos de vacío 19,000
• Peso 30 toneladas
• Pieza 1e6

3. El Primer transistor nació en 1948.


4. El primer circuito integrado en 1960
5. El primer microprocesador en 1970 y conceptos de SSI, MSI, LSI

1
Actividades necesarias para realizar un sistema en base a μP ó μC.

Conocimiento requerido
Diagrama de Flujo
Registros Internos del μP ó μC.
Salidas del μP ó μC.
Software MPLAB o PROTEUS

Actividad Use Resultado


1. Diseño de Hardware Microprocesador, componentes, Circuito Armado
información y tablilla
2. Diseño de Algoritmo Lenguaje ensamblador, lenguaje C, Algoritmo
simbología de Diagramas de Flujo
3. Programa Fuente Conocer Mnemónicos, Editor asccii Archivo**.asm
4. Verificación del Ambiente para editar, compilar y *.lst, *.hex y *.DBG
*.asm. verificar el archivo *.asm ó MPLAB.

4.1 Errores Identificar errores.


*.lst
4.2 Corrección *.asm sin errores
repetir 4.1 hasta que no *.asm
encontrar errores
5. Grabar el μP ó μC Tarjeta hecha en ITP PIC grabado
PICSTART Plus o cualquier otra que
soporte la familia 16FXX de 40
terminales
6. Integrar el PIC al Circuito Armado y μP ó μC. Sistema a nivel
Hardware. tablilla

6.1 Errores y Hardware, software, información del Sistema funcionando


Corrección μP ó μC a nivel tablilla
7 Elaboración de la Eagle, use técnicas para evitar ruido Sistema mínimo a
tarjeta del sistema nivel impreso
8 Diseñe la Caja, técnicas de robustez Proyecto exitoso
presentación física

2
¿Qué es un Microprocesador?.

Desde el punto de vista de un programador es un dispositivo que:

Código de Datos

Datos Procesados

Problemas con Datos


(Operados)

Fig. μP desde el punto de vista del programador.

Desde el punto de vista del diseñador agregar al esquema anterior que el μP


responde y genera señales externas (señales de control y señales de estado).

El microprocesador tiene las siguientes partes principales:

1. Bloque de Registro. Los registros son celdas de memoria en donde quedan


almacenados los datos temporalmente y el procesador tiene en uso mientras
ejecuta el programa. La información puede incluir el estado (status) del
procesador, contador de programa (program counter PC) para permitir que el
procesador lleve el seguimiento de su posición actual en el programa. Cada
registro puede estar dividido en bits de configuración e indicadores (banderas
(flags)), los de configuración son utilizados para fijar características iniciales del
μP y los indicadores reflejan el estado operativo del microprocesador, también
podemos encontrar otros que contienen la decodicación, datos, dirección de la
instrucción, etc.

2. Decodificador de Instrucciones. Interpretan las instrucciones que van llegando


y que componen el programa, mantiene en el registro de instrucciones un
conjunto de señales que pueden ser interpretadas por las unidades de control y
tiempos.

3. Sección de control. Supervisa todo el proceso de transferencias de información


dentro y fuera del microprocesador.

4. Unidad aritmética y lógica (ALU). Ejecución de operaciones aritméticas


(suma, resta, multiplicación y división) y lógicas (and, or, not, etc) con datos.

Un microprocesador es una unidad central de proceso contenida totalmente en un


circuito integrado

3
Buses en el μP
Conjunto de alambres y pueden ser:

Bus de datos. Transportan datos fuera y dentro del μP.


Bus de direcciones. Transportan direcciones

Bus de control. Señales de estado del μP

Componentes de un microprocesador.
Para entender de las funciones básicas del microprocesador y realizar de manera
eficiente su programación se requiere los siguientes componentes:
Acumulador (A) ó registro de Trabajo (W). Es un registro utilizado para mantener datos
entrantes o salientes en el microprocesador, también es utilizado por la ALU para la
realización de operaciones aritméticas, debido a la gran cantidad de operaciones que se
realizan es considerado un comodín y es muy importante conocer la forma de trabajo para
cada μP, algunos microprocesadores tiene dos de estos registros.
Registros de direcciones. Registros internos que pueden ser conectados a el bus de
direcciones
Unidad Aritmética Lógica ALU. Formada por varios circuitos lógicos y realizan
operaciones aritmética y lógicas.
Banderas de Condición (flags). Son flip-flop de un bit, en el que su estado 1/0 (set /reset)
es determinado por el resultado de la ejecución de ciertas instrucciones.
Decodificador de Instrucciones. Circuito combinacional que decodifica el código y es
mantenido por el código de instrucciones en forma de señales que pueden ser interpretados
directamente por la unidad de control y tiempos.
Registro de Instrucciones. Es un registro que recibe el código de cada instrucción en turno
y la mantiene durante la ejecución.
Contador de programa. PC. Registro de direcciones el cual mantiene la dirección del
próximo byte a ser buscado de la memoria de programa, cambia de dirección acorde con el
tamaño del programa para operaciones de salto o llamadas (go to o call). La dirección
donde ocurrió el llamado es almacenada temporalmente y es recuperada cuando se hace el
retorno (ret o return).
Unidad de control y Tiempos. Circuito secuencial el cual muestrea la salida decodificada
del decodificador de instrucciones y señales externas, además especifica el apropiado
número de ciclos máquina de acuerdo a la instrucción en curso.

4
Los primeros procesadores ( década de los 70´s e inicio de los 80´s) respetaron la
arquitectura de no contar con memoria ni puertos o interfaces periféricos integrados en un
mismo circuito integrado. La única memoria disponible para estos microprocesadores
antiguos era en la forma de registros. Así mismo, el único contacto hacia el mundo externo
se realizaba a través de puertos especiales.

Operación paso a paso de un μP.

La complejidad y el rango de funciones pueden variar ampliamente de μP a otro μP,


su operación básica esta comprendida en las figuras siguientes:

Busqueda de Ejecución
Instrucción

Fig. Ciclo de búsqueda- ejecución de instrucción de un byte.

Busqueda de Busqueda de Ejecución


Instrucción 1 Instrucción 2
decodificada

Fig. Ciclo de búsqueda- ejecución de instrucción de dos bytes.

Aplicación de microprocesadores.

Las principales aplicaciones de los microprocesadores son:


• Sistemas Mínimos
• Computadoras

En aplicaciones con microprocesadores se ejecuta una secuencia de instrucciones a


partir de un programa almacenado. A pesar de que el programa consiste de ejecutar
instrucciones simples los resultados son sorprendentes debido a la velocidad con lo que las
computadoras pueden ejecutar operaciones.

5
Sistema mínimo en Base a Microprocesador µP.

Las aplicaciones con μP que son consideradas como de sistemas mínimos, son
sistemas electrónicos digitales para controlar procesos. De acuerdo a la complejidad, se
puede ir integrando los módulos mínimos (memoria, módulos de E/S, convertidor A/D, etc)
utilizando buses: de direcciones, de datos y control.

BUS DE DIRECCIONES
MICROPRO-
CESADOR
BUS DE CONTROL

BUS DE DATOS

CONTROLA CONTROLA
MEMORIA DOR 1 DOR 2

PERIFERICOS PERIFERICOS

Sistema mínimo en base a µP.

Computadora.

Cuando aparecieron por primero vez las computadoras se utilizaba para ingresar 0’s
y 1’s directamente (llamado código de máquina) los cuales formaban el programa y los
datos, esto claro es cada vez mas difícil a medida que los datos y los programas son
grandes. Por lo que se requirió el uso de códigos mnemónico (lenguaje ensamblador)
especifico a cada familia de microprocesador, que representan un formato legible (MOV
R1, #0AH, movlw b ‘0000 1010’) y son instrucciones que podía ejecutar la computadora.
El ensamblador es un programa que lee esta información y produce en forma automática los
patrones binarios (código de máquina) que representan estas instrucciones. Con el
desarrollo del software, aparecieron los lenguajes de alto nivel de acuerdo a la aplicación
Lenguaje: Fortran, Basic, C, Pascal, Java, Dbase, Cobol y otros

Una computadora es un sistema más complejo en base a un microprocesador o


microprocesadores.

6
Un computadora esta constituida por una Interfaz de teclado, unidad de desplegado
visual, Unidad de coprocesador de punto flotante, reloj, interfaz serie, interfaz de
impresora, acceso directo a memoria para obtener información del disco duro, controlador
de disco flexible y compacto, acceso RAM y ROM. Dentro del mundo de las
computadoras podemos encontrar microcomputadoras, mini computadora,
supercomputadoras y estaciones de trabajo, los cuales pueden contener uno o más µP´s.

Microcontrolador.
Un sistema en base a microcontrolador contiene un microprocesador, buses,
entradas/salidas y puede contener memoria ROM, dentro de un mismo CI, se considera un
sistema cerrado

Periféricos Microcontrolador Periféricos

Sistema en base a Microcontrolador.


Un Microcontrolador es todo un "sistema mínimo" dentro de un solo dispositivo, lo
cual ofrece un enorme panorama hacia el mundo de la compatibilidad. Este dispositivo
contiene: Un CPU (basado principalmente en un microprocesador de 4, 8 ó 16 bits), puertos
paralelos de entrada y salida, puerto serie, temporizadores, contadores, memorias, y puede
contener: memoria RAM y ROM interna o externa, convertidores analógicos digitales
digital analógico, todo esto dentro de un solo chip.
Un microcontrolador está encaminado básicamente hacia aplicaciones concretas en
donde, el espacio, y número de componentes es mínimo, además, los cambios o
ampliaciones futuras del sistema son casi nulos. Por otro lado, un microprocesador se
destina a sistemas donde su expansión a corto o mediano plazo es factible.

Arquitectura de Procesadores.
Es la descripción de la interconexión de los principales elementos de un procesador,
que proporcionan la estructura necesaria para la ejecución de las instrucciones de un
programa.

Clasificación de Flynn.
Se basa en la relación de instrucciones y procesadores.
SISD Sistema uniprocesador (máquina Von Newman o Hardvard)
SIMD Sistema uniprocesador ejecutando una misma instrucciones con diferentes datos
MISD Múltiples de procesadores ejecutando distintas instrucciones y generando un mismo
dato
MIMD Múltiples procesadores ejecutando distintas instrucciones y generando distintos
datos

7
Instrucciones Máquina.
Las instrucciones que obedece un microprocesador están codificadas como dígitos
binarios en su sistema de memoria, la mayoría de las instrucciones se divide en dos campos
denominados operandos: operaciones(ejemplo sumar o mover datos) y direcciones (donde
se almacenaran los datos).

Instrucciones de Asignación. Mueven los datos en el sistema, entre pares de registros, entre
registros y memoria o transferencia de datos de memoria a memoria.

Instrucciones Aritméticas/lógicas. Operan de manera aritmética (ejemplo suma) o lógica


(ejemplo AND) con datos almacenados en los registros internos.

Instrucciones de Conversión. Los datos se almacenas en formatos codificados, llamados


tipo de datos, el ejemplo de esto es el almacenamiento de enteros como números binarios.

Instrucciones de Control. Es fundamental poder modificar el orden de ejecución de las


instrucciones conforme se esta ejecutando un programa, todos los procesadores
proporcionan un subconjunto de instrucciones denominadas de salto (bifurcación) y de
salto condicional

Modos de Direccionamiento.
Todas las instrucciones operan sobre elementos de datos almacenados en los
registros o la memoria. La ubicación de estos elementos se debe dar en los campos de
operandos de la instrucción.

Directo. Se da la dirección efectiva del dato en la memoria. En este direccionamiento el


operando es especificado por una dirección de 8 bits en la instrucción. Solamente los datos
de la RAM interna. y los registros de funciones especiales pueden ser directamente
direccionados.

EJEMPLO 8031:
ADD A, 7FH. El Acumulador es sumado al dato que se encuentra en la dirección
7FH de la RAM interna y el resultado será almacenado en el Acumulador.

MOV A, 2EH. El Acumulador es cargado con el dato que se encuentra en la


dirección 2EH de la memoria RAM interna.

EJEMPLO DE PIC 16F8XX


movfw 20. El registro de trabajo es cargado con el dato que se encuentra en la
dirección 20 de la memoria RAM.

Inmediato. El dato es asociado a un registro, el valor de una constante sigue al código de


operación en el programa.

EJEMPLO 8031:
MOV A,#64H. El acumulador es cargado con el dato 64H inmediatamente.

8
ADD A,#12H. El acumulador es sumado al número 12 H y el resultado se almacena
en el acumulador.
MOV DPTR,#1245H. El DPTR es cargado con el dato 1245H en forma inmediata.

EJEMPLO PIC 16F8XX:


Movlw 06. El registro de trabajo es cargado con el dato 06
Addlw 0xC2 El registro de trabajo es sumado al número decimal C2 y el resultado
se almacena en el registro de trabajo

DIRECCIONAMIENTO INDIRECTO.

En este direccionamiento se utiliza un registro en el cual se encuentra la dirección


del operando. Toda la memoria RAM interna y externa puede ser direccionada
indirectamente.
Los registros de direcciones de 8 bits, pueden ser los registros R0 y R1 del banco de
registros, o el SP.
El registro de dirección de 16 bits puede ser solamente el registro DPTR.
EJEMPLO 8031 :
MOV A,@R0. El Acumulador es cargado con el dato que se encuentra en la
dirección apuntada por R0.
MOVX A,@DPTR. El Acumulador es cargado con el dato que se encuentra en la
dirección apuntada por el DPTR.
MOVX @DPTR,A. El contenido del acumulador es guardado en la dirección
apuntada por el DPTR.

EJEMPLO PIC 16F8XX:


movlw 0x0C, movwf FSR, incf FSR, btfss FSR, 3.. El valor de 0C es
cargado a W, pasa a FSR, incrementa el FSR y finalmente prueba el bit 3 de la dirección
apunada por FSR

DIRECCIONAMIENTO INDEXADO.

Solamente la memoria del programa puede ser leída mediante este modo de
direccionamiento.
Este modo de direccionamiento es utilizado en las lecturas de tablas de la memoria del
programa o datos que se encuentran como constantes.
Un registro mayor de 8 bits (el DPTR o el PC), apunta la base de la tabla y mediante el
acumulador o registro de trabajo se establece el número de la entrada de la tabla. La
dirección de la entrada de la tabla en la memoria del programa está formada por la suma
del acumulador y el apuntador de base (DPTR o PC).
Otro tipo de direccionamiento indexado, es usando la instrucción "salto de casillero". En
este caso la dirección del destino el salto es calculada como la suma del apuntador de base
más el acumulador.

9
EJEMPLO 8031 :
MOVC A,@A+DPTR. Mueve una constante que se encuentra en la memoria del
programa. El acumulador es cargado con el dato que se encuentra apuntado por la
dirección formada por la suma del acumulador A y el apuntador de datos.
MOVC A,@A+PC. El Acumulador es cargado con dato que se encuentra en la dirección
formada por la suma del mismo acumulador A y el contador del programa (PC).

EJEMPLO pic 16f84:


movlw 05
decfsz w, 0

goto fin
INI_LCD addwf PCL,1

DIRECCIONAMIENTO POR REGISTRO.

Los 8 registros pueden ser accesados mediante ciertas instrucciones que


simplifican sus códigos de operación y en la mayoría de los casos son más rápidas.
Existen 4 bancos de registros, cada banco contiene los 8 registros (R0 a R7). Estos
bancos pueden ser accesados mediante los bits 3 y 4 del PSW.
EJEMPLO :
ADD A,R7. El acumulador es cargado con el resultado de suma del Acumulador y el
contenido del registro R7.
DEC R0. Decrementa el registro R0.

Pila.
Es una estructura de datos en el que el elemento tomado de la pila es el que se
coloco en la forma más reciente en ella, también se conoce que el último que entra es el
primero que sale.

Componentes Internos.
PC. Registro contador de programa almacena la dirección de la siguiente instrucción que la
máquina ejecutará, tiene como papel principal de controlar la secuencia de instrucciones
que ejecuta el procesador

10
Algoritmos

Declaraciones de Inicio y Fin


entradas/salidas

Salida a impresora
Proceso
(Operaciones y asignaciones)

Fig. 1.2 Bloques para la realización de Algoritmos

11

You might also like