Exercicio II - Solucao

Exercício II - Solução (ainda incompleta)

Falta ainda o diagrama de estados finitos.

São usados 7 estados representando desde 0 centavos (estado inicial) até 25 centavos recolhidos.

Estando num estado representando um determinado valor já depositado, toda vez que receber mais uma moeda cujo valor somado ao valor do estado ficar igual ou ultrapassar 30 centavos, é liberada uma coca e faz-se a troca se necessário, voltando depois ao estado inicial (0 centavos). A única exceção é quando esse valor atingir 50 centavos, quando será necessário um estado auxiliar (ver adiante).

São usados então 3 bits para codificar um estado: E0, E1, E2 para codificar o presente estado; F0, F1, F2 para codificar o próximo estado. Adota-se a codificação seguinte, que pode ser facilmente memorizada assim: o número binário multiplicado por 5 dá o valor em centavos.

Estado 0 centavos 000
Estado 5 centavos 001
Estado 10 centavos 010
Estado 15 centavos 011
Estado 20 centavos 100
Estado 25 centavos 101
Estado auxiliar 110

Além do estado presente, as outras entradas são X5, X10 e X25.

Além do próximo estado, as outras saídas são Libera (sinal para liberar uma coca) e (i>Y5 e Y10.

O estado 110 é um estado auxiliar que serve para dar o troco de uma moeda de 10 centavos.

Tabela de transição

Entradas: Saídas:
E0 E1 E2 X5 X10 X25 Libera Y5 Y10 F0 F1 F2
0 0 0 1 0 0 0 0 0 0 0 1
0 0 0 0 1 0 0 0 0 0 1 0
0 0 0 0 0 1 0 0 0 1 0 1
0 0 1 1 0 0 0 0 0 0 1 0
0 0 1 0 1 0 0 0 0 0 1 1
0 0 1 0 0 1 1 0 0 0 0 0
0 1 0 1 0 0 0 0 0 0 1 1
0 1 0 0 1 0 0 0 0 1 0 0
0 1 0 0 0 1 1 1 0 0 0 0
0 1 1 1 0 0 0 0 0 1 0 0
0 1 1 0 1 0 0 0 0 1 0 1
0 1 1 0 0 1 1 0 1 0 0 0
1 0 0 1 0 0 0 0 0 1 0 1
1 0 0 0 1 0 1 0 0 0 0 0
1 0 0 0 0 1 1 1 1 0 0 0
1 0 1 1 0 0 1 0 0 0 0 0
1 0 1 0 1 0 1 1 0 0 0 0
1 0 1 0 0 1 1 0 1 1 1 0
1 1 0 X X X 0 0 1 0 0 0

Falta ainda a PLA para implementar a lógica descrita.


Last modified: Thu Oct 26 15:38:17 BRDT 2000