Ynt: Pıc ile LCD menü sistemi

Başlatan aea_46, 14 Mayıs 2013, 00:36:26

aea_46

Merhabalar arkadaşlar. Pıc ile 4x20 LCD ye veya 128x64 Grafik LCD'de menü sistemi yapmak istiyorum. Devrenin çalışma sistemi Seçilen menü ye girildiğinde röle çekecek ve 15 sn röle acık kalacak. 15 sn sonunda kapanacak. Menü'de giriş bölümünde geri seçenegi olacak.

Örnek

>A > ENTER (ENTER Dediğimde röle 15 sn boyunca çekecek)
>B
>C
>D
>E
>F
>G
>H
>I


Örnegin A menüsüne girdik. Hiçbir işlem yapmazsak geri seçenegiyle çıkacagız.
Toplamda 10 Ad menü olacak 4 Tuştan oluşacak. Aşagı-Yukarı-İleri-Geri . İleri dediğimde menüye girecek. Geri dediğimde çıkacak. Aşagı dediğimde alt menüye geçecek yukarı dediğimde üst menüye çıkacak.
Bu devreyi pıc ile yapabilirmiyim. Yaparsam ne kullanmalıyım nasıl programlarım bana yardımcı olmanızı rica eder saygı ve selamlar sunarım

mesaj birleştirme:: 14 Mayıs 2013, 00:38:06

Ayrıca eklemeyi unuttum devre açıldıgında Öğrenci Numaram yazacak. 5 SN sonra veya bi tuşa basarak ana menü'ye geçecek.
KSU Elektronik Bölüm Öğrencisi A.K.A TA8AKU

papsukkal

#1
Bir zamanlar 4x20 için basic ile menu yayınlamıştım
Hatta picprojenin depolama alanina kaydetmiştim.ama yerini hatırlamıyorum.
Forumda aratirsan  belki işini görür.

Buldum


https://www.picproje.org/index.php/topic,23067.msg154500.html#msg154500

Mefe

Eğer PIC programlamaya yeni giriyorsan ve henüz programlama dili öğrenmemişsen ve İşin felsefesini öğrenmek istiyorsan, ben Hi-Tech C öğrenmeni tavsiye ederim.
Muhammet EFE || http://muhammetefe.com

ylmz

#3
Bu şekilde ilerleyerek yapabilirsin

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MENÜ1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
 menu1 
 LCDOUT $FE,2,   "     12 VOLT    "
 LCDOUT $FE,$C0, "    SEC | SET   " 
 IF ok  = 0 then
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;RÖLELER ;;;;;;;;;;;;;;;;;;;;;;;;;;;;  
portc.0  = 1 ; 12 volt için
portc.1  = 0 ; 24 volt için
portc.2  = 0 ; 36 volt için
portc.4  = 0 ; 48 volt için
portc.5  = 0 ; 72 volt için
portc.6  = 0 ; 80 volt için
portc.7  = 0 ; 110 volt için
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;RÖLELER BİTİŞ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;  
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;DEĞİŞKENLER ;;;;;;;;;;;;;;;;;;;;;;;;;;;;  
a1       = 1 ; 12 volt için
a2       = 0 ; 24 volt için
a3       = 0 ; 36 volt için
a4       = 0 ; 48 volt için
a5       = 0 ; 72 volt için
a6       = 0 ; 80 volt için
a7       = 0 ; 110 volt için
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;DEĞİŞKENLER BİTİŞ;;;;;;;;;;;;;;;;;;;;;;;;;;;;  
 buzzer = 1
 LCDOUT $FE,2,   "12 VOLT SECILDI "
 LCDOUT $FE,$C0, " SARJ BASLIYOR  "
 PAUSE 1000
 buzzer = 0
 goto sarj
 endIF
 IF set = 0 then 
 buzzer = 1
 pause 200
 buzzer = 0
 goto menu2
 endIF
 goto menu1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MENÜ2 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
 menu2
 LCDOUT $FE,2,   "     24 VOLT    "  
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GERİ GİDİYOR ;;;;;;;;;;;;;;;;;;;;;;;;;;;;  
 IF ger = 0 then
 goto menu1
 endIF
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GERİ GİDİYOR ;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
 IF ok  = 0 then
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;RÖLELER ;;;;;;;;;;;;;;;;;;;;;;;;;;;;  
portc.0  = 0 ; 12 volt için
portc.1  = 1 ; 24 volt için
portc.2  = 0 ; 36 volt için
portc.4  = 0 ; 48 volt için
portc.5  = 0 ; 72 volt için
portc.6  = 0 ; 80 volt için
portc.7  = 0 ; 110 volt için
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;RÖLELER BİTİŞ ;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;DEĞİŞKENLER ;;;;;;;;;;;;;;;;;;;;;;;;;;;;  
a1       = 0 ; 12 volt için
a2       = 1 ; 24 volt için
a3       = 0 ; 36 volt için
a4       = 0 ; 48 volt için
a5       = 0 ; 72 volt için
a6       = 0 ; 80 volt için
a7       = 0 ; 110 volt için
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;DEĞİŞKENLER BİTİŞ;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
 buzzer = 1
 LCDOUT $FE,2,   "24 VOLT SECILDI "
 LCDOUT $FE,$C0, " SARJ BASLIYOR  "
 PAUSE 1000
 buzzer = 0
 goto sarj
 ENDIF
 IF set = 0 then 
 buzzer = 1
 pause 200
 buzzer = 0
 goto menu3
 endIF
 goto menu2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MENÜ3 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Regülatör Dns Trafo | Regülatör | Redresör | Ups