avatar_ete

7 Haneli LCD sayıcı

Başlatan ete, 04 Eylül 2011, 19:33:16

ete

Çok haneli sayıların ekranda yer alması yada bu sayıların değişkenlerde tutulması problemdir.
Bu işin nasıl yapıldığını göstermek açısından bir örnek proje hazırladım.
Program sıfırdan itibaren - 9.999.999 sayısına kadar olan sayıları bir butona basarak saydırmakta ve ekranda göstermektedir.

Ete

gsmshow

Merhaba
Bu uygulamanın seven segment olarak yapılmış olanı varmı hocam, 4 haneye kadar olan bir çalışma var 4511 ile ama o da sanırım hane sayısı çoğaltılamıyor.? 7 haneli olan bir çalışma varsa paylaşırsanız  memnun olurum.

Kolaygelsi.n.

ete


gsmshow

Peki hocam 4011 li kaskat olarak yapsam, pic ile her pals ta saydırma işlemi uygulasam hafızaya alma imkanım varmı, tekrar açtıgımda kaldıgı yerden devam etsin ve nasıl yapılır.? devreyi kurup uygulasam yardımcı olurmusunuz.


ete

#4
Okadar malzemeye gerek yok. Aşağıdaki linkte bir projem var. Yalnızca bir satırını kullanıp display sayısını istediğin kadar artırabilirsin. Hatta gerekirse iki sıra kullanıp displayleri yan yana dizebilirsin.
Gerisi programda var ne yapmak istiyorsan oraya bakıp yapabilirsin.
Ete

http://etepic.com/index.php/topic,5.0.html

gsmshow

Linki eklemeyi unutmuşunuz galiba hacam, teşekkürler.

gsmshow

#6
Öneriniz için teşekür ederim hocam ama o kadar programı ayıtlayıp tekrar düzenleyecek kadar bilgim olsaydı burda yazmazdım yardımcı olmanızı rica etmezdim ben bu program işinden çıkamam dolayısı ile benim için bir çözüm olmayacak bu yukarda sordugum soruyu çevaplamadınız, 12f675 yada 16f628 ile 4011 leri pals ile sürsem saydırsam kaldıgım yeri nasıl hafızaya alacagım 7 hane olarak  bu konuda yardımınız olurmu.?


ete

#7
WRITE 10,SAYAC.byte1 , SAYAC.Byte0 :pause 10
komut satırı 10 nolu adres ile 11 nolu adrese SAYAC isimli word değişken değerini kayıt eder.
Programını çalıştırdığında bir işe girişmeden önce;

READ 10,SAYAC.Byte1, SAYAC.Byte0
IF SAYAC=65535 then sayac=0

komut satırlarını eklersen kaldığın sayac değerini epromdan okur ve onunla devam edersin. İlk çalıştırmada okunacak değer 65535 olacağı için onu sıfır olarak ayarlayıp işe başlarsın.

Ete

Not: mesajını yanlış değerlendirdim sanırım. Yapmayı planladığın 7 haneli bir 7segment sayıcı sistemi.
Bunun programını sen yazacak isen kayıt işinde yardımcı olurum. Ama mantık LCD den tamamen farklı olması gerekiyor.
Üstelik her bir display için bir 4511 veya benzeri bir şey kullanırsan devren arap saçına dönecektir bunuda hesaba katman gerekiyor. Sana örnek proje gösterdim İşin onunla çok kolay aslında ama sen diğer metodu tercih ediyorsun. Sana kolay geliyor sanırım ama hiç de düşündüğün gibi değil. İşe başlayınca anlayacaksın.

Sonuçta bir yardım istedin anladığım kadarı ile kayıt konusunda yardım istiyorsun yada ben böyle algıladım.
Dediğim gibi yalnızca kayıt konusu ise yardımcı olurum. Zaten LCD programında kayıt örneğide mevcut. Oradan da yararlanman mümkün .

gsmshow

#8
Benim merak ettigim bir başka şey 65535 e kadarmı sayacak? yani en son 5 hanemi olacagıdır buna çevap vermiyorsunuz, eğer durum börle ise devam etmeye gerek yok tabi henüz şemayı çizdim programı yazdığımda ekleyecegim sizin için çok kolay olabilir ama benim açımdan pek öle  değil  zaten zor bir  durum degil ama ben bilmiyorum işte sorun orda.
--------------
Sanırım yanlış anlaşıldım  belki istegimi dile getiremedim tam kusura bakmayın, aklıma takılan kısmı hafızaya nasıl kayıt edilir bunu bilmiyorum diğerlerini yapmayı gözüm kesiyor veya mücadele edecegim yaparkende öğreneceğimi umuyorum sizinde yardımlarınızla diğer sölediğiniz yöntem ilede bu biterse gene çalışma yapmak istiyorum şu an bana bu 4011 yöntemi daha yakın geliyor ona göre çalışmaya çalışayım, ilk şema çizimide eksik veya yanlış bir şey varmı  açaba.

ete

Mesaja ilave yaptım. Mesajını yanlış algılamışım. 7 haneli yapacak isen tamamen baştan program yazmak ve ona göre mantık oluşturmak gerekir. Kayıt işini dert etmede programın geri kalanını nasıl yazacaksın bilmiyorsan?
Buna bir cevap ver ona göre düşünelim.

Ete

gsmshow

#10
Hocam  şema da bir  yanlış lık varmı bakın ben  çalışır hale getirmek için  program yazmak için üzerinde  çalışayım takıldığım yerde yardım isterim. Ayrı ayrı seven segment ile yapacagım evet diğer önerdiginiz yöntem olmuyor malesef.

----
Lcd deki hafıza için olmuyor demek istemiştim hocam.Siz bildiğiniz için size kolay ben bilmediğim için bana zor bende öğrendiğimde banada kolay gelecektir umuyorum.
Şemada displeyler ters yapmışım düzeltiyorum.

ete

Önerdiğim neden olmuyor pek anlamadım ama üstelemeyeceğim.
Peki başla bakalım nerede takılacaksın.
Ete

ete

Ortada şema gözükmüyor. Unuttun galiba?

Ete

gsmshow

#13
Yok hocam unutmadım , birazdan yolluyorum yaptıklarımı.

2 haneli olarak ileri geri sayacak şekilde  yaptım reset tuşu bağlı degil nasıl olacagına karar veremedim hafızaya alınacagı için eeprom daki bilgiler silinecek ayrıca arkasından 4011 5 nolu baçahı high a çekilmesi gerekiyor  segmentler sıfırlansın bu uç ta picin a portuna bağlanacak diye düşünüyorum yanlışım olur diye çizmedim eksiklerimi aydınlatırsanız memnun olurum 2-3 çeşit yazdım en stabil bana göre bu şekilde oldugu için böyle bıraktım hocam.


ete

Daha önce 40110 hiç kullanmadım. İsis de bir devre kurdum ve ona bakılırsa çizdiğin doğru gözüküyor.
Ancak bu devreyi ben sakıncalı görüyorum. İşin kontrolü (sayac ontrolü) pic in elinde olmayacak.
Yani displaylerde kaç gözüküyor pic bunu bilmeyecek. Bu ise tehlikeli bir durum bence.
Zira her hangi bir nedenden dolayı sayacla pic arasında sayı farkı oluşursa bunu anlayamazsın.
Dolayısıyla sistem hata yapar.
Diyeceksinki sayı farkı olmaz. Evet olmaz gibi geliyor ama olabileceğinide düşünmen gerekir.
Bütün sayac sistemlerinde işlemci var ise işlemci ekrana ne yazılacağına karar verir. Burada 40110 karar veriyor.
Sen onu nasıl saydıracaksın puls vererek elbette. Ama nasıl emin olacaksın ne kadar saydığından bilemiyorum.
Ben olsam bu şekilde kesinlikle yapmazdım.

Ete


Powered by EzPortal