Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => Microchip PIC => Konuyu başlatan: bilgehansahin84 - 26 Eylül 2006, 14:33:00

Başlık: Kayan yazı parlaklığı için yardım!
Gönderen: bilgehansahin84 - 26 Eylül 2006, 14:33:00
Arkadaşlar 40 sütun bir kayan yaz yaptım. Sütun taramalı (satır taramalı olarakta denedim) olarak yapıldı. Fakat led parlaklıkları gündüz okumaya yetmıyor. 8x8matixler kullandım. Şekli şu:

(http://www.bilgeyazilim.net/image/11.jpg)

bunun parlaklığını nasıl arttırabilirim?
2. Nasıl bir kutu ve önüne cam koymalıyım?
Başlık: Kayan yazı parlaklığı için yardım!
Gönderen: Logan - 26 Eylül 2006, 14:36:52
Display'leri direk olarak picin çıkışlarından sürme.Araya transistör veya buffer koymalısın.
Başlık: Kayan yazı parlaklığı için yardım!
Gönderen: zoptan - 26 Eylül 2006, 15:36:02
Selam arkadaş yaptığın devreyle ilgili şema ,kodlar ve diğer dosyaları verebilirmisin çalışıyorsa bende yapmayı planlıyorum.
Başlık: Kayan yazı parlaklığı için yardım!
Gönderen: MICROCEBEL - 26 Eylül 2006, 16:33:55
led lerin parlaklığını pwm metoduyla belirleyebilirsin.birde pic te sürerken uln2803 entegresini kullan.Ledin parlaklığı max nekadar akım çekiyorsa ona bağlıdır birde dar açılımı geniş açılımı ona bağlıdır.Ben yaptığım projeyi kutu içerisine daha toplayamadım ama önüne kırmızı mika camlar oluyo onlardan koymayı düşünüyorum camcılardada bulunabilir.Kolaygelsin....
Başlık: Kayan yazı parlaklığı için yardım!
Gönderen: ibrsel - 26 Eylül 2006, 17:46:24
displayleri sürdüğün direnç değerini düşürerek parlaklığı arttırabilirsin,Fakat display daha fazla akım çekeceği için ömrü azalabilir..Zaten hazır dotmatrix ler ile yapacağın kayan yazı projelerinde normal ledler ile yakaladığın parlaklığı elde edemezsin..Devreni kutulayıp önüne kumlu cam koyar isen verim biraz daha artar..
Başlık: Kayan yazı parlaklığı için yardım!
Gönderen: vatandas30 - 26 Eylül 2006, 21:58:19
gün ışığında görünmesini istiyorsan mcd si yüksek ledler kullanmalısın. bende çok araştırdım ama matrislerin gün ışığında görüneni yok. bir de yazının önüne mutlaka kumlu flexi koymalısın. normal flexi ile çok farkediyor.
Başlık: Kayan yazı parlaklığı için yardım!
Gönderen: arslan74 - 26 Eylül 2006, 22:56:47
Merhaba,

Tarama mantığın cok karışık olmuş. En önemlisi ekran taraması sayısı sanırım 8 den cok yüksek. Onun yerine en fazla 8'li tarama yapmalısın ve taramada shift register kullanırsan özellikle Latch özellikli örneğin 74hc595 gibi taramada parlaklığı cok artırmış olursun. Bu yöntemle fazla parlaklık elde edemessin.

Selamlar.
Başlık: Kayan yazı parlaklığı için yardım!
Gönderen: Eagle_Tim - 26 Eylül 2006, 23:01:32
satırlarıda sütunlarıda transistör,uln vs.. ile kuvvetlendirmen gerekli.. sütun taramada hazır dotmatris ile enyüksek parlaklığı bu şekilde birde sutun bekletme sürelerini arttırarak elde edebilirsin.. bende kayan yazı işiyle uğraştım. eğlenceli ancak yorucudur.. donanımda değşiklik yapamıyorsan bekletmeleri biraz arttır ama bu seferde titreşim olayı başını ağrıtabilir.. sonuçolarak aşağıdaki parlaklığı elde etmek istiyor isen 3000-5000 mcd led kullanman gerekli.

(http://picproje.org/upload/Calismalar/Y-1.JPG)
Başlık: Kayan yazı parlaklığı için yardım!
Gönderen: bmutlu - 27 Eylül 2006, 09:40:19
1- sütun taramadan satır taramaya gec.
2- led sürmelerini tranzistör gurubu ile güçlendir.

Neden sütun taramadan satır taramaya geçmelisin ?
İnsan gözu 18-20 mSn tarama döngüsünün üzerine çıkıldığı zaman ledlerde kırpışma gorunmeye başlar (göz algılamaya başlar).Tarama göngüsü içinde ledlere nekadar çok eneji verirsen (zaman olarak) ledler okadar parlak yakarsın.Senin devrende sütunlarının sayısı satırlarının sayısından fazla olduğu için daha az enerji verilmiş olur (zaman olarak).
Senin devrende led guruplarının satır ve sütun sürmede zaman olarak led guruplarının yan zamanını bir hesaplayalım.
Zaman hesabı.
1 satırın yanma süresi = (16mSn/8satır) = 2mSn
1 sütunun yanma süresi = (16nSn/40 sütun) = 0,4mSn

Satır sürmede led gurubu sütun sürmeye göre 5 katı daha uzun süre yanmakta.Kayan yazının sütun sayısını arttırırsan bu zaman daha da kısalacaktır.Kısacası devreni satır sürmeye çevir.
Başlık: Kayan yazı parlaklığı için yardım!
Gönderen: Eagle_Tim - 27 Eylül 2006, 10:41:59
Satır tarama sütun taramaya göre çok yüksek akım çeker kayan yazı uzadıkça çekilen akımda sütun sayısı arttıkça aynı oraranda yükselir sütun tarama da böyle bir dert yok..  Satır tarama ile sutün taramanın bir birlerine göre avantaj ve dezavantajları vardır ancak parlaklık veya kıpraşımdan ziyade efekt oluşturma ve animasyon ile ilgilidir...
Başlık: Sanırım satır taramaya dönücem!
Gönderen: bilgehansahin84 - 27 Eylül 2006, 10:59:30
Arkadaşlar ellerinize sağlık. Dediklerinizi şimdiye dek çalışmalarıma nazaran düşününce, 40 sütunlu projemde bir sütuna yanma zamanı 40.sütunun sönmesiyle geliyorki, buda matrixler için çok uzun. Satır taramada ise bu olay 8.sütunun sönmesiyle oluyor. Yanlışlık ortada. Birisi 1/40 diğeri 1/8 oranında. İnanın o kadar yol denedim ki, hiç bu olay aklıma gelmedi. Hepinizin engin gilgi paylaşımına teşekkür ediyorum.
Başlık: Peki 74HC595 i nasıl kullanıcam?
Gönderen: bilgehansahin84 - 27 Eylül 2006, 11:11:25
Arkadaşlar projeyi değiştirmekten başka çare kalmadı ve en doğru seçim sanırım 74HC595 araştırmalarıma göre. Şöyle düşünüyorum :
Önce 1.satır aktif. Buna nazaran o satırda yanması gereken sütunlara '0' vericem. Yani satır taraması bu oluyor sanırım ki, alt veya üst satırdan başlayarak sütun bilgileriyle oynicam. (Eğer bir yanlışlık varsa düzeltin)

Fakat 74HCnin çalışmasını çözemedim. Bana öz bir şekilde şu prensip vardır, şöyle sinyal gönderirsen bilgilerini çıkartırsın diye anlatabilirmisiniz. Veya sizce nasıl daha iyi anlayacaksam.

(http://www.bilgeyazilim.net/image/3.jpg)
Başlık: Kayan yazı parlaklığı için yardım!
Gönderen: Logan - 27 Eylül 2006, 11:36:45
@bilgehansahin84, aslında en başında sana bu yöntemi önerecektim ama programda ufak bir zaman kaybına sebep olmamak için önermedim. 74595 entegresi data ve clock uçlarından gelen seri bilgiyi çıkışlara paralel olarak aktarır.Örnek verecek olursak; diyelim ki %10101111 bilgisini entegrenin çıkışlarına göndereceksin. İlk olarak en büyük bitten başlarsın yani 7. bitten.Bu biti data ucuna gönderirsin ve clock ucunu önce "1" e sonra "0" a çekip bir kare dalga gönderirsin.Clock sinyalini gönderince data ucundaki bilgi 74595 entegresinin 15 nolu bacağına geçer.Daha sonra 6. biti data bacağına verirsin ve aynı clock işlemini tekrar uygularsın.Bu sefer 15 nolu uçtaki bilgi 1 nolu uca kayar ve data ucundaki bilgi ise 15 nolu uca geçer.Bu işlemi 8 adet bit gönderene dek yaparsın.Son olarak enable ucuna kare dalga sinyal gönderirsin (1 ve 0). 74595 entegresinin en büyük özelliklerinden birisi gönderdiğin 8 adet biti tutmasıdır.Ayrıca içerisinde buffer vardır.Dolayısı ile çıkışı oldukça kuvvetlidir.Örnek program istersen;

'******************************************************************************
'Lcd_reg registerindeki bilgiyi seri olarak gönderir.
'******************************************************************************
gonder:
if tekrar=8 then
tekrar=0  :  high enable  :  pauseus 1  :  low enable  :  return
 endif
  if lcd_reg.7=1 then
   data=1  :  clock=1  :  pauseus 1  :  clock=0
    lcd_reg=lcd_reg<<1  :  tekrar=tekrar+1  :  goto gonder
     endif
      data=0  :  clock=1  :  pauseus 1  :  clock=0
       lcd_reg=lcd_reg<<1  :  tekrar=tekrar+1  :  goto gonder


Devre şeması ise gayet basittir.
(http://img291.imageshack.us/img291/5162/74595fy4.png)
Kolay gelsin.
Başlık: Kayan yazı parlaklığı için yardım!
Gönderen: Eagle_Tim - 27 Eylül 2006, 11:44:40
74HC595 Yerine tipik595 kullanmanı tavisye ederim.. farkı şu ayrıca bir kuvvetlendirici kullanmana gerek kalmıyor zaten fet çıkışlı olmsı lazım..

kullanımı oldukça basittir 74164 kullandıysan ek olarak bir lacth birde QE ucu bulunmaktadır..

seri datanı 74164e basar gibi data ve clock uçlarını kullanarak 8 bit basarsın sonra normalde 0 da tutacağın lacht ucuna 1-0 palsini uygularsan veri çıkışı aktarılır. eğer QE ucunuda 0 konumuna alırsan veri çıkışta görüntülenir.. satır taramada tüm sutun sayısı kadar veriyi bu şekilde bir döngüde basarsan sonrada yolladığın verinin sutun bitini aktif edersen tüm satır boyunca yolladığın veri görünrülenir.. negatif veya pozitif tarama yapabilirsin ancak sutunları negatif satırları pozitif olarak kullanmak daha avantajlıdır...
Başlık: Kayan yazı parlaklığı için yardım!
Gönderen: bmutlu - 27 Eylül 2006, 11:54:23
@Eagle_Tim
"Satır tarama sütun taramaya göre çok yüksek akım çeker"
Bu ifadeniz yanlış kayan yazıdan aynı ışık şiddetini elde edebilmek için toplamda aynı gücü uygularsın(led leri kastediyorum).

"efekt oluşturma ve animasyon ile ilgilidir..."
Cihazın program kısmının algoritması donanıma göre belirlenir ve programı ona göre yazarsın bazı animasyonlar sütun sürmede kolay satır sürmede daha zordur başka bir animasyon ise satır sürmede daha kolay  sütun sürmede yapmak daha kolay olabilir . Pofesyonel kayan yazı üreten firmalar genellikle satır sürme şeklinde donanım oluşturuyorlar.
Genelde kayan yazılar karakter olarak ifade edilirler senden 8 karakterli ,16 karakterli ve 24 karakterli kayan yazı isteseler ve bunların ışık şiddetleri aynı olması isteniyor bunu nasıl gerçekleştirebileceğini bir düşün(1 karakter 6 sütundan oluşmakta)..
Başlık: Kayan yazı parlaklığı için yardım!
Gönderen: Eagle_Tim - 27 Eylül 2006, 11:56:41
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..
Başlık: Kayan yazı parlaklığı için yardım!
Gönderen: bilgehansahin84 - 27 Eylül 2006, 12:12:06
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 !
Başlık: Bencede
Gönderen: bilgehansahin84 - 27 Eylül 2006, 12:17:11
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.
Başlık: Kayan yazı parlaklığı için yardım!
Gönderen: Eagle_Tim - 27 Eylül 2006, 12:23:36
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 !!!
Başlık: Kayan yazı parlaklığı için yardım!
Gönderen: bmutlu - 27 Eylül 2006, 17:26:56
@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 .
Başlık: Mantıkta takıldım arkadaşlar (Kayan yazı)!
Gönderen: bilgehansahin84 - 27 Eylül 2006, 18:30:34
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
(http://www.bilgeyazilim.net/image/2a.jpg)

Şöyle bir mantıklada karakterleri göstertmem gerekiyor.(diye düşünüyorum)
(http://www.bilgeyazilim.net/image/3a.jpg)

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ş.
(http://www.bilgeyazilim.net/image/1a.jpg)

sorunum ve düşüncelerim içte bunlar arkadaşlar. Bu mantığı nasıl koda dökebilirim.
Başlık: Kayan yazı parlaklığı için yardım!
Gönderen: Eagle_Tim - 27 Eylül 2006, 20:55:51
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..
Başlık: Burayı hala anlayamadım!
Gönderen: bilgehansahin84 - 27 Eylül 2006, 23:00:26
Ş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?
Başlık: Kayan yazı parlaklığı için yardım!
Gönderen: Eagle_Tim - 28 Eylül 2006, 00:26:09
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..
Başlık: Sorun şu:
Gönderen: bilgehansahin84 - 28 Eylül 2006, 00:39:22
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.
Başlık: Basic ustalarına!
Gönderen: bilgehansahin84 - 28 Eylül 2006, 11:12:24
Basic ustalarına şunu sormak istiyorum,

(http://www.bilgeyazilim.net/image/3a.jpg)

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?
Başlık: ASM kodları nasıl peki!
Gönderen: bilgehansahin84 - 28 Eylül 2006, 12:00:23
@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.
Başlık: Kayan yazı parlaklığı için yardım!
Gönderen: Eagle_Tim - 28 Eylül 2006, 15:55:45
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
Başlık: oK
Gönderen: bilgehansahin84 - 28 Eylül 2006, 16:05:24
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.
Başlık: SONA DOĞRU GELDİM KAYAN YAZIDA!
Gönderen: bilgehansahin84 - 30 Eylül 2006, 18:39:06
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?
Başlık: kAYAN YAZI NASIL OLUR?
Gönderen: bilgehansahin84 - 30 Eylül 2006, 19:45:30
BİR SORUM DAHA VAR ARKADAŞLAR. SATIR TARAMADA YAZIYI HANGİ MANTIKLA KAYDIRMAMIZ GEREKİYOR. SÜTUN TARAMADA BİR ÖNCEKİ SÜTUNU AKTARMA MANTIĞI VARDI. E BUNDA NE YAPICAZ?
Başlık: Kayan yazı parlaklığı için yardım!
Gönderen: XX_CİHAN_XX - 30 Eylül 2006, 20:18:17
BDX53 veya 54 gibi bir güç transistörü önerebilirim.
Tarama mantığına gelince satır taramayı secmen ıyı olmuş.Burada kaydırma yontemın ekran regısterlerını rlf yapman yeterlı olucaktır.
her satır ıcın regıster dızısı olusturacaksın.ve bunları pespese kaydıracaksın.Boylelıkle ekranında yazı kayacak.Örnek:

         bcf         status,c
         rlf          satir1_blok1,f
         rlf          satir1_blok2,f
         bcf         status,c
         rlf          satir2_blok1,f
         rlf          satir2_blok2,f
         .
         .
         .
         .
         bcf         status,c
         rlf          satir7_blok1,f
         rlf          satir7_blok2,f

yukarıda kaydırma rutını bulunmakta.
ekranın 7 satırdan(satir1_..... , ..... , satir7_......) ve 16 stundan(..._blok1 , ...._blok2) olustugunu varsayalım.
Yukarıdakı regıster kaydırma mantıgı ıle ekranı kaydıracaksın.Tabı kaydırmadan once bu ekran regısterlerınde ekran datası bulunmalı.
Kaydırma ıslemının ardından ekrana satır satır bu regısterrı gonderrek goruntuyu olusturacan.örnek:

         movf          satir1_blok2,w
         call             seri gönder
         movf          satir1_blok1,w
         call             seri gönder
         call             satir1i_secvegöster

         movf          satir2_blok2,w
         call             seri gönder
         movf          satir2_blok1,w
         call             seri gönder
         call             satir2yi_secvegöster


Kolay gelsin....
Başlık: ok!
Gönderen: bilgehansahin84 - 01 Ekim 2006, 02:16:53
Cevabını görmeden önce biraz uğraştım ve her satırı bir diziye aymadan yapamadım. Ama 48 sütunluk bir yazıda, Pic Basic ile, 8 elemanlı 48 tane dizi oluşturmam gerekmiyor mu? E bunun içi denemedim ama hafıza yetmez. Dediklerinden de bunu çıkardım sanırım. Gösterilen her satırdaki dataları sakla. Sonrada yazının arkasından tek tek gönder diye anladım. Doğrumu?
Başlık: Re: ok!
Gönderen: XX_CİHAN_XX - 01 Ekim 2006, 14:14:32
Alıntı yapılan: "bilgehansahin84"Cevabını görmeden önce biraz uğraştım ve her satırı bir diziye aymadan yapamadım. Ama 48 sütunluk bir yazıda, Pic Basic ile, 8 elemanlı 48 tane dizi oluşturmam gerekmiyor mu? E bunun içi denemedim ama hafıza yetmez. Dediklerinden de bunu çıkardım sanırım. Gösterilen her satırdaki dataları sakla. Sonrada yazının arkasından tek tek gönder diye anladım. Doğrumu?

C den cok fazla anlamam ama sanırım benı yanlıs anlamıssın.
48 stun ve 8 satır lık bır kayan yazı ıcın 48 adet regıstere ihtiyacın vardır.
Bu durumda ( 6*8=48 ) 6 adet 8 elemanlı bır dızı acman yeterlı olacaktır.

Burada butun ekran datalarını satır satır farklı regısterlerde saklamalısın.
Saklamadan yapılamazmı dıye sorarsan yapılır elbette ama cok daha zor ve kotu bır kayan yazı yapmıs olursun.
Başlık: ?????
Gönderen: bilgehansahin84 - 01 Ekim 2006, 14:42:01
Şimdi bir dakika, 6 adet 8 elemanlı dediğin ile satır satır saklamalısın olayı bana farklı geldi.
satır satır dediğinden şunu anladım :
diyelimki ilk satırdaki veriler atıyorum : 11001010000111000000101001.....(48 tane)
bunu bir dizide saklamalısın diye anladım.
6 adet 8 elemanlı demenden de her bir ledin datasını saklamalısın, veya bir başka mana 6 ya 8 boyutunda bir dizi. Yani iki boyutlu bir dizi oluştur diyorsun. Basicte bu iki boyut olayını bulamadım zaten. Yoksa aklımdan bunu bir denemek geçmemiş değildi.
@XX_CİHAN_XX , kusura bakma o kadar çok üzerinde durdumki sütun taramanın, satır tarama için yürüteceğim mantıkta oradan kalan kırıntıları silmem zor oluyor.
Eğer hala anlamamışsam bana basit bir şekil ile açıklayabilirmisin.
Başlık: SANIRIM ANLADIM!
Gönderen: bilgehansahin84 - 01 Ekim 2006, 15:51:41
@XX_CİHAN_XX, eğer dediğini anladıysam, 6 adet 8 elemanlı dizi tanımladım ve her 8bitlik satır datasını bunlarda sakladım. sıra geldi bunların kaydırmadaki argoritmasına. inşallah yazabilirim.
Başlık: Kayan yazı parlaklığı için yardım!
Gönderen: XX_CİHAN_XX - 01 Ekim 2006, 17:28:18


;SATIR TARAMA SISTEMINE GORE
;7 SATIR VE 48 STUNDAN OLUSAN BIR KAYAN YAZI ICIN ACMAN GEREKEN REGISTER SAYISI VE
;KAYDIRMA MANTIGI ASAGIDAKI GIBI OLMALIDIR

;*******************************************************
LIST P=16F876A
INCLUDE "P16F876A.INC"
;*******************************************************
__config(_CP_OFF & _PWRTE_OFF & _HS_OSC & _WDT_OFF & _BODEN_OFF & _LVP_OFF)
ERRORLEVEL -302
ERRORLEVEL -306
;*******************************************************
CBLOCK 0x20

;EKRAN REGISTERLERI(HER LEDIN KONUMU ILGILI REGISTERIN BIR BITINDE SAKLANICAK!!!)
SATIR1_BLOK1
SATIR1_BLOK2
SATIR1_BLOK3
SATIR1_BLOK4
SATIR1_BLOK5
SATIR1_BLOK6

SATIR2_BLOK1
SATIR2_BLOK2
SATIR2_BLOK3
SATIR2_BLOK4
SATIR2_BLOK5
SATIR2_BLOK6

SATIR3_BLOK1
SATIR3_BLOK2
SATIR3_BLOK3
SATIR3_BLOK4
SATIR3_BLOK5
SATIR3_BLOK6

SATIR4_BLOK1
SATIR4_BLOK2
SATIR4_BLOK3
SATIR4_BLOK4
SATIR4_BLOK5
SATIR4_BLOK6

SATIR5_BLOK1
SATIR5_BLOK2
SATIR5_BLOK3
SATIR5_BLOK4
SATIR5_BLOK5
SATIR5_BLOK6

SATIR6_BLOK1
SATIR6_BLOK2
SATIR6_BLOK3
SATIR6_BLOK4
SATIR6_BLOK5
SATIR6_BLOK6

SATIR7_BLOK1
SATIR7_BLOK2
SATIR7_BLOK3
SATIR7_BLOK4
SATIR7_BLOK5
SATIR7_BLOK6

;TAMPON REGISTERLERI(EKRANA AKTARILACAK HARFIN TUM DATALARI ONCE BURAYA YUKLENIR)
SATIR1DATASI
SATIR2DATASI
SATIR3DATASI
SATIR4DATASI
SATIR5DATASI
SATIR6DATASI
SATIR7DATASI

ENDC
;*******************************************************
ORG 0x00
GOTO START
ORG 0x04
RETFIE
;*******************************************************
START
; .
; .
; .
; .
; .
; .
;SETUP KISMI
; .
; .
; .
; .
; .
; .
;GONDERILECEK KARAKTERIN SATIR KODLARINI SATIRDATA REGISTERLERINE YUKLE
; .
; .
; .
; .
; .
; .
;KAYDIRMA RUTINI
SHIFT
BCF STATUS,C
RLF SATIR1DATASI,F
RLF SATIR1_BLOK1,F
RLF SATIR1_BLOK2,F
RLF SATIR1_BLOK3,F
RLF SATIR1_BLOK4,F
RLF SATIR1_BLOK5,F
RLF SATIR1_BLOK6,F

BCF STATUS,C
RLF SATIR2DATASI,F
RLF SATIR2_BLOK1,F
RLF SATIR2_BLOK2,F
RLF SATIR2_BLOK3,F
RLF SATIR2_BLOK4,F
RLF SATIR2_BLOK5,F
RLF SATIR2_BLOK6,F

BCF STATUS,C
RLF SATIR3DATASI,F
RLF SATIR3_BLOK1,F
RLF SATIR3_BLOK2,F
RLF SATIR3_BLOK3,F
RLF SATIR3_BLOK4,F
RLF SATIR3_BLOK5,F
RLF SATIR3_BLOK6,F

BCF STATUS,C
RLF SATIR4DATASI,F
RLF SATIR4_BLOK1,F
RLF SATIR4_BLOK2,F
RLF SATIR4_BLOK3,F
RLF SATIR4_BLOK4,F
RLF SATIR4_BLOK5,F
RLF SATIR4_BLOK6,F

BCF STATUS,C
RLF SATIR5DATASI,F
RLF SATIR5_BLOK1,F
RLF SATIR5_BLOK2,F
RLF SATIR5_BLOK3,F
RLF SATIR5_BLOK4,F
RLF SATIR5_BLOK5,F
RLF SATIR5_BLOK6,F

BCF STATUS,C
RLF SATIR6DATASI,F
RLF SATIR6_BLOK1,F
RLF SATIR6_BLOK2,F
RLF SATIR6_BLOK3,F
RLF SATIR6_BLOK4,F
RLF SATIR6_BLOK5,F
RLF SATIR6_BLOK6,F

BCF STATUS,C
RLF SATIR7DATASI,F
RLF SATIR7_BLOK1,F
RLF SATIR7_BLOK2,F
RLF SATIR7_BLOK3,F
RLF SATIR7_BLOK4,F
RLF SATIR7_BLOK5,F
RLF SATIR7_BLOK6,F

;ILK KAYDIRMA ADIMI BITTI
;BUNU SATIR SATIR EKRANA GONDER VE TEKRAR KAYDIR VE TEKRAR GOSTER
;BU DONGUYU 6 DEFA TEKRARLAYINCA 5X7 FONTUNDA (6. SI BOSLUK) ILK HARFI
;EKRANA KAYARAK CIKARMIS OLURSUN.6 ASAMALI KAYDIRMA TAMAMLANINCA
;YENI HARFIN KODLARINI SATIRDATA REGISTERLERINE YUKLE VE AYNI DONGUYE TEKRAR GIR
;HER DONGUYE GIRISINDE EKRANDA BIR HARF KAYACAKTIR
Başlık: deger.5 in pIC C deki karşılığı?
Gönderen: bilgehansahin84 - 02 Ekim 2006, 22:29:35
Arkadaşlar PIC BASIC deki mesala deger değişkeninin bit lerine kolayca şu komutla hükmedebiliyoruz : deger.5=1 (mesela deger değişkeninin 5. bitini 1 yap)

Peki PIC C de bunun karşılığı ne?
Başlık: Kayan yazı parlaklığı için yardım!
Gönderen: XX_CİHAN_XX - 03 Ekim 2006, 11:53:34
bit_set(deger,5);