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ó