Na imagem é possível ver a programação, o fluxograma de funcionamento, é bem básico, sendo até mais simples que o anterior.
A imagem abaixo mostra a simulação e o correto funcionamento do fluxograma.
Veja como o programa gerou o código em C:
//Declarações da variável
char FCV_VERIFICA;
char FCV_TESTE;
//Implementações Macro
void main()
{
//Iniciação
adcon1 = 0x07;
//Código de iniciação de interrupção
option_reg = 0xC0;
//Comentário:
//Programa Sequêncial de Led´s Acionados Por Chaves
//Ciclo eterno...
//Ciclo
//Ciclo: Enquanto1
while (1)
{
//Comentário:
//Como determinei que toda Porta C seriam minhas as Chaves,
//a variavel VERIFICA recebe o estado atual do Porta C...
//Entrada
//Entrada: PORTO C -> VERIFICA
trisc = trisc | 0xff;
FCV_VERIFICA = portc;
//Comentário:
//Verifico a Porta C continua no mesmo estado, testo se a variável
//VERIFICA(estado atual) está igual a variável TESTE(estado anterior).
//Se for igual o programa pula os próximos dois passos...
//Decisão
//Decisão: VERIFICA = TESTE?
if (FCV_VERIFICA == FCV_TESTE)
{
} else {
//Comentário:
//Como não são iguais, coloco na variável TESTE o valor da variável VERIFICA...
//Cálculo
//Cálculo:
// TESTE = VERIFICA
FCV_TESTE = FCV_VERIFICA;
//Comentário:
//Como os Led´s estão relacionados a toda Porta B,
//basta apenas direcionar o valor da variável TESTE
//para a Porta B que os led´s serão acionados ou desligados
//conforme o estado da Porta C...
//Saída
//Saída: TESTE -> PORTO B
trisb = 0x00;
portb = FCV_TESTE;
}
//Comentário:
//Um atraso só para evitar problemas...
//Atraso
//Atraso: 300 ms
delay_ms(255);
delay_ms(45);
}
mainendloop: goto mainendloop;
}
Para baixe o fluxograma aqui.
Nenhum comentário:
Postar um comentário