Aqui está o esquema, montado no Proteus. o programa: #include<18F4520.h> #use delay(clock=20000000) #fuses HS,NOWDT,NOMCLR,LVP,NOBROWNOUT #define s1 input(pin_a0) #define s2 input(pin_a1) #define s3 input(pin_a2) char codigo (int valor) { char num [10]= { 0b00111111, 0b00000110, 0b01011011, 0b01001111, 0b01100110, 0b01101101, 0b01111101, 0b00000111, 0b01111111, 0b01100111, }; return num [valor]; } void unidade (int valor) { output_d(codigo(valor)); output_high(pin_d3); } void main() { int x=0 while (1) { if(input(pin_a0)==1) { delay_ms(500); x=++; delay_ms(500); x=++; delay_ms(500); x=++; delay_ms(500); x=++; delay_ms(500); x=++; delay_ms(500); x=++; delay_ms(500); x=++; delay_ms(500); x=++; delay_ms(500); x=++; delay_ms(500); } else { output_low(pin_c0); } } } é pra uma chave contar acrescentar um número até 9, já a segunda é para decrementar... Alguém pode me ajudar a fazer pelo menos a primeira chave?tá achando erros que só