Professional Documents
Culture Documents
AN-U003
Control de un display 7-segmentos de 3 dgitos
usando USBee
AN-U003
Revisin 1.0
Pgina 2
AN-U003
ndice de contenido
1.INTRODUCCIN......................................................................................4
2.RECURSOS.............................................................................................4
3.DESCRIPCIN DEL MONTAJE.....................................................................5
4.DESCRIPCIN DEL SOFTWARE..................................................................6
5.CDIGO.................................................................................................7
6.BIBLIOGRAFA........................................................................................9
Revisin 1.0
Pgina 3
AN-U003
1. INTRODUCCIN
Los displays 7 segmentos son ampliamente utilizados para interfaces HMI
(Interfaces Humano-Mquina por sus siglas en ingls). Esta nota de
aplicacin describe el manejo de un display de 3 digitos de 7 segmentos
usando USBee. Se presentan las nociones generales sobre manejo de
dgitos 7 segmentos y se describe la librera 7seg.h que hace parte del
software desarrollado para USBee.
Figura 1: Display de 3
dgitos, 7 segmentos
2. RECURSOS
A continuacin se describen los recursos necesarios para realizar el
montaje:
Revisin 1.0
Pgina 4
AN-U003
3. DISPLAYS 7 SEGMENTOS
3.1 Generalidades
Los displays 7 segmentos estn conformados por un conjunto de LEDs en
una disposicin predefinida, que permite generar tanto caracteres
numricos como alfanumricos. La figura 2 ilustra la distribucin de estos
leds en un dgito 7 segmentos y la nomenclatura utilizada.
(a)
(b)
Figura 2: (a) LEDs que componen un display 7 segmentos, y (b) distribucin para un display de ctodo
comn
Revisin 1.0
Pgina 5
AN-U003
Los displays 7 segmentos se pueden encontrar tanto de ctodo comn como
de nodo comn. La diferencia radica en la polaridad de las seales a, b, c,
d, e, f, g y DP que se debe utilizar para encenderlos. Un display 7
segmentos de ctodo comn las seales son activas altas, y se activarn
con 1 lgicos (tpicamente 5V), mientras que los de nodo comn tienen
seales activas bajas, lo que implica que se activan con 0 lgicos (GND o
tierra). La figura 4 ilustra ejemplos de conexin de displays 7 segmentos de
nodo comn y de ctodo comn.
(a)
(b)
Figura 4: Ejemplos de conexin para (a) nodo comn, y (b) ctodo comn
Pgina 6
AN-U003
en los otros pines.
Revisin 1.0
Pgina 7
AN-U003
Esto implica que se ahorran pines de conexin (un solo bus de datos para
todos los dgitos), aunque solamente se podr tener encendido un dgito al
tiempo, lo que pareciera ser una desventaja. Sin embargo, en este tipo de
configuraciones se aprovecha el hecho de que la visin humana retiene las
imgenes unos milisegundos. Esto quiere decir que, si se actualiza cada
dgito a una frecuencia ms rpida a la del ojo, engaaramos el sentido de
la vista hacindole creer que los tres dgitos estn encendidos al mismo
tiempo. Si la frecuencia de actualizacin de los dgitos est muy cercana a
la que el ojo puede detectar, notaremos un parpadeo en el display. Si
aumentamos esta frecuencia, el parpadeo desaparece. Justamente esta
configuracin es la que se aprovechar en esta nota de aplicacin.
Revisin 1.0
Pgina 8
AN-U003
Figura 9: Conexin de la tarjeta 7SEG que incluye un display de 3 dgitos 7 segmentos de nodo
comn
Revisin 1.0
Pgina 9
AN-U003
5. DESCRIPCIN DEL SOFTWARE
Para el control del display 7 segmentos se utilizarn las libreras USBee
<7seg.h> y la rutina de retardos <util/delay.h>, disponible en avr-libc [2].
A continuacin se describen brevemente las funciones de la librera 7seg.h.
FUNCIN
DESCRIPCIN
d7seg_init
d7seg_put
d7seg_error
d7seg_refresh
llamada
constantemente
para
6. CDIGO
A continuacin se presenta el cdigo utilizado para el ejemplo. Los archivos
se
pueden
conseguir
en
la
siguiente
URL:
http://ww.naxuscolombia.com/productos/tarjetas-de-desarrollo/an-u003/.
Ejemplo:
main-7seg.c
/***************************************************************
*
NAXUSSISTEMASINTELIGENTES
*
*NotadeaplicacionANU003:Controldeundisplay7segmentos
Revisin 1.0
Pgina 10
AN-U003
*
*Copyright20102011
**************************************************************/
#include<avr/io.h>
#include"7seg.h"
intmain(void)
{
//val es la variable de cuentas ydeb la que permite implementar el
antireboteporsoftware
unsignedcharval=0,deb=0;
//inicializaciondeldisplay
d7seg_init(0);
//laentradaPB3lautilizaremosparaleerlospulsos.Porlotantose
configuracomoentrada.
PORTB&=~(1<<PB3);
//Muestraelmensaje"Out"
d7seg_error();
while(1)
{
//sillegaunpulso
if(PINB&(1<<PB3))
{
//sistemaantirebote
if(!deb)
{
val++;
deb=1;
//actualizaelvaloramostrareneldisplay
d7seg_put(val);
}
}
else
deb=0;
//Estafuncionsedebeestarllamandoconstantemente,yaquees
laencargadadeactualizareldisplay
d7seg_refresh();
}
return1;
}
Revisin 1.0
Pgina 11
AN-U003
7. BIBLIOGRAFA
1. "Display
7
segmentos"
[online]http://es.wikipedia.org/wiki/Visualizador_de_siete_segmentos
2. "7
segment
display"
[online]
http://en.wikipedia.org/wiki/Sevensegment_display
Revisin 1.0
Pgina 12