Código feito em CCS C Compiler
#include <16F877A.h>
#device adc = 8
#fuses XT, NOWDT, BROWNOUT, NOLVP
#use delay(clock = 20MHz)
#include <math.h>
#use fast_io(b)
#include <lcd.c>
int v1[] = {0b00111111, 0b00000110, 0b01011011,
0b01001111, 0b01100110, 0b01101101, 0b01111101,
0b00000111, 0b01111111, 0b11100111};
unsigned int8 a, b, c, d, e, f;
byte decimal;
unsigned int8 aux, dezena, unidade;
void main(void){
lcd_init();
while(TRUE){
a = input(PIN_B0);
b = input(PIN_B1);
c = input(PIN_B2);
d = input(PIN_B3);
e = input(PIN_B4);
f = input(PIN_B5);
decimal = (a<<5)|(b<<4)|(c<<3)|(d<<2)|(e<<1)|(f<<0);
aux = decimal/10;
dezena = (int)floor(aux);
aux = (decimal)-(10*dezena);
unidade = (int)floor(aux);
printf(lcd_putc,"\fBINARIO = %u%u%u%u%u%u \nDECIMAL = %u"a, b, c, d, e, f, decimal);
delay_ms(100);
for(int i = 0; i < 10; i++){
output_a(0b0000010);
output_c(v1[dezena]);
delay_ms(50);
output_a(0b000001);
output_c(v1[unidade]);
delay_ms(50);
}
}
}