Programacion en pic c compiler
#include <16F887.h>
#FUSES NOWDT
#FUSES NOBROWNOUT
#FUSES NOLVP
#use delay(internal=4MHz)
#use fast_io(c)
#use fast_io(d)
#use fast_io(a)
VOID main ()
{
INT i = 0, j = 0;
set_tris_c (0b11110000);
set_tris_d (0b11110000);
set_tris_a (0b11111111);
output_c (0b0000);
output_d (0b0000);
WHILE (TRUE)
{
WHILE (input_a () == 0b01)
{
}
WHILE (input_a () == 0b10)
{
i = 0;
j = 0;
output_d (i);
output_c (j);
}
WHILE (input_a () == 0b00 || input_a () == 0b11)
{
FOR (i = 0; i <= 9; i++)
{
output_d (i);
delay_ms (100);
}
IF (j > 8)
{
i = 0;
j = 0;
output_c (j);
output_d (i);
}
ELSE
{
j = j + 1;
output_c (j);
}
}
}
}
Diagrama electrónico en proteus 8
#include <16F887.h>
#FUSES NOWDT
#FUSES NOBROWNOUT
#FUSES NOLVP
#use delay(internal=4MHz)
#use fast_io(c)
#use fast_io(d)
#use fast_io(a)
VOID main ()
{
INT i = 0, j = 0;
set_tris_c (0b11110000);
set_tris_d (0b11110000);
set_tris_a (0b11111111);
output_c (0b0000);
output_d (0b0000);
WHILE (TRUE)
{
WHILE (input_a () == 0b01)
{
}
WHILE (input_a () == 0b10)
{
i = 0;
j = 0;
output_d (i);
output_c (j);
}
WHILE (input_a () == 0b00 || input_a () == 0b11)
{
FOR (i = 0; i <= 9; i++)
{
output_d (i);
delay_ms (100);
}
IF (j > 8)
{
i = 0;
j = 0;
output_c (j);
output_d (i);
}
ELSE
{
j = j + 1;
output_c (j);
}
}
}
}
Diagrama electrónico en proteus 8