Está en la página 1de 42

Microcontroladores

Introducción:
La electrónica digital es la base del desarrollo de los microprocesadores
Que a la vez es la base de los microcontroladores.

Electrónica digital: Esta fundamentada en el desarrollo del transistor


Con el cual se desarrollaron las compuertas digitales tales como las
Conocidas and, or, not etc. El mundo digital nace de las necesidades de
computo ya que la generación de cálculos en el mundo estaba basado
Solo en las facilidades de la electrónica analógica véase con mayor
Profundidad el estudio de los amplificadores operacionales.
Una vez iniciado el mundo digital en la electrónica y acompañado del
Algebra de Boleana se potencializa una revolución ya que se desarrollan los
Prototipos para cálculos de las CPU los cuales son impulsados de manera
Exponencial con la fabricación del primer microprocesador el 4004 que fue
Diseñado para usarse en calculadoras.

M.I. Oscar Verduzco Cura


El Microprocesador.

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.

De lo anterior podemos definir que esta colocado en la


entrada de la unidad lógica y aritmética (La gran cantidad
de literatura de hecho lo coloca en sus diagramas en la
entrada de la ALU).
Para el fácil acceso además de ser retroalimentado para el
deposito del resultado de las operaciones.

Una característica dominante de este dispositivo es que su


tamaño es igual al tamaño de la palabra del
microprocesador y por ende al tamaño del bus de datos.
Registro contador del programa
Definición típica de registro
Funcionalmente un registro contador del programa es en
forma análoga el agendador de direcciones de la próxima
instrucción a ejecutar.
Es ¨obligación¨ o función el contener la dirección de la
próxima instrucción a ejecutar.
Podemos decir que tan pronto se cargue la próxima
instrucción para su ejecución este registro se incrementa
en uno para direccionar la próxima instrucción.
Como ya no dimos cuenta es un registro que contiene unica
y exclusivamente direcciones. Por lo que podemos concluir
que su tamaño es igual al ancho del bus de direcciones.
Registro apuntador de la pila
Definición típica de registro
Funcionalmente el apuntador comúnmente conocido como el stack pointer es el registro
que se encarga de llevar el control de la pila por medio de contener la dirección tope
de la pila.

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.

Para la extracción de los datos de la pila se realiza de la siguiente manera:


Se realiza el descuento de la dirección tope de la pila en el registro apuntador de la
pila y después se extrae el dato quedando de esta manera al extraer el dato con la
dirección tope de la pila en registro apuntador de la pila.
En caso de dato sencillo el descuento es de un paso. En caso de dato doble el
descuento es doble.
Registro apuntador de la pila
Conclusión: el registro apuntador de la pila trabaja en forma muy similar al
registro contador del programa, mas sin embargo la pila esta en el área
de memoria RAM. Además la información que maneja son datos y no
instrucciones como en el caso del contador del programa.

Es lógico pensar que al ser registro se necesite de circuiteria de apoyo


para la secuencias de incremento y decremento necesarias.

Instrucciones típicas para las operaciones de la pila:

PUSH Para guardar los datos en la pila


POP Para extraer los datos de la pila
Además de estar enlazadas la instrucciones de CALL, RET, RETI como
instrucciones que se trabajan en las llamadas a subrutinas e
interrupciones.

Tamaño del registro: Igual al bus de direcciones del microcontrolador o


dispositivo.
Registro Bandera
Definición típica de registro
¿Qué es el registro bandera?
Es el indicador de condición de la CPU

¿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

De ahí que este registro nos ayuda para poder


realizar bifurcación en los programas que de otra
manera serían lineales y de poca utilidad.

El tamaño de este registro es del tamaño del bus de


datos.
Registros de propósito general
Definición típica de registro

La función de estos registros es la de proporcionar áreas de


contención de información de datos los cuales son de uso
continuo.
El numero de registros es limitado ya que se ubican en el
interior de la CPU y por lo tanto su direccionamiento es
limitado y además es practico considerando que en la
mayoría de los casos es por medio de la misma instrucción.
El tamaño de estos registros considerando que son de uso
general donde se pueden guardar datos y direcciones
cuando se usan para los direccionamiento indexados.
Podemos concluir que son del tamaño del bus de datos y
hay del tamaño del bus de direcciones.
Decodificador de instrucciones
Definición: Arreglo lógico combinacional.
La función de esta unidad es la de
decodificar la información que se
encuentra en el registro de instrucciones.
Para que esta sea utilizada por la unidad
de control y tiempo.
Por lo tanto podemos decir que trabaja con
las instrucciones y esta íntimamente
relacionada con el registro de
instrucciones y el circuito de control y
tiempo
Circuito de control y tiempo
Definición: Arreglo lógico secuencial.
La función de esta unidad es que de acuerdo a la
información que emana del decodificador de
instrucciones este deberá de generar la secuencia
de señales que darán pie a la apertura de
registros y la operación en la ALU. Así como la
colocación de los resultados en el registro o la
localidad que define la instrucción.
En otras palabras es el orquestador de las acciones
que define la instrucción en curso por medio de
las señales digitales de selección, apertura,
operación y almacenamiento en una instrucción
típica.
Unidad Lógica y Aritmética
Definición: Arreglo lógico secuencial y combinacional.
La función de esta unidad es realizar las operaciones lógicas y
aritméticas

Operaciones Lógicas:
Or, Ex-or, And, Not, Rotaciones lógicas

Operaciones Aritméticas:
Suma, resta, multiplicación, división y rotaciones aritméticas

Una fuente de datos generalmente es el registro acumulador y


otra fuente puede ser un registro de propósito general o de
la memoria externa y el resultado puede ser dejado en el
acumulador, en un registro de propósito general o en la
memoria externa.
Buses de Comunicación

En la figura superior podemos ver que para poder


comunicarse la CPU necesita de tres buses los
cuales son nombrados como:
Bus de datos, bus de direcciones y bus de control.
Bus de datos
Bus de datos:
Es bidireccional y es el medio por el cual la CPU
envía y recibe los datos y las instrucciones hacia
y desde la memoria externa.
La diferencia entre datos e instrucciones radica en
el tiempo de aparición o en el tipo de memoria
donde están localizada la información.
El tamaño del bus de datos es igual al tamaño de la
palabra de proceso de la CPU y por lo tanto del
tamaño del acumulador y de algunos registros de
propósito general.
La identificación de las líneas de este bus son por
las indicaciones D0 a Dn.
Bus
Bus de direcciones:
de direcciones
Es unidireccional y es el medio por el cual la CPU envía el código que
representa la dirección de la localidad de memoria con la cual la
CPU quiere trabajar ya sea para obtener la próxima instrucción a
ejecutarse o algún dato para realizar la operación que define la
instrucción en curso.

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?

Esto se realiza por medio del bus de direcciones.

Como el microprocesador define que quiere hacer


con la localidad definida anteriormente?

Esto lo realiza por medio del bus de control

Cual es el medio por el cual se mueve la


información (datos o
Instrucciones) ya sea de salida o entrada?

Esto lo realiza por medio del bus de datos


Direccionamiento
Ubicación de la localidad
Esta se realiza por medio del código que se coloca en el bus de
direcciones Por ejemplo:
Se tiene un bus de 16 líneas con esto podemos decir que este bus
tiene una capacidad de direccionamiento de 216= 65536 por lo
tanto consideramos que se tiene 65536 diferentes códigos (o
desde 0 a 65535) por ende se puede direccionar esa misma
cantidad de localidades ya que decimos que a cada localidad se le
asigna un único código.
Direccionamiento
Ejemplo:
Microprocesador de 16 líneas de direcciones.
Memoria RAM de 1024 localidades
Memoria ROM de 1024 localidades
Armar un sistema de 2K localidades de memoria ROM y 4K
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.
A0 – A9 A0 – A9

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

En Hexadecimal Dirección Inicial 0400H


Dirección Final 07FFH
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
Memoria ROM2 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 0 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

En Hexadecimal Dirección Inicial 0100H


Dirección Final 13FFH
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
Memoria RAM2 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 0 1 1 1 1 1 1 1 1 1 1

En Hexadecimal Dirección Inicial 0200H


Dirección Final 23FFH
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
Memoria RAM3 Dirección Inicial 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Dirección Final 0 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1

En Hexadecimal Dirección Inicial 0400H


Dirección Final 43FFH
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
Memoria RAM4 Dirección Inicial 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Dirección Final 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1

En Hexadecimal Dirección Inicial 8000H


Dirección Final 83FFH
Direccionamiento
Conclusiones:

Para este sistema como se trata de direccionamiento lineal y se tiene


Dispositivos de bajo almacenamiento se tiene una capacidad limitada
De direccionamiento de 6 Kbytes. Y el mapa correspondiente de
Memoria seria:
0000H

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.

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.
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 10
ineas de dirección. Y podemos armar el sistema de la siguiente forma:

A0 – A10 A0 – A10 A11


D0 -Dn

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

En Hexadecimal Dirección Inicial 0800H


Dirección Final 0FFFH
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
Memoria ROM2 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 1 1 1 1 1 1 1 1 1 1 1

En Hexadecimal Dirección Inicial 1000H


Dirección Final 17FFH
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

En Hexadecimal Dirección Inicial 2000H


Dirección Final 27FFH
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
Memoria RAM2 Dirección Inicial 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Dirección Final 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1

En Hexadecimal Dirección Inicial 4000H


Dirección Final 47FFH
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
Memoria RAM3 Dirección Inicial 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Dirección Final 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1

En Hexadecimal Dirección Inicial 8000H


Dirección Final 87FFH
Direccionamiento
Conclusiones:

Para este sistema como se trata de direccionamiento lineal y se tiene


Dispositivos de mas capacidad de almacenamiento que en el ejemplo
Anterior. La capacidad de direccionamiento es de 10 Kbytes. Y el mapa
correspondiente de memoria seria:
0000H

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

En Hexadecimal Dirección Inicial 0000H


Dirección Final 07FFH
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
Memoria ROM2 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

En Hexadecimal Dirección Inicial 0800H


Dirección Final

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

En Hexadecimal Dirección Inicial 2000H


Dirección Final 27FFH
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
Memoria RAM2 Dirección Inicial 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Dirección Final 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1

En Hexadecimal Dirección Inicial 4000H


Dirección Final 47FFH
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
Memoria RAM3 Dirección Inicial 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Dirección Final 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1

En Hexadecimal Dirección Inicial 8000H


Dirección Final 87FFH
Direccionamiento
Conclusiones:

Para este sistema como se trata de direccionamiento lineal y se tiene


Dispositivos de mas capacidad de almacenamiento que en el ejemplo
Anterior. La capacidad de direccionamiento es de 10 Kbytes. Y el mapa
correspondiente de memoria seria:
0000H

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

En la figura superior tenemos un microcontrolador de la familia de los PICs


Que los fabrica la compañía Microchip. Este microcontrolador es el famoso
16F84 el cual tiene las siguientes características exteriores
El microcontrolador
Puertos de comunicación con el exterior
Puerto A = Tiene cinco líneas de comunicación, las líneas son nombradas
de la siguiente manera RA0, RA1, RA2, RA3 y RA4 pines 17, 18, 1, 2 y 3
Respectivamente.

Puerto B = Tiene ocho líneas de comunicación, las líneas son nombradas


De la siguiente manera RB0, RB1, RB2, RB3, RB4, RB5, RB6 y RB7 pines 6,
7, 8, 9, 10, 11, 12 y 13 respectivamente.

Líneas de alimentación y referencia = Para la alimentación el circuito tiene


La línea nombrada como VDD y para la señal de referencia o ground se tiene
La línea VSS pines 14 y 5 respectivamente.

Líneas de temporización o señal de reloj = Para esta función se tiene dos


Líneas las cuales son nombradas como OSC1/CLOCKIN y OSC2/CLOCKOUT
pines 16 y 15 respectivamente.

Línea de Reset = También conocida como MCLR localizada en el pin4


El microcontrolador
Alimentación del circuito. El nivel de voltaje requerido es de 5 Volts y se
Conecta como lo señala la figura.

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

Si se configura como salida las líneas del puerto A es necesario


Tener las siguientes consideraciones:

Salida en nivel bajo significa que el microcontrolador absorbe corriente

¿Cuánto?

Para cada línea se tiene especificado un máximo de 25 mA (modo sink)

En total el puerto tiene una capacidad de absorción de 80 mA.

Para el puerto B:
Para cada línea se tiene la capacidad de absorción de 25 mA

En total el puerto tiene una capacidad de absorción de 150 mA.


El microcontrolador
RA0 – RA4
16F84

RB0 – RB7

Si se configura como salida las líneas del puerto A es necesario


Tener las siguientes consideraciones:

Salida en nivel alto significa que el microcontrolador suministra corriente

¿Cuánto?

Para cada línea se tiene especificado un máximo de 20 mA (modo source)

En total el puerto tiene una capacidad de suministro de 50 mA.

Para el puerto B:
Para cada línea se tiene la capacidad de suministro de 20 mA

En total el puerto tiene una capacidad de suministro de 100 mA.


El microcontrolador
OSC1/CLKIN
16F84 16
OSC1/CLKOUT
15

Para que el microcontrolador trabaje al igual que los microprocesadores necesita


de una señal de sincronización que el ámbito se llama reloj.

Si, con esto confirmamos es un circuito sincrono.

Especificaciones del reloj:

XT Cristal de cuarzo.- Oscilador estándar que permite la frecuencia de 100 Khz. A


4 Mhz.

RC Oscilador de bajo costo formado por un circuito RC, Es de bajo, y de baja


presición, adecuado para aplicaciones donde no se tiene importancia la exactitud
de la frecuencia.
El microcontrolador
OSC1/CLKIN
16F84 16
OSC1/CLKOUT
15

Esquemas de conexión de las señales


Vcc
de reloj

Rext

C1
OSC1/CLKIN OSC1/CLKIN
Cext
XATL PIC 16F84
PIC 16F84
C2
OSC2/CLKOUT OSC2/CLKOUT
Fosc/4
Rs

Oscilador configuración HS, XT y LP Configuración del oscilador RC


El microcontrolador
OSC1/CLKIN
16F84 16
OSC1/CLKOUT
15

Tabla de valores de componentes y sus frecuencias de trabajo

Condensador externo Resistencia externa Frecuencia


20 pf 5k 4.61 Mhz.
10k 2.66 Mhz.
100k 311 khz.
100 pf 5k 1.34 Mhz.
10k 756 Khz.
100k 82.8 khz.

300 pf 5k 428 khz.


10k 243 khz.
100k 26.2 khz.
El microcontrolador
OSC1/CLKIN
16F84 16
OSC1/CLKOUT
15

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.

El circuito para HS, LP y XT es el mismo.


El microcontrolador
5V
5V
100 10 K

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.

También podría gustarte