Microprocesadores y Microcontroladores
MICROPROCESADORES Y MICROCONTROLADORES OBJETIVO
El alumno adquirirá los conocimientos básicos acerca de los Microcontroladores y Microprocesadores p
M.C. JOSE DE JESUS MORENO VAZQUEZ
Microprocesadores y Microcontroladores
UNIDAD 1: MICROPROCESADORES 1.1 Introducción a los microprocesadores 1.1.1 Definición del microprocesador 1.1.2 Diferencia entre el microprocesador y microcontrolador 1.1.3 Tipos de microprocesador según su velocidad y ancho de palabra 1 2 Arquitectura del microprocesador 1.2 1.2.1 A través de diagrama a bloques 1.2.2 Arquitectura externa del microprocesador (terminales) 1.3 Conexión del microprocesador con dispositivos de: 1.3.1 Memoria 1.3.2 Periféricos 1.3.2.1 De interfase programable (8255) 1.3.2.2 Interrupciones programables(8259) 1.3.2.3 De comunicación serial 1 4 Leng 1.4 Lenguaje aje ensamblador del microprocesador 1.4.1 Registros 1.4.2 Declaración de segmentos 1.4.3 Modos de direccionamiento 1.4.4 Control de dispositivos de entrada/salida 1.4.5 Conjunto de instrucciones 1.4.6 Esqueleto de un programa 1.4.7 Uso de procedimientos M.C. JOSE DE JESUS MORENO VAZQUEZ
1
Microprocesadores y Microcontroladores
Bibliografía
Barry B. Brey, Los microprocesadores de intel, Ed. Prentice Hall, 4ª edición. Peripheral componenets, Intel 2003 Microprocessors, Intel, 2003 Lewis C. Eggebrecht, Interfacing to the personal computer, 3er edition Microntroller Intel 2002 E. Martin Cuenca, Microcontroladores PIC, la solución de un chip, Ed. PARANINFO José Ma. Angulo, Microcontroladores PIC, Diseño de aplicaciones ED. M Graw Mc. G Hill www.intel.com www.microchip.com
M.C. JOSE DE JESUS MORENO VAZQUEZ
Microprocesadores y Microcontroladores
Introducción
Que es un microprocesador?
Que necesita para funcionar?
Voltaje de cd estable (5V, 3.3V, 2.5V. 1.5V …) Una señal de reloj (frecuencia del oscilador) Otros circuitos digitales
Que hace ?
ES un circuito integrado secuencial síncrono
Interpreta (decodifica) combinaciones de bots (órdenes) y genera señales digitales internas y/o externas para el resto de circuitos
Para que?
Para “ejecutar ” de manera continua una secuencia de órdenes (o programa)
M.C. JOSE DE JESUS MORENO VAZQUEZ
2
Microprocesadores y Microcontroladores
Conceptos:
Sistema
Ortogonal Dispositivos
Empaquetado Código Fuente Código Objeto Compilador
If then else
01010101
Arquitectura
Simulador Emulador M.C. JOSE DE JESUS MORENO VAZQUEZ
Microprocesadores y Microcontroladores
El microprocesador 4004 La "familia 4000” estaba compuesto por 4 dispositivos de 16 pines: El 4001 era una ROM de dos kilobits con salida de cuatro bits de datos datos.. El 4002 era una RAM de 320 bits con el port de entrada/salida (bus de datos) de cuatro bits bits.. El 4003 era un registro de desplazamiento de 10 bits con entrada serie y salida paralelo;; y el 4004 era la CPU de 4 bits paralelo bits.. El 4001 fue el primer chip diseñado y terminado terminado.. La primera fabricación ocurrió en octubre de 1970 y el circuito trabajó perfectamente perfectamente.. En noviembre salieron el 4002 con un pequeño error y el 4003 que funcionó correctamente.. correctamente Finalmente el 4004 llego unos pocos días antes del final de 1970 1970.. Fue una lástima porque en la fabricación se habían olvidado de poner una de las máscaras máscaras.. Tres semanas después vinieron los nuevos 4004 4004;; Sólo encontró unos pequeños errores errores.. En febrero de 1971 el 4004 funcionaba correctamente correctamente.. En el mismo mes recibió de Busicom las instrucciones que debían ir en la ROM M.C. JOSE DE JESUS MORENO VAZQUEZ
3
Microprocesadores y Microcontroladores
El microprocesador 4004 Cada calculadora necesitaba un 4004 4004,, dos 4002 4002,, cuatro 4001 y tres 4003. 4003. Intel le devolvió los 60000 dólares que había costado el proyecto, sólo podría vender los integrados para aplicaciones que no fueran calculadoras y Busicom los obtendría más baratos El 15 de noviembre de 1971 1971,, la familia 4000 4000,, luego conocida como MCS MCS--4 (Micro Computer System 4-bit) bit) fue finalmente introducida en el mercado mercado.. Descripción del 4004 Es un microprocesador de 4 bits de bus de datos, direcciona 32768 bits de ROM y 5120 bits de RAM. RAM. Además se pueden direccionar 16 puertos de entrada (de 4 bits) y 16 puertos de salida (de 4 bits) bits).. Contiene alrededor de 2300 transistores. transistores. El ciclo de instrucción es de 10 10,,8 microsegundos Este microprocesador estaba encapsulado en el formato DIP (Dual Inline Package) Package) de 16 patas (ocho de cada lado) lado)..
M.C. JOSE DE JESUS MORENO VAZQUEZ
Microprocesadores y Microcontroladores
DESCRIPCION DE TERMINALES DEL 4004
M.C. JOSE DE JESUS MORENO VAZQUEZ
4
Microprocesadores y Microcontroladores
CRONOLOGIA 8008
8085
8080
8086
8088
M.C. JOSE DE JESUS MORENO VAZQUEZ
Microprocesadores y Microcontroladores
CRONOLOGIA
M.C. JOSE DE JESUS MORENO VAZQUEZ
5
Microprocesadores y Microcontroladores
CRONOLOGIA 1999.-- Intel Pentium III, AMD K61999. K6-2. 2000.- Intel Pentium 4, Intel Itanium 2, AMD Athlon XP, AMD Duron 2000.Duron.. 2004..- Intel Pentium M. 2004 2005.-- Intel Pentium D (167 2005. (167 millones de transistores), transistores), Intel Extreme Edition con hyper threading, Intel Core Duo, AMD Athlon 64, AMD Athlon FX. 2006.-- Intel Core 2 Duo ((291 2006. 291 millones de transistores), transistores), Intel Core 2 Extreme, AMD Athlon 64 X2. X2 2008 atom 2007.-- Intel Core 2 Quad ((820 2007. 820 millones de transistores), transistores), AMD Quad Core. 2009.-- Core i5, 2009. i5, Core i7 (781 millones de transistores) transistores)
M.C. JOSE DE JESUS MORENO VAZQUEZ
Microprocesadores y Microcontroladores
MICROPROCESADORES Control
Monitor Teclado Mouse Unidad de disco Impresora
C.P.U
Memoria
Sistema de E/S
Memoria Temporal Memoria del recuerdo
Memoria Instantรกnea
Memorias externas
Bus de direcciones Bus de datos Bus de control
M.C. JOSE DE JESUS MORENO VAZQUEZ
6
Microprocesadores y Microcontroladores
ESTRUCTURA DE UN COMPUTADOR
COMPUTADOR E/S COMPUTADOR
MEMORIA BUS DEL SISTEMA CPU CPU LOGICA SECUENCIAL
CPU REGISTROS
UNIDAD UNIDAD DE DE CONTROL CONTROL
UNIDAD DE CON TROL
REGISTRO Y DECODIFICADORES DE LA UNIDAD DE CONTROL
INTERCONEXION INTERNA DE LA CPU
MEMORIA DE CONTROL
UNIDAD ARITMETIA LOGICA
M.C. JOSE DE JESUS MORENO VAZQUEZ
Microprocesadores y Microcontroladores
ARQUITECTURA TIPICA DE UN MICROPROCESADOR
SR
AC ALU
REGISTROS DE PROPOSITOS GENERAL
PC
REGISTRO INTERMEDIO DE DATOS / DIRECCIONES
REGISTRO INTERMEDIO DE DIRECCIONES
BUS DE DATOS
BUS DE DIRECCIONES
IR
LOGICA DE CONTROL Y TEMPORIZACION
BUS DEL SISTEMA HACIA LA MEMORIA PRINCIPAL Y DISPOSITIVOS E/S M.C. JOSE DE JESUS MORENO VAZQUEZ
7
Microprocesadores y Microcontroladores
Los distintos grupos funcionales o subsistemas que debe poseer una microcomputadora se resumen en los siguientes: siguientes: Un sistema de entradas y salidas para establecer la comunicación con el mundo exterior (recepción de ordenes y datos y entrega de resultados). Un sistema de memoria para la obtención de instrucciones (programa) y almacenamiento de información (datos). (datos) Una unidad de cálculo para la ejecución de operaciones lógicas y aritméticas. Una unidad de control capaz de coordinar el funcionamiento de todo el sistema y de tomar decisiones en función de resultados previos Instrucciones típicas de un microprocesador
Instrucciones de transferencia Instrucciones operativas Instrucciones de control de secuencia instrucciones de control
formato de una instrucción C.O
Dato/Dirección
Dirección
M.C. JOSE DE JESUS MORENO VAZQUEZ
Microprocesadores y Microcontroladores
ARQUITECTURA DEL P 8085A
M.C. JOSE DE JESUS MORENO VAZQUEZ
8
Microprocesadores y Microcontroladores
Sistema mínimo 8085
M.C. JOSE DE JESUS MORENO VAZQUEZ
Microprocesadores y Microcontroladores
Sistema mínimo 8085 (continuación)
M.C. JOSE DE JESUS MORENO VAZQUEZ
9
Microprocesadores y Microcontroladores
Desventajas del 8085 vs PIC
Sistema mínimo PIC16F877
M.C. JOSE DE JESUS MORENO VAZQUEZ
Microprocesadores y Microcontroladores
MODOS DE DIRECCIONAMIENTOS 8085
Direccionamiento inmediato
Direccionamiento Directo
Direccionamiento Indirecto
BANDERAS
B7
B6
S Z
B5
B4
B3
AC
B2
P
B1
B0
CY
Los diferentes tipos de ciclo de máquina en el 8085 son: .Búsqueda de código de operación. .Lectura de memoria. .Escritura en memoria. .Lectura de dispositivos de E/S. .Escritura en dispositivos de E/S. .Respuesta a interrupción. Bus inactivo M.C. JOSE DE JESUS MORENO VAZQUEZ
10
Microprocesadores y Microcontroladores
EJECUCION DE LAS INSTRUCCIONES
2167 2169 2168
SP FD
FF
LDA FFFDH ADD A,R2 STA FFFFH
5. 6. 7. 8.
Memoria
3A
A
1. 2. 3. 4.
RD
RAM (FDFFH) 34 FDFF CARGAR A <- (FFFD) 80 SUMA A <- A + R2 32 FFFF ALMACENA A - > (FFFFH)
Extrae de la memoria la siguiente instrucción y la lleva al registro de instrucción. instrucción. Cambia el contador del programa de modo que apunte a la siguiente instrucción instrucción.. Determina el tipo de instrucción que acaba de extraer extraer.. Verifica si la instrucción requiere datos de la memoria y si es así, determina donde están situados situados.. Extrae los datos, si los hay y los carga en los registros internos de la CPU CPU.. Ejecuta la instrucción instrucción.. Almacena los resultados en el lugar apropiado apropiado.. Va al paso 1 para empezar la ejecución de la instrucción siguiente M.C. JOSE DE JESUS MORENO VAZQUEZ
Microprocesadores y Microcontroladores
Las actividades que fundamentalmente se realizan en cada estado son:
T1: En el bus de direcciones se coloca una dirección de memoria o dispositivo de E/S. T2: Si el ciclo de máquina es parte de una búsqueda de instrucción se incrementa el contador de programa. T3: Se transfiere desde o hacia el microprocesador un byte de datos o un byte de instrucción. T4: Se decodifica el contenido del registro de instrucción. T5 – T6: Se utiliza para completar la ejecución de algunas instrucciones
8085AH 3 MHz 8085AH--1 6 MHz 8085AH 8085AH--2 5 MHz 8085AH
M.C. JOSE DE JESUS MORENO VAZQUEZ
11
Microprocesadores y Microcontroladores
EJEMPLO DE SINTESIS
Contenido de los buses de direcciones y datos en cada ciclo de maquina de la instrucción LDA 006A
Ciclos de maquinas de la instrucción STA 0010H
M.C. JOSE DE JESUS MORENO VAZQUEZ
Microprocesadores y Microcontroladores INSTRUCCIONES DE TRASFERENCIA DE DATOS Instrucciones que implican exclusivamente a los registros generales del P MOV r1,r2
MVI r, dato
LXI rp, dato16
XCHG
Instrucciones que implican exclusivamente a posiciones de memoria MVI M, dato Transferencia entre registros del P y posiciones de memoria. memoria MOV r,M
MOV M,r
LDA Dir
STA Dir
LHLD Dir
SHLD Dir
LDAX rp
STAX rp
Transferencia entre registros del P y registros de dispositivos de Entrada / Salida IN
Port
OUT Port .
ESTRUCTURAS DE TIPO SECUENCIA Y BIFURCACION JMP Dirección
Jxx Dirección
PCHL
CALL Dirección
Cxx Dirección
RET
Rxx
EL STACK POINTER Y LAS INSTRUCCIONES DEL STACK
PUSH rp
POP rp
OPERACIONES
PUSH PSW
POP PSW
XTHL
SPHL
LOGICAS
ANA r
ANA M
ANI dato
XRA r
CMP r
CMP M
CPI dato
RLC
XRA M RRC
XRA dato RAL
ORA r RAR
ORA M CMC
ORI dato STC
M.C. JOSE DE JESUS MORENO VAZQUEZ
12
Microprocesadores y Microcontroladores
INSTRUCCIONES DE ROTACION RAR
RAL
CY
B7 ACUMULADOR
B0
CY
B7 ACUMULADOR
RRC
RLC
CY
B0
B7 ACUMULADOR
B0
CY
B7 ACUMULADOR
B0
INSTRUCCIONES ARITMETICAS ADD r ADD M ADI dato ADC r ADC M ACI dato SUB r SUB M SUI dato SBB r INR M DCR r DCR M INX rp DCX rp DAD rp
SBB M SBI dato INR r
M.C. JOSE DE JESUS MORENO VAZQUEZ
Microprocesadores y Microcontroladores
EJEMPLOS Entra un dato por el puerto 0 y examina si es menor, mayor o igual que el dato almacenado previamente en el registro B. El resultado se refleja en dos diodos LED aplicados a la salida del puerto 1. Si el dato de entrada es menor, se ilumina el diodo conectado al bit menor peso (0). Si la entrada es mayor o igual que el dato del registro B, se activa el peso 1 y se iluminará el otro diodo diodo.. bit de p
Escribir un segmento de programa, utilizando instrucciones de escritura y lectura en el stack, que intercambie el contenido de las parejas de registros HL y DE DE.. Ilustrar el ejercicio indicando el contenido inicial y después de ejecutada cada instrucción, de los registros SP, HL, DE y también de la pila (stack).. (stack) El SP se Inicializa con la dirección 4000 4000H H Contenido inicial de HL HL:: 20FFH 20FFH Contenido inicial de DE DE:: 2500H 2500H
M.C. JOSE DE JESUS MORENO VAZQUEZ
13