Buscar

teoria - USANDO O MOSTRADOR DE 7 SEGMENTOS DA PLACA BASYS2

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Laboratório de Sistemas Digitais 1 – 2/2016 
 
 
1 
 
USANDO O MOSTRADOR DE 7 SEGMENTOS DA PLACA BASYS2 
 
1 REPRESENTAÇÃO DE NÚMEROS EM CÓDIGO DE 7 SEGMENTOS 
 
Um display ou mostrador de 7 segmentos é um dispositivo composto por 7 LEDs dispostos 
estrategicamente, de forma a constituir o dígito 8, conforme ilustrado na Figura 1. Muitos mostradores de 
7 segmentos dispõem ainda de um LED adicional, que implementa o ponto decimal. A depender de quais LEDs 
estão acesos e quais estão apagados, o mostrador esquematizado permite representar qualquer dígito decimal, 
bem como as letras de A a F (algumas maiúsculas, outras minúsculas), conforme mostrado na Tabela 1. Assim, 
um dígito hexadecimal é associado univocamente a uma configuração dos 7 segmentos, na qual alguns são 
acesos, outros não. 
 
 
Figura 1 - Disposição dos LEDs em um display de 7 segmentos. 
 
Nesse sentido, um conversor da representação binária para a representação em 7 segmentos do hexadecimal 
correspondente é um circuito que, dados 4 bits de entrada, retorna um nível lógico para cada segmento, de forma 
a se obter a configuração associada àquele dígito. Trata-se, portanto, de um sistema com 4 bits de entrada e 
7 bits de saída (ou 8 bits de saída, caso seja considerado também o ponto decimal). 
Por exemplo, para se apresentar o número 1 no mostrador de 7 segmentos, é necessário acender os LEDs 
correspondentes aos segmentos b e c, e apagar os demais. Portanto, o código de 7 segmentos seria “0110000” 
(na ordem, abcdefg). Caso se optasse por incluir na representação o ponto decimal, então o código de 7 
segmentos ficaria “01100000” (na ordem, abcdefgp, em que p denota o ponto decimal). Entretanto, muitos 
mostradores de 7 segmentos (inclusive o mostrador usado no kit de desenvolvimento Basys2) são ativos em 
nível baixo (isto é, usa-se “1” para apagar e “0” para acender). Portanto, o código de 7 segmentos com ponto 
decimal ficaria “10011111”. O código VHDL completo de uma entidade que faz a conversão de representação 
binária para representação em 7 segmentos, com lógica em nível baixo e incluindo o ponto decimal (aqui, 
sempre apagado) é apresentado a na Figura 2. 
 
2 MULTIPLEXADOR DO MOSTRADOR DE 4 DÍGITOS DA PLACA BASYS2 
 
A placa Basys2 dispõe de quatro mostradores de 7 segmentos. No entanto, há somente 12 pinos associados 
aos mostradores: 
• 4 pinos para escolher qual(is) mostrador(es) está(ão) ligado(s); 
• 7 pinos para acender cada segmento individual; e 
• 1 pino para o ponto decimal. 
Embora seja possível mostrar o mesmo dígito nos 4 mostradores simultaneamente (por exemplo, mostrar 
“8888” ou “FFFF”), não é possível mostrar dígitos distintos. Para isso, seriam necessário 32 pinos (7+1 para 
cada um dos 4 dígitos). Portanto, para mostrar dígitos diferentes em cada um dos mostradores, é necessário 
alternar entre os mostradores, em uma frequência mais rápida que a de detecção do olho humano, escrevendo 
um dígito em cada mostrador de cada vez, de modo que somente um mostrador fique aceso de cada vez. Assim, 
temos a percepção de que os quatro mostradores estão acesos ao mesmo tempo, quando na verdade eles estarão 
se alternando no tempo. Esse processo é chamado de multiplexação. 
 Para que os quatro dígitos apareçam brilhantes e continuamente iluminados, cada dígito deve ser aceso uma 
vez a cada 1 a 16 ms (o que corresponde a uma taxa de atualização de 1 kHz a 60 Hz). Por exemplo, usando 
uma taxa de atualização de 60 Hz, os mostradores serão atualizados uma vez a cada 16 ms, e cada dígito ficará 
iluminado por um quarto do ciclo de atualização, isto é, 4 ms. 
 
Laboratório de Sistemas Digitais 1 – 2/2016 
 
 
2 
 
Tabela 1 - Configuração do mostrador de 7 segmentos. 
bits de entrada dígito hexadecimal 
configuração 
do mostrador 
0000 0 
 
0001 1 
 
0010 2 
 
0011 3 
 
0100 4 
 
0101 5 
 
0110 6 
 
0111 7 
 
1000 8 
 
1001 9 
 
1010 A 
 
1011 B 
 
1100 C 
 
1101 D 
 
1110 E 
 
1111 F 
 
 
O controlador tem que garantir que o código de 7 segmentos correto é escrito nos pinos correspondentes 
quando o mostrador associado a ele está aceso. Para ilustrar esse processo, se AN0 está ligado enquanto b e c 
estão acionados, então o dígito “1” aparecerá no primeiro mostrador. A seguir, se AN1 está ligado enquanto a, b 
e c estão acionados, então o dígito “7” aparecerá no segundo mostrador. Se essas duas configurações forem 
trocadas a cada 4 ms, então um observador verá o número “17” escrito nos mostradores, pois a taxa de 
atualização é rápida demais para que o olho humano perceba essa alternância. 
A Figura 3 mostra um exemplo de um diagrama de temporização para o controle de um mostrador de 
quatro dígitos. Note que os pinos da placa Basys2 associados ao mostrador de 7 segmentos — a, b, c, d, e, f, g, 
 
Laboratório de Sistemas Digitais 1 – 2/2016 
 
 
3 
 
ponto decimal, AN0, AN1, AN2 e AN3 — são ativos em nível baixo. Portanto, para acender um dos segmentos, 
ou para selecionar um dos mostradores, é preciso escrever o bit “0” no mesmo. 
 
 
Figura 2 - Código VHDL de uma entidade que faz a conversão de representação binária para representação em 7 
segmentos, com lógica em nível baixo e incluindo o ponto decimal (aqui, sempre apagado). 
 
 
Figura 3 - Temporização de multiplexação dos mostradores de 7 segmentos. 
 
Um exemplo de código para alternar entre os mostradores AN0 e AN1 é apresentado na Figura 4. Note que 
a entidade tem como entrada dois vetores (unidade e dezena) e mais um bit de clock (ck), e, como saída, dois 
vetores: digito e display. Os vetores de entrada, cada um com 8 bits, são o código em 7 segmentos (mais ponto 
decimal) correspondentes aos dois dígitos (unidade e dezena) que se pretende mostrar. O sinal de entrada ck 
corresponde ao clock da placa, e deve ser associado ao pino “B8” do FPGA no arquivo UCF. Já os vetores de 
saída, digito e display, correspondem, respectivamente, aos sete segmentos a, b, c, d, e, f e g (mais ponto 
decimal) do dígito a ser mostrado, e aos pinos AN0, AN1, AN2 e AN3, que indicam quais dos quatro 
mostradores devem mostrar o dígito (no caso, somente um será ativado de cada vez). 
 
Laboratório de Sistemas Digitais 1 – 2/2016 
 
 
4 
 
 
Figura 4 - Código VHDL de uma entidade que faz a multiplexação dos mostradores, alternando entre AN0 (que 
mostrará o dígito correspondente à unidade) e AN1 (que mostrará o dígito correspondente à dezena). 
 
No código da Figura 4, note que alterna-se entre o primeiro mostrador, AN0, fazendo-se: 
displays <= "1110"; 
e o segundo mostrador, AN1, fazendo-se 
displays <= "1101"; 
Quando o mostrador AN0 é acionado, o digito de saída estará refletindo o conteúdo do sinal unidade, que 
contém o código 7 segmentos associado ao dígito da unidade. Quando o mostrador AN1 é acionado, o digito de 
saída estará refletindo o conteúdo do sinal dezena, que contém o código 7 segmentos associado ao dígito da 
dezena. Assim, o mostrador mostrará o número decimal composto por unidade e dezena. 
A Tabela 2 lista o nome dos pinos associados ao uso dos mostradores de 7 segmentos da placa Basys2. 
 
Tabela 2 - Nomes dos pinos associados aos mostradores de 7 segmentos. 
Seletor de mostrador Segmentos 
Mostrador Pino Segmento Pino 
AN3 K14 a L14 
AN2 M13 b H12 
AN1 J12 c N14 
AN0 F12 d N11 
 e P12 
f L13 
g M12 
ponto 
decimal 
N13

Outros materiais