Professional Documents
Culture Documents
Indice
Introduccin a los sistemas basados en microprocesador
.- Arquitectura general
.- La Unidad Central de proceso (CPU)
.- Memorias
.- Interfaces de E/S
.- Interconexin entre mdulos (Mapas de memoria)
Introduccin a los Microcontroladores
.- Vista general
.- Microcontroladores de la familia 51 de Intel
.- SAB80C537
.- Programacin
Fin
m lneas (A0-Am-1)
Bus de direcciones
Convertidor A/D
U.C.P.
UNIDAD
DE
CONTROL
MEMORIA
PROGRAMA
(ROM-EPROM-RAM)
Mdulos
E/S
MEMORIA
DATOS
(RAM)
ENT. DIGITALES
SAL. DIGITALES
CLK
REGISTROS
INTERNOS
UNIDAD
ARITMTICO
LGICA
(ALU)
Bus de datos
N lneas (D0-Dn-1)
Convertidor D/A
Bus de control
SAL. ANALGICA
Menu
LA UNIDAD CENTRAL
DE PROCESO (C.P.U)
CPU o Microprocesador
ndice
+VCC
GND
Acumulador
A.L.U.
Stack pointer
Registro Auxiliar
(2 operando)
De trabajo
Registros
Auxiliares
Registro de estado
Secuenciador
Registro auxiliar
de direcciones
BUS DE DIRECCIONES
Registro de
direcciones
Contador de
programa
Decodificador de
instrucciones
Reloj
interno
Registro de
instrucciones
y datos
MEMORIA
Reloj Externo
DATOS
BUS DE DATOS
INSTRUCCIONES
BUS DE CONTROL
E/S
PERIFRICOS
Interrupciones
Diagrama general
de un sistema
basado en
Microprocesador
Reloj
UNIDAD DE CONTROL
BUS DE
DATOS
(Instrucciones)
BUS DE
DIRECCIONES
Memoria de
instrucciones
(ROM interna)
Registro
de
Instrucciones
Funciones principales:
Decodificador
de
Instrucciones
Secuenciador
Cdigos de
microinstrucciones
Generador de
Impulsos de
Control
BUS DE CONTROL
Contador
de
Programa
Registro
de
Direcciones
Proceso de trabajo:
1) El cdigo binario de la instruccin en curso se recibe por el bus de datos y se memoriza en el registro de instrucciones.
2) El decodificador de instrucciones selecciona las posiciones de memoria de la ROM interna de la CPU que corresponden
a dicha instruccin. En esta memoria se hayan grabados los cdigos de las operaciones elementales o microinstrucciones
que componen las etapas parciales que entraa la ejecucin de la instruccin.
3) Las microinstrucciones hacen que el secuenciador genere las seales de control que gobernarn a todos los elementos
del sistema para llevar a cabo la instruccin. Estas seales se podrn dirigir a bloques internos de la CPU, as como a
otros bloques externos del sistema a travs del bus de control.
4) El contador de programa indicar al registro de direcciones la posicin de la memoria donde se encuentra la prxima instruccin que hay que realizar. Este contador se incrementa en una unidad en cuanto la memoria acepta la direccin anterior.
Existen instrucciones que autorizan la ruptura del programa (bucles) para la toma de decisiones; en estos casos el contador
memoriza la posicin de la ltima instruccin ejecutada con objeto de poder retornar al programa principal en curso.
P BDN V I Z C
Registro de estado o flags
Acumulador
BUS DE
DATOS
Al Secuenciador
de la U. de Control
A.L.U.
Registro auxiliar
(2 Operando)
1 0 1 1 0 0 1 0
Funciones principales:
Realiza operaciones aritmticas, lgicas y de manipulacin de bit (transferencia, traslacin, rotacin de bit, etc.).
Proceso de trabajo:
1) La instruccin anterior coloca un dato en el registro acumulador. Este dato ser el primer operando para la ALU.
El segundo operando de la ALU ser el procedente del registro auxiliar.
2) La operacin a realizar es seleccionada mediante las lneas de control que salen del Secuenciador de la U.de Control.
3) El resultado de la operacin se registrar en el Acumulador, y su vez, escribir en el Registro de Estado informacin
referente a dicha operacin: bit de paridad, signo, acarreo, etc.
4) La siguiente instruccin podr trasladar el resultado contenido en el acumulador a la memoria, o bien, si se debe usar
dicho resultado en una nueva operacin, trasladar al registro auxiliar el siguiente operando.
Proceso de ejecucin
de una instruccin
CPU o Microprocesador
ndice
Acumulador
A.L.U.
Stack pointer
Registro Auxiliar
(2 operando)
De trabajo
Registros
Auxiliares
Registro de estado
Secuenciador
Registro auxiliar
de direcciones
BUS DE DIRECCIONES
Contador de
programa (n)
Registro de
direcciones
1) Bsqueda de la instruccin
Decodificador de
instrucciones
Reloj
interno
Registro de
instrucciones
y datos
MEMORIA
Reloj Externo
Instruccin AND
BUS DE DATOS
Posicin m
BUS DE CONTROL
E/S
PERIFRICOS
Interrupciones
FASE DE BSQUEDA
+VCC
GND
Proceso de ejecucin
de una instruccin
Ejemplo de operacin AND entre
el dato contenido en el acumulador
y un dato contenido en la memoria
ndice
+VCC
GND
Acumulador
A.L.U.
Stack pointer
Registro Auxiliar
(2 operando)
De trabajo
Registros
Auxiliares
Contador de
programa (n+1)
Registro auxiliar
de direcciones
BUS DE DIRECCIONES
Secuenciador
Registro de
direcciones
2) Carga de la instruccin
y preparacin de la ALU
Registro de estado
Decodificador de
instrucciones
Reloj
interno
Registro de
instrucciones
y datos
MEMORIA
Reloj Externo
DATOS
BUS DE DATOS
INSTRUCCIONES
BUS DE CONTROL
E/S
PERIFRICOS
Interrupciones
FASE DE EJECUCIN
CPU o Microprocesador
Proceso de ejecucin
de una instruccin
CPU o Microprocesador
ndice
Acumulador
A.L.U.
Stack pointer
Registro Auxiliar
(2 operando)
De trabajo
Registros
Auxiliares
Registro de estado
3) Bsqueda 2 Operando
Secuenciador
Registro auxiliar
de direcciones
BUS DE DIRECCIONES
Registro de
direcciones
Contador de
programa (n+1)
Decodificador de
instrucciones
Reloj
interno
Registro de
instrucciones
y datos
MEMORIA
Reloj Externo
2 operando
BUS DE DATOS
Posicin m+1
BUS DE CONTROL
E/S
PERIFRICOS
Interrupciones
FASE DE BSQUEDA
+VCC
GND
Proceso de ejecucin
de una instruccin
Ejemplo de operacin AND entre
el dato contenido en el acumulador
y un dato contenido en la memoria
ndice
+VCC
GND
Acumulador
A.L.U.
Stack pointer
Registro Auxiliar
(2 operando)
De trabajo
Registros
Auxiliares
Registro de estado
Secuenciador
Registro auxiliar
de direcciones
BUS DE DIRECCIONES
Registro de
direcciones
Contador de
programa (n+2)
Decodificador de
instrucciones
Reloj
interno
Registro de
instrucciones
y datos
MEMORIA
Reloj Externo
DATOS
BUS DE DATOS
INSTRUCCIONES
BUS DE CONTROL
E/S
PERIFRICOS
Interrupciones
FASE DE EJECUCIN
CPU o Microprocesador
Proceso de ejecucin
de una instruccin
Ejemplo de operacin AND entre
el dato contenido en el acumulador
y un dato contenido en la memoria
ndice
+VCC
GND
Acumulador
A.L.U.
Stack pointer
Registro Auxiliar
(2 operando)
De trabajo
Registros
Auxiliares
Registro de estado
Secuenciador
Registro auxiliar
de direcciones
BUS DE DIRECCIONES
Registro de
direcciones
Contador de
programa (n+2)
Decodificador de
instrucciones
Reloj
interno
Registro de
instrucciones
y datos
MEMORIA
Reloj Externo
DATOS
BUS DE DATOS
INSTRUCCIONES
BUS DE CONTROL
E/S
PERIFRICOS
Interrupciones
FASE DE EJECUCIN
CPU o Microprocesador
Proceso de ejecucin
de una instruccin
Ejemplo de operacin AND entre
el dato contenido en el acumulador
y un dato contenido en la memoria
ndice
+VCC
GND
Acumulador
A.L.U.
Stack pointer
Registro Auxiliar
(2 operando)
De trabajo
Registros
Auxiliares
Registro de estado
Secuenciador
Registro auxiliar
de direcciones
BUS DE DIRECCIONES
Registro de
direcciones
Contador de
programa (n+2)
Decodificador de
instrucciones
Reloj
interno
Registro de
instrucciones
y datos
MEMORIA
Reloj Externo
DATOS
BUS DE DATOS
INSTRUCCIONES
BUS DE CONTROL
E/S
PERIFRICOS
Interrupciones
FASE DE EJECUCIN
CPU o Microprocesador
LA MEMORIA
Tipos de Memorias
RAM estticas o SDRAM: Cada una de las celdas esta
constituida por un flip-flop, que permanece indefinidamente en un
estado, mientras no se elimine su alimentacin.
RAM (Random Acces Memory)
Memorias de acceso aleatorio.
Son voltiles y permiten la
lectura y la escritura.
Memorias
Memorias
Lneas de control
A0
A1
A2
An-1
D0
D1
D2
Dn-1
Lneas de datos
Lneas de direccin
VCC
RW
N Lin. Dir.
RD
N Pos =
CS
GND
A0
A1
A2
A3
A4
A5
A6
CS
R/W
DECODIFICADOR DE DIRECCIONES
Direccin 0
1
10
11
12
13
14
15
16
Direccin 1
N Posiciones = 27 = 128
114
115
116
117
118
119
120
Direccin 127
122
LGICA
DE
CONTROL
123
124
125
126
127
128
D0
D1
D2
D3
D4
D5
D6
D7
Columna 6
Columna 7
Fila 0
0
15
15
15
15
15
15
15
Fila 128
A9
A10
10
11
12
13
14
15
16
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
15
15
LGICA
DE
CONTROL
15
15
15
15
15
15
Multiplexor 7
Fila 126
A8
R/W
Fila 1
A7
CS
15
Multiplexor 6
A6
Columna 5
Multiplexor 5
A5
Columna 4
Multiplexor 4
A4
Columna 3
Multiplexor 3
A3
Columna 2
Multiplexor 2
A2
Columna 1
Multiplexor 1
A1
Columna 0
Multiplexor 0
A0
DECODIFICADOR DE DIRECCIONES
D6
D7
D0
D1
D2
D3
D4
D5
DIRECCIONES DE MEMORIA
8 Lneas
D0-D7
N Posiciones = 2
R/W
U.C.P.
16 Lneas
Direccin.
8 Lneas
Datatos
CS
IC1
4K
RAM
A0 A11
CAPACIDAD:
n Lin. Dir.
12 Lneas
Dato
Dir m
Dato
0000h
Dato
A0
0FFFh
0000
Si X=0
0000
0000
0000
0000
0000
D. inicial
Si X=1
0000
1111
1111
1111
0FFF
D. Final
R/W
U.C.P.
16 Lneas
Direccin.
8 Lneas
Datatos
A15
IC1
4K
RAM
A0..11 CS
IC2
4K
RAM
CS
A0..11
A12
A11
IC3
4K
RAM
A0..11
IC4
4K
RAM
CS
A13
A0..11
A14
CS
A15
A0
DIRECCIONES
RAM IC1
0111
xxxx
xxxx
xxxx
RAM IC2
1011
xxxx
xxxx
xxxx
7000-7FFF
B000-BFFF
RAM IC3
1101
xxxx
xxxx
xxxx
D000-DFFF
RAM IC4
1110
xxxx
xxxx
xxxx
E000-EFFF
C
0000
1111
0000
1111
0000
1111
0000
1111
D
0000
1111
0000
1111
0000
1111
0000
1111
IC1
IC2
IC3
IC4
Si X=0
Si X=1
Si X=0
Si X=1
Si X=0
Si X=1
Si X=0
Si X=1
A
0111
0111
1011
1011
1101
1101
1110
1110
B
0000
1111
0000
1111
0000
1111
0000
1111
ABCD
7000
7FFF
B000
BFFF
D000
DFFF
E000
EFFF
D. inicial
D. Final
D. inicial
D. Final
D. inicial
D. Final
D. inicial
D. Final
Sistema de
codificacin
Dec. Hex.
Bin.
0
0
0000
1
1
0001
2
2
0010
3
3
0011
4
4
0100
5
5
0101
6
6
0110
7
7
0111
8
8
1000
9
9
1001
10
A
1010
11
B
1011
12
C
1100
13
D
1101
14
E
1110
15
F
1111
RAM 4KBytes
N Posiciones = 212 = 4.096 Bytes
12 lneas de direccionamiento
Direccionamiento
por
Seleccin Lineal
IC1
4K
RAM
A0..11 CS
R/W
U.C.P.
16 Lneas
Direccin.
8 Lneas
Datatos
IC2
4K
RAM
CS
A0..11
IC3
4K
RAM
A0..11
IC4
4K
RAM
CS
A0..11
CS
A12
A13
A13
Dec.
2/4
A0
A12
DIRECCIONES
RAM IC1
00
xxxx
xxxx
xxxx
RAM IC2
01
xxxx
xxxx
xxxx
0000-0FFF
1000-1FFF
RAM IC3
10
xxxx
xxxx
xxxx
2000-2FFF
RAM IC4
11
xxxx
xxxx
xxxx
3000-3FFF
C
0000
1111
0000
1111
0000
1111
0000
1111
D
0000
1111
0000
1111
0000
1111
0000
1111
IC1
IC2
IC3
IC4
Si X=0
Si X=1
Si X=0
Si X=1
Si X=0
Si X=1
Si X=0
Si X=1
A
0000
0000
0001
0001
0010
0010
0011
0011
B
0000
1111
0000
1111
0000
1111
0000
1111
ABCD
0000
0FFF
1000
1FFF
2000
2FFF
3000
3FFF
D. inicial
D. Final
D. inicial
D. Final
D. inicial
D. Final
D. inicial
D. Final
Sistema de
codificacin
Dec. Hex.
Bin.
0
0
0000
1
1
0001
2
2
0010
3
3
0011
4
4
0100
5
5
0101
6
6
0110
7
7
0111
8
8
1000
9
9
1001
10
A
1010
11
B
1011
12
C
1100
13
D
1101
14
E
1110
15
F
1111
RAM 4KBytes
N Posiciones = 212 = 4.096 Bytes
12 lneas de direccionamiento
Direccionamiento
por
Decodificacin
Unidades de E/S
(interfaces o puertos de E/S)
Sistema
Microcomputado
B. datos
Interfaz
E/S
Bus de direcciones
Impresora
Teclado
Pantalla video
Displays
Motores
Rels
PERIFRICOS
Bus de Control
Definicin:
DIR.
Circuito
especializado
de adaptacin
de E/S
Perifrico de Salida
Perifrico de Entrada
CONTROL
Definicin:
Se tratan de circuitos especializados, diseados para la interconexin de un perifrico especfico.
Caractersticas principales:
Estos circuitos suelen estar formados por buffer tri-estado, bsculas, decodificadores, multiplexores, etc.
Simplifican el software a costa de una gran complejidad hardware.
Gran rigidez de funcionamiento. Estn diseados para realizar una nica funcin.
Cada perifrico requiere un interfaz. Aumenta el consumo de potencia.
E/S
DATOS
DIRECCIONES
Puerto A
Adaptador
universal
de perifricos
programable
Buffer
bidireccional
S. Serie
EMISOR
DIRECCIONES
E/S
CONTROL
RECEPTOR
DATOS
Puerto D
CONTROL
Interfaz Paralelo
Reloj
CONTROL
Interfaz Serie
Definicin:
Se tratan de circuitos especializados programables que permiten la interconexin de diversos perifricos.
Caractersticas principales:
Estos mdulos suelen estar formados circuitos elementales de E/S, controlados por determinados registros.
La programacin de los registros permite establecer la configuracin de E/S deseada.
Simplifican el hardware a costa de una gran complejidad software.
Gran flexibilidad de funcionamiento. Mnimo consumo de potencia.
Cada familia de microprocesadores dispone de sus propios mdulos programables de E/S (PPI, VIA, PIA,
ACIA. UART, etc)., pero de caractersticas son muy semejantes.
Interconexin de
mdulos a la CPU
UCP
16 Lneas
Dir.
8 Lneas
Dat.
4K
EPROM
4K
RAM
Interfaz
E/S
4 Reg.
Interfaz
E/S
2 Reg.
0000
0011
0101
1001
A0
A7
xxxx
xxxx
xxxx
xxxx
xxxx
xxxx
0000 - 0FFF
3000 - 3FFF
5000 - 5003
9000 - 9001
xx
x
D0..7
UCP
16 Lneas
Dir.
8 Lneas
Dat.
4K
EPROM
A0..11
CS
PPI
4K
RAM
A0..11
Serie
2 Reg.
4 Reg.
CS
A0..1
CS
A0
CS
A12
A13
A14
A15
A13
00
01
10
11
EPROMA
RAM
PPI
SERIE
A0
A7
xxxx
xxxx
xxxx
xxxx
xxxx
xxxx
0000 - 0FFF
1000 - 1FFF
2000 - 2003
3000 - 3001
xx
x
D0..7
4K
EPROM
UCP
16 Lneas
Dir.
8 Lneas
A0..11
CS
4K
RAM
A0..11
CS
PPI
Serie
2 Reg.
4 Reg.
A0..1
A0
CS
CS
Dat.
A12
A13
A14
Dec.
2/4
A15