74HC164 ile LCD sürmek

Başlatan kalman, 04 Haziran 2004, 17:18:13

kalman

Merhabalar,

Pic 16f84 veya 16f628 ile 74Hc164 üzerinden lcd yi sürmek istiyorum.
bunun mantığı pek anlamış değilim.

Internette yapmış olduğum araştırmalarda sadece Asm dosyalarına
rastladım. Ben bu konuda Pbp ile ilgili dosya bulamadım. Bu konuda
çalışması olan varmı ?

Yardımlarınız için teşekkürler!!!

Not: 74HC595 içinde olabilir.

Libertador

74HC164 bir shift register. Daha once hic kullanmadim yine de basit olarak bir shift register nedir onu soyleyeyim. Genel olarak yapitigi is seri girisi paralel cikisa cevirmek. Clock girisine gelen her bir yukselen kenarda datadaki veriyi cikislara atiyor. Ornegin;

Data=1
Clock=1
Clock=0

Data=0
Clock=1
Clock=0

Data=1
Clock=1
Clock=0

Yaptigin zaman Qa(1.cikis) = 1 Qb=0 Qc=1 olur. Boylece mikrodenetleyicinin sadece iki bacagini kullanarak 8 tane cikis elde etmis olursun. Elemanin datasheetini indirip incelersen daha rahat anlayabilirsin.

Bu shift registerlerin bir de latch girisli olanlari vardir. Latch girisini bir kapi olarak dusunebilirsiniz. Latch girisini 1 yapmadan (veya 0 bilmiyorum) shift register'a girdiginiz degerler cikisa aktarilmaz. Daha once girdiginiz degerler sabit kalir.

Internet uzerinde shift register kullanilmis projeleri incelerseniz oldukca yararli olur.
Iyi calismalar.

Not: 74HC164 yukselen kenarda tetikleniyormus yukaridaki kodu duzelttim.

Veli B.

Sevgili Kalman hoşgeldin. :D
74hc595 diye bordta arama yaptırırsan, daha kullanışlı bir öneri olarak değerlendirebilrsin bu entegreyi.

Yine de buraya da bir bak (74LS164) ama grup üyelik gerektiriyor.

http://groups.yahoo.com/group/PicProjeUP1/files/74LS164.rar

Sevgiler...

kalman

Selam arkadaşlar,

Verdiği cevaplardan dolayı önce katana ve Libertadora teşekkür ediyorum


Belki size tam olarak olayı anlatamadım.

Ben 74hc164 veya 74hc595 in nasıl işlediğini biliyorumç

Örneğin ben LCD ye "Merhaba" yazdırmak istiyor bunuda 74hc164 veya 74HC595 ile gerçekleştirmek istiyorum,  asıl amaç Picin zaten az olan portlarını bu işlem için harcamamak.

Pbp ile bunu nasıl yaparım ??  
Bunun  için bır bas dosyası varmı?  Assembler dosyaları internette mevcut,
fakat bildiğiniz gibi bunlar pek kullanışlı ve kolay değil
Bunun için PBp de özel komut varmı ??

Bunu PBP ile yaparsak bir çok Projede yararlı olacağını düşünüyorum

Önerilerinizi ve görüşlerinizi bekliyorum

Teşekkürler

8)  8)

elektromer

Alıntı yapılan: "kalman"Selam arkadaşlar,

Verdiği cevaplardan dolayı önce katana ve Libertadora teşekkür ediyorum


Belki size tam olarak olayı anlatamadım.

Ben 74hc164 veya 74hc595 in nasıl işlediğini biliyorumç

Örneğin ben LCD ye "Merhaba" yazdırmak istiyor bunuda 74hc164 veya 74HC595 ile gerçekleştirmek istiyorum,  asıl amaç Picin zaten az olan portlarını bu işlem için harcamamak.

Pbp ile bunu nasıl yaparım ??  
Bunun  için bır bas dosyası varmı?  Assembler dosyaları internette mevcut,
fakat bildiğiniz gibi bunlar pek kullanışlı ve kolay değil
Bunun için PBp de özel komut varmı ??

Bunu PBP ile yaparsak bir çok Projede yararlı olacağını düşünüyorum

Önerilerinizi ve görüşlerinizi bekliyorum

Teşekkürler

8)  8)

Merhaba kalman,

Ben assembler çalışıyorum ama, Picbasic bilmeme me rağmen, Pbp ile bunu nasıl yaparım ?? sanırım bu sorunun en kısa cevabı yapamazsın.

Yukadıdaki libertador'un mesajında yazdığı gibi 74595, 74164 veya vb entegrelerin kullanım özelliklerine göre port pinlerini kendin kontrol etmelisin. Ayrıca LCD'nin R/W, R/S, E pinlerini de (gerek doğrudan Pic'den gerekse 2. seri giriş paralel out entegresi ile) kontrol etmen gerekir.

Bu entegreler için Pic'den CLOCK, DATA, LATCH istenirse CLR (595 için opsiyonel) pinlere ihtiyacın olacak..

Not : LCD'yi 4 bit modda kullanırsan 1 tane entegre yetecektir.

Bunu gerçekleştirmek için de HITACHI'nin HD44780 entegresinin datasheet'ini incelemende fayda var. Orada LCD'nin komut setini bulabilirsin.

Veya Picbasic'in LCD ile ilgili komutunun makrosunu incelersen aradığın cevabı orada da bulabilirsin.

Bakalım benim cevabım yeterli olacak mı?   :D

Saygılarımla..
Her şey gönlünüzce olsun..

Veli B.

İncelediğim kadarı ile seri lcd ile yapabilirsin(ben hiç uygulama yapmadım ama okuduklarım bu iş için yetreli diyor) ama illaki paralel diyorsan bir kaç denemeden sonra birşeyler söyleyebilirim. :!:
Sanırım bir kaç güne kadar bir şeyler denerim.Buradan yazarım.
Kolay gelsin...

XNHCX

Dostum kalman ,
Eğer amacınız pic'in bacaklarından tasarruf etmek etmek ise Sevgili Katana'nın dediği gibi SERİ LCD'yi kullanabilirsiniz.
Seri LCD'nin kontrolü için pic'te sadece 1 bacak kullanıyorsunuz.


Aşağıda Örneğini veriyorum.PORTB'nin 1.pinini Seri LCDnin RXD ucuna bağlayınız.16f84a da.PicBasic PRO da...
İsterseniz Proteustaki simulasyonunu da göndereyim.

'********************************
Include "modedefs.bas"
TRISB=0

pause 1000
Serout  1,T2400,[254,1]
pause   2
Serout  1,T2400,["MERHABA"]
Serout  1,T2400,[254,192]
end


'*********************************

Ama yine de Paralel LCD kullanıp bnir shift register ile sürmek istiyorum diyorsan , ASM ile hazır yapılmışı var.

Hakan KARAKAŞ
"İleri PIC16F84 Uygulamaları-1" , sayfa124,
Başlık 1-BİT'LİK DATA İLE LCD EKRANA VERİ YAZMAK
Örnekte "MERHABA DÜNYA" yazdırılmış.

Veli B.

Bir kaç deneme yaptım ve kanımca sen bu sevdadan vazgeç ve seri LCD kullan.Karakter gönderimin ve kontroller için rutinler yazman gerekiyor ve çok hoş olmadı bende açıkçası.
-Datamı komutmu gönderiyorsun ayrıca belirt.
-Dataları 8 bitlik paketler halinde hazırla.kontrolleri kullan!!!
değmez benim için.Fiatları neredeyse aynı. Seri LCD öneriyorum...
Seri için de 3 pin kullanıyorsun,595 türü registerlar içinde 3 pin, entegre fiatını ve güç tüketimini de göz önüne al.

Kolay gelsin...

kalman

Arkadaslar verdiğiniz cevaplardan dolayı teşekkür ederim
:?

Anlaşılan bu konuda daha fazla araştırmam gerekiyor  :P

Aslında bu konuda öncü olabiliriz tabiiki daha fazla katılım olması gerekli

Neyse ben kendi denemelerimi elbette sizinle paylaşıp bır sonuca varacagımızı düşünüyorum   Arkadaşlar pes etmek yok  :D  :D

Ayrıca Sevgili katanaya bu konuda devam etmesini diliyorum :oops:  :oops:

Saygılarımla !!!!!!

ismshn

Dostum ,
Konu ile ilgili asm kodlarını arıyorsan aşağıdaki mesajı bir değerlendir.Bu kodlara bakarak PBP ye bile çevirebilirsiniz.
Kolay gelsin!!!

XNHCX Demiş ki:
Alıntı YapAma yine de Paralel LCD kullanıp bir shift register ile sürmek istiyorum diyorsan , ASM ile hazır yapılmışı var.

Hakan KARAKAŞ
"İleri PIC16F84 Uygulamaları-1" , sayfa124,
Başlık 1-BİT'LİK DATA İLE LCD EKRANA VERİ YAZMAK
Örnekte "MERHABA DÜNYA" yazdırılmış.

axanc

selam...

devreye baktım, toplam üç bacak kullanarak LCD kullanılmış, güsel yöntem.. Data, Clock ve E bacağı için toplam üç bacak... bilgiler 74164'e Data ve Clock bacağı ile gönderiliyor, daha sonra E bacağı ile LCD'nin bu bilgileri alması sağlanıyor... ayrıca asm ile program yazacaklar için bu kitabı tavsiye ederim, ileri uygulamalar zevklidir...
Uzmanlık: Bilgisayar Müh. öğrenci Derleyici: PicBasic Pro Compiler Ver. 2.45 Program: Proteus 6.2.5 ve MCSP

kalman

Selam,

Arkadaşlar bende bu kitab yok. Acaba bu ASM kodu burda yazabilirmisiniz :roll:

Bunun PBp ye eklenebileceğini sanıyorum :lol:  :lol:

Saygılarımla.........

axanc

kusura bakma ancak final haftası'nın ortasındayım, program 3 sayfa bişi...  :?
Uzmanlık: Bilgisayar Müh. öğrenci Derleyici: PicBasic Pro Compiler Ver. 2.45 Program: Proteus 6.2.5 ve MCSP

elektromer

Alıntı yapılan: "kalman"Selam,

Arkadaşlar bende bu kitab yok. Acaba bu ASM kodu burda yazabilirmisiniz :roll:

Bunun PBp ye eklenebileceğini sanıyorum :lol:  :lol:

Saygılarımla.........

Merhaba kalman,
Sözedilen kitabı, http://www.altaskitap.com/tumYayinlar/tumYayinlar.php adresinden sipariş verebilirsin.

En azından böyle çalışmalar yapan eğitimcilerimizede katkıda bulunmuş olursun. Ayrıca ilgini çekebilecek başka kitaplarda var...

Saygılarımla...
Her şey gönlünüzce olsun..

tapir

selam arkadaşlar
günlerdir  internette araştırma yapmam rağmenhalen bir shift register ile (örnegin 74hc595 vb gibi)  paralel lcd yi  sürmek için pic basic yada proton basic dilinde yazılmış bir program bulamadım ben 12f675 ile shift register vasıtasıyla lcd yi sürmek istiyorum bu konuda bana yardım edecek bir arkadaş yokmu

şimdiden teşekkürlerr