Mudanças entre as edições de "Experimento 5 para Circuitos Lógicos"
Ir para navegação
Ir para pesquisar
(22 revisões intermediárias por 3 usuários não estão sendo mostradas) | |||
Linha 1: | Linha 1: | ||
− | __NOTOC__ | + | __NOTOC__== Conversor BCD para display de sete segmentos== |
− | == | + | |
− | ;Objetivos: | + | |
− | * Aplicar o Mapa de Karnaugh para a criação de um decodificador de 7 | + | ;Objetivos: |
+ | * Aplicar o Mapa de Karnaugh para a criação de um decodificador de 7 segmentos; | ||
* Gerar formas de onda para entrada de simulação; | * Gerar formas de onda para entrada de simulação; | ||
− | * Fazer a simulação funcional do circuito | + | * Fazer a simulação funcional do circuito; |
− | ;Materiais necessários: | + | *;Materiais necessários: |
− | #[http://www.ti.com/lit/ds/symlink/sn54als08.pdf 74X08 AND](disponível na biblioteca da ALTERA) | + | *# [http://www.ti.com/lit/ds/symlink/sn54als08.pdf 74X08 AND](disponível na biblioteca da ALTERA) |
− | #[http://www.ti.com/lit/ds/symlink/sn74ls32.pdf 74X32 OR](disponível na biblioteca da ALTERA) | + | *# [http://www.ti.com/lit/ds/symlink/sn74ls32.pdf 74X32 OR](disponível na biblioteca da ALTERA) |
− | #[http://www.ti.com/lit/ds/symlink/sn74ls04.pdf 74X04 NOT](disponível na biblioteca da ALTERA) | + | *# [http://www.ti.com/lit/ds/symlink/sn74ls04.pdf 74X04 NOT](disponível na biblioteca da ALTERA) |
− | #Computador com software Quartus II da Altera. | + | *# Computador com software Quartus II da Altera. |
==Tabela Verdade do decodificador SSD (Sete Segmentos - 0 a 9)== | ==Tabela Verdade do decodificador SSD (Sete Segmentos - 0 a 9)== | ||
+ | |||
* Preencha a tabela verdade para todos os segmentos, para isso, analise as entradas e quais segmentos deverão estar acesos ou apagados a partir de uma configuração de catodo comum; | * Preencha a tabela verdade para todos os segmentos, para isso, analise as entradas e quais segmentos deverão estar acesos ou apagados a partir de uma configuração de catodo comum; | ||
* Siga o exemplo do segmento G: | * Siga o exemplo do segmento G: | ||
Linha 18: | Linha 20: | ||
<center> | <center> | ||
− | {| | + | {| style="text-align: center;" border="1" cellspacing="0" cellpadding="5" |
− | |||
− | |||
− | |||
|- | |- | ||
− | ! | + | ! style="background: #efefef;" colspan="4"|Entradas |
− | + | ! style="background: #ffdead;" colspan="7"|Saídas | |
− | + | ! style="background: #efefef;" colspan="1"|Decimal | |
− | ! | ||
− | |||
− | ! | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
− | | | + | ! width="30"|A |
+ | ! width="30"|B | ||
+ | ! width="30"|C | ||
+ | ! width="30"|D | ||
+ | ! width="30"|a | ||
+ | ! width="30"|b | ||
+ | ! width="30"|c | ||
+ | ! width="30"|d | ||
+ | ! width="30"|e | ||
+ | ! width="30"|f | ||
+ | ! width="30"|g | ||
+ | ! width="30"|Display | ||
|- | |- | ||
− | | 0 || 0 | + | | 0 |
+ | | 0 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 0 | ||
|- | |- | ||
− | | 0 || 0 | + | | 0 |
+ | | 0 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | 1 | ||
|- | |- | ||
− | | 0 | + | | 0 |
+ | | 0 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | 2 | ||
|- | |- | ||
− | | 0 || 1 || | + | | 0 |
+ | | 0 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | 1 | ||
+ | | 3 | ||
|- | |- | ||
− | | 0 | + | | 0 |
+ | | 1 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | 1 | ||
+ | | 4 | ||
|- | |- | ||
− | | 0 | + | | 0 |
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | 1 | ||
+ | | 5 | ||
|- | |- | ||
− | | 0 | + | | 0 |
+ | | 1 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | 1 | ||
+ | | 6 | ||
|- | |- | ||
− | + | | 0 | |
+ | | 1 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | 0 | ||
+ | | 7 | ||
|- | |- | ||
− | | 1 || 0 | + | | 1 |
+ | | 0 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | 1 | ||
+ | | 8 | ||
|- | |- | ||
− | | 1 || 0 | + | | 1 |
+ | | 0 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | 1 | ||
+ | | 9 | ||
|- | |- | ||
− | | 1 | + | | 1 |
+ | | 0 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | X | ||
+ | | X | ||
|- | |- | ||
− | | 1 || 1 || | + | | 1 |
+ | | 0 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | X | ||
+ | | X | ||
|- | |- | ||
− | | 1 | + | | 1 |
+ | | 1 | ||
+ | | 0 | ||
+ | | 0 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | X | ||
+ | | X | ||
|- | |- | ||
− | | 1 | + | | 1 |
+ | | 1 | ||
+ | | 0 | ||
+ | | 1 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | X | ||
+ | | X | ||
|- | |- | ||
− | | 1 | + | | 1 |
+ | | 1 | ||
+ | | 1 | ||
+ | | 0 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | X | ||
+ | | X | ||
|- | |- | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | 1 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | X | ||
+ | | X | ||
|} | |} | ||
</center> | </center> | ||
==Mapa de Karnaugh== | ==Mapa de Karnaugh== | ||
− | * | + | |
− | *Primeiro, deve-se preencher a tabela verdade de acordo com o segmento g: | + | * Utilize o software LogiSim para obter todos os mapas de Karnaugh e as expressões simplificadas para os sete segmentos. |
+ | * Ou, implemente a minimização do Mapa de Karnaugh utilizando o seguinte [https://www.docjava.com/cpe210/kmapExplorer.html software]. | ||
+ | ** Primeiro, deve-se preencher a tabela verdade de acordo com o segmento g: | ||
[[Arquivo: seg-g.png]] | [[Arquivo: seg-g.png]] | ||
− | *O software preenche o Mapa de Karnaugh com a melhor minimização possível: | + | * O software preenche o Mapa de Karnaugh com a melhor minimização possível: |
[[Arquivo: mapaSeg-g.png]] | [[Arquivo: mapaSeg-g.png]] | ||
− | *Obtêm-se a expressão resultante do Mapa: | + | * Obtêm-se a expressão resultante do Mapa: |
[[Arquivo: resultMK.png]] | [[Arquivo: resultMK.png]] | ||
+ | * Repita a operação para os demais segmentos. | ||
+ | |||
==Inserindo a minimização do Mapa de Karnaugh no Quartus== | ==Inserindo a minimização do Mapa de Karnaugh no Quartus== | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | # Vá a página [http://docente.ifsc.edu.br/odilson/CIL29003/ CIL29003], baixe o arquivo '''bcd_ssd.qar''' e salve em seu computador. | |
− | + | # Execute o Quartus. | |
+ | # Restaure o projeto: Project >> Restore Archived Project... > (Archive Name: /home/aluno/bcd_ssd.qar ; Destination folder: '''/home/aluno/bcd_ssd''') >> OK >> Yes. | ||
+ | # Será criada uma pasta '''bcd_ssd'''. Esse será nosso diretório de trabalho. | ||
+ | # Compile o projeto. | ||
+ | # Note que apenas o segmento '''g''' (seg_g) está implementado. Confira se ele está de acordo com seu projeto, ajuste se necessário. | ||
+ | # Monte os demais segmentos, seguindo este exemplo e baseado em seu projeto já realizado. | ||
+ | # Associe o dispositivo a ser utilizado: Assignments >> Device >> '''Family: Cyclone IV E''' e '''Available Devices: EP4CE30F23C7''' >> OK | ||
+ | # Compile o projeto. | ||
+ | # Associe os pinos (Assignments >> Assignment Editor) segundo a pinagem do [[Pinagem_dos_dispositivos_de_entrada_e_saída_do_kit_MERCURIO_IV | kit MERCURIO IV - EP4CE30F23C7]]. | ||
+ | ## Utilize quatro chaves (sw) como entrada BCD. | ||
+ | ## Utilize um dos dois ''displays'' SSD como saída. | ||
+ | # Compile o projeto. | ||
+ | # Conecte a placa via USB. | ||
+ | # Faça a carga do código: Tools >> Programer >> Start. | ||
+ | # Verifique o funcionamento do conversor: altere o código BCD com as chaves de entrada (0000 à 1111) e verifique a saída no display SSD. |
Edição das 13h16min de 6 de dezembro de 2021
Conversor BCD para display de sete segmentos
- Objetivos
- Aplicar o Mapa de Karnaugh para a criação de um decodificador de 7 segmentos;
- Gerar formas de onda para entrada de simulação;
- Fazer a simulação funcional do circuito;
- Materiais necessários
Tabela Verdade do decodificador SSD (Sete Segmentos - 0 a 9)
- Preencha a tabela verdade para todos os segmentos, para isso, analise as entradas e quais segmentos deverão estar acesos ou apagados a partir de uma configuração de catodo comum;
- Siga o exemplo do segmento G:
Entradas | Saídas | Decimal | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
A | B | C | D | a | b | c | d | e | f | g | Display |
0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 |
0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 2 |
0 | 0 | 1 | 1 | 1 | 3 | ||||||
0 | 1 | 0 | 0 | 1 | 4 | ||||||
0 | 1 | 0 | 1 | 1 | 5 | ||||||
0 | 1 | 1 | 0 | 1 | 6 | ||||||
0 | 1 | 1 | 1 | 0 | 7 | ||||||
1 | 0 | 0 | 0 | 1 | 8 | ||||||
1 | 0 | 0 | 1 | 1 | 9 | ||||||
1 | 0 | 1 | 0 | X | X | ||||||
1 | 0 | 1 | 1 | X | X | ||||||
1 | 1 | 0 | 0 | X | X | ||||||
1 | 1 | 0 | 1 | X | X | ||||||
1 | 1 | 1 | 0 | X | X | ||||||
1 | 1 | 1 | 1 | X | X |
Mapa de Karnaugh
- Utilize o software LogiSim para obter todos os mapas de Karnaugh e as expressões simplificadas para os sete segmentos.
- Ou, implemente a minimização do Mapa de Karnaugh utilizando o seguinte software.
- Primeiro, deve-se preencher a tabela verdade de acordo com o segmento g:
- O software preenche o Mapa de Karnaugh com a melhor minimização possível:
- Obtêm-se a expressão resultante do Mapa:
- Repita a operação para os demais segmentos.
Inserindo a minimização do Mapa de Karnaugh no Quartus
- Vá a página CIL29003, baixe o arquivo bcd_ssd.qar e salve em seu computador.
- Execute o Quartus.
- Restaure o projeto: Project >> Restore Archived Project... > (Archive Name: /home/aluno/bcd_ssd.qar ; Destination folder: /home/aluno/bcd_ssd) >> OK >> Yes.
- Será criada uma pasta bcd_ssd. Esse será nosso diretório de trabalho.
- Compile o projeto.
- Note que apenas o segmento g (seg_g) está implementado. Confira se ele está de acordo com seu projeto, ajuste se necessário.
- Monte os demais segmentos, seguindo este exemplo e baseado em seu projeto já realizado.
- Associe o dispositivo a ser utilizado: Assignments >> Device >> Family: Cyclone IV E e Available Devices: EP4CE30F23C7 >> OK
- Compile o projeto.
- Associe os pinos (Assignments >> Assignment Editor) segundo a pinagem do kit MERCURIO IV - EP4CE30F23C7.
- Utilize quatro chaves (sw) como entrada BCD.
- Utilize um dos dois displays SSD como saída.
- Compile o projeto.
- Conecte a placa via USB.
- Faça a carga do código: Tools >> Programer >> Start.
- Verifique o funcionamento do conversor: altere o código BCD com as chaves de entrada (0000 à 1111) e verifique a saída no display SSD.