Kayan yazı parlaklığı için yardım!

Başlatan bilgehansahin84, 26 Eylül 2006, 14:33:00

Eagle_Tim

Arkadaşım Kayan Yazıda bir tecrüben varsa tartışabiliriz.. ben hertür kayan yazı sistemini denedim bizzat tecrübeyle sabittir....


Elektriksel düşünce elektronikte ölüme mahkumdur. aynı ışık şiddeti gözle görülmesine ragmen aynı anda yanan led sayısındaki değişiklik çekilen akımda değişiklik yapar fakat bunu göremiyorsunuz heralde..

Ayrıca sutun taramayı önermemin sebebi arkadaşın sisteminin bu yazılım üzerine kurulmuş olmasından şimdi oturup tekrar karakter kod tablosu çıkaracak sıfırdan yazılım yapmaya çalışacak vs.. ben zamandan tasarruf etsin ve elindeki yazılımı işe yarar hale getirsin diye o örneği verdim ve hiç bir yanlışlık yok..
Software and Hardware Design...

bilgehansahin84

Arkadaşlar harikasınız. Logan arkadaşımın anlatışı kafamdaki her bir soru işaretini çözdü. Tek sorun şimdi PIC BASIC PROTONDA bunu yazabilmek. Normalde PIC C kullanıcısıyım. Biraz zorlicak. Şu OFSET olayı çok hoşuma gitti. Önceden verilmiş örnekleri inceliyordum sitedeki. Onlardada derleme sorunu yaşadım. Yazdım zaten görürsünüz o konular içerisinde. OFSET in karşılığını dizilerle yapabilirsem sanırım PIC C de yazıcam.
Eagle_Tim arkadaşım sanada çok teşekkür ederim. Elimde 74HC595 olduğu için onunla geliştiricem artık. Ne diyim, Ya Allah !
Önceki kullanıcı adım : bilgehansahin84  ALLAH (c.c) kimseye kaldıramayacağı yükü yüklemez. İnsan bu düşünce ile hareket ederse, 'PES' etmek üzere olduğu tüm işlerinden başarıyla ayrılabilir.

bilgehansahin84

bmutlu arkadaşımada şu konuda katılıyorum ki, sütun taramada çok akım çekiliyor. Dün meslek lisesi hocalarıyla bir araya gelip bu projeyi tartıştık ve yaptığım devrenin çok akım çektiği, sütun sayısının çok oluşunun bir lede sıranın gelmesini uzattığı sonuçuna vardık. Eve gelip nete girdiğimde de,sağolun sizlerde aynı uyarıları yapmışsınız zaten.

Şunuda söylemek istiyorum ki, Eagle_Tim arkadaşımızın söylediği yöntemi uygulamamdaki tek geçerli sorun, akım olayı. Yoksa entegre bulunur ve fazla bir zaman harcamadan bu iş biter dediği gibi. Ama sütun sayısı belki 200 lere kadar çıkıcak. O zaman bu yöntem gerçekten bana dert olucak. Teşekkür ediyorum yinede.
Önceki kullanıcı adım : bilgehansahin84  ALLAH (c.c) kimseye kaldıramayacağı yükü yüklemez. İnsan bu düşünce ile hareket ederse, 'PES' etmek üzere olduğu tüm işlerinden başarıyla ayrılabilir.

Eagle_Tim

Pic basic kullanmııyorum ama alsana asmde yazılmış basit bir 595 8 bit Data basma alt yordamı...

GONDER 
      MOVLW      H'08' 
      MOVWF      DTA1      ; bir adet register

      BCF      DT              ; 74595 in data ucuna bağlı pin
      BTFSC      DTA,7      ; yollanacak datanın yüleneceği register
      BSF      DT 
      CALL      PALSE 
      BCF      STATUS,0 
      RLF      DTA,F 
      DECFSZ      DTA1,F 
      GOTO      $-7 
      NOP 
      BSF         LQ       ;74595 in lacth ucuna bağlı pin   
      NOP
      NOP
      BCF         LQ
      BCF         QE     ;74595 in QE ucuna bağlı pin


      RETURN 
PALSE 
      BSF      CLK      ; 74595 in CLOCK ucuna bağlı pin   
      NOP 
      NOP 
      NOP 
      BCF      CLK 
      RETURN



unutmadan bir tavsiye tipik 595  74595 in yüksek akım çıkışlısıdır yani aynı yazılım rahatça çalışır şimdi 74hc595 in çıkışlarını kuvetlendirmeye çalıştığında başka malzemeler karta dahil olmak zorunda uln , transistör vs.. bu yüzden ben tekrar düşün derim hem kart boyutu büyüyecek hemde masraflar bende 74595 kullandım hatta ilk gönderdiğim resimdeki kayan yazımda da 74595 var ama yinede sen bilirsin..

NOT : Kod Tagı kullanalım !!!
Software and Hardware Design...

bmutlu

@Eagle_Tim
Bana karşı uslubunu biraz sert buldum .Birbirimizi şahsen tanımadan sanal ortamda yardımcı olmaya çalışıyoruz tecrubelerimizi aktarıyoruz ki bu işlere yeni başlayanlara yardımcı olmaya çalışıyoruz .Doğrusunun nasıl olması gerektiğini göstermeye çalışıyoruz .

bilgehansahin84

Arkadaşlar şu şekilde yapmaya çalışıcam. Umarım bağlantılar doğrudur. Yanlış ise lütfen düzeltin. Amacım PORTB den sütunları tekter teker aktif etmek. Satırlardan da yanması gerekenleri belirlemek. 74HC595 ile Logon arkadaşımızın dediği gibi satırlara 0 ve 1 lerden oluşan veriyi gönderebilirim. İşte bunu bir karakte kümesine göre nasıl yapıcam, orada mantık yürütemiyorum. Diyelimki, "BILGEHAN" ismi hafızada kayıtlı. Bu karakterlerin kodlarını alt prosedürlerden çekip hangi mantıkla 595 e göndericem. Onları yapamıyorum.

Yani karakterler şu şekilde oluşuyorsa eğer


Şöyle bir mantıklada karakterleri göstertmem gerekiyor.(diye düşünüyorum)


Devre şeklinide şöyle oluşturdum. Umarım doğrudur. Bunu bir hocam yapmış. 3 tane 8x8 matrix ve 3 tanede TPIC6B595N entegre ile olayı bitirmiş.


sorunum ve düşüncelerim içte bunlar arkadaşlar. Bu mantığı nasıl koda dökebilirim.
Önceki kullanıcı adım : bilgehansahin84  ALLAH (c.c) kimseye kaldıramayacağı yükü yüklemez. İnsan bu düşünce ile hareket ederse, 'PES' etmek üzere olduğu tüm işlerinden başarıyla ayrılabilir.

Eagle_Tim

bmutlu; ben genel olarak böyle konuşuyorum sana özel bir durum yok kusura bakma :D

bilgehansahin84 ;

tipik595 i bulmuşsun sıra karakter tablosu oluşturmakta.. şimdi oturup 8x5 için yatay tarama (satır)  ya göre a dan z' ye kod tablosu çıkarmalısın..

her harf 6 sutun kaplar yani altı adet 8 bit data ancak biri boşluk olduğundan 5 adet data


DATA_TAB
		INCF		SUTUN,F
		MOVFW		SUTUN
		ADDWF		PCL,F
		RETLW		H'00'
H_A_00; a harfi adres 00 
		RETLW		H'3F'
		RETLW		H'48'
		RETLW		H'88'
		RETLW		H'48'
		RETLW		H'3F'
H_B_05; b harfi adres 05 vs...
		RETLW		H'FF'
		RETLW		H'91'
		RETLW		H'91'
		RETLW		H'91'
		RETLW		H'6E'
H_C_0A
		RETLW		H'7E'
		RETLW		H'81'
		RETLW		H'81'
		RETLW		H'81'
		RETLW		H'42'
H_C2_0F
		RETLW		H'7C'
		RETLW		H'82'
		RETLW		H'83'
		RETLW		H'82'
		RETLW		H'44'
H_D_14
		RETLW		H'FF'
		RETLW		H'81'
		RETLW		H'81'
		RETLW		H'81'
		RETLW		H'7E'
H_E_19
		RETLW		H'FF'
		RETLW		H'91'
		RETLW		H'91'
		RETLW		H'91'
		RETLW		H'81'
H_F_1E
		RETLW		H'FF'
		RETLW		H'90'
		RETLW		H'90'
		RETLW		H'90'
		RETLW		H'80'

daha sonra bu tablodan harfin aktif edilecek satıra ait kodunu alıp shift registere basacaksın. tüm harfler için o satıra ait 8 bit verileri bastıktan sonra o satırı aktif edeceksin.. sonra diğer satır için aynı şeyi tekrar edeceksin satır sonunda  bu olayı başa çevireceksin biz buna refresh döngüsü diyoruz.. refresh döngüsünün zamanıda parlaklığa etki eden bir etkendir.. genel prensip bu.. yukarıdaki tablo sutun tarama için ancak satır taramayla arasındaki tek fark yüklenen rakamlar.. birde yatayı pozitif dikeyi negatif olarak kullansan daha iyi olur çünki yataydan 12 volta kadar voltajı arttırabilme imkanın olur parlaklık yine az gelirse böylece max arttırıma gidebilirsin..
Software and Hardware Design...

bilgehansahin84

Şimdi dediğini açıkçası tam olarak anlamadım. Bana örnek verebilirmisin : 16 veya 24 sütun için mesala 'BILGE'yi nasıl göstericem. Yukarıda kodladığım olay doğru dimi? Yani 'BIL' kelimesinin (dediğin gibi satır ve sütunları değiştirdim) çıkması için satıra '00000001' sütuna ne göndericez?
Önceki kullanıcı adım : bilgehansahin84  ALLAH (c.c) kimseye kaldıramayacağı yükü yüklemez. İnsan bu düşünce ile hareket ederse, 'PES' etmek üzere olduğu tüm işlerinden başarıyla ayrılabilir.

Eagle_Tim

sütuna önce birinci satırdan taramaya başlayacağın için B harfinin en alt satırının datası yani h'0E' Daha sonra I harfının ilk satrının datası yani h'04'
daha sonrada L harfinin en alt satrırının datası yani h'1F' Datalarını ard arda yollayacaksın sonra satırı aktif ettiğinde bu gönderdiğin dataların hepsi birden görünecek sonra diğer satırın datalarını bu şekilde yollayacaksın.. unutmadan gönderme programın 8 bit değil 6 bit olmalı daha önce 8 bit veri bas demiştim düzeltiyorum, çünki karaktterlerin yataydaki kodları 6 bitlik bir yer kaplar. buyüzden 6 bit bamalısın ki bir sonraki karakter kodu da diğer karakterle arasında 1 bit boşluk kalsın.. 8 bit basarsan harflerin arasında büyük boşluk oluşur kötü bir görüntü olur..
Software and Hardware Design...

bilgehansahin84

Deediğini anladım. Bende aynı şeyi söylüyordum ama, acemilik işte, anlatamadım. Şimdi asıl sorun karakterlerin en alt satırının datasını nasıl alacağım. Aslında en başından beri sorunum buydu. Basice yeni başladım. Bu konuda inşallah basic ustaları bir yol gösterir. Aşinalık var. O kadar uzak değilim. Visual Studio kullandığım için yabancı değil. Hepsi aynı. Senden tekrar yardım isticem üstat. Çok teşekkür ediyorum.
Önceki kullanıcı adım : bilgehansahin84  ALLAH (c.c) kimseye kaldıramayacağı yükü yüklemez. İnsan bu düşünce ile hareket ederse, 'PES' etmek üzere olduğu tüm işlerinden başarıyla ayrılabilir.

bilgehansahin84

Basic ustalarına şunu sormak istiyorum,



yukarıdaki 'BIL' gelimelerinin en alt satırındaki kodlarını nasıl elde edebilir. Hangi kod bu işi yapar bulamadım. Ve 74HC595 için PORTA.0 dan gönderebilirim. SHIFTIN VE SHIFTOUT diye kodlarla karşılaştım kitapta. Bunlar işimi görürmü benim?
Önceki kullanıcı adım : bilgehansahin84  ALLAH (c.c) kimseye kaldıramayacağı yükü yüklemez. İnsan bu düşünce ile hareket ederse, 'PES' etmek üzere olduğu tüm işlerinden başarıyla ayrılabilir.

bilgehansahin84

@Eagle_Tim peki bana ASM ile bu son satır data kodlarının nasıl alınıp PORTA nın ilgili bacağından gönderildiğini gösterebilirmisin. Bu işe ilk önce ASM ile başladığım için, bir fikir olabilir sanıyorum. Hala alt dataları nasıl elde edebileceğimi bulamadım. Karakterleri yan olarak tanımlamak geliyor aklıma ama, çok uzun olucak ve saçma gibi. Yani 8x5 değilde 5*8 olarak.
Önceki kullanıcı adım : bilgehansahin84  ALLAH (c.c) kimseye kaldıramayacağı yükü yüklemez. İnsan bu düşünce ile hareket ederse, 'PES' etmek üzere olduğu tüm işlerinden başarıyla ayrılabilir.

Eagle_Tim

sabit bir yazı yazdıracaksan karakter kod tablosu yapmana gerek yok.. yapacağın şey yazdıracağın harflerin kodlarını bir tabloda toplamak..

DATA_TAB 
      INCF      SUTUN,F 
      MOVFW      SUTUN 
      ADDWF      PCL,F 
      RETLW      H'00' 

birinci satır dataları; 

      RETLW      H'3F' 
      RETLW      H'48' 
      RETLW      H'88' 
      RETLW      H'48' 
      RETLW      H'3F' 

ikinci satır dataları
      RETLW      H'FF' 
      RETLW      H'91' 
      RETLW      H'91' 
      RETLW      H'91' 
      RETLW      H'6E' 

üçüncü satır dataları
      RETLW      H'7E' 
      RETLW      H'81' 
      RETLW      H'81' 
      RETLW      H'81' 
      RETLW      H'42' 
vs.. 8 satır dataları 
      RETLW      H'7C' 
      RETLW      H'82' 
      RETLW      H'83' 
      RETLW      H'82' 
      RETLW      H'44'



sonra yapacağın tekşey sutun registerini clear etmek ıncf sutun,f deyip call data_tab diyeceksin ilk harfin lk satırın datasını alıp dönücek sende ekrana basıp ıncf sutun,f deyip tekrar call tablo diyceksin budefa 2. harfin ilk satır datasını alıp dönücek bu işlem harf sayısı kadar tekrar ettikten sonra o satırı aktif edip gösterecek ve diğer satıra geçeceksin tabloda karakter kodlarınıda bu sıraya göre alt alta koymalısın böylece sabit bir yazıyı ekranda gösterip kaydıra bilirsin.. karakter kod tablosu oluşturma işi biraz uzun benimde pek zamanım yok bu yüzden bunu anlattım kolaygelsin
Software and Hardware Design...

bilgehansahin84

Teşekkür ediyorum. Şu an programı yazdım Basic ile. Belkide yazmaya çalıştır. Eğer şeklimde bir sorun yoksa karakterleri çıkartmaya çalışıyorum. Programda herşey normal gidiyor fakat isiste karakter göremedim. Onunla uğraşıyorum. Sanada kolay gelsin.
Önceki kullanıcı adım : bilgehansahin84  ALLAH (c.c) kimseye kaldıramayacağı yükü yüklemez. İnsan bu düşünce ile hareket ederse, 'PES' etmek üzere olduğu tüm işlerinden başarıyla ayrılabilir.

bilgehansahin84

arkadaşlar merhaba. satır taramalıyı yaptım basic ile. ama canım çıktı. ilk basic programım. şu pic basic teki LOOKUP'un karşılığını çıkarabilseydim pic c de işim kolay olacaktı ama neyse. şimdi size şunu sormak istiyorum.: program satır taramalı ve matrixlerin satırlarına +5v veya daha fazla gerilim vermek istemiyorum. bunun için pic çıkışlarına (satırlar için) transistör bağlamak istiyorum. Hangi transistör veya MOSFETi bağlamalıyım. Hocam MJE2955T kullanmış. katalogdan baktımda, harika. Ben memnundum, açıp kapama hızı tartışılmaz diyor.
Ben maliyetinede bakıyorum onun için bilen arkadaşlardan yardım?
Önceki kullanıcı adım : bilgehansahin84  ALLAH (c.c) kimseye kaldıramayacağı yükü yüklemez. İnsan bu düşünce ile hareket ederse, 'PES' etmek üzere olduğu tüm işlerinden başarıyla ayrılabilir.