Escolar Documentos
Profissional Documentos
Cultura Documentos
Proposta de Aplicação
20pF
XT 20pF
4MHz
R7 R6 R5 R4 R3 R2 R1 R0
330R 330R 330R 330R 330R 330R 330R 330R
PIC 16F877A
MCLR C1
BOTÃO
0
BOTÃO
1
2010
EDED - 2° SEMESTRE
INICIO
Configuração
Valor = 0
SIM
2010
EDED - 2° SEMESTRE
//inicio da configuração
//cabeçalho
//inclui a biblioteca do hardware microC
#include <16f877a.h>
//informa ao compilador o clock do oscilador
#use delay (clock=4000000)
//informa ao compilador o uso de oscilador externo tipo xt (até 4Mhz)
#fuses xt
//informa ao compilador que o portB será configurado manualmente
#use fast_io (b)
//informa ao compilador que o portC será configurado manualmente
#use fast_io (c)
//variáveis globais
int8 valor;
//rotina principal
void main ()
{
set_tris_b (0x00); //configura portB como saída
set_tris_c (0xff); //configure portC como entrada
//variáveis locais
//não há
//final da configuração
//execução da solução
valor=0; //atribui valor “0” à variável, inicializa variável
//define loop infinito
while(true)
{
//testa se o botão0 está acionado para somar 1 à variável
if (!input(pin_c0))
valor=valor+1;
//teste se o botão1 está acionado para subtrair 1 da variável
if (!input(pin_c1))
valor=valor-1;
//tempo para mudança do status do botão
delay_ms(250);
delay_ms(250);
//envia valor de 8 bits ao portB onde estão os LED´s
output_B (valor);
}
//final do loop infinito
}
//final da rotina principal
//final da execução da solução
2010