Estudo de caso: Máquina de estado do alarme Construindo a máquina Valor codificado binário do estado
Porque nós temos três estados, nós precisamos aqui somente dois flip-flops - esta vontade da configuração permite até quatro estados (00, 01, 10, 11).
Nós temos que fazer um pouco mais de cálculo.
Primeiramente, nós temos que decidir como os estados serão codificados. O estado do sono (1) não será codificado “00” como é o interruptor no valor e então lá seria nenhuma necessidade para que uma tecla de restauração force este valor. Os dois outros estados conduzem às ações (interruptor no indicador do “braço” e interruptor no alarme e no temporizador). Será muito mais fácil usar para estes dois estados os “01” e “10” como cada um da saída dos fliflops pode diretamente ser usada para controlar as ações respectivas sem uma lógica mais adicional
Daqui, a codificação do estado:
| Estado | Nome | Codificação AB |
| 1 | Sono | 00 |
| 2 | Armado | 01 |
| 3 | Alarme | 10 |
O estado AB=11 não é usado e não deve ocorrer.
Assim a tabela de verdade precedente
| Estado | Circunstância |
| | |
| 1 | 2.Disarm + 3.Disarm + 1.Arm |
| 2 | 1.Arm + 3.TimeOut + 2. (Disarm.Intrusion) |
| 3 | 2.Intrusion + 3. (Disarm.TimeOut) |
torna-se:
| A | B | Circunstância |
| | | |
| 0 | 0 | 2.Disarm + 3.Disarm + 1.Arm |
| 0 | 1 | 1.Arm + 3.TimeOut + 2. (Disarm.Intrusion) |
| 1 | 0 | 2.Intrusion + 3. (Disarm.TimeOut) |
Daqui a equação para os dois flip-flops A e B:
| Flip-flop | Circunstância |
| | |
| B | 1.Arm + 3.TimeOut + 2. (Disarm.Intrusion) |
| A | 2.Intrusion + 3. (Disarm.TimeOut) |
com as seguintes equações do número do estado:
1 = A.B 2 = A.B 3 = A.B
Nós temos então as equações com os valores de A e de B somente:
| Flip-flop | Circunstância |
| | |
| B | A.B.Arm + A.B.TimeOut + A.B. (Disarm.Intrusion) |
| A | A.B.Intrusion + A.B. (Disarm.TimeOut) |
Qual dá o seguinte circuito:
Índice alternativo

Este método de projeto pode ser uso para outras máquinas de estado.
|