Você está na página 1de 3

Programa Principal

Aux1 -> registrador auxiliar Reg1 -> Registro para armazenamento do estado das chaves Incio A Configura pinos e portas de entrada e sada. B Reg1 = 000? N Zera as sadas Zera Reg1
Copiar os 3 ltimos bits da entrada para registrador

Chama sub-rotina da sequncia que corresponde ao conjunto de chaves acionadas.

Sequncia 1

Reg1 = 001? Copia entradas para Aux1 N

Sequncia 2

Bit 0 de Aux1 = 1? S Seta Bit 0 de Reg1

Reg1 = 010? N

Sequncia 3

Reg1 = 011? N N Bit 1 de Aux1 = 1? S Reg1 = 100? N Seta Bit 1 de Reg1

Sequncia 4

Sequncia 5

Reg1 = 101? N N

Sequncia 6

Bit 2 de Aux1 = 1? S

Reg1 = 110? Seta Bit 2 de Reg1 N

Sequncia 7

Fim

Sequncia 6
Descrio da Sub-rotina: Exibe em um LCD 11 segmentos uma sequencia de caracteres pr-determinada com permanncia de 1segundo em cada caractere. Registros e endereos utilizados:
sequenciaP1 -> Endereo do primeiro valor de sada da sequncia para P1 sequenciaP2 -> Endereo do primeiro valor de sada da sequncia para P2 Aux1 -> registrador auxiliar Reg1 -> Registro para armazenamento do endereo dos valores de sada para P1 Reg2 -> Registro para armazenamento do endereo dos valores de sada para P2

Sequncia 6

Permanece em um loop at que Reg1 aponte para o ltimo elemento da sequncia

Salva Contexo (Reg1) = 0xFF? Reg1 <- sequenciaP1 Reg2 <- sequenciaP2 Aux1 <- (Reg1)
Verifica a ordem da sequncia (invertida ou no).

Reg1 <- Reg1-1 Reg2 <- Reg2-1

N Reg1 <- Reg1+1 Reg2 <- Reg2+1 Sada P1 <- (Reg1) Sada P2 <- (Reg2)

Delay Chave 4 = 0? S N A Aux = (Reg1)? N B S B

(Reg1) = 0xFF? N

Verifica se Reg1 corresponde ao primeiro termo da sequncia

Sada P1 <- (Reg1) Sada P2 <- (Reg2)

Delay B Reg1 <- Reg1+1 Reg2 <- Reg2+1

Restaura Contexto

Retorna

Delay
Descrio da Sub-rotina: atrasa por determinado tempo a execuo do programa. Registros, endereos e constantes utilizadas:
Const_int -> Constante do contador interno Const_ext ->Constante do contador externo Reg1 -> Registrador que armazena o contador externo Reg2 -> Registrador que armazena o contador interno Delay

Salva Contexto

Reg1 <- Const_int

Reg2 <- Const_ext

Reg2 <- Reg2-1

N Reg2 = 0 ? S

Reg1 <- Reg1 - 1

Reg1 = 0? S Restaura Contexto

Retorna

Você também pode gostar