Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2018
Indice
Introducción a los sistemas basados en microprocesador
.- Arquitectura general
.- La Unidad Central de proceso (CPU)
.- Memorias
.- Interfaces de E/S
.- Interconexión entre módulos (Mapas de memoria)
Introducción a los Microcontroladores
.- Vista general
.- Microcontroladores de la familia 51 de Intel
.- Programación
ARQUITECTURA TÍPICA DE LOS SISTEMAS BASADOS EN MICROPROCESADOR
ENT. ANALÓGICA
UNIDAD
ARITMÉTICO Bus de datos N líneas (D0-Dn-1) Convertidor D/A
LÓGICA
(ALU) Bus de control
SAL. ANALÓGICA
Menu
LA UNIDAD CENTRAL
DE PROCESO (C.P.U)
CPU o Microprocesador
Diagrama general Índice
Acumulador
de un sistema +VCC
Interrupciones
Stack pointer A.L.U.
GND
basado en De trabajo
Registro Auxiliar
(2º operando)
Microprocesador Registros
Registro de estado
Auxiliares
Secuenciador
Contador de
programa
Decodificador de
instrucciones
Registro auxiliar
de direcciones
Registro de
direcciones
BUS DE DIRECCIONES Reloj
interno
Registro de
instrucciones
y datos
MEMORIA
BUS DE CONTROL
E/S
Menu
PERIFÉRICOS
ESTRUCTURA GENERAL DE LA UNIDAD DE CONTROL
Señales de control internas Reloj
UNIDAD DE CONTROL BUS DE
DIRECCIONES
Memoria de
BUS DE instrucciones
DATOS (ROM interna)
(Instrucciones)
Registro Decodificador Secuenciador Contador Registro
de de de de
Instrucciones Instrucciones Códigos de Generador de Programa Direcciones
micro- Impulsos de
instrucciones Control
BUS DE CONTROL
Funciones principales: Del registro de estado de la ALU
Registros de trabajo: Son registros de propósito general, es decir no tienen un uso concreto, es el programa que los usa
a voluntad. Por ejemplo, pueden manipular datos de interés para el programa y facilitar la búsqueda de instrucciones,
ganando tiempo. El fabricante de cada microprocesador decide la inclusión de este tipo de registros. Pueden ser también
de 8,16 y de 32 bits, según el microprocesador.
Registro Stack Pointer o Puntero de pila (Stack): Es un contador que controla una zona determinada de la memoria, en
la que deposita de forma temporal datos sobre el contenido de diversos elementos de la CPU para su uso posterior. Este
registro actúa como una cola LIFO (Last Input-First Output). Así, en el caso del inicio de una subrutina o salto de
programa, en dicho registro se guarda el último estado de la CPU, de esta manera, una vez finalizada la subrutina, el
programa puede retomar la última instrucción.
Registro de estado (flag o bandera): Almacena información sobre diversas situaciones producidas en la CPU en
operaciones anteriores. Cada bit del registro indica una información diferente:
Menu
Estructura general de la Unidad Aritmético Lógica (ALU)
1 0 1 1 0 0 1 0
Menu
Proceso de ejecución CPU o Microprocesador
de una instrucción
Índice
+VCC Acumulador
Interrupciones
A.L.U.
FASE DE BÚSQUEDA GND Stack pointer
Registro Auxiliar
(2º operando)
Ejemplo de operación AND entre De trabajo
el dato contenido en el acumulador Registros
Registro de estado
y un dato contenido en la memoria Auxiliares
Secuenciador
Decodificador de
instrucciones
Registro auxiliar
de direcciones
Registro de
direcciones
BUS DE DIRECCIONES Reloj
interno
Registro de
instrucciones
y datos
MEMORIA
BUS DE CONTROL
E/S
Menu
PERIFÉRICOS
Proceso de ejecución CPU o Microprocesador
de una instrucción
Índice
FASE DE EJECUCIÓN +VCC Acumulador
Interrupciones
Ejemplo de operación AND entre Stack pointer A.L.U.
GND Registro Auxiliar
el dato contenido en el acumulador
(2º operando)
y un dato contenido en la memoria De trabajo
Registros
Registro de estado
Auxiliares
2) Carga de la instrucción
Secuenciador
y preparación de la ALU Contador de
programa (n+1)
Decodificador de
instrucciones
Registro auxiliar
de direcciones
Registro de
direcciones
BUS DE DIRECCIONES Reloj
interno
Registro de
instrucciones
y datos
MEMORIA
BUS DE CONTROL
E/S
Menu
PERIFÉRICOS
Proceso de ejecución CPU o Microprocesador
de una instrucción
Índice
+VCC Acumulador
Interrupciones
A.L.U.
FASE DE BÚSQUEDA GND Stack pointer
Registro Auxiliar
(2º operando)
De trabajo
Registros
Registro de estado
Auxiliares
Decodificador de
instrucciones
Registro auxiliar
de direcciones
Registro de
direcciones
BUS DE DIRECCIONES Reloj
interno
Registro de
instrucciones
y datos
MEMORIA
BUS DE CONTROL
E/S
Menu
PERIFÉRICOS
Proceso de ejecución CPU o Microprocesador
de una instrucción
Índice
FASE DE EJECUCIÓN +VCC Acumulador
Interrupciones
Ejemplo de operación AND entre Stack pointer A.L.U.
GND Registro Auxiliar
el dato contenido en el acumulador
(2º operando)
y un dato contenido en la memoria De trabajo
Registros
Registro de estado
Auxiliares
Decodificador de
instrucciones
Registro auxiliar
de direcciones
Registro de
direcciones
BUS DE DIRECCIONES Reloj
interno
Registro de
instrucciones
y datos
MEMORIA
BUS DE CONTROL
E/S
Menu
PERIFÉRICOS
Proceso de ejecución CPU o Microprocesador
de una instrucción
Índice
FASE DE EJECUCIÓN +VCC Acumulador
Interrupciones
Ejemplo de operación AND entre Stack pointer A.L.U.
GND Registro Auxiliar
el dato contenido en el acumulador
(2º operando)
y un dato contenido en la memoria De trabajo
Registros
Registro de estado
Auxiliares
Decodificador de
instrucciones
Registro auxiliar
de direcciones
Registro de
direcciones
BUS DE DIRECCIONES Reloj
interno
Registro de
instrucciones
y datos
MEMORIA
BUS DE CONTROL
E/S
Menu
PERIFÉRICOS
Proceso de ejecución CPU o Microprocesador
de una instrucción
Índice
FASE DE EJECUCIÓN +VCC Acumulador
Interrupciones
Ejemplo de operación AND entre Stack pointer A.L.U.
GND Registro Auxiliar
el dato contenido en el acumulador
(2º operando)
y un dato contenido en la memoria De trabajo
Registros
Registro de estado
Auxiliares
Decodificador de
instrucciones
Registro auxiliar
de direcciones
Registro de
direcciones
BUS DE DIRECCIONES Reloj
interno
Registro de
instrucciones
y datos
MEMORIA
BUS DE CONTROL
E/S
Menu
PERIFÉRICOS
LA MEMORIA
Tipos de Memorias
RAM estáticas o SDRAM: Cada una de las celdas esta
constituida por un flip-flop, que permanece indefinidamente en un
estado, mientras no se elimine su alimentación.
RAM (Random Acces Memory)
Memorias de acceso aleatorio. RAM dinámicas o DRAM: Cada celda esta constituida por un
Son volátiles y permiten la condensador que almacena la información mediante la carga o
lectura y la escritura. descarga de éste. Dado que estos condensadores pueden perder
carga, estas memorias necesitan “reflescar” continuamente su
información.
ROM (Read Only Memory) EPROM: Son memorias ROM borrables y programables.
Memorias de acceso aleatorio. Disponen de una ventana en el encapsulado que permite su
No son volátiles y sólo borrado mediante la aplicación de luz ultravioleta. El proceso de
permiten la lectura. lectura/escritura está limitado a un determinado número de veces.
Líneas de datos
A0 D0
A1 D1
A2 D2
Dn-1
An-1 M
Líneas de control
RW
RD Nº Lin. Dir.
Nº Pos = 2
CS
GND
Menu
Organización interna de una memoria RAM de 128 bytes (Selección lineal)
Dirección 0
DECODIFICADOR DE DIRECCIONES
1 2 3 4 5 6 7 8
Dirección 1
A0
9 10 11 12 13 14 15 16
A1
Nº Posiciones = 27 = 128
A2
A3
A4
Nº de celdas = 8x128 = 1024
Dirección 126
A5
113 114 115 116 117 118 119 120 Capacidad: 8x128 = 1024 bit
A6
Dirección 127
1024 bit = 128 bytes
121 122 123 124 125 126 127 128
CS LÓGICA
DE
R/W CONTROL BUFFERS DE TRES ESTADOS
D0 D1 D2 D3 D4 D5 D6 D7
Menu
Organización interna de una memoria RAM de 2 KByte (Selección por coincidencia)
Columna 0 Columna 1 Columna 2 Columna 3 Columna 4 Columna 5 Columna 6 Columna 7
Fila 0
DECODIFICADOR DE DIRECCIONES
1 2 3 4 5 6 7 8
A0 0 15 0 15 0 15 0 15 0 15 0 15 0 15 0 15
Fila 1
A1 9 10 11 12 13 14 15 16
A2
A3
A4
Fila 126
A5 113 114 115 116 117 118 119 120
A6
Fila 128
121 122 123 124 125 126 127 128
0 15 0 15 0 15 0 15 0 15 0 15 0 15 0 15
A7
Multiplexor 0
Multiplexor 1
Multiplexor 2
Multiplexor 3
Multiplexor 4
Multiplexor 5
Multiplexor 6
Multiplexor 7
A8
A9
A10
CS ´LÓGICA
DE
R/W CONTROL BUFFERS DE TRES ESTADOS
R/W IC1
U.C.P. 4K
RAM CAPACIDAD: 4KBytes = 4096 bytes
16 Líneas CS
Dirección. A0 – A11
Nº Líneas de dirección = 212 = 4.096 Bytes
8 Líneas
Datatos
12 Líneas
0FFFh Dato
A15 A12 A11 A0
Sistema de
codificación
0000 XXXX XXXX XXXX Líneas de direcciónl
Dec. Hex. Bin.
0 0 0000
1 1 0001 Si X=0 0000 0000 0000 0000 0000 D. inicial
2 2 0010
3 3 0011 Si X=1 0000 1111 1111 1111 0FFF D. Final Dir m Dato
4 4 0100
5 5 0101
6 6 0110
7 7 0111
8 8 1000
9 9 1001
10 A 1010
11 B 1011 0000h Dato
12 C 1100
13 D 1101
14 E 1110
15 F 1111
Menu
Aumento de la capacidad de memoria
D0..7
A15 A11 A0
DIRECCIONES
RAM – IC1 0111 xxxx xxxx xxxx 7000-7FFF Sistema de
codificación RAM 4KBytes
RAM – IC2 1011 xxxx xxxx xxxx B000-BFFF Dec. Hex. Bin. Nº Posiciones = 212 = 4.096 Bytes
RAM – IC3 1101 xxxx xxxx xxxx D000-DFFF 0 0 0000 12 líneas de direccionamiento
1 1 0001
RAM – IC4 1110 xxxx xxxx xxxx E000-EFFF 2 2 0010
3 3 0011
4 4 0100
A B C D ABCD 5 5 0101
IC1
Si X=0 0111 0000 0000 0000 7000 D. inicial 6
7
6
7
0110
0111
Direccionamiento
Si X=1 0111 1111 1111 1111 7FFF D. Final
Si X=0 1011 0000 0000 0000 B000 D. inicial
8
9
8
9
1000
1001
por
IC2
Si X=1 1011 1111 1111 1111 BFFF D. Final 10
11
A
B
1010
1011
Selección Lineal
Si X=0 1101 0000 0000 0000 D000 D. inicial
IC3 12 C 1100
Si X=1 1101 1111 1111 1111 DFFF D. Final 13 D 1101
Si X=0 1110 0000 0000 0000 E000 D. inicial 14 E 1110
IC4
Si X=1 1110 1111 1111 1111 EFFF D. Final 15 F 1111
Menu
Aumento de la capacidad de memoria
D0..7
A13 A12 A0
DIRECCIONES
RAM – IC1 00 xxxx xxxx xxxx 0000-0FFF Sistema de
codificación RAM 4KBytes
RAM – IC2 01 xxxx xxxx xxxx 1000-1FFF Dec. Hex. Bin. Nº Posiciones = 212 = 4.096 Bytes
RAM – IC3 10 xxxx xxxx xxxx 2000-2FFF 0 0 0000 12 líneas de direccionamiento
1 1 0001
RAM – IC4 11 xxxx xxxx xxxx 3000-3FFF 2 2 0010
3 3 0011
4 4 0100
A B C D ABCD 5 5 0101
IC1
Si X=0 0000 0000 0000 0000 0000 D. inicial 6
7
6
7
0110
0111
Direccionamiento
Si X=1 0000 1111 1111 1111 0FFF D. Final
Si X=0 0001 0000 0000 0000 1000 D. inicial
8
9
8
9
1000
1001
por
IC2
Si X=1 0001 1111 1111 1111 1FFF D. Final 10
11
A
B
1010
1011
Decodificación
Si X=0 0010 0000 0000 0000 2000 D. inicial
IC3 12 C 1100
Si X=1 0010 1111 1111 1111 2FFF D. Final 13 D 1101
Si X=0 0011 0000 0000 0000 3000 D. inicial 14 E 1110
IC4
Si X=1 0011 1111 1111 1111 3FFF D. Final 15 F 1111
Menu
Unidades de E/S
(interfaces o puertos de E/S)
Características y Clasificación general de los módulos de E/S
Impresora
Teclado
B. datos
Sistema Interfaz Pantalla video
Microcomputado E/S Displays
Motores
Relés
Menu
Módulos de E/S de Aplicación Específica
Definición:
Se tratan de circuitos especializados, diseñados para la interconexión de un periférico específico.
Características principales:
• Estos circuitos suelen estar formados por buffer tri-estado, básculas, decodificadores, multiplexores, etc.
• Gran rigidez de funcionamiento. Están diseñados para realizar una única función.
E. Serie
E/S Puerto A RECEPTOR
DATOS DATOS
Adaptador Buffer
universal bidireccional
S. Serie
DIRECCIONES de periféricos EMISOR
programable DIRECCIONES
Reloj
CONTROL E/S Puerto D CONTROL
CONTROL
Interfaz Paralelo Interfaz Serie
Definición:
Se tratan de circuitos especializados programables que permiten la interconexión de diversos periféricos.
Características principales:
• Estos módulos suelen estar formados circuitos elementales de E/S, controlados por determinados registros.
•La programación de los registros permite establecer la configuración de E/S deseada.
• Simplifican el hardware a costa de una gran complejidad software.
• Gran flexibilidad de funcionamiento. Mínimo consumo de potencia.
•Cada familia de microprocesadores dispone de sus propios módulos programables de E/S (PPI, VIA, PIA,
ACIA. UART, etc)., pero de características son muy semejantes.
Menu
Interconexión de
módulos a la CPU
Interconexión entre módulos y su direccionamiento
MODOS DE SELECCIÓN
.- Por selección lineal.
.- Por decodificación.
Interfaz Interfaz
UCP 4K 4K
E/S E/S
16 Líneas EPROM RAM 4 Reg. 2 Reg.
Dir.
8 Líneas
Dat.
Menú
Direccionamiento por Selección Lineal
A15 A7 A0
D0..7
D0..7
Menu