Está en la página 1de 169

Circuitos Digitales II

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

NDICE

Pgina

Presentacin

Red de contenidos

Unidad de aprendizaje 1: Sistema secuencial


1.1 Tema 1

Introduccin

10

1.1.1. :

Sistema secuencial

10

1.1.2. :

Diseo de circuitos secuenciales

12

Elementos bsicos secuenciales

20

1.2.1. :

Latchs

20

1.2.2. :

Flip-Flops

22

1.2 Tema 2

Unidad de aprendizaje 2: Sistema de almacenamiento temporal


2.1 Tema 3

Registros

32

2.1.1. :

Tipos

32

2.1.2. :

Registro en un IC

42

Memorias

46

2.2.1. :

Tipos

47

2.2.2. :

Acceso a las memorias

49

2.2 Tema 4

Unidad de aprendizaje 3: Circuitos de temporizacin y cuenta


3.1 Tema 5

Temporizador o Timer

56

3.1.1. :

Disposicin de contactos

57

3.1.2. :

Modos de operacin

58

3.1.3. :

Aplicaciones

64

Circuitos de cuenta

70

3.2.1. :

Diseo de circuitos de cuenta

70

3.2.2. :

Contador binario de 4 bits

76

3.2 Tema 6

CIBERTEC

CARRERAS PROFESIONALES

Unidad de aprendizaje 4: Sistemas de acceso a un canal


4.1 Tema 7

Multiplexores

88

4.1.1. :

Multiplexores de 4 a 1

88

4.1.2. :

Multiplexores de 8 a 1

90

4.1.3. :

Circuitos integrados multiplexores

91

4.1.4. :

Sistemas de Multiplexacin

93

Demultiplexores

96

4.2.1. :

Demultiplexores de 1 a 4

96

4.2.2. :

Demultiplexores de 1 A 8

98

4.2.3. :

Circuitos integrados demultiplexores

99

4.2 Tema 8

Unidad de aprendizaje 5: Sistema de adquisicin de datos


5.1 Tema 9

Componentes de Adquisicin

104

5.1.1. :

Buffer de datos

104

5.1.2. :

Latch de datos

107

5.1.3. :

Conversores ADC y DAC

108

Sistema de adquisicin de datos

118

5.2.1. :

El puerto paralelo

119

5.2.2. :

Diseo de tarjetas de adquisicin de datos

124

5.2 Tema 9

Unidad de aprendizaje 6: Microcontroladores PIC


6.1 Tema 10

Introduccin a los microcontroladores

128

6.1.1. :

Microprocesador y Microcontrolador

128

6.1.2. :

El PIC16F84

129

6.1.3. :

Organizacin de la memoria

138

Programacin del PIC

152

6.2.1. :

Juego de instrucciones

152

6.2.2. :

Acceso a los puertos

154

6.2.3. :

Desarrollo de programas

161

6.2 Tema 11

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

PRESENTACIN

El curso de Circuitos Digitales II pertenece a la lnea de los sistemas


digitales, puesto que es una asignatura de especialidad en la carrera de
Electrnica. Permitir al estudiante obtener el conocimiento fundamental de los
componentes electrnicos secuenciales en su conjunto y servir de base para
el desarrollo de la carrera.

El manual para el curso ha sido diseado bajo la modalidad de unidades de


aprendizaje, las que se desarrollan durante semanas determinadas. En cada una
de ellas, hallar los logros, que debe alcanzar al final de la unidad; el tema
tratado, el cual ser ampliamente desarrollado; y los contenidos, que debe
desarrollar, es decir, los subtemas. Por ltimo, encontrar las actividades que
deber desarrollar en cada sesin, que le permitirn reforzar lo aprendido en la
clase.

El curso es netamente prctico: ello quiere decir que es desarrollado en


laboratorios. Asimismo, abarca 6 unidades de aprendizaje con los siguientes
temas: sistema secuencial, sistemas de almacenamiento temporal de
informacin, circuitos de temporizacin y cuenta, sistemas de acceso a un
canal, sistemas de adquisicin de datos y Microcontroladores PIC. Se concluye
el curso con la presentacin de un proyecto aplicativo al diseo electrnico
digital.

CIBERTEC

CARRERAS PROFESIONALES

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

RED DE CONTENIDOS
CIRCUITOS DIGITALES II

MICROCONTROLADORES
PIC

SISTEMA
SECUENCIAL

Introduccin

Flip-flops

El PIC16F84

Latchs
Circuito
secuencial

SISTEMAS DE
ADQUISICIN DE DATOS

SISTEMAS DE
ALMACENAMIENTO
TEMPORAL

Buffer y
Latchs
Conversores
ADC/DAC

Memorias

Circuitos de
adquisicin

Registros

CIRCUITOS DE
TEMPORIZACIN
Y CUENTA

Contadores
binarios y BCD
El Timer

CIBERTEC

SISTEMAS DE
ACCESO
A UN CANAL

Multiplexores

Demultiplexores

CARRERAS PROFESIONALES

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

UNIDAD DE
APRENDIZAJE

SISTEMA SECUENCIAL
LOGRO DE LA UNIDAD DE APRENDIZAJE

Al trmino de la unidad, el alumno disea diferentes tipos de registros y una


memoria bsica aplicando arreglo de puertas lgicas y Flip-Flops.

TEMARIO

Introduccin

Sistema secuencial

Diseo de circuitos secuenciales

ACTIVIDADES PROPUESTAS

Los alumnos, mediante software de simulacin, disean circuitos digitales.


bsicos que involucran realimentacin.

Los alumnos implementan, en protoboards, dichos circuitos.

CIBERTEC

CARRERAS PROFESIONALES

10

1.1 INTRODUCCIN
Actualmente, al pasar por cualquier centro
comercial, se aprecian avisos luminosos que
cambian de formato cada cierto tiempo.
Asimismo,

observamos

tambin

relojes

digitales que cambian cada segundo y cada


60 segundos (un minuto) y cada 60 minutos
(una hora), pero cmo lo hacen? Cmo se
logran automatizar estos y otros sistemas
digitales?

El principio se basa en la realimentacin. La


salida de estos sistemas no slo depende de
las entradas sino tambin del estado anterior
de la misma salida, por lo cual es necesaria la
realimentacin en el sistema.

Esta realimentacin de la salida a la entrada sirve como medio generador de una


nueva entrada, la cual produce una nueva salida, que a su vez, genera una nueva
entrada y as sucesivamente, siguiendo una secuencia en un determinado orden.

Para que los circuitos secuenciales puedan generar una secuencia, necesitan que los
gobierne un reloj o circuito temporizador, el cual genera un tren de pulsos a una
frecuencia constante.

1.1.1 SISTEMA SECUENCIAL


Un circuito secuencial es una combinacin de puertas lgicas en un determinado
arreglo, que permite realizar una secuencia de acuerdo a un formato especfico, para
una determinada funcin. Un elemento fundamental de un circuito secuencial es el
Flip-Flop.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

11

El circuito secuencial ms simple es el biestable. En efecto, la mayora de los circuitos


de este tipo estn gobernados por un reloj: a estos se les llama sncronos o
sincronizados por cambiar de estado en forma peridica, pero tambin existen los
asncronos que no son controlados por reloj. Los sistemas secuenciales ms
populares son los contadores y los registros de desplazamiento.

El comportamiento de un circuito secuencial se determina mediante las entradas, las


salidas y los estados anteriores. Tanto las salidas como el estado siguiente son
funcin de las entradas y del estado presente. El anlisis de los circuitos secuenciales
consiste en obtener una tabla o un diagrama de las secuencias de tiempo de las
entradas, salidas y estados internos. Tambin es posible escribir expresiones
booleanas que describen el comportamiento de los circuitos secuenciales. Sin
embargo, esas expresiones deben incluir la secuencia de tiempo necesario, ya sea en
forma directa o indirecta.

La mayora de los sistemas secuenciales estn gobernados por seales de reloj: a


stos se los denomina "sncronos" o "sincrnicos", a diferencia de los "asncronos" o
"asincrnicos" que son aquellos que no son controlados por seales de reloj.

Dependiendo de cmo se obtengan las funciones de salida, los sistemas secuenciales


pueden tener dos estructuras denominadas autmata de Moore y autmata de Mealy.

CIBERTEC

CARRERAS PROFESIONALES

12

Mquina de Moore: Las salidas slo dependen del estado interno y de cualquier
entrada sincronizada con el circuito, tal como se observa en la siguiente figura:

Mquina de Mealy. En esta mquina de estados, las salidas se encuentran


determinadas por el estado interno del sistema y por las entradas no sincronizadas
con el circuito. El diagrama de bloques representativo de esta mquina se muestra en
la figura. En ella, se observa que las salidas del sistema son tanto sincrnicas como
asincrnicas.

1.1.2 DISEO DE CIRCUITOS SECUENCIALES


Para el anlisis y diseo de circuitos secuenciales, se requieren herramientas como las
ecuaciones lgicas, los diagramas de estado, las tablas de estado, las tablas de transicin
y los mapas de Karnaugh.

1.1.2.1 ECUACIONES LGICAS

Son funciones que definen la relacin existente entre los estados de entrada y los
estados de salida del sistema. Inicialmente, se deben identificar los estados siguientes.
Estos estados corresponden a aquellos que ocurren despus de una transicin de la
seal de reloj aplicada en los flip-flops.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

13

Dada la siguiente ecuacin: Rn+1= P' M R'n+ P' M Rn+ P' M' Rn

Donde:
Rn+1 es la variable de salida en el tiempo siguiente.
Rn es el estado de la variable actual.
M y P son las variables de entrada.
Determinamos que las ecuaciones lgicas en los circuitos secuenciales tienen una
estructura formada por dos clases de estados:

Los estados siguientes, los cuales se agrupan al lado izquierdo de la expresin y


representan las variables dependientes del sistema. El estado de estas variables
cambia en el momento que ocurra una transicin de la seal de reloj.

Los estados actuales y entradas del sistema. Agrupados al lado derecho de la


expresin, constituyen las variables independientes, las cuales pueden o no cambiar
en sincrona con el sistema.

Si a esta ecuacin lgica la simplificamos, tendramos:

Rn+1= P' (M + M' Rn), aplicando absorcin se obtiene


Rn+1= P' (M + Rn) aplicando Morgan
Rn+1= [P+ (M+Rn)']'
La siguiente grfica corresponde a la ecuacin lgica simplificada:

De esta, se puede apreciar que la salida Rn, no slo depende de las entradas M y
P, sino tambin, del estado anterior de la misma salida Rn (por la realimentacin).

CIBERTEC

CARRERAS PROFESIONALES

14

1.1.2.2 TABLAS DE ESTADO

Son tablas que contiene la secuencia de los estados de entradas, estados internos y
salidas del sistema, considerando todas las combinaciones.

Con la informacin obtenida de estas tablas, se disean los circuitos lgicos


respectivos, despus de simplificar y reducir la expresin booleana correspondiente.
1.1.2.3 DIAGRAMAS DE ESTADO

Es una representacin grfica que indica la secuencia de los estados que se


presentan en un circuito secuencial, teniendo en cuenta las entradas y salidas.

El diagrama se forma con crculos y lneas. Los crculos contienen los estados del
circuito secuencial y las lneas indican las transiciones entre estos estados. Los
estados separados por un (/), representan la entrada y salida respectiva antes de cada
transicin.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

15

De acuerdo con diagrama, el estado interno 01 ser el estado siguiente de la


secuencia: si el estado interno actual es 00, la entrada actual es 1 y la salida actual es
0.

1.1.2.4 TABLAS DE TRANSICION

Se usan en conjunto con las de estado y representan la tabla de verdad de los flipflops con los cuales se desea implementar el circuito secuencial. La tabla contiene los
estados de transicin de salida (actual y siguiente) para cada estado de las entradas.

CIBERTEC

CARRERAS PROFESIONALES

16

1.1.2.5 MAPAS DE KARNAUGH

Los Mapas de Karnaugh permiten simplificar las funciones lgicas.

Tomaremos como ejemplo para aplicar Karnaugh, la salida Q1 y una de sus entradas,
J1. El mapa se llena con los valores de la entrada J1.

Las variables X pueden tomar cualquiera de los dos estados (0 o 1), lo que mejor nos
convenga para realizar una agrupacin ms ptima. En este caso, las Xs vecinas de
los dos unos convienen que sean unos para realizar la agrupacin de 4 unos. Las Xs
del extremo derecho convendran que sean ceros.

De esta agrupacin se tiene que:

CARRERAS PROFESIONALES

J1= Q0

CIBERTEC

CIRCUITOS DIGITALES II

17

Resumen
En un sistema secuencial,

las salidas no slo dependen de sus entradas, sino

tambin del estado anterior.

El circuito secuencial permite, sobre la base de la realimentacin, repetir una


determinada salida en forma peridica.

Si desea saber ms acerca de estos temas, puede consultar las siguientes pginas:

http://es.wikipedia.org/wiki/Sistema_secuencial
Aqu hallar informacin sobre definiciones y sistemas realimentados que generan
una determinada secuencia.

http://www.sec.upm.es/docencia/plan_92/ed/descarga_ED/Tema4-4pph.pdf
Aqu encontrar una vista panormica de los circuitos secuenciales y sus
componentes.

CIBERTEC

CARRERAS PROFESIONALES

18

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

19

UNIDAD DE
APRENDIZAJE

SISTEMA SECUENCIAL
LOGRO DE LA UNIDAD DE APRENDIZAJE

Al trmino de la unidad, el alumno disea diferentes tipos de registros y una


memoria bsica aplicando arreglo de puertas lgicas y Flip-Flops.

TEMARIO

Elementos bsicos secuenciales

Latchs

Flip-Flops

Tipos

ACTIVIDADES PROPUESTAS

Los alumnos, mediante software de simulacin, disean un circuito secuencial


empleando Flip Flops.

Los alumnos disean circuitos secuenciales de activacin y desactivacin de


sistemas.

Los alumnos implementan en protoboards dichos circuitos.

CIBERTEC

CARRERAS PROFESIONALES

20

1.2 ELEMENTOS BSICOS SECUENCIALES


Los elementos bsicos sobre los cuales se sustenta el funcionamiento de todos los
circuitos secuenciales recaen sobre los Latchs y Flip Flop, dos elementos muy simples
en su anlisis y funcin individual, pero, al asociarlos correctamente, podemos crear
sistemas secuenciales bastante complejos.

1.2.1 LATCH
Las puertas lgicas estn formadas por arreglo de transistores bipolares o MOS (metal
oxido complementario). Un LATCH est formado por un arreglo de puertas lgicas
cuya salida no slo depende de las entradas sino del estado anterior.
El LATCH R-S
Es el ms comn que se puede formar con un arreglo
puertas NOR como muestra la figura o con un arreglo de
puertas NAND.
El LATCH tiene una conexin de acoplamiento nter
cruzado de la salida de una compuerta a la entrada de la
otra. Constituye un camino de retroalimentacin; por esta
razn,

los

circuitos

se

clasifican

como

circuitos

secuenciales asincrnicos. Cada LATCH tiene dos salidas, Q y /Q y dos entradas S


(set) y R (reset). Las letras R y S son las iniciales de los nombres en ingls de las
entradas (reset y set). /Q es Q negada o el complemento de Q.
Anlisis
Para analizar la operacin del circuito de la figura anterior, se debe recordar que la
salida de una compuerta NOR es 0 si cualquier entrada es 1 y que la salida es 1,
solamente cuando todas las entradas sean 0. Como punto de partida, asmase que la
entrada de puesta a uno (set) es 1 y que la entrada de puesta a 0 (reset) sea 0. Como
la compuerta 2 tiene una entrada de 1, su salida /Q debe ser 0, lo cual coloca ambas
entradas de la compuerta 1 a 0 para tener la salida Q como 1. Cuando la entrada de
puesta a uno (set) vuelva a 0, las salidas permanecern iguales ya que la salida Q
permanece como 1, dejando una entrada de la compuerta 2 en 1. Esto causa que la
salida /Q permanezca en 0, lo cual coloca ambas entradas de la compuerta nmero 1
en 0 y as la salida Q es 1.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

21

De la misma manera, es posible demostrar que un 1 en la entrada de puesta a cero


(reset) cambia la salida Q a 0 y /Q a 1. Cuando se aplica un 1 a ambas entradas de
puesta a uno y puesta a cero ambas salidas Q y /Q van a 0. Esta condicin viola el
hecho de que las salidas Q y /Q son complementos entre s. En operacin normal,
esta condicin debe evitarse; para ello, es necesario asegurarse, de que no se aplica
un 1 a ambas entradas simultneamente.

Un LATCH tiene dos entradas tiles. Cuando Q = 1 y /Q = 0 estar en el estado de


puesta a uno (o estado 1). Cuando Q = 0 y /Q = 1 estar en el estado de puesta a cero
(o estado 0). Las salidas Q y /Q son complementos entre s y se les trata como salidas
normales y de complemento respectivamente. El estado binario de un LATCH se toma
como el valor de su salida normal. Bajo operacin normal, ambas entradas
permanecen en 0 a no ser que el estado del LATCH haya cambiado. La aplicacin de
un 1 momentneo a la entrada de puesta a uno causar que el LATCH vaya a ese
estado. La entrada de puesta en uno debe volver a cero antes de que se aplique un
uno a la entrada de puesta a cero. Un 1 momentneo aplicado a la entrada de puesta
a cero causar que el LATCH vaya al estado de borrado (o puesta a cero).

Cuando ambas entradas son inicialmente cero y se aplica un 1 a la entrada de puesta


a uno o se aplica un 1 a la entrada de puesta a cero mientras que el LATCH est
borrado, quedarn las salidas sin cambio. Cuando se aplica un 1 a ambas entradas de
puesta a uno y puesta a cero, ambas salidas irn a cero. Este estado es indefinido y
se evita normalmente. Si ambas salidas van a 0, el estado del LATCH es
indeterminado y depende de aquella entrada que permanezca por mayor tiempo en 1
antes de hacer la transicin a cero.
Tabla de verdad que lo representa

CIBERTEC

Qt+1

Qt

No usar

CARRERAS PROFESIONALES

22

LATCH con compuertas NANDS


El circuito bsico NAND opera con ambas entradas
normalmente en 1 a no ser que el estado del flip-flop
tenga

que

cambiarse.

La

aplicacin

de

un

momentneo a la entrada de puesta a uno, causar


que Q vaya a 1 y Q vaya a 0, llevando el flip-flop al
estado de puesta a uno. Despus que la entrada de
puesta a uno vuelva a 1, un 0 momentneo en la
entrada de puesta a cero causar la transicin al estado de borrado (clear). Cuando
ambas entradas vayan a 0, ambas salidas irn a 1. Esta condicin se evita en la
operacin normal de un flip-flop.

1.2.2 FLIP FLOP O BIESTABLE


Est formado por un conjunto de LATCHS. Tiene una seal de control que permite
modificar y mantener en un estado determinado o en el contrario durante un tiempo
indefinido. Esta caracterstica es ampliamente utilizada en electrnica digital para
memorizar informacin. El paso de un estado a otro se realiza variando sus entradas.

Dependiendo del tipo de dichas entradas, los biestables se dividen en:

Asncronos: slo tienen entradas de control. El ms empleado es el Biestable


RS.

Sncronos: adems de las entradas de control, posee una entrada de


sincronismo o de reloj. Si las entradas de control dependen de la de
sincronismo se denominan sncronas y en caso contrario asncronas.

Por lo general, las entradas de control asncronas prevalecen sobre las sncronas. La
entrada de sincronismo puede ser activada por nivel (alto o bajo) o por flanco (de
subida o de bajada). Dentro de los biestables sncronos activados por nivel, estn los
tipos RS y D, y dentro de los activos por flancos los tipos JK, T y D.

Adems de los parmetros caractersticos de la familia lgica a la que pertenecen,


como son niveles lgicos, fan-out., etc. cabe destacar una serie de parmetros, ms o
menos normalizados, relativos a la temporizacin de las diferentes seales que
intervienen en la conmutacin de los flip-flops. Entre ellos,

hay que destacar los

siguientes:

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

23

Tiempo de establecimiento (SET UP TIME). Es el tiempo anterior al flanco activo de


toma de datos durante el cual las entradas no deben cambiar.
Tiempo de mantenimiento (HOLD TIME). Es el tiempo posterior al flanco activo de
toma de datos durante el cual las entradas no deben cambiar.

Frecuencia mxima de reloj. Es la frecuencia mxima admisible de la seal de reloj


que garantiza el fabricante.
Duracin del tiempo alto de reloj. Es el tiempo mnimo que debe durar la parte alta
del impulso de reloj.
Duracin del tiempo bajo de reloj. Es el tiempo mnimo que debe durar la parte baja
del impulso de reloj.

Tiempo bajo de PRESET Y CLEAR. Es el tiempo mnimo en que debe activarse las
entradas asncronas para garantizar su funcionamiento.
Tiempo de retardo o propagacin. Es el tiempo que transcurre desde el flanco activo
del reloj que produce la conmutacin y el momento en que sta tiene lugar.
Un FLIP FLOP puede ser activado por nivel o maestro-esclavo. El activado por nivel se
caracteriza por obedecer niveles de voltaje es decir 0 o 1. En cambio, un maestroesclavo est formado por 2 FLIP FLOPs de nivel y uno depende del otro. Un circuito
flip-flop puede mantener un estado binario indefinidamente (siempre y cuando se le
est suministrando energa al circuito) hasta que se cambie por una seal de entrada
para cambiar estados. La principal diferencia entre varios tipos de flip-flops es el
nmero de entradas que poseen y la manera en la cual las entradas afecten el estado
binario de salida.

1.2.2.1 TIPOS

Existen varios tipos de Biestables los cuales se caracterizan por su forma de trabajo
para una aplicacin determinada y por su tabla de verdad.

La clasificacin es la siguiente:

CIBERTEC

CARRERAS PROFESIONALES

24

1.2.2.1.1 FLIP FLOP RS


Biestable, que se caracteriza por tener 01 estado prohibido. Se puede implementar
con NANDS o NORS. RESET significa que la salida Q se pone a 0 y SET significa que
la salida Q se pone a 1.

La gran diferencia entre LATCH y FLIP FLOP es que el LATCH cambia de estado de
acuerdo con sus variables de entrada, mientras que el FLIP FLOP cambia de estado
de acuerdo con seales de control gobernadas externamente.

Circuito flip-flop bsico con compuertas NOR o NAND


El modo de trabajo es similar al LATCH con la diferencia que tienen seales de
habilitacin que permiten presentar o limpiar una determinada informacin en cualquier
momento.
Flip-flop RS temporizado
El flip-flop bsico por si solo es un circuito secuencial asincrnico. Agregando
compuertas a las entradas del circuito bsico, puede hacerse que el flip-flop responda
a los niveles de entrada durante la ocurrencia del reloj. El flip-flop RS temporizado
mostrado en la siguiente figura consiste en un flip-flop bsico formado por compuertas
NANDS. Las salidas de las dos compuertas NANDS permanecen en uno, mientras el
pulso del reloj (abreviado en ingls Ck) sea 0, independientemente de los valores de
entrada S y R se permite llegar al flip-flop bsico.

El estado de puesta a uno (Q=1) se logra con S=1, R=0, y Ck=1. Para cambiar al
estado de puesta a cero (Q=0) las entradas deben ser S=0, R=1 y Ck = 1. Con S=1,

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

25

R=1 y CK=1, la ocurrencia de los pulsos de reloj causar que ambas salidas vayan
momentneamente a 1. El estado del flip-flop ser indeterminado, es decir, podra
resultar cualquier estado, dependiendo de si la entrada de puesta a uno o la de puesta
a cero del flip flop bsico permanezca el mayor tiempo, antes de la transicin a 0 al
final del pulso.

El flip flop RS sincronizado o temporizado tiene tres entradas: S, R


y Ck. La entrada Ck se reconoce fcilmente por un pequeo
tringulo. El tringulo es un smbolo para el indicador dinmico y
denota el hecho de que el flip-flop responde a una transicin del
reloj de entrada o flanco de subida de una seal de un nivel bajo (o
binario) a un nivel alto (1 binario). Las salidas del flip-flop se marcan con Q y /Q dentro
del recuadro.

El RS sncrono se caracteriza por manejar un reloj que de acuerdo a un valor 0 0 1


permitir guardar o no un determinado dato. Este F/F RS se emplea de esta manera
para poder guardar informacin sin intervenir en el dato; por esta razn, se le conoce
como el F/F RS sincronizado.

CK

Qt+1

Qt

Qt

No usar

1.2.2.1.2 FLIP FLOP D

El flip-flop D es una modificacin del flip-flop RS sincronizado, al cual se le ha


agregado un inversor. La entrada D va directamente a la entrada S y su complemento
se aplica a la entrada R a travs del inversor. Mientras que el pulso de reloj de entrada
sea un 0, no se produce ningn cambio en el flip flop. La entrada D se comprueba

CIBERTEC

CARRERAS PROFESIONALES

26

durante la ocurrencia del pulso de reloj. Si es 1, la salida del flip-flop cambia al estado
de puesta a uno (a no ser que ya est en ese estado). Cuando D est en 0, la salida
del flip-flop cambia al estado de borrado o cero.

De tal manera que nunca R y S son iguales, pues el inversor se


encarga de que no lo sean por lo tanto en vez de tener dos
entradas R y S se tiene solo una y se llama D. Este flip flop tipo D
se emplea mucho en circuitos donde es necesario retener un BIT.
Ello es el principio bsico de la memoria. En general, se representa
el flip-flop D con el smbolo mostrado a la derecha.

A continuacin, se muestra su tabla de verdad:

CK

Qt+1

Qt

Actualmente, los Flip flops tipo D vienen con 2 seales ms


PRESET y el CLEAR. El PRESET permite preestablecer el estado
de su salida o CLEAR borrar el estado de su salida.
Efectivamente, se debe TENER CUIDADO DE PONER Pr o Cr
ambos a cero. Si no se utilizan, ambos deben fijarse a uno.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

27

1.2.2.1.3 FLIP FLOP JK

Tiene 2 entradas y ningn estado prohibido. Su diseo circuital es el siguiente:

Su tabla de verdad es la siguiente:

CK

Qt+1

Qt

Qt

Qt

En este caso, si se activa J, la salida se pone en nivel alto, es decir, 1; si se activa k, la


salida se pone en nivel bajo, es decir, 0. En cambio, si no se activan ninguna de las
entradas, el biestable permanece en el estado que posea tras la ltima operacin de
borrado o grabado. Por otro lado, si se activan las 2 entradas la salida adquirir el
estado contrario al que tena previamente.

Su ecuacin caracterstica es:

A continuacin se muestra el flip/flop JK en su modo nativo:

CIBERTEC

CARRERAS PROFESIONALES

28

Flip Flop JK activado por flancos


Junto con las entradas J y K, existe una entrada C de sincronismo o de reloj cuya
funcin es la de permitir el cambio de estado cuando se produce un flanco de subida o
de bajada, segn sea el caso. De acuerdo con la tabla de verdad, cuando las entradas
J y K estn a nivel lgico 1, a cada flanco activo en la entrada de reloj, la salida del
biestable cambia de estado.

De acuerdo con la tabla de verdad del


Flip Flop JK, cuando las entradas J y K
estn a nivel lgico 1, a cada flanco
activo en la entrada de reloj, la salida del
biestable cambia de estado. En el
siguiente ejemplo, se asume que se
tiene un flip flop con 2 entradas 1J y 1K
maneja un reloj de entrada C1. Note que el reloj en la figura (a) se activa con 1 y en la
figura (b) se activa con 0.

En (a) se activa la salida por flancos de subida, en (b) se activa la salida con flancos
de bajada.
Flip Flop JK maestro esclavo con cierre de datos
Las entradas se activan durante el flanco de subida del reloj, mientras que la salida se
activa con el flanco de bajada del mismo pulso. Cualquier cambio que se produzca en
las entradas durante el tiempo en que el reloj se encuentre a nivel alto, no produce
ningn cambio en la salida.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

29

1.2.2.2.3 FLIP FLOP T

Se define en base a un JK. Este flip flop tiene una sola entrada; asimismo, tiene slo
dos condiciones: cuando T = 0 (J=K=0), una transicin de reloj no cambia el estado del
flip-flop, es decir, mantiene su estado. Cuando T = 1 (J=K=1), una transicin de reloj
complementa el estado del flip-flop, es decir, su estado anterior se complementa.

A continuacin, se muestra su smbolo y su tabla de verdad:

CIBERTEC

CK

Qt+1

Qt

Qt

Qt

CARRERAS PROFESIONALES

30

Resumen
Los Flip flops representan los elementos fundamentales sobre los que se sustenta
el funcionamiento de los dems circuitos secuenciales. Es importante tomar en
cuenta que los flip flops necesitan de una orden externa (control) para poder
procesar una determinada informacin.

Existen varios tipos de flip flops que pueden representar diversas secuencias de
salida, tenemos los flip flops tipo R-S, tipo D, tipo J-K y T. Los tipo D comnmente
se aplican en sistemas de almacenamiento de informacin, mientras que los J-K y
T en sistemas de cuenta.

Si desea saber ms acerca de estos temas, puede consultar las siguientes


pginas:
http://www.electronica2000.com/digital/cirlogse.htm

Aqu encontrars informacin sobre cmo se generan los latchs y flip flops.
Tambin, hallar informacin sobre definiciones y sistemas realimentados que
generan una determinada secuencia.

http://www.monografias.com/trabajos14/flipflop/flipflop.shtml
Aqu podr analizar la funcin de los diferentes tipos de flip flop que existen.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

31

UNIDAD DE
APRENDIZAJE

SISTEMAS DE ALMACENAMIENTO TEMPORAL


LOGRO DE LA UNIDAD DE APRENDIZAJE

Al trmino de la unidad, el alumno disea diferentes tipos de registros y una


memoria bsica, aplicando arreglo de puertas lgicas y Flip-Flops.

TEMARIO

Registros

Tipos

ACTIVIDADES PROPUESTAS

Los alumnos mediante software de simulacin implementan registros PIPO,


PISO, SIPO y SISO utilizando flip-flops y puertas lgicas.

Los alumnos implementan en protoboard dichos circuitos.

CIBERTEC

CARRERAS PROFESIONALES

32

2.1 REGISTROS
Son sistemas digitales de almacenamiento temporal de informacin; asimismo, se
estructuran asociando flip flops, ya que un flip flop es una celda binaria capaz de
almacenar un bit de informacin y un registro de n-bit tiene un grupo de n flip-flop y es
capaz de almacenar cualquier informacin binaria que contenga n bits.

Adems de los flip-flops, un registro puede tener compuertas combinacionales que


realicen ciertas tareas de procesamiento de datos. En su definicin ms amplia, un
registro consta de un grupo de flip-flop y compuertas que efectan una transicin. Los
flip flop mantienen la informacin binaria y las compuertas controlan cuando y como se
transfiere informacin nueva al registro.

En un registro, es necesario que todos los flip flops que lo conforman estn
gobernados por un mismo reloj de control, de tal manera que, cuando se da la orden
de grabar, se retenga el nmero de bits deseado.

Estn disponibles varios registros en la forma de circuito integrado (chip). El registro


ms sencillo consta de flip-flop solos sin ninguna compuerta externa.

Algunas de sus aplicaciones se listan a continuacin:

Transmitir y recibir datos en serie paralelo y viceversa.

Conversin de datos serie paralelo y viceversa.

Almacenamiento de informacin (memoria)

Puertos de salida de los microcontroladores.

Secuenciadores de luces y avisos publicitarios.

Multiplicadores y divisores de frecuencia.

2.1.1 TIPOS Y APLICACIONES

Existen varios tipos de registros que realizan diferentes funciones de acuerdo a una
determinada necesidad;

por

ejemplo,

los

de almacenamiento temporal,

de

desplazamiento y de desplazamiento bidireccional.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

33

2.1.1.1 REGISTROS DE ALMACENAMIENTO TEMPORAL


Est construido con flip-flop tipo D
y una entrada comn de pulsos de
reloj. La entrada de pulsos de reloj,
CK, habilita todos los flip-flop de
modo que la informacin presente
disponible en las entradas puede
transferirse al registro. Las salidas
pueden muestrearse para obtener
la informacin almacenada en ese momento en el registro.

El

registro

es

un

dispositivo

para

almacenar

informacin

guardarla

momentneamente. Esto se realiza aplicando un pulso de reloj. Si el registro estuviera


conectado al reloj principal, estara cambiando constantemente en cada bajada.
La informacin presentada en una entrada de informacin D se transfiere a la salida Q
cuando el pulso de habilitacin CK es activado con su nivel respectivo y la salida Q
sigue los datos de entrada en tanto la seal CK permanezca activada. Cuando CK se
desactiva, la informacin que estaba presente en la entrada de informacin
precisamente antes de la transicin se retiene en la salida Q. En otras palabras, los
flip-flop son sensitivos a la duracin del pulso y el registro se habilita mientras CP = 1.
Hay varias mejoras que pueden realizarse a este diseo. Muchos registros vienen con
seales asincrnicas de set y clear, tal como se muestra en el siguiente circuito:

Como se muestra, un voltaje bajo (0 voltios) en la seal de set, pondr las salidas en
1. Un voltaje bajo en la seal de clear pondr el valor de las salidas en 0.

Aplicacin
Los registros tipo D se emplean para almacenamiento momentneo de informacin
como es el caso de los registros que maneja el microprocesador, para procesar sus

CIBERTEC

CARRERAS PROFESIONALES

34

operaciones aritmticas o lgicas. Esta informacin se almacena momentneamente y


se altera constantemente, de acuerdo con los pulsos de reloj del circuito de
sincronismo del sistema. En este caso, el tamao y nmero de los registros vara de
acuerdo con el tipo de procesador que se tiene.

Por otro lado, se emplean registros tipo D para disear memorias de gran capacidad
de almacenamiento. En este caso, todos los registros tienen el mismo tamao y son
por miles o millares, se ubica un registro determinado por el bus de direcciones, este
tipo de almacenamiento tambin es temporal. Es decir, la informacin almacenada se
pierde cuando se retira la polarizacin o se apaga el equipo.

2.1.1.2 REGISTROS DE DESPLAZAMIENTO

Son un conjunto de flip-flop conectados en cascada, con la salida de un flip-flop


conectada a la entrada del siguiente flip-flop. Todos reciben un pulso comn de reloj
que causa el corrimiento de una etapa a la siguiente. Comnmente, se emplean los flip
flops tipo D, pero pueden construirse tambin en base a flip/flops tipo JK.
2.1.1.2.1 Registro de desplazamiento entrada serial y salida serial (SISO)

Puede implementarse con flip/flops tipo D. Funciona de la siguiente manera: se aplica


datos a la entrada en forma secuencial al primer flip/flop (en este caso al que est a la
izquierda, ver grfico). Con cada pulso de reloj, se transmite la seal, en este caso, de
izquierda a derecha. Los datos son extrados en forma serial.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

35

La salida serial puede realimentarse para obtener un ciclo repetitivo de la siguiente


manera:

Los circuitos de desplazamiento se basan en una determinada secuencia gobernada


por un reloj como se muestra en la siguiente figura, donde por cada pulso de reloj en el
flanco de subida el bit se desplaza en forma serial de un registro a otro en forma
consecutiva y serialmente.

CIBERTEC

CARRERAS PROFESIONALES

36

Aplicacin
Este tipo de registros se pueden emplear para sistemas de control, circuitos de
refresco, sistemas de temporizacin, divisor de frecuencias etc. Por ejemplo, un
circuito de refresco es un tren de pulsos necesario para impedir que la informacin en
un determinado tipo de memoria se pierda (memoria dinmica).

2.1.1.2.2 Registro de desplazamiento entrada serial y salida paralela (SIPO)

En este caso, se puede obtener la salida en forma paralela de acuerdo a lo mostrado


en la figura. La diferencia del circuito anterior se basa solo en la forma de mostrar los
datos de salida.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

37

Aplicacin
Se emplea este tipo de arreglo por ejemplo, para leer una informacin de un puerto
serial, sistema de adquisicin de datos, etc. Es importante tomar en cuenta que este
tipo de procesamiento es til en aquellos sistemas donde es necesario convertir una
informacin serie paralelo, por ejemplo, en el caso de lectura de un puerto.
Normalmente, la comunicacin de informacin a nivel distante o remoto es serial, pero
una vez que la informacin ha llegado a su destino es necesario convertirla a paralela,
porque los sistemas digitales internamente procesan la informacin en grupo de bits
(bytes) este tipo de registros permiten realizar dicha operacin.

Un ejemplo de este tipo de arreglo es el siguiente:

CIBERTEC

CARRERAS PROFESIONALES

38

En ste, la entrada es serial y la salida es paralela. Note que el flip flop JK se encarga
de habilitar al generador de reloj que es el control del arreglo serie paralelo. El
segundo arreglo, serie paralelo es controlado por un divisor de frecuencias para dar el
retardo de tiempos que se requiera.

2.1.1.2.3 Registro de desplazamiento entrada paralela y salida serial (PISO)

En este caso, con un arreglo de puertas lgicas se pueden recibir los datos en paralelo
y, de acuerdo con las seales de control, se va a lograr el desplazamiento en forma
serial. No olvidar que se tiene una sola salida.

Aplicacin
Normalmente este tipo de arreglo se emplea en avisos luminosos o en transferencia
de informacin (adquisicin de datos). En este caso, la informacin se recibe en
paralelo y se transfiere en forma serial para manejo de mouse o cualquier perifrico
serial que lo necesite.

Como se sabe, la computadora, por ejemplo, procesa la informacin internamente en


forma paralela, de ello proviene la definicin de bus de datos (grupo de seales que
viajan a la vez), pero los perifricos que emplea no necesariamente son paralelos, por
ejemplo, una impresora serial. En ese caso, es necesaria esa conversin de paralelo a
serie que este arreglo de registros puede conseguir.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

Por

39

ejemplo,

en el siguiente
arreglo,

se

observa que el
sistema
datos

de
puede

transferirse de
serie

paralelo o de
paralelo a serie segn se desee. El UART (Universal Sncrono Asncrono Receptor
Transmisor) es el integrado programable que se encarga de ello.

Diagrama de bloques de una entrada/salida serie paralelo

2.1.1.2.4 Registro de desplazamiento entrada paralela y salida paralela (PIPO)

Los datos ingresan en forma paralela y las salidas se toman de la misma forma. Todo
est en funcin de la seal de reloj del sistema.

CIBERTEC

CARRERAS PROFESIONALES

40

Aplicacin
Este tipo de arreglos es muy usado para retener datos que posteriormente se van a
procesar. Tal es el caso de los registros de un microprocesador que almacenan
informacin momentneamente para poder comparar, sumar o tomar alguna decisin
de acuerdo a determinadas informaciones.

2.1.1.2.5 Registro de desplazamiento bidireccional

Hasta el momento, se han realizado desplazamientos de datos en un solo sentido de


izquierda a derecha, pero podran realizarse desplazamientos de izquierda a derecha y
de derecha a izquierda; para ello, se tendra que realizar el proceso inverso al
realizado en los ejemplos anteriores y ambos ser manejados por un control maestro.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

41

Aplicacin
Este tipo de configuracin es empleado para transferir datos en una comunicacin, ya
sea serial o paralela en el caso de las computadoras, como ya se ha mencionado. La
comunicacin es serial internamente; por lo tanto, se debe transferir la data de
perifrico a memoria o viceversa por medio de este tipo de arreglos. No olvidarse que
el bus de datos es bidireccional.

CIBERTEC

CARRERAS PROFESIONALES

42

2.1.2 Registro en un IC

Existen varios circuitos integrados que internamente son registros con lgica TTL y
CMOS.
2.1.2.1 IC 74373

Contiene 8 Latchs tipo D tri-state

D0...D7: Entrada paralelo

Q0...Q7: Salida paralelo

LE: Latch Enable

OE: Output Enable

Este circuito integrado tiene 8 LATCHs tipo D y 3 estados de salida 1 lgico, 0 lgico y
alta impedancia. Integrado muy usado para direccionar datos, forma parte del
hardware necesario para controlar el bus de direcciones en un computador por
ejemplo.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

43

2.1.2.2 IC 74374

Contiene 8 flip/flops tipo D con salida tri-state sensible a los flancos de subida.

Este circuito integrado tiene una funcin parecida al IC 373, pero maneja una seal de
reloj que permite el control en una determinada secuencia.

CIBERTEC

CARRERAS PROFESIONALES

44

Resumen

Los registros son dispositivos de almacenamiento temporal que permiten guardar


informacin momentneamente.

Existen de cuatro tipos PIPO de entrada paralela y salida paralela, PISO de


entrada paralela y salida serie, SIPO de entrada serie y salida paralela y SISO de
entrada serie y salida serie.

Cada vez que se aplica un pulso de reloj en los registros, estos ingresan la
informacin y la desplazan a travs de un corrimiento en cascada.

Un registro comn pierde su informacin almacenada tras recibir varios impulsos


de reloj. Para evitar esta prdida de informacin, se adaptan circuitos de
realimentacin consiguiendo reingresar el ltimo bit del registro como entrada de
datos.

Si desea saber ms acerca de estos temas, puede consultar las siguientes


pginas:

http://www.virtual.unal.edu.co/cursos/ingenieria/2000477/lecciones/060401.htm

Aqu encontrar las diferentes formas de formar registros con flip flops.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

45

UNIDAD DE
APRENDIZAJE

SISTEMAS DE ALMACENAMIENTO TEMPORAL


LOGRO DE LA UNIDAD DE APRENDIZAJE

Al trmino de la unidad, el alumno disea diferentes tipos de registros y una


memoria bsica aplicando arreglo de puertas lgicas y Flip-Flops.

TEMARIO

Memorias

Tipos

ACTIVIDADES PROPUESTAS

Los alumnos mediante software de simulacin implementan circuitos de


lectura y escritura de datos empleando memorias RAM.

CIBERTEC

CARRERAS PROFESIONALES

46

2.2 MEMORIAS
Son dispositivos de almacenamiento de informacin que pueden ser voltiles o no. Se
llama memoria voltil a aquella memoria que pierde la informacin cuando se retira la
polarizacin al integrado. Ejemplos: memoria RAM, cach, etc.

Memoria no voltil es aquella que no pierde la informacin incluso si se retira la


polarizacin del integrado. Es de suponer que en este tipo de memorias se almacena
informacin importante. Un ejemplo de este tipo son las memorias flash que
actualmente se emplean para almacenar el programa vital BIOS de los sistemas y que
se puede actualizar por software en forma sencilla.

Una memoria contiene millones de registros y normalmente almacenan programas,


datos e incluso direcciones que posteriormente se van a usar para el proceso de
determinada informacin. Las memorias constan de un bus de datos, de un bus de
direcciones y de un bus de control. Normalmente, una memoria tiene un arreglo
matricial, es decir, el bus de direcciones definen filas y columnas para poder acceder
a una celda como se puede apreciar
en la siguiente figura.

En este ejemplo, las columnas estn


representadas por las X1, X2, X3 y las
filas por las Y1, Y2, Y3, Y4, Y5. La
seal de control indica el momento en
que se desea leer o escribir un dato en
la celda definida por el bus de
direcciones

(fila

columna

determinada).

Las memorias se diferencian de los registros porque tienen mayor capacidad de


almacenamiento. Una memoria es un conjunto de muchos registros.

Las memorias cumplen un rol importante en todo sistema inteligente, pues en estas se
almacenan programas que pueden procesar informacin, tomar decisiones, predecir
acciones e incluso hacer un muestreo de la informacin aunque este incompleta.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

47

2.2.1 TIPOS DE MEMORIAS


Estas pueden ser voltiles o no voltiles.

2.2.1.1 Memorias voltiles


Las memorias voltiles se implementan, generalmente, asociando registros y estos, a
su vez, son creados empleando flip flops tipo D. El tamao de la memoria depender
de la cantidad de registros que esta contenga.

Cada registro es accesado individualmente en la memoria, ya sea para leer o escribir


algn dato sobre este. Por esto, las memorias disponen de lneas de direccionamiento
que permiten seleccionar entre sus diferentes registros. Estas lneas son conocidas
comnmente como bus de direccin.
Las memorias estticas son un tipo de memorias voltiles y se caracterizan por ser
rpidas. Estas, comnmente, son las llamadas memorias Cache en un computador.

Las memorias dinmicas son tambin voltiles pero se diferencias de las estticas
en que son ms fciles de fabricar, no cuestan mucho y no emplean mucho hardware
en su construccin. Este tipo de memorias se emplean mucho en el almacenamiento
de programas o aplicativos que se van posteriormente a modificar y son tambin las
llamadas memorias principales en un computador.

CIBERTEC

CARRERAS PROFESIONALES

48

2.2.1.2 Memorias no voltiles

Existen otro tipo de memorias no son voltiles es decir que mantienen la informacin
incluso si no hay energa que los alimente. Este tipo de memorias almacenan
informacin vital de un sistema y; por lo tanto, su informacin no debe perderse por
ningn motivo.
Las primeras memorias de este tipo fueron las ROM, memorias de solo lectura.

Luego vino la PROM (Rom programable), memoria que vena de fbrica sin
informacin, pero que se poda programar por hardware 1 sola vez convirtindose
luego en ROM.

Posteriormente se disea la EPROM, memoria que se puede grabar por medio


elctrico y borrar por exposicin a luz ultravioleta. Es decir, si te equivocabas en la
programacin, podas borrar la memoria exponiendo a esta memoria a rayos
ultravioletas. Es por eso que tienen una ventana en su centro para poder borrar la
informacin.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

49

La memoria EEPROM, memoria elctricamente grabable y elctricamente borrable, es


decir la informacin se puede grabar o borrar por medios elctricos, pero para eso se
necesita de cierto tipo de hardware que, en forma convencional, no se podra realizar.

Actualmente, el tipo de memorias que se emplean es la memoria FLASH que se


puede actualizar por software.

2.2.2 Acceso a las memorias


.
El acceso a las memorias se realiza a travs de tres buses de comunicacin, llamados
bus de direcciones, bus de datos y bus de control.
El bus de Direcciones
Es el conjunto de lneas que permiten seleccionar a uno de los tantos registros
contenidos en la memoria para su posterior manipulacin (leer o escribir algn dato
sobre este).
El bus de datos
Es un conjunto de lneas que transportan la informacin que se lee o escribe en la
memoria para luego procesarla de acuerdo a un determinado fin. Generalmente, se
almacenan programas que posteriormente van a ser procesados de acuerdo a una
determinada condicin.

CIBERTEC

CARRERAS PROFESIONALES

50

Bus de control
Es el conjunto de lneas que transportan seales que permiten habilitar la memoria en
el momento deseado para leer o escribir sobre esta.

Se puede sintetizar todo lo explicado en el siguiente grfico:

La memoria est caracterizada por dos propiedades fundamentales:

Capacidad de memoria

Tiempo de acceso

La capacidad de memoria o capacidad de almacenamiento viene definida por el


nmero de bits de almacenamiento existente y el nmero de la longitud de palabras, la
capacidad de la memoria se indica en
Kbytes. En un sistema, la capacidad
puede ampliarse indefinidamente, sin que
tengan que cambiarse las unidades de
E/S. El lmite de la memoria est limitado
por la capacidad de direccionamiento del
procesador que la administra

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

51

Velocidad de acceso es el tiempo que se necesita para localizar y leer una


informacin almacenada; el tiempo de acceso es una caracterstica importante para
determinar la velocidad de resolucin de un sistema, entindase por velocidad de
resolucin al tiempo que toma un sistema en procesar su informacin.

Conociendo el tiempo de acceso, se


puede predecir el tiempo necesario
para procesar una informacin. Si
algunas

celdas

de

memoria

se

alcanzan ms rpidamente que otras,


se suele tomar el valor promedio de
todas ellas. Se dice entonces el tiempo
de acceso promedio.

Existen varias tcnicas para mejorar la


velocidad de acceso, por ejemplo, el
modo

de

paginacin

rpido,

que

consiste en lo siguiente. Normalmente,


para acceder a una celda se necesitan 02 pulsos de reloj: uno para determinar la fila y
otro para determinar la columna. Una vez definido estos 02 parmetros, se puede leer
o escribir sobre la celda.

Con la tcnica de paginacin rpida, solo se necesitan de estos 02 pulsos al inicio,


pues las siguientes ubicaciones se determinan variando solamente la fila o la columna;
por lo tanto, se ahorra un pulso de reloj para la ubicacin. Es decir, la velocidad de
acceso es mucho mayor.
Escritura en una memoria
En principio, se escribe en un ciclo de bus que equivale a 04 pulsos de reloj T1, T2, T3
y T4. Luego, empieza, con la seal ALE, la habilitacin del bus de direccin en T1, en
efecto, aparece el bus de direccin vlido en T1. Para escribir en una memoria, se
tiene que dar la orden de WR por el bus de control periodo T2 y T3. Esta orden es de
valor bajo a 0 lgico. La seal de lectura o escritura a perifrico est deshabilitada en
todos los periodos. Los datos a escribir aparecen en el periodo T2 y T3. Finalmente, el
periodo T4 es para desactivar todas las seales de control y prepararse para el
siguiente ciclo de bus.

CIBERTEC

CARRERAS PROFESIONALES

52

Lectura en una memoria


En principio, se lee en un ciclo de bus que equivale a 04 pulsos de reloj T1, T2, T3 y
T4. Luego, empieza, con la seal ALE, la habilitacin del bus de direccin en T1,
obviamente, aparece el bus de direccin vlido en T1. Para leer en una memoria, se
tiene que dar la orden de RD por el bus de control periodo T2 y T3. Esta orden es de
valor bajo a 0 lgico; la seal de lectura o escritura a perifrico est deshabilitada en
todos los periodos y aparece la informacin por el bus de datos en T3, por lo cual se
da tiempo a la memoria para acceder a los datos. El periodo T4 es para desactivar
todas las seales de control, y prepararse para el siguiente ciclo de bus.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

53

Resumen

Las memorias son dispositivos que almacenan informacin binaria. Existen


bsicamente de dos tipos: las voltiles y no voltiles. Las primeras se caracterizan
por perder su informacin apenas se les quita la energa; en cambio, las segundas
no la pierden an si estn sin energa por aos.

En el grupo de las voltiles, la memoria representativa es la RAM, en sus


versiones esttica y dinmica; y, en el grupo de las no voltiles, se tienen la ROM
como la ms representativa y sus variaciones PROM, EPROM, EEPROM y en la
actualidad las FLASH.

Para escribir en la memoria, de debe fijar en las lneas de datos el dato que
deseamos escribir, fijar en las lneas de direccin la ubicacin de la celda o registro
que almacenar dicha informacin, y, finalmente, dar la orden de escritura a travs
de la lnea WR.

Para leer de una memoria, basta con fijar en las lneas de direccin la ubicacin
de la celda o registro que deseamos leer, y dar la orden de lectura a travs de la
lnea RD.

Si desea saber ms acerca de estos temas, puede consultar las siguientes


pginas:

http://www.uib.es/depart/dfs/GTE/education/industrial/sis_ele_digitals/Problemes/
Hoja5.pdf

Aqu hallar ejercicios sobre memorias.

CIBERTEC

CARRERAS PROFESIONALES

54

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

55

UNIDAD DE
APRENDIZAJE

CIRCUITOS DE TEMPORIZACIN Y CUENTA


LOGRO DE LA UNIDAD DE APRENDIZAJE

Al trmino de la unidad, el alumno disea circuitos de temporizacin y


generadores de reloj aplicando el Timer LM555. Adems, disea sistemas de
cuenta aplicando contadores binarios (7493), contadores BCD (7490) y
contadores ascendentes descendentes programables (74193).

TEMARIO

Temporizador o Timer

Disposicin de contactos

Modos de operacin

Aplicaciones

ACTIVIDADES PROPUESTAS

Los alumnos, mediante software de simulacin, implementan circuitos de


temporizacin astables y monoestables.

Los alumnos implementan en protoboards dichos circuitos.

CIBERTEC

CARRERAS PROFESIONALES

56

3.1 TEMPORIZADOR O TIMER


El temporizador 555 fue introducido al mercado en el ao 1971, por la empresa
Signetics Corporation con el nombre SE555 / NE555. Este integrado fue llamado
"The IC Time Machine" (el Circuito integrado mquina del tiempo"), que en esos
momentos era el nico integrado de su tipo disponible. En la actualidad, existen otros
proveedores de este circuito integrado, como la empresa On Semiconductor con el
MC1455.

Este Circuito Integrado (C.I.) es para los experimentadores y aficionados un dispositivo


barato con el cual pueden hacer muchos proyectos. Es tan verstil que se puede
incluso utilizar para modular una seal en frecuencia y lograr lo que se conoce como
una seal de frecuencia modulada (F.M.)

Est constituido por una combinacin de comparadores lineales, Flip-Flops (bsculas


digitales), transistor de descarga y excitador de salida.

Los voltajes de referencia de los


comparadores se establecen en
2/3 V para el primer comparador
C1 y en 1/3 V para el segundo
comparador C2, por medio del
divisor de voltaje compuesto por
3 resistores iguales R.

En estos das, se fabrica una


versin CMOS del 555 original,
como

el

National

Semiconductor LMC555, que


es muy popular. Pero la versin
original sigue producindose con
mejoras y algunas variaciones a
sus circuitos internos.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

57

El temporizador 555 es muy popular para hacer osciladores que sirven como reloj
(base de tiempo) para el resto del circuito.

3.1.1 DISPOSICIN DE CONTACTOS


El timer 555 tiene 8 contactos y se describen a continuacin:
1 - Tierra o masa

2 - Disparo: Es en esta patilla, donde se establece el inicio del tiempo de retardo, si el


555 es configurado como monostable. Este proceso de disparo ocurre cuando este pin
va por debajo del nivel de 1/3 del voltaje de alimentacin.

Este pulso debe ser de corta duracin, pues si se mantiene bajo por mucho tiempo la
salida se quedar en alto hasta que la entrada de disparo pase a alto otra vez.
3 - Salida: Aqu veremos el resultado de la operacin del temporizador 555, ya sea
que est conectado como monostable, astable u otro.

Cuando la salida es alta, el voltaje de salida es el voltaje de aplicacin (Vcc) menos


1.7 Voltios.

4 - Reset: Si se pone a un nivel por debajo de 0.7 Voltios, pone la salida a nivel bajo.
Si por algn motivo esta patilla no se utiliza, hay que conectarla a Vcc para evitar que
el 555 se resetee".
5 - Control de voltaje: Cuando el temporizador 555 se utiliza en el modo de
controlador de voltaje, el voltaje en esta patilla puede variar casi desde Vcc (en la
prctica como Vcc-1 voltio) hasta casi 0V (en la prctica aprox. 2 Voltios). As es
posible modificar los tiempos en que la salida est en alto o en bajo independiente del
diseo (establecido por las resistencias y condensadores conectados externamente al
555).

El voltaje aplicado a este contacto puede variar entre un 45% y un 90 % de Vcc en la


configuracin monostable.

CIBERTEC

CARRERAS PROFESIONALES

58

Cuando se utiliza la configuracin astable, el voltaje puede variar desde 1.7 voltios
hasta Vcc. Modificando el voltaje causar que la frecuencia original del astable sea
modulada en frecuencia (FM).

Si no se utiliza, se recomienda poner un condensador de 0.01uF para evitar las


interferencias.

6 - Umbral: Es una entrada a un comparador interno que tiene el 555 y se utiliza para
poner la salida a nivel bajo.
7 - Descarga: Utilizado para descargar con efectividad el condensador externo
utilizado por el temporizador para su funcionamiento.
8 - V+: Tambin llamado Vcc, es el contacto donde se conecta el voltaje de
alimentacin que va de 4.5 voltios hasta 16 voltios (mximo). Hay versiones militares
de este integrado que llegan hasta 18 Voltios.

3.1.2 MODOS DE OPERACIN


El timer 555 puede operar en dos modos: como monostable y astable.

3.1.2.1 EL 555 COMO MONOESTABLE

En esta configuracin, el Timer entrega a su salida


un solo pulso de un ancho establecido por el
diseador (tiempo de duracin).

Para que el pulso alto se genere, es necesario


aplicar al Timer un pulso bajo instantneo. A este
pulso se le conoce como pulso de disparo.

La frmula para calcular el tiempo de duracin (tiempo que la salida permanece en


nivel alto) es:

T = 1.1 x R1 x C1 (en segundos)

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

59

El tiempo generado es en segundos, para lo cual el valor de la resistencia debe


expresarse en ohmios y el condensador en faradios.
3.1.2.1.1 ESQUEMA DE CONEXIN

El siguiente circuito muestra las conexiones a realizar para obtener este modo de
operacin:

EJERCICIOS

1- Para el siguiente circuito, cunto tardara el pulso de salida en nivel alto cada
vez que se aplique un pulso de disparo?

CIBERTEC

CARRERAS PROFESIONALES

60

Aplicando la frmula:

T = 1.1 x (10K) x (1000uF)


Recordemos expresar la resistencia en ohmios y el condensador en faradios:
-6
4
3
-6
7
-6
3
T = 1.1 x 10x10 x 1000 x 10 = 1.1x 10 x 10 x 10 = 1.1x10 x 10 = 1.1 x 10

T = 11 segundos

2- Realice el procedimiento para calcular el tiempo en nivel alto de la salida en el


siguiente circuito:

T=

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

61

3- Si se quiere que el pulso dure 1 minuto y se utiliza C1=1000uF, qu valor de


resistencia se debe utilizar?

4- Si desea obtener 5 minutos de duracin, qu valores de resistencia y condensador


utilizara?

3.1.2.2 EL 555 COMO ASTABLE

En esta configuracin, el temporizador 555 se caracteriza por generar una salida con
forma de onda cuadrada (o rectangular) continua de ancho predefinido por el
diseador del circuito.

CIBERTEC

CARRERAS PROFESIONALES

62

La seal de salida tiene un nivel alto por un tiempo T1 y en un nivel bajo un tiempo T2.

Los tiempos de duracin dependen de los valores de los resistores R1 y R2 y del


capacitor C1 empleados en el circuito.

T1 = 0.7(R1+R2) x C1
T2 = 0.7 x R2 x C1

Y la frecuencia con que la seal de salida oscila est dada por:

f = 1.44 / (R1 + 2 x R2) x C1


y el perodo es simplemente:

T=1/f
Pero, si se desea calcular el periodo de modo directo, sera:

T = 0.7(R1+2R2) x C1

3.1.2.2.1 ESQUEMA DE CONEXIN

El siguiente circuito muestra las conexiones a realizar para obtener este modo de
operacin:

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

63

EJERCICIOS

1- Si se tiene un timer en la configuracin astable y los valores empleados son: R1=2k,


R2=9k y C1=10uF. Hallar el periodo y la frecuencia de la seal.
Solucin:

Clculo del periodo:


T = 0.7 (2000 + 2 x 9000) 10 x10-6
T = 0.7 (20000) 10 x 10-6
3
-6
T = 0.7 (20) x 10 x 10

T = 14ms

Clculo de la frecuencia:
F = 1/T = 1/14ms

F = 1/T = (1/14) Khz = (1/14) x1000Hz


F = 71,42Hz

2- Si se dispone de un condensador de 10nF y una resistencia de 1K para R2,


calcule el valor de la resistencia R1, si se desea generar una onda cuadrada que
pueda ser empleada como portadora en la comunicacin infrarroja (38KHz).

CIBERTEC

CARRERAS PROFESIONALES

64

3.1.3 APLICACIONES
A continuacin, listamos algunas aplicaciones del timer 555:

3.1.3.1 DETECTOR DE HUMEDAD

El detector de humedad es uno de los circuitos de mayor aplicacin en el automatismo


electrnico. Tiene mucha utilidad en el sector agropecuario; adems, nos sirve en
nuestros experimentos caseros para varias aplicaciones como detector de mentiras y
similares.
Principio de funcionamiento
Creamos un oscilador con el LM555. Abrimos la lnea que conduce entre el pin 7 y 6
que est conectada al pin de disparo. Al quedar en el aire, la lnea ve una alta
resistencia, la cual es la del aire y por tanto quedar encendido un led al azar.

Bajamos esta resistencia con un material hmedo, el cual tendr en paralelo la


resistencia del aire con la del material hmedo. Este material puede ser arena, la piel,
o el que se nos ocurra.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

65

Al ocurrir esta disminucin en la resistencia, se logra poner a oscilar el LM555 y se


puede visualizar en los diodos led verde y rojo. La velocidad de oscilacin ser
proporcional al grado de humedad del material a medir, es decir, cuanto ms hmedo,
ms rpido ser la oscilacin.

Luego, amplificamos esta seal y colocamos en la salida un rel para aplicar este
circuito al control real de aparatos los cuales pueden manejarse a un voltaje diferente
al de la tarjeta.
3.1.3.2 DETECTOR DE PROXIMIDAD

El detector de proximidad por infrarrojo es quizs uno de los circuitos de mayor


aplicacin en el automatismo electrnico. Lo encontramos en dispensadores de agua
automticos, los secadores de mano automticos y con algunas variantes lo
encontramos en las puertas automticas de los grandes almacenes.

Principio de funcionamiento
Generamos una rfaga de pulsos de alta intensidad con el LM555 a baja frecuencia y
los transmitimos por el led de chorro infrarrojo. Luego, los recibimos en un
fototransistor colocado de tal manera que solo los reciba cuando un objeto refleje los
pulsos.

CIBERTEC

CARRERAS PROFESIONALES

66

Luego, procesamos esa seal para poder utilizarla en el encendido-apagado de


nuestros aparatos. Para ello, colocamos un fototransistor, de tal manera que cuando
haya una superficie que refleje los pulsos, bien sea una mano, un objeto cualquiera, a
una distancia de unos 10 cm, este los pueda recibir y enviar a un amplificador de
corriente, en este caso un par de transistores en configuracin darlington.

Cuando est dbil seal alcanza una intensidad suficiente, debido a que se acerc un
objeto, entonces logra disparar un temporizador de unos 10 segundos construido con
un LM555. Luego, colocamos una interfase a transistor para alimentar un rel de 12 V
5 PINES, el cual nos servir para controlar el aparato que queramos.
3.1.3.3 CONTROL DE TEMPERATURA

Este circuito no pretende lograr la funcin de un aire acondicionado, que permite una
gran variacin de temperaturas.

Lo que se desea es mantener, mediante un ventilador, la temperatura ambiente dentro


un rango de 0.5 a 2 grados por debajo de la temperatura existente fuera del lugar en
cuestin.

Este circuito mantendr la temperatura de una habitacin a un nivel agradable


dependiendo del valor del termistor (resistor que vara su valor (su resistencia) de
acuerdo a la temperatura).

Si la temperatura sube, ms rpido gira el ventilador. Si la temperatura baja, el


ventilador disminuye su velocidad.

Hay que tener cuidado de que la temperatura no tenga siempre al ventilador al


mximo. Esto se controla variando, si es necesario, el valor del resistor de 2.7 K.

El temporizador 555, en configuracin astable, est funcionando como oscilador y la


frecuencia base de oscilacin es establecida por los 2 resistores de 100 K y el
capacitor de 0.047 uF

El termistor, al variar el valor de su resistencia cuando la temperatura ambiente


cambia, vara el valor del nivel de voltaje que se aplica a la patilla # 5 (patilla de
control) del circuito integrado 555.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

67

Esto causa que la frecuencia a la que oscila el temporizador se modifique de su valor


base establecido.

La salida de este oscilador (patilla # 3 del 555) es aplicada a un transistor que a su vez
maneja el pequeo motor elctrico CC de 12 voltios del ventilador.

CIBERTEC

CARRERAS PROFESIONALES

68

Resumen

El Timer es un circuito temporizador que puede operar en dos modos:


Monoestable y astable.

En modo monoestable genera un pulso alto a partir de un pequeo pulso de


disparo. La duracin en alto del pulso generado depende de la frmula 1.1RxC.

En modo astable genera una seal cuadrada peridica cuya frecuencia est
determinada por 1.44/(R1+2R2)C y el periodo por 0.7(R1+2R2)C.

Si desea saber ms acerca de estos temas, puede consultar las siguientes


pginas:

http://home.cogeco.ca/~rpaisley4/LM555.html

Aqu hallar informacin sobre el timer LM555.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

69

UNIDAD DE
APRENDIZAJE

CIRCUITOS DE TEMPORIZACIN Y CUENTA


LOGRO DE LA UNIDAD DE APRENDIZAJE

Al trmino de la unidad, el alumno disea circuitos de temporizacin y


generadores de reloj aplicando el Timer LM555. Adems, disea sistemas de
cuenta aplicando contadores binarios (7493), contadores BCD (7490) y
contadores ascendentes descendentes programables (74193).

TEMARIO

Circuitos de cuenta

Diseo de los circuitos de cuenta

Contador binario de 4 bits

Contador BCD

Contador ascendente descendente

ACTIVIDADES PROPUESTAS

Los alumnos, mediante software de simulacin, implementan circuitos de


cuenta binaria y BCD.

Los alumnos implementan, en protoboards, dichos circuitos.

CIBERTEC

CARRERAS PROFESIONALES

70

3.2 CIRCUITOS DE CUENTA


En electrnica, es bastante frecuente verse necesitado de contabilizar eventos y, por
tanto, se requiere utilizar un contador. Estos contadores se disean empleando Flip
flops bsicamente tipo J-K. Existen circuitos integrados contadores especializados que
realizan cuentas ascendentes en binario, en BCD y hay de los programables
ascendentes/descendentes. En esta unidad, ojearemos el funcionamiento y aplicacin
de estos contadores.

3.2.1 DISEO DE CIRCUITOS DE CUENTA


Para disear un circuito de cuenta con Flip-flops, se deben realizar los siguientes
pasos:

Establecer la cantidad de flip flops a utilizar.

Determinar la tabla de transiciones de estado de las salidas de los flip flops.

Determinar la tabla de estado de las entradas de los Flip flops.

Aplicar Karnaugh a cada una de las entradas de los flip flops.

Graficar el circuito de cuenta.

3.2.1.1 CANTIDAD DE FLIP FLOPS A UTILIZAR


Esto se determina sabiendo cual es el nmero mayor de la cuenta a implementar. Si la
cuenta a desarrollar es de 0 a 3, el nmero mximo 3, este se expresa en binario
como 11 y por lo tanto necesita dos bits para representarse, lo que quiere decir que se
utilizaran dos flip flops (uno por cada bit). Si la cuenta fuera de 0 a 13, el nmero
mayor es 13 y este se representa en binario como 1101, es decir, se necesitaran
cuatro flip flops para realizar esta cuenta.
La secuencia de la cuenta siempre se muestra a travs de las salidas Q de los flip
flops empleados.

Pongamos un ejemplo de cuenta para desarrollar todo el proceso de diseo.


Supongamos que deseamos realizar un contador ascendente de 0 a 7.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

71

El nmero mximo de esta cuenta es 7 y requiere tres bits para representarse (111);
por lo tanto, el diseo de esta cuenta requiere tres flip flops tipo J-K. Cmo se deben
interconectar las entradas y salidas de estos tres flip flops? Lo sabremos a
continuacin:

3.2.1.1 TABLA DE TRANSICIONES DE LAS SALIDAS


En esta tabla, empleando las salidas de los flip flops, debemos reflejar cada
combinacin de la cuenta presente con su combinacin a futuro. Es decir, el valor de
la cuenta que le sigue inmediatamente. Asi, para el valor 0 (000) su estado siguiente
es 1 (001), para el valor 1 (001) su estado siguiente es 2 (010), para el valor 4 (100) su
estado siguiente es 5 (101) y para el valor 7 (111) su estado siguiente es 0 (000), ya
que la cuenta debe reiniciarse.

CIBERTEC

CARRERAS PROFESIONALES

72

3.2.1.2 TABLA DE ESTADO DE LAS ENTRADAS


Una vez lista la tabla anterior, ampliaremos esta misma para establecer los estados de
las entradas J-K de los flip flops. Cada salida Q de los flip flops es analizada
independientemente para establecer los estados correspondientes a sus respectivas
entradas J-K. El anlisis implica determinar cada combinacin sobre J-K para cada
estado presente y futuro de la salida Q. Como son 8 estados presentes (cuenta de 0 a
7) existen 8 estados futuros. Por lo tanto, se obtienen 8 combinaciones de estados
para J-K. Para aplicar correctamente la combinacin respectiva sobre J-K, utilizaremos
la tabla de excitacin de los flip flops J-K. A continuacin, se muestra:

En este caso, Qn es el estado actual de la salida y Qn+1 es el estado futuro.


Supongamos que el estado actual de Q es 1 y su estado futuro tambin debe ser 1.
Eso significara que a las entradas J-K le corresponde la combinacin X0 (observe la
tabla). X para J y 0 para K. El valor X significa que la variable podra tomar un 0 o un 1.
Esto lo decidimos nosotros a la hora de aplicar Karnaugh, segn nuestra conveniencia
(reducir mejor) decidimos el estado de cada X en el mapa de Karnaugh.

A continuacin, se muestra esta tabla completa:

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

73

3.2.1.3 APLICAR KARNAUGH


A cada entrada J-K debemos de aplicar Karnaugh para determinar su funcin lgica.
Empecemos con J2 y K2. Recuerde que cada X se toma (0 o 1) como mejor
convenga.

Presente

CIBERTEC

FF2

Q2

Q1

Q0

J2

K2

CARRERAS PROFESIONALES

74

Para J2: El valor de X en el casillero 7 conviene que sea 1 para asociarlo con el 1 del
casillero 3 y las dems X se consideran ceros.

Por lo tanto, J2 = Q1.Q0

Para K2: El valor de X en el casillero 3 conviene que sea 1 para asociarlo con el 1 del
casillero 7 y las dems X se consideran ceros.

Por lo tanto, K2 = Q1.Q0

Repitamos el proceso para J1 y K1

Presente

FF1

Q2

Q1

Q0

J1

K1

Para J1: El valor de las X en los casilleros 3 y 7 convienen que sean 1 para asociarlos
con los 1 de los casilleros 1 y 5. Las dems X sern ceros.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

75

Por lo tanto, J1 = Q0

Para K1: El valor de las X en los casilleros 1 y 5 convienen que sean 1 para asociarlos
con los 1 de los casilleros 3 y 7. Las dems X sern ceros.

Por lo tanto, K1 = Q0

Terminemos el proceso con J0 y K0

Presente

FF0

Q2

Q1

Q0

J0

K0

Para este caso particular de J0 y K0, conviene que todas las X sean 1; por lo tanto, la
funcin de J0 y K0 siempre es 1, sin importar la secuencia de la cuenta.

J0 = K0 = 1

Es decir, estas dos entradas se conectan a +5V.

CIBERTEC

CARRERAS PROFESIONALES

76

3.2.1.4 GRAFICA DEL CIRCUITO

El Clock (clk) aplicado a los flip flops determinar la rapidez con la que se desarrolle la
cuenta. A mayor frecuencia, ms rpido la cuenta. En esta entrada de reloj, se puede
colocar un Timer 555 en configuracin astable con una frecuencia de 1Hz. As, cada
valor de la cuenta se mostrara por 1 segundo.

3.2.2 CONTADOR BINARIO DE 4 BITS

Existen

contadores

binarios

especializados

como

el

7493.

Este

cuenta

ascendentemente de 0000 a 1111 y repite la cuenta indefinidamente.

3.2.2.1 DISPOSICIN DE CONTACTOS

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

77

-QD QC QB QA: estas son las salidas por donde se muestra la cuenta.

-CKA: Esta es la entrada de reloj para el primer mdulo interno de 1 bit. Aqu debemos
aplicar nuestra entrada de reloj.
-CKB: Esta es la entrada de reloj para el segundo mdulo interno de 3 bits. Esta se
debe conectar con la salida QA.
-R0(1) R0(2) Son las entradas de reinicio, cada vez que estas dos entradas se fijan a 1
el contador reinicia a 0000.
-VCC es el terminal de polarizacin positiva, hay que conectarla a +5V.

-GND es el terminal GND.

-NC terminales sin aplicacin, dejarlos al aire.

3.2.2.2 CONTADOR DE 0 A 15 (0000 a 1111)

El siguiente esquema muestra la conexin de este contador de 0 a 15:

Por cada pulso recibido en la entrada de reloj CKA, las salidas (QD, QC, QB y QA)
aumentan en 1 su valor. Cada vez que las entradas R0 reciban un 1 la cuenta
reiniciar a 0. Estas entradas normalmente se adaptan a un pulsador, desde el cual en
cualquier momento se puede reiniciar la cuenta.

CIBERTEC

CARRERAS PROFESIONALES

78

3.2.2.3 CONTADOR DE 0 A 11 (0000 a 1011)

Si caprichosamente quisiramos que el contador slo llegue a 11, tendramos que


truncar su cuenta; para ello; sera necesario emplear puertas lgicas que apliquen un 1
sobre las entradas R0 cuando el valor siguiente de la cuenta aparece. En este caso, el
valor siguiente de la cuenta es 12. Este debe utilizarse para enviar un 1 sobre las
entradas de reinicio, logrando que la cuenta regrese a 0, tal como se muestra en el
siguiente circuito:

El valor 12 justamente es cuando QD y QC son unos. La puerta and genera un uno.


En ese nico caso, causa el reinicio de la cuenta.

3.2.2.4 CONTADOR DE 0 A 255 (00000000 a 11111111)

Para esto, se requieren dos contadores 7493 conectados en cascada, tal como se
muestra en el siguiente circuito:

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

79

3.2.3 CONTADOR BCD


El contador BCD es de 4 bits, pero su cuenta slo la realiza de 0 a 9. El circuito
integrado especializado es el 7490. Es muy parecido al 7493, pero sus aplicaciones
estn destinadas para las cuentas decimales (nuestro sistema de numeracin).

3.2.3.1 DISPOSICIN DE CONTACTOS

-QD QC QB QA: estas son las salidas por donde se muestra la cuenta.

-CKA: Esta es la entrada de reloj para el primer mdulo interno de 1 bit. Aqu debemos
aplicar nuestra entrada de reloj.

CIBERTEC

CARRERAS PROFESIONALES

80

-CKB: Esta es la entrada de reloj para el segundo mdulo interno de 3 bits. Esta se
debe conectar con la salida QA.
-R0(1) R0(2) Son las entradas de reinicio. Cada vez que estas dos entradas se fijan a
1 el contador reinicia a 0000.

-R9(1) R0(2) Son las entradas de recuenta, cada vez que estas dos entradas se fijan a
1 el contador reinicia a 1001 (9).
-VCC es el terminal de polarizacin positiva, hay que conectarla a +5V.

-GND es el terminal GND.

-NC terminales sin aplicacin, dejarlos al aire.

3.2.3.2 CONTADOR DE 0 A 9 (0000 a 1001)

El siguiente esquema muestra la conexin de este contador de 0 a 9:

3.2.3.3 CONTADOR DE 00 A 99 (0000 0000 a 1001 1001)

Para esto, se requieren dos contadores 7490 conectados en cascada, tal como se
muestra en el siguiente circuito:

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

81

3.2.4 CONTADOR ASCENDENTE DESCENDENTE


Existen contadores especializados como el 74193 que pueden realizar una cuenta
ascendente, pero tambin descendente. En este caso, el contador realiza su cuenta
ascendente de 0 a 15 y descendentemente de 15 a 0.
3.2.4.1 DISPOSICIN DE CONTACTOS

CIBERTEC

CARRERAS PROFESIONALES

82

3.2.4.2 DESCRIPCIN FUNCIONAL

INGRESO DE IMPULSOS y SELECCIN DE CUENTA

Por las entradas DN y UP ingresan los pulsos digitales que cambiarn la cuenta y al
mismo tiempo seleccionan el tipo de cuenta. Si entran por DN, la cuenta ser
descendente y si los pulsos ingresan por UP, la cuenta ser ascendente. Si se desea
ingresar impulsos por la entrada UP, DN debe fijarse a uno (1), mientras que, si los
impulsos se necesitan ingresar por DN, UP debe fijarse a uno (1).
LINEAS DE CUENTA

La cuenta de salida es de 4 bits y se muestra a travs de Q3, Q2, Q1 y Q0, donde Q3


es el MSB (bit ms significativo o de mayor peso) y Q0 el LSB (bit de menor peso). A
travs de estas, observaremos el proceso de cuenta por cada impulso que este
contador reciba por UP o DN. Estas, se conectan a indicadores leds para observar la
cuenta en binario, pero tambin podra conectarse a un display de 7 segmentos para
observar la cuenta en dgitos decimales.
INDICADORES DE CICLO CUMPLIDO

Las salidas TCU y TCD son los indicadores de ciclo cumplido de cuenta ascendente y
descendente respectivamente. Si observamos la disposicin de pines del 74193,
notaremos que estas salidas son negadas (por la pequea circunferencia en los
pines). Eso significa que, cuando se complete su ciclo de cuenta (transicin de 15 a 0
para la cuenta ascendente y transicin de 0 a 15 para la cuenta descendente), estas
salidas generarn durante un instante pequeo un 0, tras el cual retornaran a 1 su
estado. Slo una de las salidas funciona a la vez y eso depende del tipo de cuenta
seleccionada, UP o DN.

Cuando la cuenta es ascendente y pasa de 1111 a 0000 (15 a 0), la salida TCU
genera el pequeo pulso en 0. En cambio, cuando la cuenta es descendente y esta
pasa de 0000 a 1111 (0 a 15), la salida TCD genera el pulso bajo.

Estas lneas son necesarias cuando se tienen que interconectar contadores 74193 en
cascada. La salida TCU del contador anterior se conecta al ingreso de impulsos UP

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

83

del siguiente contador, mientras que TCD a DN. De ese modo, se puede seguir
interconectando los contadores.
BORRADO DE CUENTA

La entrada MR permite resetear las salidas a 0000. Para esto hay que inyectar un
pulso instantneo en estado alto (1) sobre este pin. Si esta lnea se mantiene en 1, el
contador no funcionar y permanecer con sus bits de cuenta en 0000. Para que la
cuenta se realice normalmente, la entrada MR debe permanecer en estado 0.
CARGA PROGRAMABLE

Las entradas PL y D3, D2, D1 y D0 permiten en cualquier momento cargar un nmero


binario prefijado, para que el contador contine su cuenta a partir de este nmero. El
nmero prefijado se configura a travs de las 4 lneas D3, D2, D1 y D0 (el nmero que
se requiera) y la carga de este se produce cuando se aplica un pulso instantneo en
estado bajo (0) sobre la entrada PL. Si PL se mantiene en estado 0, el contador no
funcionar y mantendr sus bits de cuenta con el nmero prefijado. Para que la cuenta
se realice normalmente, la entrada PL debe permanecer en estado 1.

3.2.4.3 CUENTA ASCENDENTE BINARIA (0000 a 11111)

A continuacin, se muestran las conexiones necesarias para realizar con el contador


74193 una cuenta ascendente de 4 bits:

CIBERTEC

CARRERAS PROFESIONALES

84

3.2.4.4

CUENTA DESCENDENTE BINARIA (1111 a 0000)

A continuacin, se muestran las conexiones necesarias para realizar con el contador


74193 una cuenta descendente de 4 bits:

3.2.4.5

CUENTA ASCENDENTE DESCENDENTE BCD (0000 0000 a 1001 1001)

A continuacin, se muestran las conexiones necesarias para realizar con el contador


74192 una cuenta de este tipo:

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

85

Por supuesto que ambas entradas de reloj (UP DN) no pueden recibir impulsos
de cuenta al mismo instante. En efecto, cuando una de estas est operando, la
otra debe desactivarse.

CIBERTEC

CARRERAS PROFESIONALES

86

Resumen

Los contadores son sistemas de cuenta que se disean con Flip flops. Su funcin
es contabilizar los impulsos digitales que estos reciben por su entrada de reloj;
asimismo, pueden aumentar o disminuir el valor de su cuenta, depende de su
diseo.

Existen contadores especializados como el 7493 contador binario ascendente que


cuenta de 0 a 15, el 7490 contador ascendente BCD que cuenta de 0 a 9, el 74193
contador ascendente/descendente programable que cuenta de 0 a 15 y de 15 a 0,
y el 74192 que tambin es un contador ascendente/descendente pero BCD, es
decir, cuenta de 0 a 9 y de 9 a 0.

Para ampliar las capacidades de cuenta se deben conectar los contadores en


cascada y si se desea truncar la cuanta en algn nmero, debemos utilizar el valor
siguiente nmero de la cuenta para generar, a travs de puertas lgicas, un
impulso (1) que se aplique sobre la lnea de reinicio del contador.

Si desea saber ms acerca de estos temas, puede consultar las siguientes


pginas:

http://www.ace.ual.es/~vruiz/docencia/laboratorio_estructura/practicas/html/node53.
html

Aqu hallar informacin sobre cmo se disea un contador binario sncrono


ascendente.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

87

UNIDAD DE
APRENDIZAJE

SISTEMAS DE ACCESO A UN CANAL


LOGRO DE LA UNIDAD DE APRENDIZAJE

Al trmino de la unidad, el alumno disea sistemas de acceso a un canal


aplicando multiplexores y demultiplexores.

TEMARIO

Multiplexores

Demultiplexores

ACTIVIDADES PROPUESTAS

Los alumnos implementan mediante software de simulacin sistemas de


multiplexaje y demultiplexaje.

Los alumnos implementan dichos circuitos en protoboards.

CIBERTEC

CARRERAS PROFESIONALES

88

4.1 MULTIPLEXORES
Un multiplexor es un dispositivo que recibe mltiples entradas y las rene para
transmitirlas por una nica salida. Obviamente, no es posible transmitir a todas las
entradas a la vez por este nico canal de salida. Una sola entrada a la vez tendr
acceso al canal y esto se logra a travs de lneas de control o entradas de seleccin.
Cada combinacin binaria sobre estas lneas elige a una de las entradas de datos que
se transmitir por el canal. La siguiente tabla muestra la relacin entre entradas de
datos y la cantidad de lneas de seleccin necesarias:

Bits de entrada

Bits de seleccin

16

El multiplexor es como un switch electrnico que conmuta varias entradas para un solo
canal de salida de acuerdo con las lneas de seleccin.

4.1.1 MULTIPLEXOR DE 4 A 1
El siguiente multiplexor es capaz de multiplexar 4 entradas de datos (D3, D2 D1 y D0),
para lo cual necesita 2 lneas de seleccin (S1 y S0).

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

89

Cada combinacin sobre las lneas de seleccin permite que slo una de las entradas
(D3, D2 D1 y D0) se traslade por el canal de salida Y.
4.1.1.1 TABLA DE VERDAD

La siguiente tabla de verdad establece la relacin entre las entradas de datos, las
lneas de seleccin y la salida:

S1

S0

D0

D1

D2

D3

4.1.1.2 DISEO CIRCUITAL

El siguiente circuito digital representa el multiplexor de 4 a 1:

CIBERTEC

CARRERAS PROFESIONALES

90

4.1.2 MULTIPLEXOR DE 8 A 1

El siguiente multiplexor es capaz de multiplexar 8 entradas de datos (D7, D6, D5, D4,
D3, D2 D1 y D0), para lo cual necesita 3 lneas de seleccin (S2, S1 y S0).

Cada combinacin sobre las lneas de seleccin permite que slo una de las entradas
(D7, D6, D5, D4, D3, D2 D1 y D0) se traslade por el canal de salida Y.

4.1.2.1 TABLA DE VERDAD

La siguiente tabla de verdad establece la relacin entre las entradas de datos, las
lneas de seleccin y la salida:

S2

S1

S0

D0

D1

D2

D3

D4

D5

D6

D7

4.1.2.2 DISEO CIRCUITAL

El siguiente circuito digital representa el multiplexor de 8 a 1:

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

91

4.1.3 CIRCUITOS INTEGRADOS MULTIPLEXORES

4.1.3.1 CUDRUPLE MULTIPLEXOR DE 2 A 1 (74157)

Este multiplexor posee cuatro multiplexores de 2 a 1. Las entradas 1A, 1B tienen su


canal de salida por 1Y; las entradas 2A, 2B, por 2Y; las entradas 3A, 3B, por 3Y,
mientras que, las entradas 4A, 4B, por 4Y. Los cuatro multiplexores se controlan con la
misma lnea de seleccin que es A/B.

CIBERTEC

CARRERAS PROFESIONALES

92

Como ejemplo, si esta lnea se fija a cero, la entrada 1A se transmite por 1Y; la
entrada 2A, por 2Y; la entrada 3, por 3Y; y la entrada 4A, 4Y. Es evidente que, si esta
lnea se fija a uno, las entradas B seran las que se transmitan por sus respectivas
salidas Y. Adems, este multiplexor tiene una lnea de habilitacin (Enable) que es E.
Es necesario que esta lnea se fije a cero para que el multiplexor pueda operar. El
diagrama muestra su disposicin de contactos numerados. No se indican los contactos
8 ni 16, pero, estos son los de energa, el contacto 16 se conectar a +5V y 8 a GND.

4.1.3.2 DOBLE MULTIPLEXOR DE 4 A 1 (74153)

Este multiplexor posee dos multiplexores de 4 a 1. Las entradas 1X0, 1X1, 1X2 y 1X3
tienen su canal de salida por 1Y, mientras que, las entradas 2X0, 2X1, 2X2 y 2X3
tienen su canal de salida por 2Y. Ambos multiplexores se controlan con las mismas
lneas de seleccin que son B y A, como ejemplo, si estas se fijan a 00, la entrada 1X0
se transmitir por 1Y, mientras que, la entrada 2X0 se transmitir por 2Y. Adems,
este multiplexor tiene dos lneas de habilitacin (Enable) que son 1E y 2E.

Es necesario que ambas lneas se fijen a cero, para que el multiplexor pueda operar.
El diagrama muestra su disposicin de contactos numerados. No se indican los
contactos 8 ni 16, pero estos son los de energa. El contacto 16 se conectar a +5V y
8 a GND.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

93

4.1.3.3 MULTIPLEXOR DE 8 A 1 (74151)


Este multiplexor posee ocho entradas X0, X1, X2, X3, X4, X5, X6 y X7 que tienen su
canal de salida Y. La lnea /Y es la salida negada de Y. El multiplexor se controla con
las lneas de seleccin C B y A.

Como ejemplo, si estas se fijan a 000, la entrada X0 se transmitir por Y. Si se fija la


combinacin 110, la entrada X6 se transmitir por Y. Adems, este multiplexor tiene
una lnea de habilitacin (Enable) E. Es necesario que se fijen a cero, para que el
multiplexor pueda operar. El diagrama muestra su disposicin de contactos
numerados. No se indican los contactos 8 ni 16, pero estos son los de energa. El
contacto 16 se conectar a +5V y 8 a GND.

4.1.4 SISTEMAS DE MULTIPLEXACIN

Los circuitos de multiplexacin normalmente emplean ms de 4 u 8 entradas, por lo


cual es necesario

interconectar estos multiplexores para crear sistemas de

multiplexacin que soporten una mayor cantidad de entradas. Veamos, a continuacin,


algunos ejemplos:

CIBERTEC

CARRERAS PROFESIONALES

94

4.1.4.1 SISTEMAS DE MULTIPLEXACIN DE 16 A 1

Este se puede implementar utilizando tres ICs 74153. A continuacin, se muestra el


sistema:

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

95

4.1.4.2 SISTEMAS DE MULTIPLEXACIN DE 32 A 1

Este se puede implementar utilizando cuatro ICs 74151 y un 74153. A continuacin, se


muestra el sistema:

CIBERTEC

CARRERAS PROFESIONALES

96

4.2 DEMULTIPLEXORES
Los demultiplexores tienen la funcin inversa a
los multiplexores. Por lo tanto, tienen una sola
entrada y varias salidas. Esta nica entrada
podra transferirse por cualquiera de las
salidas. Este control lo realizan las entradas o
lneas de seleccin. La siguiente tabla muestra
la relacin entre salidas de datos y la cantidad
de lneas de seleccin necesarias:

Bits de salida

Bits de seleccin

16

En el campo de las telecomunicaciones, el demultiplexor es un dispositivo que puede


recibir, a travs de un medio de transmisin compartido, una seal compleja
multiplexada y separar las distintas seales integrantes de la misma encaminndolas a
las salidas correspondientes. La seal compleja puede ser tanto analgica como digital
y estar multiplexada en cualquiera de las distintas formas posibles para cada una de
ellas.
4.2.1 DEMULTIPLEXOR DE 1 A 4

El siguiente demultiplexor demultiplexa una entrada por cuatro salidas (O3, O2 O1 y


O0), para lo cual, necesita 2 lneas de seleccin (S1 y S0).

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

97

Cada combinacin sobre las lneas de seleccin permite que slo una de las salidas
(O3, O2 O1 y O0) traslade la entrada IN.
4.2.1.1 TABLA DE VERDAD

La siguiente tabla de verdad establece la relacin entre las entradas de datos, las
lneas de seleccin y la salida:

S1

S0

Salida que porta la entrada

O0

O1

O2

O3

4.2.1.2 DISEO CIRCUITAL

El siguiente circuito digital representa el demultiplexor de 1 a 4:

CIBERTEC

CARRERAS PROFESIONALES

98

4.2.2 DEMULTIPLEXOR DE 1 A 8

El siguiente demultiplexor demultiplexa una entrada por cuatro salidas (O7, O6, O5,
O4, 03, O2, O1 y O0), para lo cual necesita 3 lneas de seleccin (S2, S1 y S0).

Cada combinacin sobre las lneas de seleccin permite que slo una de las salidas
(O7, O6, O5, O4, 03, O2, O1 y O0) traslade la entrada IN.
4.2.2.1 TABLA DE VERDAD

La siguiente tabla de verdad establece la relacin entre las entradas de datos, las
lneas de seleccin y la salida:

S2

S1

S0

Salida que porta la entrada

O0

O1

O2

O3

O4

O5

O6

O7

4.2.2.2 DISEO CIRCUITAL

El siguiente circuito digital representa el demultiplexor de 1 a 8:

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

99

4.2.3 CIRCUITOS INTEGRADOS DEMULTIPLEXORES

4.2.3.1 DOBLE DEMULTIPLEXOR DE 1 A 4 (74139)

Este demultiplexor posee dos demultiplexores de 1 a 4. Cada demultiplexor tiene su


entrada E, sus cuatro salidas respectivas Y0, Y1, Y2 y Y3, y sus lneas de seleccin B
y A. Si estas lneas se fijan a 1 0, la tercera salida de cada demultiplexor quedara
habilitado para transferir su respectivo dato de entrada, es decir, 1Y2 transferira la
entrada 1E y 2Y2 transferira la entrada 2E.

CIBERTEC

CARRERAS PROFESIONALES

100

El diagrama muestra su disposicin de contactos numerados. No se indican los


contactos 8 ni 16, pero, estos son los de energa. El contacto 16 se conectar a +5V y
8 a GND.
4.2.3.2 DEMULTIPLEXOR DE 1 A 8 (74138)

Este demultiplexor, demultiplexa de 1 a 8. Sus ocho salidas son Y0, Y1, Y2, Y3, Y4,
Y5, Y6 y Y7. Sus lneas de seleccin son C, B y A. Su entrada de datos podra ser E2
o E3. Si toma como entrada E3, E2 se tiene que fijar a cero, y si toma E2 como
entrada, entonces E3 se fijara a cero. La lnea E1 es la lnea de habilitacin.

Si esta se fija a uno, el demultiplexor opera normalmente, pero si se fija a cero, el


demultiplexor dejara de funcionar. El diagrama muestra su disposicin de contactos
numerados. No se indican los contactos 8 ni 16, pero estos son los de energa, el
contacto 16 se conectar a +5V y 8 a GND.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

101

4.2.3.3 DEMULTIPLEXOR DE 1 A 16 (74154)

Este demultiplexor, demultiplexa de 1 a 16. Sus diecisis salidas son Y0, Y1, Y2, Y3,
Y4, Y5 Y13, Y14 y Y15. Sus lneas de seleccin son D, C, B y A. Su entrada de
datos podra ser E1 o E2. Si se toma como entrada E1, E2 sera la lnea de
habilitacin del circuito integrado, pero si se toma E2 como entrada, entonces E1 sera
la lnea de habilitacin. La lnea que quede como habilitacin del demultiplexor, tendra
que fijarse a cero para que funcione normalmente. Si se fija a uno, el demultiplexor
dejara de funcionar.

El diagrama muestra su disposicin de contactos numerados. No se indican los


contactos 12 ni 24, pero estos son los de energa. El contacto 24 se conectar a +5V y
12 a GND.

CIBERTEC

CARRERAS PROFESIONALES

102

Resumen

Los multiplexores son circuitos que permiten transmitir por un solo canal varias
entradas de datos. Estos pueden ser de 2 a 1, 4 a 1 u 8 a 1. Si se requieren
implementar sistemas de multiplexaje, se deben interconectar estos multiplexores
bsicos.

Los demultiplexores cumplen una funcin inversa a los multiplexores, es decir,


envan una entrada de datos por varios canales de salida. Estos pueden ser de 1 a
4, 1 a 8 o 1 a 16. Para implementar sistemas de demultiplexaje, se deben
interconectar estos demultiplexores bsicos.

Los Buffer son dispositivos que mantienen los niveles lgicos de los datos, pero
mejoran la capacidad de corriente de estos. Son empleados para evitar los
problemas de sobrecarga de los sistemas.

Los Latchs son dispositivos de captura de informacin, que capturan la


informacin pertinente activando la lnea de control por nivel o por flanco,
dependiendo si este est diseado con latchs o flip flops.

Si desea saber ms acerca de estos temas, puede consultar las siguientes


pginas:
http://lasclases.com/CircuitosLogicos/tema9.html

Aqu hallar ms informacin sobre los multiplexores y demultiplexores.


http://www.monografias.com/trabajos17/microcontroladores/microcontroladores.s
html#otros ml

Aqu hallar informacin adicional sobre los Latchs.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

103

UNIDAD DE
APRENDIZAJE

SISTEMA DE ADQUISICIN DE DATOS


LOGRO DE LA UNIDAD DE APRENDIZAJE

Al trmino de la unidad, el alumno disea un sistema de adquisicin de datos.

TEMARIO

Buffer de datos

Latchs de datos

Conversores ADC y DAC

ACTIVIDADES PROPUESTAS

Los alumnos implementan, mediante software de simulacin, circuitos de


mantenimiento y captura de datos.

Los alumnos implementan, mediante software de simulacin, circuitos de


conversin anlogo digital y digital anlogo.

Los alumnos implementan dichos circuitos en protoboards.

CIBERTEC

CARRERAS PROFESIONALES

104

5.1. COMPONENTES DE ADQUISICIN

Entre los componentes ms importantes para realizar un sistema de adquisicin de


datos, tenemos a los buffers, latch y conversores. Los buffers aumentan la capacidad
de corriente de las seales digitales, los latch capturan informacin digital y los
conversores convierten una seal analgica en digital o una digital en analgica.

5.1.1 BUFFER DE DATOS


Un buffer es un dispositivo que evita el efecto de carga en un
circuito. En su forma ms sencilla, es un amplificador
operacional funcionando como seguidor. Por consiguiente, el
voltaje y la corriente no disminuye en el circuito, ya que ste
toma el voltaje de la fuente de alimentacin del operacional y no de la seal que se
est introduciendo, por lo que si una seal llegara con poca corriente, el circuito
seguidor compensara esa prdida con la fuente de alimentacin del amplificador
operacional.
El buffer cumple la funcin de almacenar momentneamente informacin, pero
dndole los niveles adecuados de corriente para su interpretacin correcta.
5.1.1.1 BUFFER IC 74LS 244

El 74LS244 est formado por dos grupos de buffers de 4 bits. El primero dispone de
sus cuatro entradas 1A1, 1A2, 1A3 y 1A4, sus cuatro salidas 1Y1, 1Y2, 1Y3 y 1Y4, y
su lnea de control 1G. El segundo dispone de sus cuatro entradas 2A1, 2A2, 2A3 y
2A4, sus cuatro salidas 2Y1, 2Y2, 2Y3 y 2Y4, y su lnea de control 2G.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

105

Cuando las lneas de control G se fijan a cero, el buffer funciona generando en sus
salidas Y los niveles lgicos de las entradas A y corrigiendo la carencia de corriente
que estas podran tener. Pero, cuando la lnea de control G es fijada a uno, las salidas
Y se mantienen en alta impedancia. Las lneas 2 y 10 se deben conectar a +5V y
GND, respectivamente.

Una aplicacin puede darse en el uso del puerto paralelo del computador. Servira
como interfase de salida, con lo que disminuira lo ms posible el riesgo de daos al
puerto.

El 74LS244 se empleara como etapa separadora y al mismo tiempo mejorara la


capacidad de corriente del puerto. De esta forma, podemos conectar una serie de
diodos emisores de luz (LED) que nos indiquen la actividad en las lneas de datos del
puerto paralelo, sin causar su sobrecarga.
5.1.1.2 BUFFER IC 74LS245

El 74LS245 es un Buffer, pero, al mismo tiempo Transeiver, es decir, permite transmitir


informacin en un sentido o en el sentido opuesto. Las entradas se pueden convertir
en salidas y las salidas en entradas. Si la lnea de control DIR se fija a cero, la
informacin viaja desde B (B1, B2, B3 B4, B5, B6 y B7) hacia A (A1, A2, A3, A4, A5,
A6 y A7), de lo contrario, la informacin viajara de A hacia B, para lo cual, la lnea de

CIBERTEC

CARRERAS PROFESIONALES

106

control DIR se tendra que fijar a uno. La lnea de control G es de habilitacin. Si esta
se fija a cero, el Buffer funciona normalmente, pero si se fija a uno, sus lneas
quedaran en alta impedancia. Decir alta impedancia es equivalente a suponer que el
circuito esta desconectado.

El 74245 es uno de los circuitos integrados ms usados para el control de datos en el


bus de datos en una transmisin paralela. Esta comunicacin comnmente es
bidireccional.
Este Buffer, al igual que el 74244, puede emplearse en el manejo del puerto paralelo:

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

107

5.1.2 LATCH DE DATOS


Un latch de datos es un dispositivo que captura informacin de un bus.

Este

dispositivo puede recibir en su entrada informacin mltiple y variante proveniente de


un bus de datos, pero slo se capturar la informacin que sea pertinente. Para esto
cuenta con una lnea de control, la cual se debe activar cada vez que deseamos
capturar el dato entrante. Una vez desactivada la lnea de control, el dato capturado
permanecer retenido en los latchs, sin variar, aun a pesar que los datos entrantes
cambien.
5.1.2.1 LATCH IC 74LS373

Es un arreglo de latchs de 8 bits, que maneja 3 estados alto, bajo y alta impedancia.
Esta caracterstica de alta impedancia permite a este integrado ser usado en sistemas
de transferencia de bus de datos sin necesidad de agregar una interfase adicional de
acoplo de impedancias.

Est formado por 8 latchs tipo D. Los latchs capturan sus respectivos datos de
entrada, mientras la lnea de control ENABLE se fije a uno. Si esta se fija a cero,
ningn dato podr ser capturado por los latchs. La informacin retenida en los latchs
no se muestra sobre las salidas Q, mientras la lnea de control OUT ENABLE
permanezca en uno. Para observar la informacin, es necesario fijar esta lnea a cero.

CIBERTEC

CARRERAS PROFESIONALES

108

5.1.2.2 LATCH IC 74LS374

Es parecido al latch 74LS373, pero, en lugar de latchs, emplea flip flops, por lo cual,
para capturar un dato se debe aplicar un flanco de subida sobre la lnea de control
CLOCK.

Las dems funciones son idnticas al IC 74LS373.

5.1.3 CONVERSORES ADC y DAC


Como se sabe, el mundo que nos rodea es anlogo, es decir, todos los fenmenos
naturales existentes en nuestro medio son anlogos y variantes en el tiempo, errticos
y difciles de evaluar.

Por otro lado, sabemos que un sistema digital es un sistema que se caracteriza por la
rapidez de sus clculos, la exactitud, precisin, y alta velocidad. Es necesario convertir
la seal anloga en digital para que de esta manera se pueda controlar fcilmente
cualquier fenmeno. Obviamente, una vez controlado el fenmeno en forma digital, se
convierte a anlogo para su proceso natural.

Un conversor o convertidor analgico-digital (ADC) es un dispositivo electrnico capaz


de convertir el voltaje determinado de una seal

en un valor binario. En otras

palabras, este se encarga de transformar seales anlogas a digitales.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

109

Estos conversores poseen dos variables de entrada llamadas Vref+ y Vref-, las cuales
determinan el rango de voltaje, de conversin de la seal de entrada.

El dispositivo establece una relacin entre su entrada (seal analgica) y su salida


(digital) dependiendo de su resolucin. Esta resolucin se determina dividiendo el
voltaje mximo de conversin que soporta el ADC entre la cantidad de estados que
genera el nmero de bits de su salida digital.

RESOLUCIN = VMAX/2

Donde, VMAX es el voltaje mximo de conversin y n es el nmero de bits de la


conversin.

Como ejemplo, existen varios conversores que soportan un mximo de 5V de


conversin y poseen 8 bits de salida digital. Por lo tanto, la resolucin sera:

RESOLUCIN = 5V/2 = 5V/256 = 0.019V = 19.5mV


Eso quiere decir que por cada 19.5 mv de aumento o disminucin de voltaje de la
seal de entrada, aumenta o disminuye en un uno el valor en binario de la salida
digital.

Los Latchs y buffers se emplean para muestrear una seal analgica:

CIBERTEC

CARRERAS PROFESIONALES

110

5.1.3.1 PROCESO DE CONVERSIN

La digitalizacin o conversin anloga digital se realiza tomando muestras de la seal


anloga, cada cierto tiempo de modo repetitivo. El nivel de voltaje de la seal
analizada en el instante de la muestra es convertida a binario. Este sistema requiere
de cuatro procesos para realizar la conversin: muestreo, retencin, cuantificacin y
codificacin.
Muestreo
Este proceso consiste en tomar muestras de la amplitud de la seal analgica, cada
cierto tiempo de modo peridico. El tiempo utilizado entre cada muestreo se conoce
como frecuencia de muestreo. Esta se expresa en Hz, KHz incluso MHz. Mayor
frecuencia significa mayor calidad de conversin.

Retencin
Este procedimiento se realiza para evitar que se pierda la muestra por un cambio
repentino de la seal anloga, o porque la variacin de la seal anloga es rpida.
Una vez retenida la seal (copia de la magnitud de la muestra), se puede proceder sin
problemas con la siguiente etapa del proceso.
Cuantificacin
En este proceso, se asigna el nivel de voltaje a cada muestra. Los valores asignados
son valores de tensin definidos de acuerdo a la cantidad de bits de la conversin. El
valor asignado puede coincidir con la muestra tomada, pero lo normal es que eso no
ocurra. Suponga que los valores de cuantizacin sean 0V, 2V, 4V, 6V, y que el valor
del nivel muestreado sea 2.6V. El valor cuantificado sera 2V por ser este el ms
cercano a la seal muestreada.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

111

Codificacin
Finalmente, este proceso se encarga de convertir estos valores cuantificados en el
cdigo binario correspondiente. La cantidad de bits depende de la precisin del
conversor anlogo digital. Existen conversores de 8 hasta 24 bits. Ms bits de
conversin significan mayor precisin de conversin.

Los cuatro procesos mencionados se realizan en el interior de los circuitos integrados


fabricados para esta funcin, denominados ADCs.

El esquema muestra el diagrama simplificado de un conversor ADC.

CIBERTEC

CARRERAS PROFESIONALES

112

5.1.3.2 TIPOS DE CONVERES ADC

De aproximaciones sucesivas: Es el tipo de conversor ms empleado. Para


aplicaciones que no necesitan grandes resoluciones ni velocidades. Debido a su bajo
costo, se suele integrar en la mayora de microcontroladores permitiendo una solucin
de bajo costo en un nico chip para numerosas aplicaciones de control. El conversor
realiza una bsqueda dicotmica del valor presente en la entrada. Su principal
carencia es el elevado tiempo de conversin necesario.
Flash: este conversor destaca por su elevada velocidad de funcionamiento. Est
formado por una cadena de divisores de tensin y comparadores, realizando la
conversin de manera inmediata en una nica operacin. Su principal desventaja es el
elevado costo.
Sigma-delta: Tienen una velocidad de conversin baja, pero, a cambio, poseen una
relacin seal a ruido muy elevada, la mayor de todos.
5.1.3.2.1 CONVERSOR ADC 0804

Es un conversor de aproximaciones sucesivas, dispone de una salida binaria de 8 bits


y son muy rpidos, con una velocidad de conversin de aproximadamente 100 uS.
Trabajan a 5 V y dispone de reloj interno o externo, aunque lo ms fcil es poner un
arreglo R/C entre los pines 19,4 y masa.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

Las seales son:

113

CS seleccin de chip
WR escritura
RD lectura
INTR fin de conversin

Si CS y WR estn en 1 el conversor se bloquea, no funciona. La conversin se inicia


con un 1 en WR y 0 en CS.

Los periodos entre transiciones de 0 a 1 o de 1 a 0 deben ir precedidos de unos


periodos de tiempo en espera de 0,5 mS para permitir la adecuacin de todos los
circuitos internos del conversor A/D. Para conseguir una conversin continua, CS y RD
deben de estar a 0 y la seal INTR conectada a la entrada de WR.

A continuacin, se muestra el circuito donde el conversor est debidamente


configurado para el proceso de conversin. La informacin de salida digital se muestra
sobre leds:

CIBERTEC

CARRERAS PROFESIONALES

114

5.1.3.2.2 CONVERSOR DAC 0808

El DAC0808 produce salida de corriente proporcional al dato digital de entrada, por lo


que se necesita adicionar un amplificador-operacional para convertir la corriente en
voltaje. Es compatible con las familias TTL, DTL y CMOS.

Caractersticas:

A 5 voltios disipa 33mW.


Rango de voltaje desde 4.5 voltios hasta 18 voltios continuos.
Rango del Voltaje de Salida
El voltaje sobre el pin 4 se restringe a un rango de 0,6 a 0,5V cuando VEE = - 5V,
debido al mtodo de conmutacin de corriente empleado en el DAC0808. La salida
negativa del DAC0808 se extiende a - 5V donde el voltaje negativo de alimentacin es
ms negativo a -10V. Usando una corriente a escala mxima de 1.992 mA y una
resistencia de carga de 2,5 K entre el pin 4 y tierra rendir un salida de voltaje de
256 niveles entre 0 y - 4.980V. No conectar el pin 1 no afecta la velocidad del
conversor o la disipacin de potencia. Sin embargo, el valor de la resistencia de carga
determina el tiempo de conmutacin, debido al aumento de la oscilacin del voltaje.
Los valores de RL hasta 500 no afectan significativamente el desempeo, pero con
una de 2,5 K la carga aumenta en el peor caso eleva el tiempo a 1,2s (cuando
todos los bits estn en 1).

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

115

Rango de Corriente de Salida


El rango de corriente mxima de salida es de 4,2 mA. Puede usarse slo para voltajes
negativos de alimentacin ms negativos a -7V, debido al aumento de la cada de
voltaje a travs de las resistencias en el amplificador de corriente de referencia.
La Exactitud
La exactitud absoluta es la medida de cada nivel de corriente de salida con respecto a
su valor esperado, y es dependiente de la exactitud relativa y la desviacin de
corriente a escala mxima. La exactitud relativa es la medida de cada nivel de
corriente de salida como una fraccin de la corriente a escala mxima. La exactitud
relativa del DAC0808 es esencialmente constante con la temperatura, debido al
excelente manejo de la temperatura por la resistencia monoltica. La corriente de
referencia puede oscilar con la temperatura, ocasionando un cambio en la exactitud
absoluta de la corriente de salida. Sin embargo, el DAC0808 tiene una oscilacin de
corriente mxima muy baja con la temperatura.

El DAC0808 garantiza una precisin que est dentro de 1/2 LSB a una corriente
mxima escala de salida de 1,992mA. Esto corresponde al amplificador de referencia
de salida de la corriente que va a la red de escalera de 2mA, con la prdida de 1 LSB
(8 A) que es el remanente de escalera conectado a tierra. La corriente de entrada al
pin 14 tiene un valor garantizado de entre 1,9 y 2,1mA.

A continuacin, se muestra el circuito de aplicacin tpica de este conversor:

CIBERTEC

CARRERAS PROFESIONALES

116

Resumen

Los Buffer son dispositivos que mantienen los niveles lgicos de los datos, pero
mejoran la capacidad de corriente de estos. Son empleados para evitar los
problemas de sobrecarga de los sistemas.

Los Latchs son dispositivos de captura de informacin, que capturan la


informacin pertinente activando la lnea de control por nivel o por flanco,
dependiendo si este est diseado con latchs o flip flops.

Los conversores anlogo digital (ADC) convierten los niveles de voltaje de una
seal anloga en digital a travs de varios bits de salida. El conversor ADC 0804
tiene un voltaje mximo de trabajo de 5V y 8 bits destinados para la conversin
digital.

Los conversores digital anlogo (DAC) realizan el proceso contrario de los ADCs,
convierten una combinacin binaria digital de su entrada en un nivel de corriente
proporcional en su salida. Por tal motivo, a la salida de estos dispositivos se tiene
que adaptar un amplificador operacional para convertir estos niveles de corriente
en niveles de voltaje. El DAC 0808 puede polarizarse con +/-4.5V hasta +/-18V y
tiene 8 bits de entrada digital.

Si desea saber ms acerca de estos temas, puede consultar las siguientes


pginas:

ttp://www.monografias.com/trabajos17/microcontroladores/microcontroladores.s
html#otros ml
Aqu hallar informacin adicional sobre los Latchs.

http://www.uv.es/~navasqui/practicastecnologia/practica5/practica5.htm
Aqu hallar informacin acerca de los conversores ADC.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

117

UNIDAD DE
APRENDIZAJE

SISTEMA DE ADQUISICIN DE DATOS


LOGRO DE LA UNIDAD DE APRENDIZAJE

Al trmino de la unidad, el alumno disea un sistema de adquisicin de datos.

TEMARIO

Sistema de adquisicin de datos

El puerto paralelo

Diseo de tarjetas de adquisicin de datos

ACTIVIDADES PROPUESTAS

Los alumnos implementan mediante software de simulacin un circuito de


adquisicin de datos.

Los alumnos implementan dichos circuitos en protoboards.

CIBERTEC

CARRERAS PROFESIONALES

118

5.2 SISTEMA DE ADQUSICIN DE DATOS


Es importante entender que se pueden procesar datos digitalmente, pero para eso es
necesario un sistema que nos permita ingresar estos datos. Para poder lograr este
objetivo, se necesita conocer el funcionamiento de los puertos de comunicacin tanto
interna como externamente. Muchos puertos son programables, es decir, basta con
una determinada rutina en un determinado lenguaje para que se puedan leer o escribir
datos en un puerto.

En otros casos, se deben disear tarjetas controladoras que manejen su propia


interfase, que tengan sus propias direcciones y su propio sistema de adquisicin de
informacin para poder ingresar datos o grabar datos en perifricos determinados

En la actualidad, el vertiginoso desarrollo de la electrnica y la microelectrnica han


motivado que todas las esferas de la vida humana se estn automatizando, por
ejemplo: la industria, el hogar, los comercios, la agricultura, la ganadera, el transporte,
las comunicaciones, etc. En todo ese proceso de automatizacin, el microprocesador y
el microcontrolador juegan un papel de suma importancia. Estos han permitido el
desarrollo de sistemas inteligentes que resuelven los ms diversos problemas son los
llamados Sistemas de Adquisicin de Datos.

El objetivo bsico de los "Sistemas de Adquisicin de Datos" (S.A.D) es la integracin


de los diferentes recursos que lo integran : Tranductores de diferentes tipos y
naturaleza, multiplexores, amplificadores, sample and hold, conversores A/D y D/A;
adems, el uso del microcontrolador 8051 como CPU del SAD diseado, utilizando de
este microcontrolador todas sus prestaciones: interrupciones, temporizadores,
comunicacin serie as como hacer uso de memorias y puertos externos y creando
con todo ello un sistema que se encargue de una aplicacin especfica como es
chequear

una

variables

(PH,

humedad

relativa,

temperatura,

iluminacin,

concentracin, etc ) para una posterior utilizacin de la misma ya sea con fines
docentes, cientficos, de almacenamiento o control y utilizacin de la misma.

A continuacin, se muestra un diagrama que resume el proceso de adquisicin de


datos, este emplea un microprocesador:

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

119

5.2.1 EL PUERTO PARALELO


Los puertos de comunicacin paralelo son de particular inters para los que estudian
electrnica, ya que permiten controlar todo tipo circuitos

electrnicos, utilizados

principalmente en actividades de automatizacin de procesos, adquisicin de datos,


tareas repetitivas y, en general, aplicaciones que demandan precisin.

La mayora de los sistemas paralelos utilizan ocho lneas de datos para transmitir un
byte a la vez. Como en todo, existen excepciones, por ejemplo el estndar SCSI
permite transferencia de datos en esquemas que van desde los ocho bits, y hasta los
treinta y dos bits en paralelo.

Para que se logre la comunicacin, debe existir un acuerdo entre las partes, es decir,
entre el transmisor y el receptor. A este acuerdo se le llama protocolo de comunicacin
que obviamente todo sistema de comunicaciones debe considerar. Para que este
acuerdo se d entre ambas partes, se requieren dos lneas de control: la lnea de
habilitacin (en ingls strobe) es la que utiliza la parte transmisora para indicarle a la
parte receptora la disponibilidad de informacin. La lnea de reconocimiento
(acknowledge) es la que utiliza la parte receptora para indicarle a la parte transmisora

CIBERTEC

CARRERAS PROFESIONALES

120

que ha tomado la informacin (los datos) y que est lista para recibir ms datos. El
puerto paralelo provee de una tercera lnea de control llamada en ingls busy
(ocupado). sta la puede utilizar la parte receptora para indicarle a la parte
transmisora que est ocupada y, por lo tanto, la parte transmisora no debe intentar
colocar nueva informacin en las lneas de datos.

5.2.1.1 TIPOS DE CONECTORES

Existen 2 tipos de conectores para el puerto paralelo:

El conector de 36 pines IEEE1284 tipo B.

El conector de 25 pines conocido como D25 hembra (IEEE 1284 A).

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

121

A continuacin, se muestra la tabla que describe la funcin de cada uno de sus


contactos:

Grupo Seal SPP


STROBE

In/out
Salida

AUTOFEED Salida
Control

Status

Data

Descripcin de la seal
Indica que hay datos vlidos en la lnea de datos
Hace que la impresora automticamente inserte una
lnea por cada retorno de carro

SELECTIN Salida

Le indica a la impresora que est seleccionada

INIT

Salida

Usado para aplicar un reset a la impresora

ACK

Entrada Indica que el ltimo carcter fue recibido

BUSY

Entrada

PE

Entrada Sin papel

SELECT

Entrada Indica que la impresora est en lnea

ERROR

Entrada Indica que existe una condicin de error

DATA (8:1) Salida

Indica que la impresora est ocupada y no puede


aceptar datos

8 lneas de datos, en el antigua puerto paralelo


estndar son slo de salida

5.2.1.2 MODOS DE OPERACIN

El estndar IEEE 1284 define cinco modos de operacin:


1. Modo compatible
2. Modo nibble
3. Modo byte
4. Modo EPP, puerto paralelo ampliado
5. Modo ECP, puerto de capacidad extendida

El objetivo del estndar es disear nuevos dispositivos que sean totalmente


compatibles con el puerto paralelo estndar (SPP) definido originalmente por la IBM
(en ste artculo tratar solamente el modo compatible). Hay tres direcciones de E/S

CIBERTEC

CARRERAS PROFESIONALES

122

asociadas con el puerto paralelo de la PC. Estas direcciones pertenecen al registro


de datos, el registro de estado y el registro de control. El registro de datos es un
puerto de lectura-escritura de ocho bits. Leer el registro de datos (en la modalidad
unidireccional) retorna el ltimo valor escrito en el registro de datos. Los registros de
control y estado proveen la interface a las otras lneas de E/S.
En modo compatible (SPP), tenemos la siguiente configuracin del conector DB25
hembra:

5.2.1.2.1 DIRECCINES DE LOS PUERTOS

El puerto de datos, que es de salida, comnmente tiene las direcciones 278H,


378H o 3BCH.

El puerto de estado, que es de entrada, comnmente tiene las direcciones


279H, 379H o 3BDH.

El puerto de control, que de salida, tiene las direcciones 27AH, 37AH o 3BEH.

Cmo determinar cul es la direccin o direcciones del puerto paralelo de la PC? Una
forma fcil de averiguarlo es emplear el programa DEBUG desde el comando de lnea
del sistema.

En la plataforma Windows, vamos al men inicio, seleccionamos programas y luego


MS-DOS para abrir una ventana de Smbolo de MS-DOS y aqu podemos introducir
los comandos indicados ms abajo. Si se trabaja en ambiente DOS, basta con teclear

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

123

en la lnea de comandos la palabra debug. El programa responde colocando un signo


de menos - en donde tecleamos sin dejar espacios en blanco d040:08L8 y
presionamos la tecla entrar. Entonces el programa debug.exe nos indica en una serie
de nmeros la(s) direccin(es) para el (los) puerto(s) paralelo(s) disponibles en nuestro
sistema. La siguiente imagen muestra el resultado obtenido en una PC:

Se puede observar una serie de nmeros de dos dgitos (ocho en total). Se trata del
volcado de memoria que empieza en la direccin 40:0008h. Los primeros seis pares
de nmeros representan las direcciones base (direcciones de los puertos de datos)
para los puertos paralelo instalados. En la imagen de arriba, se aprecian tres puertos
paralelos instalados: LPT1 en la direccin 3BCh (BC 03), LPT2 en la direccin 378h
(78 03) y LPT3 en la direccin 278 (78 02). Los nmeros estn invertidos porque Intel
almacena tal informacin en un formato de "byte de bajo orden - byte de alto orden".
5.2.1.2.2 ESCRIBIENDO DATOS EN EL PUERTO

Con ocho bits, podemos escribir en el puerto un total de 256 valores diferentes, cada
uno de stos representa un byte de informacin y cada byte puede representar una
accin concreta que nosotros podemos definir de acuerdo a nuestras necesidades. En
ste artculo, el objetivo es entender cmo trabajar con el puerto paralelo; por lo tanto,
hagamos un programa que nos permita escribir un nmero cualquiera entre 0 y 255 de
tal manera que sea posible visualizar el valor en formato binario.

En primer lugar consulte la documentacin de su compilador para verificar la correcta


sintaxis de la funcin que nos sirve para escribir en el puerto. En el caso especfico de
Symantec C++, dicha funcin es outp( ). sta funcin requiere dos parmetros, el
primero de tipo unsigned int que especifica la direccin del puerto paralelo, y el
segundo de tipo char que especifica el valor a escribir en las lneas de datos de puerto.
Una tpica llamada a la funcin outp( ) se parece al siguiente comando:

outp(0x378, 255);

CIBERTEC

CARRERAS PROFESIONALES

124

El valor en decimal 255 sera transmitido por el puerto 378h que es de salida en el
modo normal. Si tuviramos conectados leds a los ocho bits del puerto de datos, los
ocho leds se hubieran encendido.

Supongamos que necesitamos iluminar los leds en posicin par (10101010 = AA). El
comando sera:

outp(0x378, 0xAA);
5.2.2 DISEO DE TARJETAS DE ADQUISICIN DE DATOS (DAQ)
Un Sistema de Adquisicin de Datos es un equipo electrnico cuya funcin es el
control o el registro de una o varias variables de un proceso cualquiera; de forma
general, puede estar compuesto por los siguientes dispositivos:

1. Sensores
2. Amplificadores operacionales
3. Amplificadores de instrumentacin
4. Aisladores
5. Multiplexores analgicos
6. Multiplexores digitales
7. Circuitos muestra y retencin
8. Conversores A-D
9. Conversores D-A.
10. Microprocesadores
11. Contadores
12. Codificadores
13. Decodificado
14. Filtros
15. Comparadores
16. Fuentes de potencia

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

125

EJEMPLO
En este ejemplo, el puerto paralelo tiene que en el modo bidireccional para poder leer
a travs del puerto de datos la informacin correspondiente a la conversin del
ADC0804.

Segn los rangos que se establezcan, el rele, que controla la carga, tendra que
activarse o desactivarse, para lo cual bastara con transmitir por pin 1 del puerto el
valor 0 o 1 respectivamente.

CIBERTEC

CARRERAS PROFESIONALES

126

Resumen

Un sistema de adquisicin de datos permite obtener

informacin anloga,

procesarla y generar el control correspondiente, de acuerdo a la aplicacin en


curso. De la obtencin de informacin, se encargan los sensores y el conversor
anlogo digital, del proceso comnmente se encarga un microprocesador y del
control se encargan las salidas que segn el caso, podra ser un rele, un triac o un
conversor digital anlogo.

El puerto paralelo es el puerto que permite a un circuito de adquisicin de datos,


utilizar el microprocesador de un computador para realizar las operaciones de
clculo bsicamente.

Si desea saber ms acerca de estos temas, puede consultar las siguientes


pginas:
http://www.monografias.com/trabajos17/sistemas-adquisiciondato/sistemasadquisiciondato.shtml

Aqu hallar informacin ms detallada respecto a sistemas de adquisicin de


datos.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

127

UNIDAD DE
APRENDIZAJE

MICROCONTROLADORES PIC
LOGRO DE LA UNIDAD DE APRENDIZAJE

Al trmino de la unidad, el alumno disea circuitos digitales bsicos aplicando el


microcontrolador PIC16F84.

TEMARIO

Introduccin a los microcontroladores

Microprocesador y microcontrolador

El PIC16F84: caractersticas, puesta en marcha y arquitectura interna

Organizacin de la memoria y registros

ACTIVIDADES PROPUESTAS

Los alumnos implementan mediante software de simulacin circuitos aplicativos


con el PIC16F84.

Los alumnos implementan dichos circuitos en protoboards.

CIBERTEC

CARRERAS PROFESIONALES

128

6.1 INTRODUCCIN A LOS MICROCONTRONTROLADORES


En 1976, Intel y Motorola, dos fabricantes de
Microprocesadores, lanzan al mercado las
primeras microcomputadoras de un solo chip,
las

que

ms

tarde

se

denominaran

Microcontroladores. Estos fueron el 8048 de


Intel y el 6805R2 de Motorola. A partir de esta
fecha, se marc la ruptura tecnolgica de los Microprocesadores y Microcontroladores,
los sistemas informticos que manejan grandes volmenes de informacin

y los

sistemas mnimos que manejan pocas cantidades de informacin, pero que requieren
de una gran interaccin con el mundo fsico en tiempo real.

Los Microcontroladores se encuentran presentes en


aplicacin

que

requiera

funciones

de

cualquier

secuenciamiento,

codificacin, decodificacin, monitoreo, adquisicin de datos,


sealizacin, procesamiento de seales, control retroalimentado,
temporizacin, clculos aritmticos

sencillos, comunicaciones,

automatismo, despliegue digital, control on - off, etc. Las


aplicaciones en nuestra realidad se pueden observar en los artefactos domsticos,
automatizacin industrial, domtica, industria automotriz, navegacin, perifricos de
computadora, robtica, sistemas de seguridad, telefona celular, etc.

6.1.1 MICROPROCESADOR Y MICROCONTROLADOR

Los Microcontroladores difieren de los Microprocesadores por su funcionalidad. Para


que un Microprocesador pueda funcionar, necesita otros componentes externos como
las memorias e interfaces, slo as puede recibir y enviar datos. En cambio, el
Microcontrolador fue diseado para ser todo eso en un solo chip. Ningn otro
componente externo se necesita para su aplicacin, porque todos los dispositivos
necesarios ya se incluyen en este. As, el Microcontrolador es un circuito integrado que
incluye

en

su

interior

las

tres

unidades

funcionales

de

un

computador:

Microprocesador, memoria, y unidades de entrada y salida.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

129

6.1.2 EL PIC16F84

En la actualidad, existen varios fabricantes de Microcontroladores, entre los que


destacan Atmel, Intel, Microchip y Motorola - Frees Cale. Nosotros trabajaremos con
los Microcontroladores de Microchip por dos razones bsicamente: por la facilidad con
la que se consigue informacin referente a sus Microcontroladores y porque, en
nuestro medio, es fcil y econmico adquirir estos PICs.

El PIC16F84 es uno de los tantos tipos


de

Microcontroladores

que

fabrica

Microchip. Los hay desde los ms


simples

hasta

los

ms

complejos,

clasificados en tres grupos: gama baja,


media y alta. El PIC16F84 pertenece a
la gama media, es decir, es un Microcontrolador de mediana complejidad, ideal para
adentrarnos en el mundo de estos chips.

6.1.2.1 CARACTERISTICAS DEL PIC16F84

La figura de la derecha muestra la disposicin de pines de este PIC. VDD y VSS son
los pines de polarizacin, +5V y GND, respectivamente. OSC1 y OSC2 son los pines
para el reloj. En estos, se conectar el cristal. MCLR es el pin de programacin o
reset. Durante la programacin, esta patilla se conecta al voltaje de programacin
(13,2V), mientras que, en funcionamiento, este debe conectarse a un arreglo RC para
recibir el pulso de inicializacin. Los pines RAx y RBx son los pines de los puertos A y

CIBERTEC

CARRERAS PROFESIONALES

130

B, respectivamente. A travs de estas patillas, el microcontrolador se conectar con el


circuito a controlar.

6.1.2.1.1 EL CPU

Este Microcontrolador posee, en su interior, un Microprocesador de 8 bits que opera a


una frecuencia mxima de 20Mhz, soporta un total de 35 instrucciones las que ejecuta
en un ciclo de mquina, excepto las de salto que ejecuta en dos ciclos. Un ciclo de
mquina equivale a 4 periodos de reloj (f/4), donde f es la frecuencia del cristal
utilizado para proveer la seal de reloj.
6.1.2.1.2 LAS MEMORIAS

El PIC16F84 posee tres tipos de memorias: FLASH, EEPROM y FLASH.

6.1.2.1.2.1 Memoria FLASH


La memoria flash es la memoria de programas destinada para almacenar las
instrucciones. Tiene una capacidad de 1024 celdas de 14 bits (1K word), es decir, se
pueden introducir en esta memoria hasta 1024 instrucciones. Esta memoria es la que
recibir desde el computador los programas desarrollados durante los laboratorios.
Esta memoria puede ser borrada y programada 10 mil veces. Las instrucciones
depositadas en esta no se perdern ni modificarn aun si se pierde la energa de
polarizacin.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

131

6.1.2.1.2.2 Memoria EEPROM

La memoria EEPROM es una memoria destinada para el almacenamiento de datos y


variables. Este tipo de memoria, al igual que la FLASH, no pierde su informacin aun
si se pierde la energa que lo polariza. Su capacidad es de slo 64 celdas de 8 bits, es
decir, 64 bytes. Esta memoria puede ser regrabada 10 millones de veces.

6.1.2.1.2.3 Memoria RAM

La memoria ram es una memoria destinada al almacenamiento de datos, pero a su


vez, en sta, se encuentran todos los registros de configuracin de todas las funciones
del PIC. Su capacidad es de tan slo 68 celdas de 8 bits, es decir, 68bytes.
6.1.2.1.3 UNIDADES DE ENTRADA Y SALIDA

El PIC16F84 dispone de dos puertos denominados PORTA y PORTB. El puerto A est


formado por 5 pines, mientras que el puerto B por 8 pines. Es decir, 13 patillas a travs
de los cuales el Microcontrolador se conectar con las aplicaciones.

Adems, posee un dispositivo de temporizacin denominado TIMER0, el cual servir


para las aplicaciones que requieran controlar el tiempo.

El TIMER0 y el PORTB pueden funcionar bajo la modalidad de interrupcin, es decir,


el microprocesador slo los atender cuando estos lo necesiten. Las posibles
interrupciones se pueden generar por un pulso bajo en el pin RB0 del PORTB, el
desbordamiento del TIMER0, la variacin del estado de los pines RB4 a RB7 del
PORTB o por la culminacin de la escritura de un dato sobre la memoria EEPROM.

6.1.2.3 PUESTA EN MARCHA

Poner en funcionamiento al Microcontrolador significa polarizarlo, proveerle la seal de


reloj y asegurar el impulso de inicializacin bsico para que pueda funcionar.
6.1.2.3.1 Polarizacin
Este PIC necesita ser energizado con +5V y GND, ya sea durante la programacin de
su memoria FLASH o durante su funcionamiento. Las patillas utilizadas para esto son
VDD y VSS, tal como se muestra en la figura de la derecha. Algunas versiones de

CIBERTEC

CARRERAS PROFESIONALES

132

estos PICs disponen de 20 patillas, aadiendo dos patillas ms de polarizacin. Segn


sea conveniente, se utilizar una u otra patilla de polarizacin. No es necesario
conectar las dos patillas VDD a +5V ni tampoco conectar las dos patillas VSS a GND,
basta con adaptar una de las dos.

6.1.2.3.2 Reset

Todos los Microcontroladores necesitan recibir un impulso apenas se energizan. Esto


es fundamental para inicializar sus unidades y registros. De no presentarse este
impulso, el Microcontrolador probablemente quedara bloqueado ejecutando algn
grupo de instrucciones que nada tienen que ver con la ejecucin del programa
preparado, ya que, la PC (contador de programa) podra estar apuntando a cualquier
parte de la memoria de programa flash. Este impulso, entre otras cosas, asegura que
el registro PC apunte a la primera celda de la memoria FLASH, es decir, el
Microcontrolador queda listo para leer, interpretar y ejecutar su primera instruccin.
Este impulso se logra realizando un arreglo RC sobre la patilla MCLR, tal como se
muestra en la figura adjunta.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

133

Valores comunes seran 1K ohmios para la resistencia y 10 uF para el condensador. Si


durante el funcionamiento del Microcontrolador ocurriera algn evento no deseado y
este quedase bloqueado o simplemente se requiere reiniciar la ejecucin del programa
desde el principio, es necesario inyectar un nuevo impulso sobre MCLR. Esto se logra
aadiendo un pulsador, tal como se muestra en la figura.

6.1.2.3.3 Reloj

La funcin de reloj, tambin conocida como sistema de oscilacin, es fundamental


para que el Microcontrolador se ponga en marcha. Sin esta seal, los
Microcontroladores no podran realizar la ms mnima labor. Estos necesitan los
pulsos repetitivos de la seal de reloj para leer, interpretar y ejecutar las instrucciones
almacenadas en su memoria flash. Los pines destinados para esta funcin son OSC1
y OSC2. A estas se le tendrn que adaptar un cristal, un arreglo RC o una fuente
externa de reloj.

6.1.2.3.3.1 Modos de oscilacin

El PIC16F84 puede trabajar hasta en cuatro modos de oscilacin: LP, XT, HS y RC.

CIBERTEC

CARRERAS PROFESIONALES

134

6.1.2.3.3.1.1 Modo LP

Este sistema est diseado para que el microcontrolador opere a frecuencias bajas
comprendidas entre los 32Khz y 200Khz. Es posible adaptar un oscilador cermico o
un oscilador de cristal de cuarzo. Este debe ser acompaado por dos condensadores
cuyos valores dependen de la frecuencia de trabajo. Los fabricantes facilitan esta
informacin en tablas de la hoja de datos del PIC.

6.1.2.3.3.1.2 Modo XT

Este sistema est diseado para que el microcontrolador opere a frecuencias


comprendidas entre los 100Khz y 4Mhz. Es posible adaptar un oscilador cermico o un
oscilador de cristal de cuarzo. Este debe ser acompaado por dos condensadores
cuyos valores tpicos estn entre los 15pF y 33pF.

6.1.2.3.3.1.3 Modo HS

Este sistema est diseado para que el microcontrolador opere a frecuencias


comprendidas entre los 4Mhz y 20Mhz. Es posible adaptar un oscilador cermico o un
oscilador de cristal de cuarzo. Este debe ser acompaado por dos condensadores y

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

135

una resistencia cuyos valores dependen de la frecuencia de trabajo. Los fabricantes


facilitan esta informacin en tablas de la hoja de datos del PIC.

6.1.2.3.3.1.4 Modo RC

Este es un sistema poco preciso pero econmico y se realiza utilizando una resistencia
y un condensador. Los valores recomendaos por los fabricantes para este tipo de
oscilador son 5K ohmios < R <100K ohmios y C > 20pF.

6.1.2.4 ARQUITECTURA INTERNA

El PIC16F84, al igual que los dems Microcontroladores PIC, se caracterizan por tener
lo siguiente:

Una arquitectura Harvard

Un procesamiento segmentado (pipeline)

Un procesador tipo RISC

Un formato ortogonal

CIBERTEC

CARRERAS PROFESIONALES

136

6.1.2.4.1 Arquitectura Harvard

Esta arquitectura, a diferencia de la arquitectura de Von Newman, trabaja con dos


memorias independientes de datos y de instrucciones, a las que se conecta a travs
de dos grupos de buses separados. Ambos buses son totalmente independientes y de
diferentes

anchos.

Esto

permite

que

el

microprocesador

pueda

acceder

simultneamente a la memoria de datos y a la de instrucciones. Tal diferencia permite


que las instrucciones se ejecuten en tiempos mucho ms cortos.
6.1.2.4.2 Procesamiento segmentado o Pipeline

Este procesamiento puede procesar dos instrucciones al mismo tiempo, aunque en


diferente fase cada una. Es decir, mientras se est ejecutando una instruccin, se est
realizando la lectura de la siguiente instruccin. De esta manera, se puede ejecutar
cada instruccin en un ciclo de mquina.

Para los PICs, un ciclo de mquina equivale a cuatro ciclos de reloj. Todas sus
instrucciones se ejecutan en este periodo a excepcin de las instrucciones de salto
que toman dos ciclos de mquina.
6.1.2.4.3 Procesador RISC (reduced instruction set computer)

Los procesadores PIC se caracterizan por tener un juego reducido de instrucciones.


Esto permite que las instrucciones sean simples y se ejecuten en un solo ciclo de
mquina.
Este PIC soporta 35 instrucciones, las cuales estn organizadas por su orientacin al
byte, al bit y a las constantes.
6.1.2.4.4 Formato ortogonal

El formato ortogonal se refiere a las fuentes y destinos en el procesamiento de una


instruccin. En el caso de los PICs, cualquier elemento interno puede funcionar como
fuente o destino, evitando las limitaciones de procesadores antiguos. En la figura de la
derecha, observamos esta caracterstica donde la ALU (unidad aritmtica lgica) tiene
como fuentes al registro de trabajo W y los registros o celdas de la memoria de datos,
y, como destino, podemos observar que puede ser cualquiera de estos elementos
indicados.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

137

Podemos notar, en la figura de abajo, la arquitectura Harvard del PIC16F84. La


memoria de programas FLASH (que almacena las instrucciones) tiene un bus
conectado directamente sobre el registro de instrucciones y este, a su vez, se conecta
con el decodificador de instrucciones, con el multiplexor de direcciones o al multiplexor
de entrada para las operaciones aritmtico lgicas. En cambio, la memoria RAM y la
memoria EEPROM (que almacenan los datos) comparten otro camino, otro bus, el
cual se conecta al registro FSR de direccionamiento indirecto de memoria RAM, a los
PUERTOS, al TIMER0, al registro de trabajo W o al multiplexor de entrada para las
operaciones aritmtico lgicas.

Tambin, podemos observar el formato de trabajo ortogonal. La ALU (unidad


aritmtica lgica) recibe por una de sus entradas la informacin proveniente del bus de
la memoria FLASH o del bus de las memorias RAM o EEPROM y por su otra entrada
recibe la informacin proveniente del registro de trabajo W. El resultado de las
operaciones es devuelto sobre el registro de trabajo W, sobre los puertos, sobre el
TMR0, sobre las memorias RAM o EEPROM y sobre algunos registros especiales
como el FSR, EEDATA, EEADR, STATUS y PC.

CIBERTEC

CARRERAS PROFESIONALES

138

6.1.3 ORGANIZACIN DE LA MEMORIA Y REGISTROS


A continuacin, se detallar como est organizada la memoria FLASH, LA RAM y los
registros especiales:

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

139

6.1.3.1 LA MEMORIA FLASH


Esta memoria, encargada de proveer las instrucciones al microprocesador, debe ser
adecuadamente tratada; de lo contrario, podramos cometer errores involuntarios de
programacin.

La capacidad fsica de esta memoria es de 1Kwords, donde cada Word est formado
por 14 bits. Su direccionamiento va desde la posicin 0000h hasta la 03FFh. Esta rea
es conocida como la memoria de usuario.

El PC (contador de programa) es un registro que se encarga de direccionar a cada una


de las instrucciones de esta memoria. Cada vez que el pin MCLR del microcontrolador
recibe un pulso bajo, el PC se fija automticamente a 0000h (vector de reset)
garantizando que se apunte a la primera instruccin del programa.

Cada vez que se presente alguna interrupcin, el valor del PC es guardado en uno de
los 8 niveles de la Pila, para recibir luego y de modo automtico la direccin 0004h
(vector de interrupcin).

CIBERTEC

CARRERAS PROFESIONALES

140

La Pila es un arreglo de registros que sirve para guardar o restaurar los valores del
PC. Cada vez que se presenta una interrupcin o se invoca a alguna subrutina (CALL),
el valor del PC es guardado en la Pila; en cambio, cuando se termina la ejecucin de
una subrutina de interrupcin (RETFIE) o se finaliza la ejecucin de una subrutina
comn (RETURN o RETLW), el PC recupera el valor de la Pila.

6.1.3.2 LA MEMORIA RAM

Esta memoria es fundamental para el tratamiento de los datos y variables que maneja
un programa. En la figura, se nota que est formada por dos partes: los registros de
funciones especiales (SFR) y los registros de propsito general (GPR).
6.1.3.2.1 Registros de funciones especiales (SFR)

Estn formados por las primeras posiciones de la memoria y tienen un papel


importante en la funcin y configuracin del Microcontrolador.
6.1.3.2.2 Registros de propsito general (GPR)

Estn formados por 68 bytes y obviamente sirven para el tratamiento de los datos y
variables del programa. Estn direccionados desde la posicin 0Ch a 4Fh.
6.1.3.2.3 Bancos de Memoria

La RAM est estructurada por dos bancos de memoria: El Banco 0 y el Banco 1. Los
registros de funciones especiales y de propsito general se encuentran ubicados en
los dos Bancos.

En las direcciones 00h a 0Bh del Banco 0 y en las direcciones 80h a 8Bh del Banco 1
estn ubicados los SFR. Algunos de estos registros como INDF (Indirect addr),
STATUS, FSR, se encuentran tanto en el Banco 0 como en el Banco 1, con el nico
propsito de facilitar su acceso.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

141

El espacio de memoria del Banco 1 destinado para los registros de propsito general
no es asequible, por lo que, si trata de manipular alguno de estos registros, no ser
posible. Este banco est mapeado sobre el Banco 0.
6.1.3.2.3.1 Seleccin de los Bancos

El acceso a los Bancos se realiza a travs de la manipulacin del bit 5 (RPO) del
registro STATUS. Si este bit es puesto a cero, se logra el acceso a cualquiera de los
registros contenidos en el Banco 0, mientras que, si fijamos este bit a uno,
accederemos a los registros del Banco 1.

CIBERTEC

CARRERAS PROFESIONALES

142

6.1.3.3 REGISTROS Y FUNCIONES

Los registros tienen como siempre un papel muy importante y, en el caso de los PICs,
su importancia se multiplica, porque no son simples almacenes de informacin, estn
encargados de llevar la configuracin y habilitacin de las funciones que los PICs
poseen. A continuacin, se muestran dos tablas: la primera con los registros de
funciones especiales del banco 0 y la segunda con los del Banco 1. En cada una, se
indica una breve descripcin de los registros.

BANCO 0
00h

INDF

Lee y escribe los datos en RAM en el modo indirecto con FSR.

01h

TMR0

Temporizador/contador de 8 bits

02h

PCL

03h

STATUS

04h

FSR

05h

PORTA

Puerto de lectura y escritura de 5 bits

06h

PORTB

Puerto de lectura y escritura de 8 bits

Contador de programa (puntero de instrucciones) parte baja


Indicador de estado de la ALU, selector de los Bancos de RAM
Direccionador de las celdas de RAM en el modo indirecto

07h
Lee y escribe los datos en EEPROM.

08h

EEDATA

09h

EEADR

0Ah

PCLATH

Contador de programa parte alta

0Bh

INTCON

Configurador e indicador de interrupciones

Direccionador de las celdas de EEPROM

BANCO 1
Lee y escribe los datos en RAM en el modo indirecto con FSR.

80h

INDF

81h

OPTION

82h

PCL

83h

STATUS

Indicador de estado de la ALU, selector de Banco de Ram

84h

FSR

Direccionador de las celdas de Ram en el modo indirecto

85h

TRISA

Configurador del sentido de trabajo de los bits del PORTA

86h

TRISB

Configurador del sentido de trabajo de los bits del PORTB

Configurador del TMR0 y habilitador de interrupciones externas


Contador de programa (puntero de instrucciones) parte baja

87h
88h

EECON1

Controlador de la lectura o escritura sobre la EEPROM

89h

EECON2

Secuenciador de escritura (55h y AAh) para la EEPROM

8Ah

PCLATH

Contador de programa parte alta

8Bh

INTCON

Configurador e indicador de interrupciones

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

143

6.1.3.3.1 Funciones de los registros

Cada registro tiene una capacidad mxima de 8 bits y cada bit tiene su funcin
especial; por tal motivo, es necesario desagregar a los registros en funcin de sus bits
para tener una idea ms completa de su funcin.

6.1.3.3.1.1 El registro STATUS


Este es el registro de estado. Est formado por 8 bits y contiene los indicadores de
estado de la ALU, el bit que permite la seleccin del banco de memoria RAM, y los
indicadores de watchdog y power down. Abajo, se muestra la disposicin de sus bits:

IRP

RP1

RP0

T0

PD

DC

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

Los bits IRP y RP1 no estn implementados para este microcontrolador.

RP0 : Selector del banco activo de memoria RAM.


0: Banco 0
1: Banco 1

TO :

Indicador de ocurrencia del watchdog timer


1: Desactivado
0: Activado

PD:

Indicador de funcionamiento de power down


1: Desactivado
0: Activado (modo SLEEP)

Z:

Indicador de cero
0: Desactivado
1: Activado

DC:

Indicador de carry o borrow decimal


0: Desactivado
1: Activado

CIBERTEC

CARRERAS PROFESIONALES

144

C:

Indicador de carry o borrow octal


0: Desactivado
1: Activado

6.1.3.3.1.2 El registro OPTION

El registro de opcin tambin est formado por 8 bits y contiene los bits de control para
la configuracin de trabajo del TIMER0 y WATCHDOG, los bits de habilitacin de
interrupcin externa y del TIMER0 y la habilitacin de la funcin PULL-up para los bits
del PUERTOB. A continuacin, se muestran sus bits:

RBPU

INTDEG

T0CS

T0SE

PSA

PS2

PS1

PS0

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

RBPU: Funcin pull-up para el PUERTOB


1: Funcin desactivada
0: Funcin activada

INTEDG: Selector del tipo de interrupcin externa RBO/INT


1: activa por flanco de subida
0: activa por flanco de bajada

T0CS: Selector de la fuente de reloj para el TIMER0


1: Externa proveniente del pin RA4/TOCKI
0: Interna proveniente del cristal F/4

T0SE: Selector del tipo de flanco externo para el TIMER0


1: Incremento del TIMER por flanco de bajada del pin RA4/TOCKI
0: Incremento del TIMRE por flanco de subida del pin RA4/TOCKI

PSA: Desviador del factor de divisin de la seal de reloj


1: Hacia la funcin de WATCHDOG
0: Hacia la funcin del TIMER

PS2-PS1-PS0: Selectores del factor de divisin de la seal de reloj

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

145

PS2 PS1 PS0

TIMER0

WATCHDOG

16

32

16

64

32

128

64

256

128

6.1.3.3.1.3 El registro INTCON


El registro de interrupcin tambin est formado por 8 bits y contiene los bits de
habilitacin para las interrupciones, asi como los indicadores de la presencia de
interrupcin. Enseguida, se muestran sus bits:

GIE

EEIE

T0IE

INTE

RBIE

T0IF

INTF

RBIF

bit7

bit6

bit5

bit4

bit3

bit2

bit1

bit0

GIE:

Habilitador global de las interrupciones


1: Habilitado
0: Deshabilitado

EEIE: Interrupcin por escritura de la EEPROM


1: Habilitado
0: Deshabilitado

T0IE: Interrupcin por desbordamiento del TIMER0


1: Habilitado
0: Deshabilitado

INTE: Interrupcin externa del pin RB0/INT


1: Habilitado
0: Deshabilitado

RBIE: Interrupcin por variacin del valor de los bits <RB4:RB7>


1: Habilitado
0: Deshabilitado

CIBERTEC

CARRERAS PROFESIONALES

146

T0IF: Indicador de interrupcin de desbordamiento del TIMER0


1: Activado
0: Desactivado

INTF: Indicador de interrupcin del pin RB0/INT


1: Activado
0: desactiva

RBIF: Indicador de interrupcin por variacin del valor de los bits <RB4:RB7>
1: Activado
0: Desactivado
6.1.3.3.1.4 El registro EECON1
El registro de configuracin 1 de la memoria EEPROM es de 8 bits y contiene los bits
que permiten la configuracin, habilitacin y puesta en marcha del proceso de lectura
o escritura de dicha memoria. Abajo, se muestran sus bits:

EEIF

WRWRR

WREN

WR

RD

bit7

bit6

bit5

bit4

bit3

bit2

bit1

Bit0

EEIF:

Indicador de proceso de escritura


1: Escritura culminada
0: Escritura desactivada o en proceso

WRERR: Indicador de error del proceso de escritura


1: Proceso finalizado prematuramente debido a un reset o watchdoog
0: Proceso correcto

WREN:

Habilitador del proceso de escritura

1: Habilitado
0: Deshabilitado

WR:

Control de inicializacin de la escritura e indicador de proceso culminado


1: Inicia el proceso de escritura
0: Indica el fin del proceso de escritura

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

RD:

147

Control de inicializacin de la lectura e indicador de proceso culminado


1: Inicia el proceso de lectura
0: Indica el fin del proceso de lectura

6.1.3.3.1.5 El registro EECON2

El registro de configuracin 2 de la memoria EEPROM es de 8 bits y slo sirve para


secuenciar la operacin de escritura sobre esta memoria. Este registro debe recibir
consecutivamente dos valores: primero se le debe transferir el valor 55h y luego el
valor AAh. Realizado esto, ya se puede iniciar el proceso de escritura sobre la
EEPROM.
6.1.3.3.1.6 El registro PORTA

El registro de puerto A est formado por 5 bits y contiene los 5 primeros pines de
comunicacin con los elementos externos al Microcontrolador. Veamos sus bits:

RA4/TOCKI

RA3

RA2

RA1

RA0

bit7

bit6

bit5

bit4

bit3

bit2

bit1

Bit0

RA0: Bit menos significativo del puerto. Funciona como I/O digital.
RA1: Funciona como I/O digital.
RA2: Funciona como I/O digital.
RA3: Funciona como I/O digital.
RA4: Bit ms significativo del puerto. Funciona como I/O digital o como entrada de
fuente externa de reloj para el TMR0.
6.1.3.3.1.7 El registro PORTB

El registro de puerto B est formado por 8 bits y contiene los 8 siguientes pines de
comunicacin con los elementos externos al Microcontrolador. Veamos sus bits:

RB7

RB6

RB5

RB4

RB3

RB2

RB1

RB0/INT

bit7

bit6

bit5

bit4

bit3

bit2

Bit1

Bit0

RB0: Bit menos significativo. Funciona como I/O digital o interrupcin por pulso bajo.
RB1: Funciona como I/O digital.

CIBERTEC

CARRERAS PROFESIONALES

148

RB2: Funciona como I/O digital.


RB3: Funciona como I/O digital.
RB4: Funciona como I/O digital o interrupcin si vara su valor.
RB5

Funciona como I/O digital o interrupcin si vara su valor.

RB6

Funciona como I/O digital o interrupcin si vara su valor.

RB7

Bit ms significativo. Funciona como I/O o interrupcin si vara su valor.

6.1.3.3.1.8 El registro TRISA

El registro de configuracin del sentido de trabajo est formado por 5 bits y establece
si cada pin del PUERTO A trabajar como entrada o salida. Veamos sus bits:

TRISA4

TRISA3

TRISA2

TRISA1

TRISA0

bit7

bit6

bit5

bit4

bit3

bit2

bit1

Bit0

TRISA0:

Bit de configuracin del pin RA0.

TRISA1:

Bit de configuracin del pin RA1.

TRISA2:

Bit de configuracin del pin RA2.

TRISA3:

Bit de configuracin del pin RA3.

TRISA4:

Bit de configuracin del pin RA4.

Cada bit puede ser configurado independientemente o en grupo segn se requiera. Si


el bit TRISAx es fijado a cero (0), su pin correspondiente en el PORTA RAx queda
configurado como salida. Por el contrario, si fijamos su valor a uno (1) el pin
correspondiente en RAx quedara configurado como entrada.
6.1.3.3.1.9 El registro TRISB

El registro de configuracin del sentido de trabajo est formado por 8 bits y establece
si cada pin del PUERTO B trabajar como entrada o salida. Veamos sus bits:

TRISB7

TRISB6

TRISB5

TRISB4

TRISB3

TRISB2

TRISB1

TRISB0

bit7

bit6

bit5

bit4

bit3

bit2

bit1

Bit0

TRISB0:

Bit de configuracin del pin RB0

TRISB1:

Bit de configuracin del pin RB1

TRISB2:

Bit de configuracin del pin RB2

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

TRISB3:

Bit de configuracin del pin RB3

TRISB4:

Bit de configuracin del pin RB4

TRISB5:

Bit de configuracin del pin RB5

TRISB6:

Bit de configuracin del pin RB6

TRISB7:

Bit de configuracin del pin RB7

149

Cada bit puede ser configurado independientemente o en grupo segn se requiera. Si


el bit TRISBx es fijado a cero (0), su pin correspondiente en el PORTB RBx queda
configurado como salida. Por el contrario, si fijamos su valor a uno (1), el pin
correspondiente en RBx quedara configurado como entrada.

CIBERTEC

CARRERAS PROFESIONALES

150

Resumen
El Microcontrolador es un microcomputador en un solo chip. En este, se incluyen
todos los dispositivos y funciones especficas que reducen el tamao de las
aplicaciones. Existe una gran variedad de Microcontroladores desde los ms
simples hasta los ms potentes y complejos.

El PIC16F84 es desarrollado por Microchip y pertenece a la gama media de los


microcontroladores. Tiene un Microprocesador de 8 bits; una memoria FLASH de
1K words; una memoria EEPROM de 64 bytes; una RAM de 68 bytes; dos puertos:
PORTA y PORTB; y un temporizador TMR0. Este PIC, para funcionar, necesita
una seal de reloj, la cual puede ser del tipo RC, XT, HS o LP. Adems, es
necesario realizar un arreglo RC sobre la patilla MCLR que asegure su
inicializacin interna.

La memoria FLASH sirve para almacenar las instrucciones del programa. En sta,
se insertan las del programa principal y las de las subrutinas de interrupcin. El
registro encargado de direccionar estas instrucciones es el PC. Cada vez que
aparece un reset, el PC recibe la direccin 0000h para ejecutar la primera
instruccin.

La memoria RAM est organizada por dos Bancos: el Banco 0 y el Banco 1. En los
primeros espacios de memoria, estn contenidos los registros especiales de
configuracin y funcin del PIC, mientras que los dems espacios estn
reservados para el tratamiento de los datos y variables.

La seleccin de los Bancos se debe realizar cada vez que necesitamos manipular
algn registro especial o leer/escribir sobre alguna de las celdas de RAM. Esta
seleccin se realiza a travs del bit RP0 del registro STATUS.

Si desea saber ms acerca de estos temas, puede consultar las siguientes


pginas:
http://perso.wanadoo.es/pictob/micropic16f84_3.htm

Aqu, hallar informacin sobre reset y oscilacin del PIC.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

151

UNIDAD DE
APRENDIZAJE

MICROCONTROLADORES PIC
LOGRO DE LA UNIDAD DE APRENDIZAJE

Al trmino de la unidad, el alumno disea circuitos digitales bsicos aplicando el


microcontrolador PIC16F84.

TEMARIO

Programacin del PIC

Juego de instrucciones

Acceso a los puertos

Desarrollo de programas

ACTIVIDADES PROPUESTAS

Los alumnos implementan mediante software de simulacin circuitos aplicativos


con el PIC16F84.

Los alumnos implementan dichos circuitos en protoboards.

CIBERTEC

CARRERAS PROFESIONALES

152

6.2 PROGRAMACIN DEL PIC


Para que los circuitos implementados con el PIC16F84 y en general con cualquier PIC
puedan funcionar, debemos programarlos. Necesitamos indicarle al Microprocesador,
a travs de las instrucciones, qu es lo que debe hacer con el sistema que tiene
interconectado.

El xito de una aplicacin desarrollado con los microcontroladores, bsicamente,


radica en lo bien que desarrollemos el programa que gobernar el funcionamiento del
sistema. Para esto, necesitamos distinguir bien qu instrucciones soporta el
microcontrolador y, sobre todo, cmo interrelacionarlas para crear los algoritmos que
nos permitan desarrollar los programas.

6.2.1 JUEGO DE INSTRUCCIONES


Las

instrucciones,

en

cualquier

sistema

basado

en

Microcontrolador

Microprocesador, permiten llevar a cabo todas las tareas y funciones propuestas para
una aplicacin. Es importante identificar sus funciones individuales y, ms an,
interrelacionarlas para crear los programas. El PIC16F84 soporta 35 instrucciones, las
cuales, a continuacin, se describen brevemente, segn su orientacin:

La letra d indica el destino de la operacin, si d = 0 el destino de la


Orientadas al BYTE

operacin es el registro de trabajo W, pero si d = 1 el destino ser el


elemento F (registro especial, celda de RAM o variable).

ADDWF F,d

Suma el registro W y el elemento F

ANDWF F,d

AND lgico entre W y F

CLRF F

Borra todos los bits de F

CLRW

Borra todos los bits de W

COMF F,d

Complementa el valor de F

DECF F,d

Disminuye en uno el valor de F

DECFSZ F,d

Disminuye en uno el valor de F y salta si se hizo cero

INCF F,d

Aumenta en uno el valor de F

INCFSZ F,d

Aumenta en uno el valor de F y salta si se hizo cero

IORWF F,d

OR lgico entre W y F

MOVFW F

Transfiere el valor de F a W

MOVWF F

Transfiere el valor del registro W a F

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

153

NOP

Ninguna operacin, solo consume un ciclo de mquina

RLF F,d

Rota hacia la izquierda un bit F a travs del Carry

RRF F,d

Rota hacia la derecha un bit F a travs del Carry

SUBWF F,d

Resta el registro W y F

SWAPF F,d

Intercambia los nibbles de F

XORWF F,d

XOR lgico entre W y F

Ejemplos:
ADDWF

PORTB,1

; PORTB = W + PORTB

ADDWF

PORTB,0

; W = W + PORTB

CLRF

PORTA

; PORTA = 0 (todos sus bits)

CLRF

TRISB

; TRISB = 0 (todos sus bits)

CLRW

; W = 0 (todos sus bits)

DECF

VALOR

; VALOR = VALOR 1

INCF

VARIABLE

; VARIABLE = VARIABLE + 1

MOVFW

PORTB

; W = PORTB

MOVWF

INDF

; INDF = W

SUBWF

MAXIMO,1

; MAXIMO = MAXIMO W

SUBWF

MAXIMO,0

; W = MAXIMO - W

La letra b indica el bit a manipular del elemento F (registro especial,


Orientadas al BIT

celda de RAM o variable). Si el bit tiene nombre, se colocar su


nombre en la posicin b; de lo contrario, tendr que indicarse la
posicin que ocupa el bit dentro del elemento F.

BCF F,b

Pone a cero (0) el bit b del elemento F

BSF F,b

Pone a uno (1) el bit b del elemento F

BTFSC F,b

Salta si el bit b de F est en cero

BTFSS F,b

Salta si el bit b de F est en uno

Ejemplos:
BCF

STATUS,RP0 ; Pone a cero (0) el bit RP0 del registro STATUS

BSF

PORTA,0

; Pone a uno (1) el bit menos significativo del PUERTO A.

BCF

TRISA,2

; Pone a cero el tercer bit del registro TRISA.

BSF

EECON1,7

; Pone a uno el bit ms significativo del registro EECON1.

BTFSC PORTB,0

; Salta si el bit menos significativo del PUERTO B es cero.

BTFSS PORTA,4

; Salta si el bit ms significativo del PUERTO A es uno.

CIBERTEC

CARRERAS PROFESIONALES

154

La letra K es el operando constante que puede tomar cualquier valor


numrico o literal comprendido entre 0 y 255. Este valor puede ser

Constantes y control

expresado en decimal, hexadecimal o binario. El destino de todas


las operaciones donde interviene K es el registro W.

ADDLW K

Suma W ms K

ANDLW K

AND lgica entre W y K

CALL ETIQUETA

Se llama a ejecucin la subrutina cuya direccin lo indica ETIQUETA

CLRWDT

Borra el temporizado de la funcin watchdog

GOTO K

Salta a la direccin indicada en la ETIQUETA

IORLW K

OR lgico entre W y K

MOVLW K

Transfiere a W el valor de K

RETFIE

Retorno de una subrutina de interrupcin

RETLW K

Retorno de una subrutina comn cargando una constante en W

RETURN

Retorno de una subrutina comn

SLEEP

Ingreso al modo de descanso

SUBLW K

Resta K menos W

XORLW K

Xor lgico entre W y K

Ejemplos:
ADDLW .100

; W = W + 100 (decimal)

ADDLW 0X35

; W = W + 35h (hexadecimal)

ADDLW B11110001 ; W = W + 11110001b (binario)


ANDLW B11001100 ; W = W AND 11001100b
CALL

DELAY

; Invoca la ejecucin de la funcin DELAY.

GOTO

REPEAT

; Salta a la etiqueta REPEAT

MOVLW 0X55

; W = 55h

RETLW .10

; Retorna de una subrutina y transfiere el valor 10 a W

RETLW 0x58

; Retorna de una subrutina y transfiere el valor 58h a W

SUBLW .200

; W = 200 W

6.2.2 ACCESO A LOS PUERTOS

Sabemos que se dispone de los puertos A y B para comunicar al PIC con cualquier
elemento externo y no es suficiente conectar los dispositivos a estos puertos para que
empiecen a funcionar.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

155

6.2.2.1 Configuracin de los puertos

Es necesario indicarle al Microcontrolador el sentido de trabajo de los elementos que


hemos conectado a sus puertos; de no hacerlo, en el mejor de los casos, nuestro
sistema no funcionara bien y en el peor de los casos quemaramos algunos bits de los
puertos.

6.2.2.1.1 Entradas o salidas

Cada pin de los puertos es configurable independientemente y slo puede trabajar en


un solo sentido, como entrada o salida. La configuracin se realiza a travs de los
registros TRISA y TRISB, donde TRISA configura al PUERTO A y TRISB configura el
PUERTO B. Un cero sobre los bits de los registros TRIS configura como salida los
pines relacionados en los PUERTOS, mientras que un uno deja configurado como
entrada los pines relacionados en los PUERTOS.

6.2.2.1.2 Ejemplos de configuracin

Considere que al puerto A se ha conectado leds y switches segn el siguiente


esquema:

El registro de configuracin por manipular sera TRISA y sus bits deberan verse segn
el esquema:

Para lograr esto, utilizamos las siguientes instrucciones:


BCF TRISA,0

;OUT (LED)

BCF TRISA,1

;OUT (LED)

BSF TRISA,2

;IN (SWITCH)

BCF TRISA,3

;OUT (LED)

BSF TRISA,4

;IN (SWITCH)

CIBERTEC

CARRERAS PROFESIONALES

156

O si se quiere, en dos instrucciones:


MOVLW B00010100
MOVWF TRISA

Supongamos ahora que al PUERTO B se le ha conectado un rel, leds, un switch, un


sensor ptico y un pulsador segn el siguiente esquema:

El registro de configuracin por manipular sera TRISB y sus bits deberan verse segn
el esquema:

Para lograr esto, utilizamos las siguientes instrucciones:


BSF TRISB,0

;IN (PULSADOR)

BCF TRISB,1

;OUT (LED)

BCF TRISB,2

;OUT (LED)

BCF TRISB,3

;OUT (LED)

BSF TRISB,4

;IN (SENSOR)

BSF TRISB,5

;IN (SWITCH)

BCF TRISB,6

;OUT (LED)

BCF TRISB,7

;OUT (RELE)

Si deseamos hacer lo mismo en dos instrucciones:


MOVLW B00110001
MOVWF TRISB
6.2.2.2 Seleccin de los bancos

Antes de manipular los bits de cualquier registro, debemos de asegurarnos que nos
encontramos en el banco al que pertenece este registro y, para ello, debemos
seleccionar el Banco adecuado utilizando el bit RP0 del registro STATUS.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

157

Recordemos que si este bit recibe 0, seleccionamos el Banco 0; por el contrario, si


este bit recibe un uno, estaramos seleccionando el Banco 1.

Las instrucciones relacionadas seran:


BCF STATUS,RP0

;Selecciona el Banco 0

BSF STATUS,RP0

;Selecciona el Banco 1

Recordemos que los registros de configuracin TRISA y TRISB se encuentran


ubicados en el Banco 1; por lo tanto, la configuracin adecuada para los dos casos
anteriores de conexin seran:

Para la configuracin del PUERTO A:

BSF STATUS,RP0

;Seleccin del Banco 1

BCF TRISA,0

;OUT (LED)

BCF TRISA,1

;OUT (LED)

BSF TRISA,2

;IN (SWITCH)

BCF TRISA,3

;OUT (LED)

BSF TRISA,4

;IN (SWITCH)

Para la configuracin del PUERTO B:

BSF STATUS,RP0

;Seleccin del Banco 1

BSF TRISB,0

;IN (PULSADOR)

BCF TRISB,1

;OUT (LED)

BCF TRISB,2

;OUT (LED)

BCF TRISB,3

;OUT (LED)

BSF TRISB,4

;IN (SENSOR)

BSF TRISB,5

;IN (SWITCH)

BCF TRISB,6

;OUT (LED)

BCF TRISB,7

;OUT (RELE)

CIBERTEC

CARRERAS PROFESIONALES

158

6.2.2.3 Lectura y escritura de los puertos

Llegado a este punto, estamos listos para comunicar (manipular) al Microcontrolador


con los dispositivos externos.
6.2.2.3.1 Lectura

Leer significa obtener informacin de los puertos, es decir, saber en qu estado se


encuentran los dispositivos de entrada. Para ello, disponemos de dos tipos de
instruccin: la que est orientada al byte (MOVFW) y las que estn orientadas al BIT
(BTFSC y BTFSS). Si se desea capturar la informacin de varios bits de un puerto al
mismo tiempo, ser necesario utilizar MOVFW, pero, si se desea saber el estado de
un solo bit, conviene utilizar BTFSC o BTFSS segn sea el estado que deseamos
averiguar.

Si tuvisemos un teclado conectado al Microcontrolador, tal como se muestra en el


esquema de la derecha, sera necesario utilizar la instruccin MOVFW F, porque el
teclado tiene varios bits.

Cada vez que necesitemos leer el teclado, utilizaramos MOVFW PORTB, con lo cual,
la informacin obtenida del teclado se transferira sobre el registro de trabajo W. Qu
hacer con la informacin obtenida del teclado?, depender de la aplicacin planteada,
lo cual, obviamente involucrar la manipulacin del registro W, ya que, este registro
es el que recibe la informacin.

Si tuviramos un pulsador, switch o sensor ptico conectado a alguna de las entradas


de los ports y querramos averiguar en qu estado se encuentra este, estaramos
obligados a utilizar las instrucciones BTFSC o BTFSS. Si se requiere saber que el
pulsador est en 0 usaremos la instruccin; para este caso, BTFSC PORTA,2. Pero, si
es requerido saber que este pulsador se encuentra en 1, utilizaremos la instruccin

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

159

BTFSS PORTA, 2. Qu hacer si el pulsador estuvo en cero o uno? Depender


nuevamente de las condiciones de la aplicacin implementada.

Recordemos que los puertos se encuentran ubicados en el Banco 0 de la memoria


RAM y; por lo tanto, es necesario seleccionar el Banco 0 antes de manipular algn bit
de los puertos.

Las instrucciones, incluida la seleccin del Banco, seran as:

BCF

STATUS,RP0

;Seleccin del Banco 0

MOVFW PORTB

;W = PORTB = TECLADO

BCF

STATUS,RP0

;Seleccin del Banco 0

BTFSC

PORTA,2

;Salta si RA2 es 0

6.2.2.3.2 Escritura

Escribir significa enviar informacin hacia los puertos, es decir, fijar a 0 1 los bits de
los dispositivos de salida y para esto disponemos de dos tipos de instruccin: la que
est orientada al byte (MOVWF) y las que estn orientadas al BIT (BCF y BSF). Si se
desea fijar el estado de varios bits de un puerto al mismo tiempo, ser necesario
utilizar MOVWF, pero, si se desea manipular el estado de un solo bit, conviene utilizar
BCF o BSF segn sea el estado que deseamos fijar.

Si tenemos un display de 7 segmentos conectado uno de los puertos, sera necesario


manipular varios bits al mismo tiempo y, por lo tanto, la instruccin conveniente sera
MOVWF F. Supngase que se desea apagar el display ctodo comn, es decir, sus
segmentos se apagan con ceros; las instrucciones a usar seran MOVLW B00000000
y MOVWF PORTB.

CIBERTEC

CARRERAS PROFESIONALES

160

Sin embargo, si en lugar de displays se tiene leds conectados a los puertos, tal como
se muestra en la figura de la derecha, las instrucciones por utilizar seran BCF y BSF
segn se requiera. Suponiendo que los leds se encuentran en conexin normal, es
decir, se apagan con 0 y se encienden con 1, cules seran las instrucciones para
apagar el led conectado al puerto A y encender el que est conectado al puerto B? Las
instrucciones seran BCF PORTA, 3 y BSF PORTB, 4, respectivamente.

No obstante, nuevamente cualquier manipulacin de los puertos no ser posible si no


seleccionamos el Banco de memoria que los contiene. Por lo tanto, las instrucciones,
incluido la seleccin de los Bancos, se veran de la siguiente manera:

BCF STATUS,RP0

;Seleccin del Banco 0

MOVLW B00000000

;W = 00000000b

MOVWF PORTB

;DISPLAY = PORTB = W

BCF STATUS,RP0

;Seleccin del Banco 0

BCF PORTA,3

;LED = RA3 = 0

BSF PORTB,4

;LED = RB4 = 1

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

161

Si tuviera el siguiente esquema y le pidieran transferir constantemente la informacin


del teclado sobre el display, la instruccin de lectura sera MOVFW F y la de escritura
sera MOVWF F.

Especficamente, las instrucciones seran MOVFW PORTB y MOVWF PORTA.

Tenga en cuenta que no se selecciona el banco 0 a cada instante que necesitemos


manipular los puertos, ya sea para leer o escribir en estos. Slo se realiza la seleccin
si el banco de trabajo actual no fuera el deseado.

6.2.3 DESARROLLO DE PROGRAMAS

A continuacin, se propondrn aplicaciones bsicas de escritura y lectura de puertos.


Se plantearn circuitos y sobre la base de estos y las condiciones propuestas,
desarrollaremos los programas:

6.2.3.1 Escritura sobre cuatro leds


Realice el programa que encienda los leds L1 y L3, y apague los leds L2 y L4.
Como los leds se encuentran en conexin normal, se apagarn recibiendo un 0 sobre
el pin de conexin y se encendern recibiendo un 1 sobre el pin conectado.
Pero, antes de lanzarnos con la ejecucin de las instrucciones que enciendan y
apaguen los leds, debemos recordar la configuracin de trabajo del puerto B, es decir,
el sentido. Como solo tiene conectado leds, estas cuatro patillas deben trabajar como
salidas, lo cual debemos realizar utilizando el registro TRISB.

CIBERTEC

CARRERAS PROFESIONALES

162

Empecemos con la configuracin. Para esto, debemos seleccionar el Banco 1 de


RAM, porque en este se encuentra el registro TRISB:

INICIO:

BSF STATUS, RP0 ; Seleccin del Banco 1


BCF TRISB, 0

; OUT PORTB, O

BCF TRISB, 1

; OUT PORTB, 1

BCF TRISB, 2

; OUT PORTB, 2

BCF TRISB, 3

; OUT PORTB, 3

Culminada la configuracin, podramos encender y apagar los leds segn lo requerido,


pero proceder con esto significa manipular el PUERT B y este pertenece al Banco 0 de
la RAM. Por lo tanto, antes tendramos que seleccionar el Banco 0.

BCF STATUS,RP0

; Seleccin del Banco 0

BSF PORTB,0

; L1 ENCENDIDO

BSF PORTB,2

; L3 ENCENDIDO

BCF PORTB,1

; L2 APAGADO

BCF PORTB,3

; L4 APAGADO

Con esto habramos terminado el programa, pero, para evitar que el microprocesador
siga buscando instrucciones en la memoria flash, lo detendremos forzndolo a ejecutar
siempre la misma instruccin:

STOP:

GOTO STOP

; Salta a la etiqueta STOP

Finalmente, el programa ordenado seria el siguiente:

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

INICIO:

STOP:

163

BSF STATUS,RP0

; Seleccin del Banco 1

BCF TRISB,0

; OUT PORTB, O

BCF TRISB,1

; OUT PORTB,1

BCF TRISB,2

; OUT PORTB,2

BCF TRISB,3

; OUT PORTB,3

BCF STATUS,RP0

; Seleccin del Banco 0

BSF PORTB,0

; L1 ENCENDIDO

BSF PORTB,2

; L3 ENCENDIDO

BCF PORTB,1

; L2 APAGADO

BCF PORTB,3

; L4 APAGADO

GOTO STOP

; Salta a la etiqueta STOP

6.2.2.2 Manipulacin de un led y un pulsador

Realice el programa que mantenga apagado el led hasta que se active el pulsador. Es
decir, el led permanecer apagado y se encender apenas se active el pulsador.
Como el led est en conexin normal, se apagar con 0 y se encender con 1.

Segn el arreglo del pulsador, cuando este no est activado, la patilla RA0 (PORTA,0)
est conectada a tierra a travs de la resistencia, es decir, el pulsador, en estado
natural, genera un 0 sobre el pin RA0. Y cuando se active el pulsador, el pin RA0
queda conectado a 5v. Es decir, en estado activado, el pulsador genera un 1 sobre la
patilla RA0.

Recordemos, por ltima vez que, antes de manipular los puertos, estos deben ser
configurados a travs de los registros TRIS.

CIBERTEC

CARRERAS PROFESIONALES

164

Configuracin:

INICIO:

BSF STATUS,RP0

; Seleccin del Banco 1

BCF TRISB,0

; OUT PORTB,0

BSF TRISA,0

; IN PORTA,0

Manipulacin de los puertos:

SENSA:

BCF

STATUS,RP0 ; Seleccin del Banco 0

BCF

PORTB,0

; LED APAGADO

BTFSS PORTA,0

; Salta a PON si el pulsador se activa

GOTO SENSA

; Salta a la etiqueta SENSA

PON:

BSF

; LED ENCENDIDO

STOP:

GOTO STOP

PORTB,0

6.2.2.3 Manipulacin de un led y dos pulsadores

Realice el programa que permita encender el led cada vez que se active el pulsador
P1 y apagar el led cada vez que se active el pulsador P2. El led debe empezar
apagado. El led est en conexin contraria; por lo tanto, se encender con un 0 y se
apagar con un 1.

Los pulsadores tienen la misma conexin que el pulsador del problema anterior; por lo
tanto, mientras no se activan, generan un 0 sobre su pines y generan un 1 sobre sus
patillas cada vez que se activen.

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

165

Cuando son varios los pulsadores que se evaluarn en un programa, conviene sensar
su estado OFF. Desarrollemos el programa:

INICIO:

BSF STATUS,RP0

; Seleccin del Banco 1

BCF TRISB,0

; OUT PORTB,0

BSF TRISA,0

; IN PORTA,0 (P1)

BSF TRISA,1

; IN PORTA,1 (P2)

BCF STATUS,RP0

; Seleccin del Banco 0

BSF PORTB,0

; LED APAGADO

BTFSC PORTA,0

; Salta a SENSA2 si P1 est desactivado

GOTO P1ON

; Salta a P1ON

BTFSC PORTA,1

; Salta a P1P2OFF si P2 est desactivado

GOTO P2ON

; Salta a P2ON

P1P2OFF

GOTO SENSA1

; Salta a SENSA1

P1ON

BCF PORTB,0

; LED ENCENDIDO

GOTO SENSA1

; Salta a SENSA1

BSF PORTB,0

; LED APAGADO

GOTO SENSA1

; Salta a SENSA1

SENSA1

SENSA2

P2ON

En este caso, no es necesario aadir un bloqueo al final del programa, ya que este es
un programa repetitivo. Siempre regresa sobre la etiqueta SENSA1, porque la
condicin del problema es cada vez que se activen los pulsadores y en dicha etiqueta
se inicia la evaluacin de los pulsadores.

6.2.3.4 Escritura sobre un display

Realice el programa que muestre sobre el display el nmero 7. Tenga en cuenta que el
display es ctodo comn, es decir, sus segmentos se encienden con unos (1) y se
apagan con ceros (0).

CIBERTEC

CARRERAS PROFESIONALES

166

Adems, la conexin de cada uno de sus segmentos al puerto B se muestra en la


figura de la derecha. Segn esta adaptacin, el bit PORTB, 0 estara conectado al
segmento a del display, el bit PORTB1 al regento b y as sucesivamente. Con ello,
podemos armar una tabla que relacione los nmeros del 0 al 9 sobre el display con los
valores que se deben transferir sobre el PORTB. Para este problema, slo es
necesario el nmero 7. Veamos qu valor se debe enviar por el PORTB para que
aparezca el nmero requerido.

Segmentos

Bits del PORTB

Nmero 7

0 = OFF
1 = ON

El nmero 7 necesita encender los segmentos a, b y c (1) del display, los dems
segmentos deben apagarse (0).

Iniciemos el programa configurando todo el PORTB como salida:

INICIO:

BSF STATUS,RP0

; Seleccin del Banco 1

MOVLW B00000000; W = 00000000b


MOVWF TRISB

; TRISB = W (OUT PORTB)

BCF STATUS,RP0

; Seleccin del Banco 0

MOVLW B00000111; W = 00000111b (Nmero 7)

STOP:

MOVWF PORTB

; DISPLAY = 7

GOTO STOP

CARRERAS PROFESIONALES

CIBERTEC

CIRCUITOS DIGITALES II

167

6.2.3.5 Manipulacin de un display y dos pulsadores

Realice el programa que muestre sobre el display el nmero 0 cada vez que se active
el pulsador P1 y cada vez que se active P2 muestre el nmero 9. Tenga en cuenta que
la conexin al PORTB es la misma que la conexin del problema anterior, pero el tipo
de display ya no es ctodo comn, sino nodo comn, eso quiere decir que sus
segmentos se encienden con ceros (0) y se apagan con unos (1).

Los pulsadores, segn su arreglo, generan los mismos cambios que en los problemas
anteriores: 0 para OFF y 1 para ON. Apenas inicie el programa, el display debe tener
apagado todos sus segmentos.

Armemos la tabla para los nmeros 0 y 9:

Segmentos

Bits del PORTB

1 = OFF

Nmero 0

0 = ON

Nmero 9

Cuando son varios los pulsadores que se evaluarn en un programa, conviene sensar
su estado OFF.

CIBERTEC

CARRERAS PROFESIONALES

168

Iniciemos el programa configurando todo el PORTB como salida y los bits PORTA,2 y
PORTA,3 como entradas:

INICIO:

BSF

STATUS,RP0

; Seleccin del Banco 1

MOVLW B00000000

; W = 00000000b

MOVWF TRISB

; OUT PORTB

BSF

TRISA,2

; IN PORTA,2 (P1)

BSF

TRISA,3

; IN PORTA,3 (P2)

BCF

STATUS,RP0

; Seleccin del Banco 0

MOVLW B11111111

; W = 11111111b

MOVWF PORTB

; DISPLAY APAGADO

BTFSC

PORTA,2

; Salta a SENSA2 si P1 est desactivado

GOTO

P1ON

; Salta a P1ON

BTFSC

PORTA,3

; Salta a P1P2OFF si P2 est desactivado

GOTO

P2ON

; Salta a P2ON

P1P2OFF

GOTO

SENSA1

; Salta a SENSA1

P1ON

MOVLW B11000000

; W = 11000000b (Nmero 0)

MOVWF PORTB

; DISIPLAY = 0

GOTO

; Salta a SENSA1

SENSA1

SENSA2

P2ON

SENSA1

MOVLW B10010000

; W = 10010000b (Nmero 9)

MOVWF PORTB

; DISPLAY = 9

GOTO

; Salta a SENSA1

CARRERAS PROFESIONALES

SENSA1

CIBERTEC

CIRCUITOS DIGITALES II

169

Resumen

El PIC16F84 soporta 35 instrucciones y estn organizadas en tres grupos: las


orientadas al byte, orientadas al bit, y las literales y control.

Las instrucciones orientadas al bytes permiten transferir datos de 8 bits entre las
memorias y los registros. Las instrucciones orientadas al bit permiten manipular
selectivamente el estado de un bit de las celdas de memoria o registros y tambin
permiten averiguar en qu estado se encuentra un bit. Las instrucciones literales
permiten operaciones entre el registro W y cualquier constante de 8 bits.

El acceso a los puertos (PORTA y PORTB) inicia con su configuracin a travs de


los registros TRISA y TRISB. Un cero sobre los bits de los registros TRIS configura
como salida a los bits relacionados en los POTS y un uno sobre los registros TRIS
configura como salida sus bits asociados en los PORTS.

Los puertos (A y B) se encuentran ubicados en el Banco 0 de RAM, mientras que


los registros de configuracin TRIS se encuentran ubicados en el Banco 1. El
Banco 0 se selecciona fijando a 0 el bit RP0 del registro STATUS, mientras que el
Banco 1 se habilita colocando un 1 sobre el bit RP0.

Si desea saber ms acerca de estos temas, puede consultar las siguientes


pginas:
http://perso.wanadoo.es/luis_ju/pic/pic04.html

Aqu, hallar informacin sobre la configuracin de los puertos.


http://perso.wanadoo.es/chyryes/tutoriales/pic13.htm

Aqu, hallar programas que manipulan los puertos.

CIBERTEC

CARRERAS PROFESIONALES

También podría gustarte