quarta-feira, 25 de julho de 2012

Flowcode - Sequêncial de Led´s Controlado por Chaves

Mais um programinha, ou melhor fluxograma, outro sequêncial, mas agora por chaves, são 8 chaves e 8 Led´s, cada chave aciona um Led, utilizei o microcontolador PIC 16f877A e determinei que toda a Porta C fossem as chaves e toda a Porta B fossem os Leds.

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