You are on page 1of 3

CD4094

//Pedro Palitroquez

primera parte

para manejar displays 7 segmentos

Siguiendo con el anlisis comenzado en el artculo Registros de desplazamiento


publicado en este mismo nmero, se estudiar el circuito integrado CD4094, de
Fairchild semiconductor, que posee prestaciones similares al 74HC164N.
El CD4094 es un registro de desplazamiento de 8
bits, con salida tri-estado. Esto significa que disponemos
de un mecanismo para aislar sus 8 pines de salida del
resto del circuito. Los datos son desplazados serialmente con cada flanco
de subida del reloj (CLOCK) y cada bit
es transmitido al latch correspondiente con cada flanco de bajada del pin
STROBE
Las caractersticas ms destacables
de este circuito integrado son:

CD4094, es necesario estudiar su diagrama de tiempos:


La primera seal de control es DATA, que es el dato
que enviaremos serialmente. Enviamos un flanco ascendente y luego un flanco descendente. En el
instante que el CLOCK est subiendo, el
estado del DATA ser reconocido como
un dato vlido por el CD4094
La seal de control STROBE se
usa en caso de que queramos tener en
los latch de salida los bits enviados por
el PIC a medida que se van recibiendo.
Como se usar un display 7 segmentos, lo mejor es ver el dato compleDiagrama de Conexin del CD4094.
- Compatibilidad con la familia TTL
to una vez finalizada la transferencia.
- Salida tri-estado
Entonces STROBE en un nivel
alto mientras enviamos los datos. Con ello garantizamos
Por qu usar un registro de desplazamiento para un dis- que el display no muestre valores extraos hasta que
play 7-segmentos? Es muy
no pongamos STROBE en
sencillo: nos ahorramos
bajo, instante que se transvarias lneas de entrada/
ferirn los 8 bits completos a
salida. En el caso de usar
los latches de salida.
un solo display se ahorran 5
Por ltimo tenemos el pin
pines, ya que se necesitan
OUTPUT ENABLE. Este pin
solo 3 lneas para controlar
cumple la funcin del tercer
los 7 segmentos y el punto
estado del latch, el estado
decimal. Y si necesitamos
de alta impedancia. En este
controlar un nmero mayor
caso no lo usaremos. Genede display, el ahorro es maralmente se emplea en sisyor: las mismas tres lneas
temas de buses, donde se
usadas para el control de
conectan varios integrados
un display permiten controa las mismas seales, perlar todos los que necesitemitiendo aislar un circuito de
Diagrama de tiempos del CD4094
mos. Interesante, verdad?
otro. As que mantendremos
Para que el CD4094 pueda manejar un display este pin en un nivel alto.
7 segmentos, tienen que haber unas seales de control
Una vez comprendido el funcionamiento del esestablecidas, que podemos gestionarla con un microcon- quema de tiempos del CD4094, se proceder a escribir un
trolador. En este artculo usaremos el PIC 16F84A.
programa para el microcontrolador PIC16F84A usando el
Para establecer las seales de control en el compilador de lenguaje C de la empresa CCS:

//pgina 0x2A

// Usando el CD4094 para manejar 1 display 7 segmentos


#include <16F84A.h>
#fuses XT,NOPROTECT,NOWDT,PUT
#use delay(clock=4000000)
// Definicin de pines de control
#define DATA PIN_A0
#define CLOCK PIN_A1
#define STROBE PIN_A2
// tabla de numeros constantes que contienen el correspondiente valor
// en 7 segmentos
int
const segmentos[16]={0x3f,0x6,0x5b,0x4f,0x66,0x6d,0x7d,0x7,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
// declaracin de la funcin escribir_4094
void escribir_4094(int caracter);
// programa principal
void main(){
output_a(0x0);
output_b(0x0);
set_tris_a(0x0);
set_tris_b(0x0);
while(true){
for(t=0;t<16;t++){
escribir_4094(t);
delay_ms(1000);
}
}

// enva el nmeros en hexadecimal al display 7-seg

}
//**************************************************************
// Funcin escribir_4094
//
// Descripcin: enva serialmente el datode 8 bits de acuerdo al
// argumento caracter y activa las seales de control establecidas
// en el mapa de tiempos del CD4094
//
// datos de entrada: caracter un nmero entero
// datos de salida: ninguno
//**************************************************************
void escribir_4094(int caracter){
int contador_8;
output_low(PIN_A0);
output_low(STROBE);
output_low(CLOCK);
for(contador_8=0;contador_8<8;contador_8++){
output_bit(DATA,bit_test(segmentos[caracter],contador_8));
output_high(CLOCK);
delay_cycles(1);
output_low(CLOCK);
}
output_low(CLOCK);
output_high(STROBE);
delay_cycles(1);
output_low(STROBE);
}

//pgina 0x2B


.El esquema elctrico:

esquema del circuito elctrico

Nota: hay que tomar en


cuenta la velocidad de operacin
del CD4094 y que las seales de
control no deben ser menores al
especificado por la hoja tcnica
(datasheet). En nuestro ejemplo
estamos trabajando con una frecuencia de oscilacin de 4Mhz,
esto es, 1uS por cada paso del
contador de programa del microcontrolador, suficientes para los
0,666 uS mnimos que exige el
CD4094 a 5V de alimentacin.
Esto hay que considerarlo si se va a trabajar a niveles de
tensin frecuencias muy altas.

Esta es la lista de componentes necesarios para


el montaje:

Cantidad

Referencia

Modelo

IC1

PIC16F84A

IC2

CD4094

Q1

Cristal de 4Mhz

DISPLAY

HD-H103

Latch: especie de buffer o memoria intermedia que almacena un

C1,C2

22pF

estado binario y no cambia a menos que se le indique.

C3,C4

100nF

Tri-Estado : tres estados lgicos permitidos por una compuerta

R1

100r

dash point: punto decimal que traen los displays 7 segmentos.

//pgina 0x2C

Fairchild Semiconductor (1987). CD4094BC 8-Bit Shift Register/Latch with 3-STATE Outputs. Datasheet. Disponible en:
www.fairchildsemi.com

digital estado alto, estado bajo y alta impedancia

You might also like