MikroC Menü Oluşturma

Başlatan Teğmen, 29 Aralık 2016, 11:03:50

Teğmen

Merhaba
Mikroc ile lcd üzerinden butonlarla menü ve alt menüler oluşturmayı anlatabilir misiniz?
"Girdim ilim meclisine kıldım eyledim talep,   Dediler ilim geride kaldı illa Edep illa Edep" Hz.Yunus Emre K.S.

mg1980

#1
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:");
}

biomia

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?