Merhaba
Mikroc ile lcd üzerinden butonlarla menü ve alt menüler oluşturmayı anlatabilir misiniz?
Hocam ben C ve MikroC işlerine yeni başladım. Ek'te çalışan uzun bir programımdan örnek kesitler sunuyorum.Uzmanları mutlaka daha fonksiyonel yazabilirler.Ben bu kadar yapabildim ve işimi görüyor.Benzeterek kullanabilirsiniz. ARM için yazmıştım.Ana döngü içinde menü fonksiyonuna giriş için bir if( ) eklemelisiniz.
void menu() //********************************************************
{
int i;
char txt_1[3];
Lcd_Cmd(_LCD_CLEAR);
Lcd_Out(1,1,"BELLEK SIL !!!");
Lcd_Out(2,3,"> (+) BAS");
while(BUTON);
for(i=0;i<300;i++)
{
if(BUTON)
{
Lcd_Cmd(_LCD_CLEAR);
Lcd_Out(1,1,"BELLEK SILINDI");
while(BUTON);
Delay_ms(1000);
}
Delay_ms(10);
}
Lcd_Cmd(_LCD_CLEAR);
Lcd_Out(1,1,"AYAR DEGISTIR..");
Lcd_Out(2,5,"ISI-SURE");
Delay_ms(2000);
Lcd_Cmd(_LCD_CLEAR);
Lcd_Out(1,1,"ISI:");
ByteToStr(hedefIsi,txt_1);
Lcd_Out(1,5,txt_1);
Lcd_Out(2,3,"> + VEYA > -");
for(i=0;i<500;i++)
{
if(BUTON)
{
hedefIsi=hedefIsi+1;
if(hedefIsi==25) hedefIsi=24;
ByteToStr(hedefIsi,txt_1);
Lcd_Out(1,5,txt_1);
while(BUTON);
}
if(BUTONB)
{
hedefIsi=hedefIsi-1;
if(hedefIsi==19) hedefIsi=20;
ByteToStr(hedefIsi,txt_1);
Lcd_Out(1,5,txt_1);
while(BUTONB);
}
Delay_ms(10);
}
Lcd_Cmd(_LCD_CLEAR);
Lcd_Out(1,1,"SURE:");
ByteToStr(sure,txt_1);
Lcd_Out(1,6,txt_1);
Lcd_Out(2,3,"> + VEYA > -");
for(i=0;i<500;i++)
{
if(BUTON)
{
sure=sure+1;
if(sure==15) sure=14;
ByteToStr(sure,txt_1);
Lcd_Out(1,6,txt_1);
while(BUTON);
}
if(BUTONB)
{
sure=sure-1;
if(sure==0) sure=0;
ByteToStr(sure,txt_1);
Lcd_Out(1,6,txt_1);
while(BUTONB);
}
Delay_ms(10);
}
Lcd_Cmd(_LCD_CLEAR); // Menu'den çıkış bloğu
Lcd_Out(1,1,"ISI:");
Lcd_Out(1,6,"SAAT:");
}
Merhaba kuluçka makinesi yapmaya çalışıyorum.Buna benzer mantıkta Switch Case kullanarak menu oluşturmayı çalıştım ancak menüde sıkıntılarla karşılaştım.3 adet buton kullandım.Bunlar MENU , YUKARI ,ASAGI Menu butonuna basınca menunun ilk sayfası Yani"ISI AYARI" YUKARI butonuna basınca "NEM AYARI" Tekrar YUKARI Butonuna bastım "FAN AYARI" Gibi sıradaki hangi menu varsa ona geçecek ama bir türlü olmuyor aşağı tuşuna basınca bir önceki menüye gidebiliyorum ama başa döndüremiyorum Yardımcı olur musunuz?