3 satır çağrı ekranı

Başlatan ferit0158, 15 Ekim 2018, 14:18:07

ferit0158

Merhaba herkese. forumda yeniyim ayağımın tozu ile hemen bir konuda yardım isteyeyim. özel bir uygulama için 3 satır ve her satırı 3 digit olan led display gösterge paneli tasarlayacağım. devrede 16f877 kullanacağım ve proton ile programlayacağım. program konusunda ne çok uzmanım ne de çok acemi. çok şükür bugune kadar bir çok uygulamayı yaptım ve çalıştırdım. buraya kadar sorun yok. sorun yapacağım çağrı gösterge panelinde satır kaydırma ile ilgili. gösterge panelinde son gelen numarayı en üstte gösterecek bir önceki numarayı bir alt satıra atacak. bankalarda bulunan sıramatik sistemleri gibi yani. ancak en üstte ki numara farklı olabilir. örneğin bir önceki çağrı 123 ise bir sonraki çağrı 987 olabilir. ancak bu satır kaydırma işini nasıl yapacağımı, nasıl bir yol izlemem gerektiğini bulamadım. bu konuda yardımcı olacak arkadaşlara şimdiden teşekkür ederim.


ete

Satır kaydırma işlemlerinde prensip hep aynıdır. Yeni gelen numarayı ekrana vermeden önce sırası ile şu işlemleri yapman gerek.
1. Öncelik 2. Satır bilgisini 3. Cü satıra ver
2. Birinci Satır bilgisini 2. Ci satıra ver
3. İlk   satıra yeni gelen bilgiyi ver
Hepsibu kadar
Ete

ferit0158

#2
evet hocam mantık bu şekilde olmalı ancak benim takıldığım yer  şöyle; örnek vermek gerekirse
"dim sayı byte" şeklinde bir değişken atayıp şu şekilde devam edelim.

basla:
sayı=sayı+1
delayms 200
gosub gonder

goto basla

gonder:

HIGH AKTAR

PAUSEUS 5

LOW AKTAR
SHIFTOUT DTA,CLK,1,[sayı];74hc595'e veri gönderiyoruz. (her display için 1 tane 74hc595 kullanılacak )

return

burada  sayı değişkeni her arttığında yeni sayı üstte önceki sayı alt satıra kayacak. bu mantıkla ilk satıra veri gönderiyorz. onda sıkıntı yok. sayın ete hocam burada nasıl bir mantık yürütmeliyiz ki sizin dediğiniz şekilde satır bilgilerini birbirleri arasında değiştirelim.

tabi bu örnekte sayı değişkenini direk 74hc595
2e gönderirsek farklı değerler elde ederiz. o yüzden sayı değişkenini 74hc595 için convert edip o şekilde göndermeliyiz. ben örnek teşkil etsin diye uzunca yazmadım


ete

3 satır için kod satırlarınıda verseydin sana gösterirdim. Ama biraz daha çabalaman gerektiğini düşünüyorum. Öğrenmen açısından tabiiki.
Aşağıdaki linkte çoklu ekran örnek programı var. Bu programı iincele ve radan aldığın ilham ile projeni tamamla. Yapman gereken sadece ekranı kaydırma mantığını uygulaman.
Yinede biraz açıklayayım. ELinde satır1, satır2, satır3 şeklinde değişkenlerin olsun. Bunlar 74HC595 lere verilecek bilgi değişkenlerin.
Elinde ayrıca sayı1, sayı2, sayı3 şeklinde ayrı değişkenlerin olmalı. Bunlarda normal sayı değişkenlerin.
ilk aşamada Sayı1=Sayı1+1 olunca bunu hemen 74HC595 e aktaralım. Sayıları display formatına AL isimli alt programda çeviriyoruz ve orada AL: LOOKUP TEMP,[63,6,91,79,102,109,125,7,127,111,99,57,64],RAKAM :RETURN şeklinde bir satır var.
TEMP=SAYI1:GOSUB AL:SAYI1=RAKAM
TEMP=SAYI2:GOSUB AL:SAYI2:RAKAM
TEMP=SAYI3:GOSUB AL:SAYI3:RAKAM
SHIFTOUT dta0,clk0,1,[SAYI1]
SHIFTOUT dta1,clk1,1,[SAYI2]
SHIFTOUT dta2,clk2,1,[SAYI3]
şeklinde aktarıyorsun.
Örnek programda sayılar 4 haneli düşünüldüğü için ona göre kod verilmiş. Ben yukarıda sadece tek haneli sayılar için sana örnek verdim.
Sen gerisini ayarlarsın ve takıldığın yerde tekrar sorarsın. Ama umarım takılmazsın artık zira elinde bütün bilgi mevcut şu anda

Ete


ferit0158

çok teşekkür ederim hocam. aslında  zor gelen şeylerin küçük dokunuşlarla kolay çözümü var. fakat bazen bu küçük ayrıntıları göremiyoruz. bende şuanda o durumu yaşıyorum galiba :)

Powered by EzPortal