Ynt: LCD ekran içerisinde iki arayüz oluşturmak

Başlatan mechanicalengine, 01 Mayıs 2014, 23:57:46

mechanicalengine

Arkadaşlar merhaba;

Bir konuda fikrinizi almak istiyorum.

LCD ekran üzerinde şu anda saat ve tarih  görünüyor, ve devrede bunun ayarlarını yapabildiğim üç adet buton var.

Ben bir tuşa basınca LCD içerisinde ikinci arayüze geçip devreye bağlı  bir led'in saat kaçta yanması gerektiğinin ayarını yapmak istiyorum. İkinci arayüze geçme ve burada ayarlama yapmak adına örnek uygulama veya tavsiye paylaşma şansınız olabilir mi?

Aşağıdaki gibi yapmaya çalıştım fakat çalışmadı.

void led_yanma_ayari_yap()
{
 if(input(pin_d3)==0){ayar2++;delay_ms(20);printf(lcd_putc,"\f LED YANMA SAATI");delay_ms(1000);printf(lcd_putc,"\f");}
  

while(ayar2==1){
   lcd();lcd_gotoxy(1,1);lcd_send_byte(0x01,0x0d);lcd_gotoxy(2,1);lcd_send_byte(0x02,0x0d);   
   if(input(pin_d0)==0){sa1++;delay_ms(20);if(sa1==24){sa1=1;}while(input(pin_d0)==0);}
   if(input(pin_d1)==0){sa1--;delay_ms(20);if(sa1==0){sa1=31;}while(input(pin_d1)==0);}
   if(input(pin_d3)==0){ayar2++;delay_ms(200);while(input(pin_d2)==0);}}
.
.
.
.
.
.


if(ayar==0){rtc_get_time(saat,dakika,saniye);rtc_get_date(gun,ay,yil,hafta);}
      lcd();
      ayaryap();
      
if(ayar2==0){//sa1;da1;sn1");  //bu kısmını bilemedim
      delay_ms(200);
      printf(lcd_putc,"\f");
     delay_ms(5);    
      }
      lcd();
      led_yanma_ayari_yap();
if(saat==sa1&&dakika==da1&&saniye==sn1)
               {
               set_tris_b(0b00010001);
               output_b(0x00);
               output_high(pin_b2); 
               }



mesaj birleştirme:: 02 Mayıs 2014, 00:01:08

Başlangıç olarak sadece LCD içerisinde ikinci arayüze geçmeyi gösteren bir örnek paylaşabilirseniz de çok memnun olurum.

Kabil ATICI

Yapı olarak farklı olsada fikir vermesi açısından;
http://elektronikvelemciler.blogspot.com.tr/2010/10/atmega8-ve-ds1307-cipi-ile-rs485.html
özellikle konunun alt kısımlarındaki bölümler işini görebilir.

Not: Bu projenin program ASM ile yazıldı.
ambar7