Ledli kayan yazı devresinde isim yazma (74hc154)

Başlatan radyoaktif, 09 Şubat 2012, 11:35:34

radyoaktif

Arkadaşlar iyi günler. Bi süredir yıllık projem olarak 16 sütunlu kayan yazı devresi yapıyordum. Ve yapılış da gösterildiği üzere baskı devresini çıkartıp tüm elemanları plakete başarılı bi şekilde yerleştirdim. Lakin iş, PIC'i programlayarak proje sorumlusunun isteği üzerine adım ve soyadımın kaymasını sağlama işlemine geldiğinde afalladım.

Elimde topmax programlayıcı cihaz var. Devrede kullandığım 74HC154 PIC'i bu cihaza bağladıktan sonra kendi sitesinden indirdiğim ve programlama için kullanacağım 2 ayrı programı var; bunlardan biri DOC ordamında diğeri windows ortamında çalışıyor. Ben windows ordamında çalışanı tercih ettim ama tam olarak ismimi PIC'e bu cihaz ve indirdiğim programı vasıtası ile nasıl yazacağımı anlamadım. Daha önce hiç PIC kodlamadım ilk deneyimim.

PDF dosyası içinde devrenin yapılışında örnek olarak "BİLİM" olarak "C" dilinde yazılmış bi kod var lakin ben bu kodu olduğu gibi "C" dilinde PIC'in içine atamıyorum bu yüzden önce bu kod'u "hexadecimal" sayı sistemine çevirmem, ardından cihaz ve programı vasıtası ile PIC'ın içine kodlamam gerekiyor.



Yukarıda görüldüğü üzere "BİLİM" kelimesini devremde kayan bi yazı şeklinde oynatmam için bu kodu önce "hexadecimal" e çevirmem ardından "PIC" e atmam gerekmiş çünki. Çünki kullandığım PIC programlama cihazın yazılım programı, "C" dilinde yazılmış kodu olduğu gibi "PIC" in içine atmama izin vermiyor. Zaten bende devremde bilim değil, kendi adım olarak "VOLKAN KARAKUŞ" yazısının kayan yazı şeklinde yapmak istiyorum. Bunun için yukaridaki kodu olduğu gibi alıp, fazla harf aramamak için "BİLİM ve TEKNOLOJİ" kelimesi içindeki benim adım ve soyadımda olan harfleri (K,N,V,O,L) alıp geri kalan harfleride kodlayarak adımı-soyadımı tamamlayan harfleri oraya girmek ve yazdıktan sonra bu "C" dilindeki kodları PIC'in çalıştırabilmesi için "hexadecimal" şekle dönüştürüp PIC'e atmak istiyorum. Zaten programın desteklediği uzantı şekli aşşağıda;



Rıca etsem ilk ss'de ki kodda yazan "Bilim ve Teknoloji" yazan yeri, "VOLKAN KARAKUŞ" olarak değiştirme imkanınız ve ardından bunu hexadecimal'e çevirme imkanınız varmıdır? İnanın çok karışık geliyor.

Topmax kodlama cihazının kullandığı kendi programı;



ve devremin hazır bekleyici (sadece PIC'in programlaması kaldı ardından proje tamam)



]

Yardımcı olabilirseniz minnettar kalırım.





t2

sizin devrede 2entegre var mı? 74HC154 ve PIC?
devreniz, aslında  şu olabilir mi:

muratdu

Balık mı ? Olta mı istiyorsunuz? anlamadım.

Kabil ATICI

Bunu kendinde yapabilirsin. Kareli defterinde uzunca bir sayfa al. LCD ekranların karakter tablosunu örnek alarak bu sayfa üzerinde yazmak istediğin yazıyı kareleri doldurarak yazmak istediğin yaz. Her karakter arasına 1 tane boşluk koymayı ve kelimeler arasında boşlukları unutma. (Karakterleri 8 kare yüksekliğindedir.)

Şimdi burada bir sütun için dolu kare 1 (led yanık), boş kare için 0 (led sönük) verilecek. bir sütun aynı zamanda 8 bitlik veriyi temsil eder.

1
0
1
1
1
1
1
1
şeklinde sıralandığını düşürsek bunu bit sıralamasında 11111101 şeklinde bir yazımı olur. Bunu 16'lık sayı sistemine çevirmen gerekir (örnekten hex sayı 0xFD oluyor.). Bunun için bilgisayarındaki hesap makinesindeki (bilimsel bölümünde) onlatılık (hex) ve ikilik (bin) sayı sistemleri dönüşümünü kullanarak çevir. Tümünü çevirdikten sonra zaten tek yapman gereken programda bu değerleri yerleştirmek.

Gördüğüm kadarı ile programda tüm metni yazıp onu çevirdikten sonra ortaya çıkan verileri ekrana yansıtıyor.
örneğin A için


011100
100010
100010
111110
100010
100010
100010
100010

buradaki tüm sütun sütun çevirilerek  programlardığında  A karakterini yazar.
kolay gelsin...
ambar7

elektronikhobi

Mantığı anlarsan çok basit yapabileceğini düşünüyorum  :)



Örneğin yazacağımız karakter A olsun.

Şimdi yazacağımız A harfi için bir tablo oluşturup yanan ledler için 1 yazarsak şu tabloyu elde ederiz.



Yazma mantığı da şu şekilde. Her seferinde 1 sütun yazıyor.



Şimdi bu sayıyı onaltılı sayı sisteminde nasıl gösterebiliriz. Onu düşünelim.

Şimdi ilk sütündakı ilk veriyi (R7'den R1'e doğru yazarsak) şunu elde ederiz:

111 1110

demek ki bu sayıyı 8 bitle gösterebiliriz.

Bunu onaltılık sayı sistemine çevirirsek sağdan sola doğru her basamağı 1,2,4 ve 8'le çarparak 0x7e değerini elde ederiz.

Sizin verdiğiniz örnekte de örneğin B karakterinin kodlarına bakarsak gene aynı şekilde yazıldığını göreceksiniz. Başındaki 0x sadece sayının onaltılık sayı sisteminde gösterildiğini söylüyor.

0xff = 1111 1111 (sol taraftaki 4 bit sizin verdiğiniz 1 numaralı resimde alttaki 4 tane yanan ledi gösteriyor, sağ taraftaki 4 bit ise üsttekileri gösteriyor)

0x89 = 1000 1001 (gene sizin verdiğiniz 2. resim)

Mantık bu şekilde  :D

TA7R

Programı microC ile pice ( pic 16f628A) yüklüyorsanız mikroC nin desimal- hexadecimal konvertörü var onu kullanabilirsiniz yazdığınız ondalık sayının veya harfin  hexadecimal olarak karşılığını verir , sadece yazı rakam değil  şekil de yaratabilirsiniz ( yıldız vb ...)   bir boş kağıda sekiz satır , sekiz tane o harfi yazın , istediğiniz harfi -rakamı- şekli bu O ların içini karalayarak oluşturun ,  içi karalı olan ;O lar 1 , içi boş olan oları da sıfır olarak düşünün mesela
OOOOOOOO       
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO       

Yukarıdaki tabloya harfi şekli rakamı karaladınız sonra he satırın yanına açılımını yazın  mesela : birinci satır şöyle geldiyse :
00*00**0    ondalık açılımı = OO1OO11O BU OLACAK , bunu Ox ..... gibi hexa decimale micro c de veya nette bulabileceğiniz konverterlerle çevirip programdaki kodları değiştirip  pice ( 16f628 e ) yükleyin .