TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Laboratório de Eletrônica Digital

Por:   •  22/5/2017  •  Ensaio  •  4.234 Palavras (17 Páginas)  •  240 Visualizações

Página 1 de 17

Universidade Federal de Itajubá – UNIFEI

                

                                        Nome: João Paulo Mendes dos Santos          n°.: 34837

                     

[pic 1]

Laboratório de Eletrônica Digital II

Atividade 3: Máquina de Refrigerante e Lanche

Engenharia de Controle e Automação

ELTD12 – Laboratório de Eletrônica Digital II – T02

Professor: Celso Henrique Ribeiro

09/2016

        

DESCRIÇÃO

O diagrama de estados a seguir representa uma máquina de vender refrigerantes e lanches. Admita que existam mecanismos prontos para receber moedas de R$ 1,00 e notas de R$ 2,00. Admita também que existam mecanismos prontos para liberar lanche e refrigerante.

Considere a seguinte tabela de variáveis e a representação do circuito apresentados:

[pic 2]

Entradas

Saídas

M – Moeda de R$ 1,00

DM – Devolve Moeda (R$ 1,00)

N – Nota de R$ 2,00

LR – Libera Refrigerante

C – Cancela

LL – Libera Lanche

L – Lanche

R – Refrigerante

RST – Reiniciar a máquina

CLK - Clock


[pic 3]

OBJETIVOS

1.  Fazer a descrição em VHDL e simular.

2.  Programar em FPGA e fazer o teste no laboratório (utilizar clock por chave).

OBS: Ao programar o circuito na FPGA, utilize a seguinte relação de periféricos da placa DE2:

 Pino

Periférico

Pino

Periférico

M

SW17

CLK

KEY3

N

SW16

RST

SW11

C

SW15

DM

LEDR17

L

SW14

LL

LEDR16

R

SW13

LR

LEDR15


CÓDIGO EM VHDL

Utilizando o template da máquina de estados de Moore como base, desenvolveu-se a descrição em VHDL do problema proposto:

library ieee;

use ieee.std_logic_1164.all;

entity Lab3 is

        port

        (

                clk :  in std_logic;

                M   :  in bit;  --Moeda R$1.00

                N    :  in bit;  --Nota R$ 2.00

                C    :  in bit;  --Cancela

                L    :  in bit;  --Lanche

                R    :  in bit;  --Refrigerante

                reset: in bit;

                DM  :  out bit; --Devolve moeda

                LLA :  out bit; --Libera Lanche

                LR    :  out bit --Libera Refrigerante

        );

end entity;

architecture Lab3_Arch of Lab3 is

        type Maquina_de_Estados is (Espera, RS1, RS2, RS3, Dev1, Dev2, Dev3, DevR, LR0, LR1, LL);

        signal state : Maquina_de_Estados;

begin

        process (clk, reset)

        begin

                if reset = '1' then

                        state <= Espera;

                elsif (rising_edge(clk)) then

                        case state is

                                when Espera=>

                                        if M = '1' then

                                                state <= RS1;

                                        elsif N = '1' then

                                                state <= RS2;

                                        end if;

                                        

                                when RS1=>

                                        if M = '1' then

...

Baixar como (para membros premium)  txt (7.8 Kb)   pdf (475.9 Kb)   docx (96.4 Kb)  
Continuar por mais 16 páginas »
Disponível apenas no TrabalhosGratuitos.com