C

pc bağlantısız eprom programlama

Başlatan compacta, 24 Mart 2012, 22:32:24

compacta

pc bağlantısız lcd display keyboard ile girilen harf yada rakamları eproma nasıl bir protokolle yükleyebilirim

greatgonzo

Lcd display keyboard veya Lcd display , keyboard mu dedin anlamadım ama protokolden ziyade yazılım ile çözersin. Bilgisayar klavyelerini pic ile haberleşmesi denemedim ama çok zor olmadığını biliyorum nette fazlasıyla benzer proje bulursun. Gönderdiğin karakterler program içerisinde değişkenlere aktarılır. O değişkenleride kaydedebiilirsin.

Lcd display keyboard dedi isen eğer; ondada lcd ekrana karakterleri tanımlaman lazım. O karakterlere tekabül eden x,y kordinatlarını yazılım içerisindende tanımlayıp aynı şekilde değişkenler vasıtasıyla belleğe yazabilirsin.

ete

Bu işi yapmanın bir çokyolu var.
En basiti;
Bir pic işlemci, ona bağlı bir LCD ona bağlı bir eprom ve yine ona bağlı bir tuş takımı (telefon tipi yada daha gelişmiş çok tuşlu) bir ekipman gurubu ile bunu yapabilirsin.

Bir eeproma kayıt yapmak için iki şeye ihtiyacın var. Birisi kayıt adresi diğeride kayıt edilecek veri.
Veri tuş takımından girilir ve LCD den gözlemlenir. Kayıt adreside epromdan girilir oda gözlemlenir ve sonuçta bir başka tuşa basınca kayıt et denir.
Kayıt adresi sıradan verilebileceği gibi kullanıcı girşili de olabilir.
Biraz araştırırsan bu sitede örnek projelerde LCD - Tuş takımı ve eeproma kayıt örnekleri mevcut.
Devre kullanacağın eeproma göre biraz farklılık gösterebilir. Yada programda adresleme farklı olabilir. Eepromların kimisi direk 16 bitlik adres ile çalışır kimis bank seçerek adreslenir. İşin gerisi ufak bir çalışma gerektiriyor. Kolları sıvasan iyi olacak.
Ete

compacta

açıklamalarınız için çok teşekkür ederim.tam olarak yapmak istediğim açıkladığınız gibi portatif keyboard ile eprom programlama.normalde bir yazılımım var.bu yazılımda harici eprom 18f452 ile haberleşerek içine normal pc bağlantılı ponyprog ile yüklediğim 24c512 eprom görevini yapmakta.işte burda sizlere danıştığım yer başlıyor.ben pc bağlantısız olarak ponyprog tipi bir yazılımı pice gömmeyi ve burdanda portatif lcd display tüm harfleri ve rakamları içinde barındıran matrix keyboard ile daha önceden hazırladığım boş usb kart üzerine entegre ettiğim eproma bu yazdıklarımı kaydedip usb üzerindeki epromu daha sonra esas devreme takarak çalıştırmak.

ete

Tamam o zaman en azından devre yi tasarlamaya başla. Çünki artık ne yapılacağı belli olduğuna göre aksaklıklar devre üzerinden tartışılarak halledilecek. Ardından programı yazmaya başlarsın takıldığın yerde sorarsın yeniden.

Ete

compacta

hocam ben basic ile birşeyler yazmaya başladım.ilk önce lcd display keyboardan sorulan sorulara ait girilen bilgiler ilk önce 877nin epromuna daha sonrada gönder tuşu ile (keyboard üzerinde) ı2c tipi eproma gönderilecek.kafama takılan eproma göndereceğim bilgiler bir bin dosyası olacak.bunda bir farklılık varmı.yoksa anlattığınız ı2c tipi eproom yazma şekilleriyle aynısımı?şimdiden teşekkürler.

ete

877 nin kendi epromuna aşağıdaki formatta yazıp okuyabilirsin. Dahili eprom 8 bitlik dir. Kapasite işlemciye göre değişir.

yazarken,      WRITE adres , veri
Okurken         READ adres , veri   şeklinde kullanılıyor. Veri yazılırken 10 ms lik bir yazma gecikmesi koyulması gerekir.
Yazılacak veriler verildikten sonra tek bir gecikme hepsi için yeterli olur. Yada her bir byte yazılıp 10 ms gecikme verilmelidir.
Bin dosyası bilgileri şayet 8 bit ise sorun yok. Ama 16 bitlik bilgiler ise onları byte - byte yazman gerekir.

Ete


compacta

herkese merhaba.ete hocam sizin verdiğiniz bilgilere göre bir şeyler yazmaya başladım.bu yazılım içinde ilk önce verileri ı2c ye aktarmadan önce picin epromunda toplamaya karar verdim.yalnız yazılımdada göreceksiniz pek başarılı olamadım.yardım ederseniz eğer, ketpadden basılan 1 nolu tusa basılsığında sonucu yazdıramıyorum.yazılıma yardımınız dokunursa vede pic'in epromuna bu veriyi yazdırabilmişmiyim.daha sonra bunu becerebilirsem diğer tuşlarada devam edicem.sırada eklenecek harflerle yazıyıda eklemek var.şimdiden uğraşlarınız için teşekkürler....

compacta

ete hocam iyi akşamlar sabredip yardım olur diye bekledim ama ilgisini çeken olmadı galiba.neyse.yeni yolladığım yazılımda karakterleri lcd çıkarıyorum.kursörüde bir yana alıyorum ama tuşa basdığımda ilk yazan rakamdan sonra kursörün bir yanından diğer tuşla basılan rakamı yazdıramadım.her tuşa basmamda rakamlar 1.bitten üzerine yazılıyorlar.yani ben 1.tuşda 1 rakamı çıkınca yanında diğer tuş ile 2 yazıcak ve 16 karakter doluncaya kadar devam edip ikinci satırdan devam edicek.buna yardımcı olabilirseniz çok sevinirim.kolay gelsin....

compacta

arkadaşlar benimmi bir yanlışım oldu anlamadım.ama kimse yardımcı olmak istemiyor heralde yada fırsat olmadı.yardımlarınızı bekliyorum...

ete

Yardım yapacak kişilerin işini kolaylaştırman lazım. Bunun için devre şemasıda eklemen gerekirdi.
Şema olmadan olay insanın kafasına zor oturuyor maalesef.

Programın başına baktımda hiç sigorta ayarı verilmemiş.
Tris registerleri programın başında tanımlansa daha uygun olurdu. Üstelik o işlemcide birde A portu var ve 877A da A portu default komparatör olark çalışır. Onunda iptal edilmesi gerekir. CMCON=7 iptal komutudur.

Tuş takımından okuna tuş değerlerinin yan yana yazdırılması için en uygun yöntem sayıyı 10 tabanı ile kullanıalcak hale getirmektir.
Örnekle açıklayayım.
- 1 tuşuna bastım. Key=1 : SAYI=SAYI*10+KEY dersem ilk etapta SAYI=1 olur. Ekrana SAYI yazdırınca 1 görürüm.
- 4 tuşuna bastım. Key=4 : SAYI=1*10+4=14 ve SAYI=14 oldu. Ekranda SAYI yazdırıldığı için 14 rakamını görürüm.
- 5 tuşuna bastım. Key=5 : SAYI=14*10+5 = 145 oldu Ekranda 145 rakamını görürüm.
İşin temel mantığı budur. Silme tuşu kullanırsan bu seferde sayıyı 10'a  bölmen yeterlidir.

Ete



Powered by EzPortal