

Já sei oque vocês devem estar pensando..... Oque será que ele quer dessa vez, MEU DEUS !!!! rrsssssss

Bom....
Estou fazendo aquele relóginho para meu quarto, lembra ?!?!?
Eu queria ajustar a hora da melhor forma possivel, então eu pensei, pensei, pensei e pensei, e não cheguei a conclusão nenhuma rrsssss BRINCADEIRA.
Eu criei um esquema com SWITCH e CASES, onde exibi no LCD os numeros, incrementando e decrementando,OK
Mas agora eu estou com outro problema, eu estou tentando fazer o seguinte.....
Quando eu estiver no meu da operação de ajustar a hora, quando eu apertar ( asterisco ), chame uma outra função.....
Mas dai, já tentei de varias formas, se eu fizer tecla='*' a rotina não funciona.
Vejam:
- Código: Selecionar todos
void data
unsigned char tecla;
int cont; // acumulador auxiliar
//-------------------------------
Lcd_custom_Cmd(Lcd_Clear); // Limpa o LCD 16x2 //
Lcd_custom_out(1,1,"AJUSTE DATA");
Delay_ms(20);
//-------------------------------
do {
if (porta.f0 == 0) // Se apertar tecla que esta em porta.f0
{
cont ++; incrementa
Delay_ms(200);
Lcd_custom_cmd(LCD_CLEAR);
Lcd_custom_out(1,1,"AJUSTE DATA");
Lcd_custom_out(2,3,"/");
Delay_ms(20);
Lcd_custom_out(2,7,"/");
Delay_ms(20);}
if (porta.f1 == 0) // Se apertar tecla que esta em porta.f1
{
cont --; // decrementa
Delay_ms(200);
Lcd_custom_cmd(LCD_CLEAR);
Lcd_custom_out(1,1,"AJUSTE DATA");
Lcd_custom_out(2,3,"/");
Delay_ms(20);
Lcd_custom_out(2,7,"/");
Delay_ms(20);}
switch (cont)
{
case 0 :
lcd_custom_cmd(LCD_CURSOR_OFF);
Lcd_custom_out(1,1,"AJUSTE DATA");
lcd_custom_out(2,1,"0");break;
Delay_ms(1000);
Lcd_custom_out(2,3,"/");
Delay_ms(20);
Lcd_custom_out(2,7,"/");
Delay_ms(20);
case 1 :
lcd_custom_cmd(LCD_CURSOR_OFF);
Lcd_custom_out(1,1,"AJUSTE DATA");
lcd_custom_out(2,1,"1");break;
Delay_ms(10);
Lcd_custom_out(2,3,"/");
Delay_ms(20);
Lcd_custom_out(2,7,"/");
Delay_ms(20);
case 2 :
lcd_custom_cmd(LCD_CURSOR_OFF);
Lcd_custom_out(1,1,"AJUSTE DATA");
lcd_custom_out(2,1,"2");break;
Delay_ms(10);
Lcd_custom_out(2,3,"/");
Delay_ms(20);
Lcd_custom_out(2,7,"/");
Delay_ms(20);
case 3 :
lcd_custom_cmd(LCD_CURSOR_OFF);
Lcd_custom_out(1,1,"AJUSTE DATA");
lcd_custom_out(2,1,"3");break;
Delay_ms(10);
Lcd_custom_out(2,3,"/");
Delay_ms(20);
Lcd_custom_out(2,7,"/");
Delay_ms(20);
case 4 :
lcd_custom_cmd(LCD_CURSOR_OFF);
Lcd_custom_out(1,1,"AJUSTE DATA");
lcd_custom_out(2,1,"4");break;
Delay_ms(10);
Lcd_custom_out(2,3,"/");
Delay_ms(20);
Lcd_custom_out(2,7,"/");
Delay_ms(20);
case 5 :
lcd_custom_cmd(LCD_CURSOR_OFF);
Lcd_custom_out(1,1,"AJUSTE DATA");
lcd_custom_out(2,1,"5");break;
Delay_ms(10);
Lcd_custom_out(2,3,"/");
Delay_ms(20);
Lcd_custom_out(2,7,"/");
Delay_ms(20);
case 6 :
lcd_custom_cmd(LCD_CURSOR_OFF);
Lcd_custom_out(1,1,"AJUSTE DATA");
lcd_custom_out(2,1,"6");break;
Delay_ms(10);
Lcd_custom_out(2,3,"/");
Delay_ms(20);
Lcd_custom_out(2,7,"/");
Delay_ms(20);
case 7 :
lcd_custom_cmd(LCD_CURSOR_OFF);
Lcd_custom_out(1,1,"AJUSTE DATA");
lcd_custom_out(2,1,"7");break;
Delay_ms(10);
Lcd_custom_out(2,3,"/");
Delay_ms(20);
Lcd_custom_out(2,7,"/");
Delay_ms(20);
case 8 :
lcd_custom_cmd(LCD_CURSOR_OFF);
Lcd_custom_out(1,1,"AJUSTE DATA");
lcd_custom_out(2,1,"8");break;
Delay_ms(10);
Lcd_custom_out(2,3,"/");
Delay_ms(20);
Lcd_custom_out(2,7,"/");
Delay_ms(20);
case 9 :
lcd_custom_cmd(LCD_CURSOR_OFF);
Lcd_custom_out(1,1,"AJUSTE DATA");
lcd_custom_out(2,1,"9");break;
Delay_ms(10);
Lcd_custom_out(2,3,"/");
Delay_ms(20);
Lcd_custom_out(2,7,"/");
Delay_ms(20);
case 10 :
lcd_custom_cmd(LCD_CURSOR_OFF);
Lcd_custom_out(1,1,"AJUSTE DATA");
lcd_custom_out(2,1,"10");break;
Delay_ms(10);
Lcd_custom_out(2,3,"/");
Delay_ms(20);
Lcd_custom_out(2,7,"/");
Delay_ms(20);
}
}while(1);
}
Abraço a todos, e desejo a participação de todos