avatar_sonmoikan

PIC12F675 ve 74LS164 ile LCD Kullanımı

Başlatan sonmoikan, 24 Mart 2014, 14:18:41

sonmoikan

PIC12F675 ve 74LS164 Shift Register entegresi ile LCD Sürülmesi ile ilgili basit bir volt-amper metre çalışmasını PBP ile uyarladım.
Kullanmak isteyen arkadaşlar için umarım faydası olur.

ETE Hocaya Saygılar...
ABDULLAH

ete

#1
Teşekkür ederim. Güzel çalışma. Daha doğrusu ilginç.
Ufak bir değişiklik yapayım faydalı yönde;
Önce değişken tanımlama kısmında , TEMP  VAR BYTE şeklinde bir tanımlama yap

DTA=VERI.7 : pulsout clk,2
DTA=VERI.6 : pulsout clk,2
DTA=VERI.5 : pulsout clk,2
DTA=VERI.4 : pulsout clk,2

satırlarını sil yerine;
TEMP=(VERI & %11110000)>>4
SHIFTOUT DTA,CLK,1,[TEMP\4]

yaz. Daha sonra ,
'DTA=VERI.3 : pulsout clk,2
DTA=VERI.2 : pulsout clk,2
DTA=VERI.1 : pulsout clk,2
DTA=VERI.0 : pulsout clk,2

satırlarınıda sil ve yerine,
temp=(VERI & %00001111)
SHIFTOUT DTA,CLK,1,[TEMP]

yaz ve çalıştır.
Tabiiki bu verdiğim VERI isimli değişken değerini bit bit vermek yerine 4 bit birden verme esasına dayanıyor.
Daha da güzeli LCD nin daat bitlerinin tamamını 164'e bağlayım tek bir Shiftout komutu ile bütün veriyi vermek olurdu.

Ete

sonmoikan

Teşekkür ederim Üstadım.
Böylesi daha sade ve anlaşılır oldu.
Dediğiniz daha mantıklı fakat kafam çorba gibi oldu :) 
Sağlıklı bir zamanda 164 e tamamen göndermeyi deneyeceğim.
ABDULLAH

ete

Biraz zor. RS bacağını işlemciye bağlamak ve 8 bitlik pinleri ise LCD ye bağlamak lazım. Ancak işlemide boş bacak yok maalesef.
Ete

sonmoikan

Haklısınız Hocam.
Tek kanal ADC okutursak olabilir aslında, uğraşmak lazım.
Görüş ve katkılarınız için çok teşekkür ediyorum...
ABDULLAH

askin

Proje çok güzel;
asıl ilgimi çeken nokta; iki-üç bağlantı ile LCD sürmek. Son yaptığım projede 16f628a [3 buton + LCD bağlantı vs] kullandım ikaz için led ve buzzer kullanamadım, ne yazık ki bacaklar yetmedi.
  Üstelik bu durum ilk kez de başıma gelmiyor.  Acaba diyorum eski kartı çöpe atıp, 3 hattan LCD sürsem nasıl olur? buzzer ve led de eklemiş olurum hatta verimli olursa bundan sonra 4+2 kullanmak istemiyorum, iki bağlantı arasındaki avantaj ve dez avantajlar nedir? konu hakkında bilgili arkadaşlar fikirlerini paylaşırsa sevinirim. Ayrıca shiftout ile tek tek karakter göndermek yerine string göndermek mümkünmü (volt-amper gibi)

sonmoikan

#6
Diyelim ki devreniz küçük bir yer kaplayacak veya fazla port lazım o zaman bu uygulama işinize yarayabilir. Fakat daha fazla kod yazmak zahmetinde kalacaksınız.

Volt-amper şeklinde göndermek mümkün değil çünkü;
bu işi LCDOUT komutu yapıyor.
Yapmanız gereken şey göndermek istediğiniz bilginin ASCi karşılıklarını bulup onları göndermek.
+ 48 den kasıt burayla alakalı zaten. Örneğin 5 rakamı için asci karşılığı ♣ bu çıkar,  fakat 5+48 yaparsak LCD ekranında 5 rakamını görürüz.
ABDULLAH

Powered by EzPortal