PICBASIC ILE LCD DE MENU TASARIMI

Başlatan oyhan, 31 Ekim 2004, 22:45:21

oyhan

ARKADAŞLAR
DEĞİŞİK AYAR FONKSİYONLARI İÇİN ( MESELA SAAT DAKİKA VS.. GIBI ) MENULER OLUŞTURMAM GEREKİYOR FAKAT NERDEN BAŞLAMALIYIM YANİ NASIL BİR STRATEJİ İZLEMELİYİM BİLMİYORUM. KAFAMDA KODLARDA  KARIŞMAYA BAŞLADI. BU KONUDA TECRÜBELERİNİZ VARMI PAYLAŞIR İSENİZ MEMNUN OLURUM..
SAYGILARIMLA
BİRLİKTEN KUVVET DOĞAR:

mmengi


microcozmoz

Arkadaşım benimde böyle bir sorunum olmuştu..İlk aklıma gelen şey bu menünün nasıl görüneceği ile ilgili idi.Bende bu sorunu çalıştığım yerdeki makinalardan esinlenerek çzödüm.Fakat netten yapılacak bir araştırma ile fikir sahibi olunabilir.

Takıldığın bir yere olursa yardımcı olmaya çalışırım.

İyi çalışmalar
"Bütün bu şerâitten daha elîm ve daha vahim olmak üzere, memleketin dahilinde, iktidara sahip olanlar gaflet ve dalâlet ve hattâ hıyanet içinde bulunabilirler."

oyhan

Diyelimki A B ve C diye 3 ana menü var ve Bunlarında 1 2 3 diye alt menuleri var bunlar arsında gezmek istiyorum.
Kullanmayı düşündüğüm enter aşağı yukarı diye (belki bir kaç buton da eklenebilir.) 3 tane buton var. Bu butonlar ile ayar menusune nasıl gırılebılır basıcdekı kodlar ıle nasıl bır algorıtma kafamızdan gecırebılırız. Yanı bu konunun standartları muhakkak vardır. İşte bende bu standartlar dahilinde nasıl gerçekleştirebilirim işin bu kısmını onu merak ediyorum.
Örnek bir algoritma gibi birşeyler varsa emnun olurum.
Saygılarımla...
BİRLİKTEN KUVVET DOĞAR:

mmengi

Dostum verdiğim örnekleri inceleme fırsatı bulabildinmi.  :?:

microcozmoz

Arkadaşım benim  pc deki dosyaları düzenleyip anlaşılır bir hale getirip siteye olmazsa picproje grouplarından birisine upload ederim.

Yanlız biraz zaman gerekli umarım çok fazla acelen yoktur..İş nedeni ile çok fazla uğraşamıyorum açıkçası.

Hazır vaktim var iken kodun giriş kısmını göndereyim dedim.Bu projede 4x20 LCD kullanıldı.Program çalıştığında direk ana menu ekrana geliyor.Ana menude iki adet seçenek mevcut biri ayarlar diğeri ise start.
Benim yaptığım işte ayarlar yapılmadan start komutunu almıyordu.

Geri kalan kısmı en kısa zamanda gönderirim.

Ana ekranın resmini gönderecektim fakat beceremedim :)
MENU_ANA:
        Pause 100
        Lcdout $fe,1	
        Lcdout $fe,$80+3,"DENEME MAKINA"	
        LCDOUT $FE,$C4,"YMC 1300-V1.0"
        LCDOUT $FE,$94,"Ayarlar"
        Lcdout $fe,$d7,"|"
        LCDOUT $FE,$94+15,"Start"
        Lcdout $fe,$d9+12,"|"
         MENU_ANA2
            IF SOL = 0 THEN AYAR_MENU  'AYAR MENUSUNE GİRİŞ
                IF Tamam = 0 THEN 
                GOTO AYAR_BAS
                ELSE
                MANUEL = 0
                ENDIF
                IF SAG = 0 THEN START       'ANA EKRANA GİRİŞ
            GOTO MENU_ANA2
"Bütün bu şerâitten daha elîm ve daha vahim olmak üzere, memleketin dahilinde, iktidara sahip olanlar gaflet ve dalâlet ve hattâ hıyanet içinde bulunabilirler."

oyhan

Arkadaşım izahatin için tşk. Kodun butonlar vemenuler arasında gezıs ıle ılgılı kısmını bekliyorum. Çok sağol....
BİRLİKTEN KUVVET DOĞAR:

fatihgns

mmengi arkadaşımızın verdiği lcdedit.bas'ı inceledim. Bazı sorunlarla karşılaştım. Programı tekrar yazıp devreyi isis'te hazırladı. Faydalanacağınızı umuyorum.
http://groups.yahoo.com/group/PicProjeUP15/files/LcdEdit.zip

Lcd'de menu hazırlama konusundaki yeni çalışmaları eklerseniz sevinirim.

teketek

Bende aynı sorunla karşı karşıyayım:(

2x16 LCD kullanıyorum ve menü içerisinde iki değişken varsa tamam ama mesela üç ya da dört tane olunca işler karışırıyor :? yapmak istediğim cep telefonlarındaki gibi menüler arasında dolaşabilmek.hatta bi yolunu bulursam hangi değişken aktifse yanına bir işaret (mesela bi ok işareti) ya da aktif olanın üzerini karartma gibi planlarım var.

heyhat tıkandım kaldım :(
Bilgi fark yaratır..

bkara

.
.
.
.
AYAR1:
TUS=1
IF ENTER=1 THEN 
ETR:IF ENTER=1 THEN ETR
 GOSUB AYAR
 GOSUB AYARLAR

ENDIF
RETURN

AYAR:
READ 10,SETNEM         
READ 11,SETMLZ
READ 12,DIS
READ 20,DK
READ 21,SAAT.BYTE1
READ 22,SAAT.BYTE0
RETURN


AYARLAR:


LCDOUT $FE,1
TARA:
LCDOUT $FE,192,"ESC",$FE,203,"ENTER"


     
select case TUS
    CASE 1
        LCDOUT $FE,128,"1-NEM AYARLA    "
    case 2
        LCDOUT $FE,128,"2-MLZ ISI AYARLA "
    case 3
        LCDOUT  $FE, 128,"3-CALISMA SURESI"
    End select


IF UP=1 THEN 
UPP: IF UP=1 THEN UPP 
     TUS=TUS+1
     ENDIF
     
IF DN=1 THEN 
DNN: IF DN=1 THEN DNN
        TUS=TUS-1
     ENDIF
IF TUS>3 THEN TUS=1
IF TUS<1 THEN TUS=3


IF ESC=1 THEN
ESCD: IF ESC=1 THEN ESCD
    lcdout $fe,1
      RETURN
      ENDIF
IF ENTER=1 THEN 
ENS: IF ENTER=1 THEN ENS
        SELECT CASE TUS
            CASE 1 
            GOTO _NEM  
            CASE 2
            GOTO _IC
            CASE 3
            GOTO _TIME
        END SELECT
       ENDIF
   
GOTO TARA 


_NEM:
LCDOUT $FE,1
_NEM1:
IF UP=1 THEN 
UPF: IF UP=1 THEN UPF 
     SETNEM=SETNEM+1
     ENDIF
     
IF DN=1 THEN 
DNF: IF DN=1 THEN DNF
        SETNEM=SETNEM-1
     ENDIF
IF SETNEM>90 THEN SETNEM=25
IF SETNEM<25 THEN SETNEM=90
LCDOUT $FE,128,"NEM : %",DEC2 SETNEM
IF ESC=1 THEN
ESCF: IF ESC=1 THEN ESCF
      READ 10,SETNEM         
      GOTO AYARLAR
      ENDIF
IF ENTER=1 THEN 
ENF: IF ENTER=1 THEN ENF
    WRITE 10, SETNEM
    PAUSE 10
    GOTO AYARLAR
ENDIF
GOTO _NEM1
'********************************
_IC:
LCDOUT $FE,1
_IC1:
IF UP=1 THEN 
UPT: IF UP=1 THEN UPT
     SETMLZ=SETMLZ+1
     ENDIF
     
IF DN=1 THEN 
DNT: IF DN=1 THEN DNT
        SETMLZ=SETMLZ-1
     ENDIF
IF SETMLZ>90 THEN SETMLZ=40
IF SETMLZ<40 THEN SETMLZ=90
LCDOUT $FE,128,"MLZ ISI : ",DEC2 SETMLZ,223
IF ESC=1 THEN
ESCT: IF ESC=1 THEN ESCT
      READ 11,SETMLZ
      GOTO AYARLAR
      ENDIF
IF ENTER=1 THEN 
ENT: IF ENTER=1 THEN ENT
    WRITE 11, SETMLZ
    PAUSE 10
    GOTO AYARLAR
ENDIF
GOTO _IC1
'///////////////////////////////////////////
_TIME:
LCDOUT $FE,1
_DIS1:
LCDOUT  $FE, 195, DEC5 SAAT ,":",$FE,201,DEC3 DK 
IF ESC=1 THEN
ESCP: IF ESC=1 THEN ESCP
      GOTO AYARLAR
      ENDIF
IF ENTER=1 THEN 
ENP: IF ENTER=1 THEN ENP
     GOTO AYARLAR
ENDIF
GOTO _DIS1
.
.
.
.
.

mustafa_cmbz

Alıntı YapIF UP=1 THEN
UPP: IF UP=1 THEN UPP
    TUS=TUS+1
    ENDIF
     
IF DN=1 THEN
DNN: IF DN=1 THEN DNN
       TUS=TUS-1
    ENDIF
IF TUS>3 THEN TUS=1
IF TUS<1 THEN TUS=3


arkadaslar bu kodların karsılarına işlevlerini yazarmısınız..

bu arda bende tek butonla 5 menüyü dolaşmak istiyorum ve set tuşuylada hangi menudeysek o seceneği set etmek istiyorum yardımcı olan olursa çok makbule geçer...

Veli B.

Bir ustte ki mesajda bulunan kod, isteklerinizi fazlasi ile karsilayan bir ornektir.Lutfen dikkatli inceleyiniz...

mustafa_cmbz

işe yarıcağını biliyorum hocamda benım anlamadığım o verdiğim kodlar yanı mantığını anlamadım onu bir acıklarsan sevinirim yanı tus=tus+1 ne demek onu bir sölesen...

OG

Konuyu biraz daha baştan alıp çalışırsan işin daha kolay olur. tus=tus+1 i söylemek kolay fakat çok eksiğin kalacak ve zorlanacaksın.

tus bir sayı, bu sayıya 1 ekle demek.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

uzeyir

#14
menü konusunda yardımcı olabilecek arkadaş var mı