NOTA DE APLICACIÓN AN-U003
Control de un display 7-segmentos de 3 dígitos usando USBee
AN-U003
Naxus Sistemas Inteligentes Cra. 84A #5 - 1 Cali! Colom"ia .na$us%olom"ia.%om %onta%to&na$us%olom"ia.%om
'e(isi)n 1.*
+,gina
AN-U003 Índice de contenido 1./'0UCC2......................................................................................4 .'CU'S0S.............................................................................................4 3.SC'+C2 0/A6.....................................................................5 4.SC'+C2 S0/A'..................................................................9 5.C2:0.................................................................................................7 9.BB0:'A;A........................................................................................<
'e(isi)n 1.*
+,gina 3
AN-U003 1. INTRODUCCIÓN os displays 7 segmentos son ampliamente utili=ados para inter>a%es ? @nter>a%es ?umano-,uina por sus siglas en ingls. sta nota de apli%a%i)n des%ri"e el maneDo de un display de 3 digitos de 7 segmentos usando USBee. Se presentan las no%iones generales so"re maneDo de dígitos 7 segmentos y se des%ri"e la li"rería 7seg.E ue Ea%e parte del so>tare desarrollado para USBee.
Figura 1: Display de 3 dígitos, 7 segmentos
2. RECURSOS A %ontinua%i)n se des%ri"en los re%ursos ne%esarios para reali=ar el montaDeF •
•
•
'e(isi)n 1.*
/arDeta de desarrollo USBee. Ca"le mini USB para programa%i)n de USBee. /arDeta de prototipado r,pido 7S: @igura 1 o en su de>e%to un display de 3 dígitos 7 segmentos! ,nodo %omGn.
+,gina 4
AN-U003 3. DISPLAYS 7 SEGMENTOS 3.1 Generalidades
os displays 7 segmentos est,n %on>ormados por un %onDunto de s en una disposi%i)n prede>inida! ue permite generar tanto %ara%teres numri%os %omo al>anumri%os. a >igura ilustra la distri"u%i)n de estos leds en un dígito 7 segmentos y la nomen%latura utili=ada.
(a)
(b)
Figura 2: (a) LEDs que omponen un display 7 segmentos, y (b) distribui!n para un display de "todo om#n
a >igura 3 ilustra la genera%i)n de %ara%teres numri%os %on un dígito 7 segmentos.
Figura 3: $enerai!n de arateres num%rios on un display 7 segmentos
'e(isi)n 1.*
+,gina 5
AN-U003 os displays 7 segmentos se pueden en%ontrar tanto de %,todo %omGn %omo de ,nodo %omGn. a di>eren%ia radi%a en la polaridad de las seHales a! "! %! d! e! >! g y + ue se de"e utili=ar para en%enderlos. Un display 7 segmentos de %,todo %omGn las seHales son a%ti(as altas! y se a%ti(ar,n %on 1 l)gi%os @típi%amente 5I! mientras ue los de ,nodo %omGn tienen seHales a%ti(as "aDas! lo ue impli%a ue se a%ti(an %on * l)gi%os @: o tierra. a >igura 4 ilustra eDemplos de %one$i)n de displays 7 segmentos de ,nodo %omGn y de %,todo %omGn.
(a)
(b)
Figura &: E'emplos de onei!n para (a) "nodo om#n, y (b) "todo om#n
3.2 Identificación de pines
Cuando se aduiere un display 7 segmentos! es %omGn no %ontar %on la EoDa de datos del mismo! solamente se %ono%e si es de ,nodo o %,todo %omGn. Una manera de identi>i%ar la disposi%i)n de pines es utili=ar un multímetro >un%ionando en modo de pro"ador de diodos. Si el display es de ,nodo %omGn! sitGe la punta negra en uno de los pines del display! y %omien%e a pro"ar %ontinuidad %on la punta roDa del multímetro los otros pines. Ieri>iue en u momento se en%iende uno de los s del display. Cuando uno se Eaya en%endido! el pin ue toue %on la punta roDa es el ,nodo %omGn del dispositi(o. n %aso tal ue no Eaya en%endido ningGn ! es pro"a"le ue la punta negra est lo%ali=ada Dustamente en el ,nodo %omGn! así ue %am"ie la u"i%a%i)n de la punta negra y %omien%e el pro%edimiento nue(amente. +ara displays de %,todo %omGn el pro%edimiento es idnti%o! s)lo utili%e las puntas a la in(ersaF sele%%ione un pin %on la punta roDa! y %on la punta negra %omien%e a pro"ar %ontinuidad 'e(isi)n 1.*
+,gina 9
AN-U003 en los otros pines. 3.3 Displays 7 segmentos multiplexados
$isten displays 7 segmentos ue in%luyen m,s de un dígito! %omo se o"ser(a en la >igura 5.
Figura : Display 7 segmentos de 3 dígitos
:eneralmente los displays ue disponen de m,s de dos dígitos %uentan %on el "us de seHales a-g @o bus de datos multiple$ado. sto uiere de%ir ue los dígitos %omparten el "us de datos y %uentan %on otras seHales para a%ti(ar %ada dígito! ue son los ,nodo o %,todo %omGn de %ada dígito. ste "us tam"in se denomina bus de ontrol . a >igura ilustra meDor esta %on>igura%i)n.
Figura *: Esquem"tio de un display 7 segmentos de tres dígitos
'e(isi)n 1.*
+,gina 7
AN-U003 sto impli%a ue se aEorran pines de %one$i)n @un solo "us de datos para todos los dígitos! aunue solamente se podr, tener en%endido un dígito al tiempo! lo ue pare%iera ser una des(entaDa. Sin em"argo! en este tipo de %on>igura%iones se apro(e%Ea el Ee%Eo de ue la (isi)n Eumana retiene las im,genes unos milisegundos. sto uiere de%ir ue! si se a%tuali=a %ada dígito a una >re%uen%ia m,s r,pida a la del oDo! engaHaríamos el sentido de la (ista Ea%indole %reer ue los tres dígitos est,n en%endidos al mismo tiempo. Si la >re%uen%ia de a%tuali=a%i)n de los dígitos est, muy %er%ana a la ue el oDo puede dete%tar! notaremos un parpadeo en el display. Si aumentamos esta >re%uen%ia! el parpadeo desapare%e. 6ustamente esta %on>igura%i)n es la ue se apro(e%Ear, en esta nota de apli%a%i)n.
. DESCRIPCIÓN DEL MONTA!E as siguientes im,genes ilustran la %one$i)n reuerida para pro"ar el programa de eDemplo! ya sea utili=ando la tarDeta de prototipado r,pido 7S: o un display 7 segmentos de ,nodo %omGn. l pinout del display utili=ado es des%rito en la >igura.
Figura 7: +inout del display de 3 dígitos 7 segmentos utiliado
Como se puede o"ser(ar! el "us de datos est, en %olor naranDa y el "us de %ontrol en %olor (ioleta. Se reuiere del uso de transistores ++ @DF 3<*9 en el %aso de ue no se utili%e la tarDeta 7S:. o se Ean %one%tado resisten%ias al montaDe ya ue las salidas de USBee permiten %one$i)n dire%ta de s. Sin em"argo si es importante limitar el uso de %orriente! disponga de sus respe%ti(as resisten%ias a las líneas.
'e(isi)n 1.*
+,gina 8
AN-U003
Figura -: .onei!n de un display de 3 dígitos 7 segmentos de "nodo om#n
Figura /: .onei!n de la tar'eta 70E$ que inluye un display de 3 dígitos 7 segmentos de "nodo om#n
'e(isi)n 1.*
+,gina <
AN-U003 ". DESCRIPCIÓN DEL SO#T$ARE +ara el %ontrol del display 7 segmentos se utili=ar,n las li"rerías USBee J7seg y la rutina de retardos 4util5delay! disponi"le en a6rlib KL. A %ontinua%i)n se des%ri"en "re(emente las >un%iones de la li"rería 7seg.E. FUNCIÓN d7seg8init
d7seg8put d7seg8error d7seg8re9res
DESCRIPCIÓN 'utina ue se en%arga de %on>igurar el Eardare utili=ado para el %ontrol del display 7 segmentos. Se re%omienda %on>igurar ini%ialmente el ar%Ei(o de %a"e%era 7seg.E! para %am"iar el puerto de %one$i)n del display! espe%í>i%amente los (alores de 7S:M+0'/! 7S:M y 7S:M1! 7S:M y 7S:M3. 'e%i"e %omo par,metro el (alor ini%ial 'utina ue a%tuali=a el nGmero a mostrar en el display. Como par,metro re%i"e el nGmero en %uesti)n. 'utina ue muestra en el display la pala"ra N0utN. 'utina ue de"e ser llamada %onstantemente para re>res%ar el display.
+ara mayor in>orma%i)n so"re la li"rería y sus >un%iones! remitase a la do%umenta%i)n o$ygen de la misma.
%. CÓDIGO A %ontinua%i)n se presenta el %)digo utili=ado para el eDemplo. os ar%Ei(os se pueden %onseguir en la siguiente U'F EttpFOO.na$us%olom"ia.%omOprodu%tosOtarDetas-de-desarrolloOan-u**3O. DemploF main7seg /*************************************************************** * NAXUS SISTEMAS INTELIGENTES * * Nota de aplicacion AN-U003: Control de un display 7 segmentos
'e(isi)n 1.*
+,gina 1*
AN-U003 * * Copyright 2010-2011 **************************************************************/ #include
#include "7seg.h" int main(void) { //val es la variable de cuentas y deb la que permite implementar el antirebote por software unsigned char val = 0, deb = 0; //inicializacion del display d7seg_init(0); //la entrada PB3 la utilizaremos para leer los pulsos. Por lo tanto se configura como entrada. PORTB &= ~(1<
'e(isi)n 1.*
+,gina 11
AN-U003 7. &I&LIOGRA#ÍA 1. Nisplay 7 segmentosN KonlineLEttpFOOes.iPipedia.orgOiPiOIisuali=adorMdeMsieteMsegmentos . N7 segment displayN KonlineL EttpFOOen.iPipedia.orgOiPiOSe(ensegmentMdisplay
'e(isi)n 1.*
+,gina 1