Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introducción:
La electrónica digital es la base del desarrollo de los microprocesadores
Que a la vez es la base de los microcontroladores.
Tiene un nombre muy descriptivo aunque no suficiente para el estudioso de esta parte de la electrónica
digital.
Microprocesador (Procesador pequeño?)
Sería muy corta y muy egoísta esta definición ya que tenemos una gran variedad de características
que remarcar en la definición de este tipo de dispositivos
Características funcionales:
Registro Acumulador
Registro contador del programa
Registro apuntador de la pila
Registro Bandera
Registro de instrucciones
Registros de propósito general
Decodificador de Instrucciones
Circuito de control y tiempo
Unidad Lógica y Aritmética
Registro?
Que es un registro?
En su forma mas simple es una serie de flip flops conectados de manera ordenada los cuales tienen una
función útil generalmente dentro de un microprocesador. Y esta función consiste en almacenar un
numero (código binario) que dependiendo del tipo de registro puede ser un dato, dirección o una
instrucción.
Registro Acumulador
De acuerdo a lo anteriormente expuesto podemos definir al
acumulador en su forma básica como una serie de flip flop
ordenados de manera objetiva para almacenar información
digital y que esta dentro de un microprocesador en donde
su función es proporcionar el dato en aproximadamente el
90% de las operaciones y de recibir el resultado de las
operaciones aproximadamente en el mismo rango.
de ahí el apodo de acumulador o registro principal.
Pila descendente:
En este tipo de pila cuando se guarda un dato en la pila (área de memoria RAM) el dato,
si ocupa una sola localidad de memoria es almacenado en la dirección tope y el
apuntador de la pila aumenta en un solo paso la dirección contenida en el registro de
tal manera que sigue manteniendo la dirección tope.
En caso de que el dato que se almacena en la pila ocupe dos lugares de memoria se
almacena el dato y el Stack pointer aumenta en dos su dirección para seguir
conteniendo la dirección tope de la pila.
¿Qué indica?
Indica condiciones de resultado después las operaciones aritméticas
y lógicas de tales como:
Cero
Negativo
Positivo
Overflow
Acarreo o debit según sea el caso
Medio acarreo
Además de banderas especificas de acuerdo a la CPU que se esta
usando entre las que podemos mencionar la selección de bancos
de memoria
Registro Bandera
Como se utiliza este recurso:
Considerando los tipos de indicadores mencionados
anteriormente podemos afirmar que se usan para
definir la terminación de lazos, la consideración
de sumas enlazadas, la posibilidad de realizar
ajustes decimales al acumulador
Operaciones Lógicas:
Or, Ex-or, And, Not, Rotaciones lógicas
Operaciones Aritméticas:
Suma, resta, multiplicación, división y rotaciones aritméticas
Es lógico pensar que este bus esta conectado, de algún modo muy
cercano con el registro contador del programa, registro apuntador
de la pila.
Considerando que estos dos registros de la CPU son los que
manejan las direcciones.
La CPU es la fuente de la direcciones del programa que se está
ejecutando por lo tanto la dirección de este bus es de la CPU al
sistema de memoria.
El tamaño del bus de direcciones nos define la capacidad de
direccionamiento en modo real de la CPU. Además en tamaño es
igual al PC y al SP.
La identificación de las líneas de este bus son por las indicaciones A 0
a An.
Bus de control
Bus de Control
Es bidireccional y es el medio por el cual la CPU envía las señales de control para que el
sistema pueda entender que es lo que esta haciendo la CPU.
Para poder entender lo anterior debemos tener idea de cuales son las señales que se
manejan en este bus.
Las señales que podemos mencionar son:
RD
WR
MEMRQ
IORQ
INT
HALT
WAIT
RESET
Como podemos ver son señales que sirven para sincronizar las operaciones de la CPU,
así como para saber que esta haciendo (lectura, escritura o requerimiento del
sistema de memoria).
Este bus es bidireccional por lo tanto salen señales de control y entran señales a la CPU
La identificación de las líneas de este bus son por las indicaciones A0 a An.
Conclusiones de tema de buses
Como el microprocesador ubica la localidad de
memoria con la que necesita trabajar?
D 0 - Dn D0 - D n
C 0 - Cn C 0 - Cn
Direccionamiento
Podemos ver de la presentación anterior que se puede definir que los tipos de
memoria que se tienen disponibles para conectar y armar el sistema
definido ocupan cada una la misma cantidad de lineas en este caso 10
lineas de dirección. Y podemos armar el sistema de la siguiente forma:
A0 – A 9 A0 – A9 A10
D0 -Dn
C0 - C n
A10 A0 – A9 A11
D0 -Dn
A11
C0 - C n
A12 A0 – A9
A12
A13 D0 -Dn
C0 - C n
A14
A15 A0 – A9 A13
D0 -Dn
C0 - C n
D0 -Dn
A0 – A9 A14
D0 -Dn
C0 - Cn C0 - C n
A0 – A 9 A15
D0 -Dn
C0 - C n
Direccionamiento
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
Memoria ROM1 Dirección Inicial 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
Dirección Final 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1
E
n Hexadecimal Dirección Inicial 0800H
Dirección Final 0BFFH
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
Memoria RAM1 Dirección Inicial 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
Dirección Final 0 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1
0400H 03FFH
07FFH 0800H
0C00H 0BFFH
0FFFH 1000H
1400H 13FFH
1FFFH 2000H
2400H 23FFH
La capacidad de direccionamiento de este sistema
3FFFH 4000H se ve limitado al estar bajo un direccionamiento
43FFH lineal, y tener dispositivos de baja capacidad de
4400H
almacenamiento que por lo tanto generan mayor
7FFFH 8000H cantidad de espacios libres, esto lo podemos ver en
8000H 83FFH el siguiente ejemplo donde se trata con dispositivos
de mayor capacidad
FFFFH
Direccionamiento
Ejemplo:
Microprocesador de 16 líneas de direcciones.
Memoria RAM de 2048 localidades
Memoria ROM de 2048 localidades
Armar un sistema de 4K localidades de memoria ROM y
6K localidades de memoria RAM.
D 0 - Dn D0 - D n
C 0 - Cn C 0 - Cn
Direccionamiento
Podemos ver de la presentación anterior que se puede definir que los tipos de
memoria que se tienen disponibles para conectar y armar el sistema
definido ocupan cada una la misma cantidad de lineas en este caso 10
ineas de dirección. Y podemos armar el sistema de la siguiente forma:
C0 - C n
A0 – A10 A12
D0 -Dn
A11
C0 - C n
A12 A0 – A10
A13
A13 D0 -Dn
C0 - C n
A14
A15 A0 – A10 A14
D0 -Dn
C0 - C n
D0 -Dn
A0 – A10 A15
D0 -Dn
C0 - Cn C0 - C n
Direccionamiento
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
Memoria ROM1 Dirección Inicial 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
Dirección Final 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1
07FFH
0800H
0FFFH
1000H
17FFH
1800H
1FFFH
2000H
27FFH
2800H
3FFFH
4000H La capacidad de direccionamiento de este sistema
47FFH
se ve limitado al estar bajo un direccionamiento
4800H
lineal, pero mejora su capacidad al tener
7FFFH
8000H
dispositivos de 2Kbytes y no de 1 Kbyte.
87FFH
8800H
FFFFH
Ejemplo:
Direccionamiento
Microprocesador de 16 líneas de direcciones.
Memoria RAM de 2048 localidades
Memoria ROM de 2048 localidades
Armar un sistema de 4K localidades de memoria ROM y 10K
localidades de memoria RAM.
Primero se revisa los dispositivos para definir la cantidad de lineas
mínima que se va ha usar en cada dispositivo de memoria a
conectar.
Usar decodificador para apoyo en el direccionamiento.
A0 – A10 A0 – A10
D 0 - Dn D0 - D n
C 0 - Cn C 0 - Cn
Direccionamiento
Podemos ver de la presentación anterior que se puede definir que los tipos de
memoria que se tienen disponibles para conectar y armar el sistema
definido ocupan cada una la misma cantidad de lineas en este caso 11
lineas de dirección. Y podemos armar el sistema de la siguiente forma:
A0 – A10 A0 – A10 I0
D0 -Dn
C0 - C n
A0 – A10 I1
I0
D0 -Dn
A11 I1
I2 C0 - C n
A12 I3
A0 – A10
I4 I2
A13 I5 D0 -Dn
I6
C0 - C n
A14 I7
I8
A15 A0 – A10 I3
I31 D0 -Dn
C0 - C n
D0 -Dn
A0 – A10 I4
D0 -Dn
C0 - Cn C0 - C n
A0 – A10 I5
D0 -Dn
C0 - C n
A0 – A10 I6
D0 -Dn
C0 - C n
DireccionamientoA15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
Memoria ROM1 Dirección Inicial 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Dirección Final 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1
REVISAR
0FFFH
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
Memoria RAM1 Dirección Inicial 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
Dirección Final 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1
07FFH
0800H
0FFFH
1000H
17FFH
1800H
1FFFH
2000H
27FFH
2800H
3FFFH
4000H La capacidad de direccionamiento de este sistema
47FFH
se ve limitado al estar bajo un direccionamiento
4800H
lineal, pero mejora su capacidad al tener
7FFFH
8000H
dispositivos de 2Kbytes y no de 1 Kbyte.
87FFH
8800H
FFFFH
El microcontrolador
VDD = Voltaje
VSS = Masa
El microcontrolador
Los puertos son líneas que pueden ser configurados como entrada o como
Salida para la relación de entradas y salidas no existen ninguna regla mas
Que la limitación de la cantidad de líneas de puertos y las necesidades
De diseño del proyecto en especial.
El microcontrolador
RA0 – RA4
16F84
RB0 – RB7
¿Cuánto?
Para el puerto B:
Para cada línea se tiene la capacidad de absorción de 25 mA
RB0 – RB7
¿Cuánto?
Para el puerto B:
Para cada línea se tiene la capacidad de suministro de 20 mA
Rext
C1
OSC1/CLKIN OSC1/CLKIN
Cext
XATL PIC 16F84
PIC 16F84
C2
OSC2/CLKOUT OSC2/CLKOUT
Fosc/4
Rs
Osciladores HS y LP
HS High Speed Crystal/Resonator
Trabaja a una frecuencia comprendida entre 4 Mhz. y 20 Mhz. Para el PIC 16F84
LP Low Power Crystal Oscilador de bajo consumo y trabaja entre 32 Khz. Y 200
Khz.
RESET
RESET mediante pulsador en pin MCLR Típica conexión del pin MCLR
El microcontrolador
Conclusiones: En este momento conocemos los conceptos básicos
De los microprocesadores y en especifico las líneas de conexión del
Microcontrolador PIC 16F84 con algunas de sus características mas
Importantes tales como su uso, corriente y voltaje.