Would you like to react to this message? Create an account in a few clicks or log in to continue.



 
AnasayfaAramaLatest imagesKayıt OlGiriş yap
En iyi yollayıcılar
Posedon
PIC BASIC ile Kayan Yazı Yapalım Vote_lcapPIC BASIC ile Kayan Yazı Yapalım Bar3PIC BASIC ile Kayan Yazı Yapalım Vote_rcap 
SoaRingEagLe*
PIC BASIC ile Kayan Yazı Yapalım Vote_lcapPIC BASIC ile Kayan Yazı Yapalım Bar3PIC BASIC ile Kayan Yazı Yapalım Vote_rcap 
FG || Admin
PIC BASIC ile Kayan Yazı Yapalım Vote_lcapPIC BASIC ile Kayan Yazı Yapalım Bar3PIC BASIC ile Kayan Yazı Yapalım Vote_rcap 
BeLa
PIC BASIC ile Kayan Yazı Yapalım Vote_lcapPIC BASIC ile Kayan Yazı Yapalım Bar3PIC BASIC ile Kayan Yazı Yapalım Vote_rcap 
ayaz18
PIC BASIC ile Kayan Yazı Yapalım Vote_lcapPIC BASIC ile Kayan Yazı Yapalım Bar3PIC BASIC ile Kayan Yazı Yapalım Vote_rcap 
En son konular
» http://uploaded.to/file/g5s6o7
PIC BASIC ile Kayan Yazı Yapalım EmptyÇarş. Ara. 23, 2009 11:21 am tarafından FG || Admin

» // SoaRingEagLe // Moderatör Alım Form'u //
PIC BASIC ile Kayan Yazı Yapalım EmptyPaz Kas. 01, 2009 4:17 pm tarafından FG || Admin

» Bilgisayar Terimleri..
PIC BASIC ile Kayan Yazı Yapalım EmptyPaz Kas. 01, 2009 4:16 pm tarafından FG || Admin

» Sitemizi Nasıl Buldunuz..
PIC BASIC ile Kayan Yazı Yapalım EmptyPaz Ekim 25, 2009 4:43 pm tarafından BeLa

» İstek&Şikayet Bölümü
PIC BASIC ile Kayan Yazı Yapalım EmptyPaz Ekim 25, 2009 2:25 pm tarafından FG || Admin

» Windows Live Messenger 2009
PIC BASIC ile Kayan Yazı Yapalım EmptyPaz Ekim 25, 2009 12:04 pm tarafından BeLa

» Sarısın Fıkrası
PIC BASIC ile Kayan Yazı Yapalım EmptyPaz Ekim 25, 2009 12:01 pm tarafından BeLa

» FrmGüneş yarışma Bölümü
PIC BASIC ile Kayan Yazı Yapalım EmptyPaz Ekim 25, 2009 11:31 am tarafından BeLa

» Photoshop Masteri Alınacak
PIC BASIC ile Kayan Yazı Yapalım EmptyPaz Ekim 25, 2009 11:25 am tarafından FG || Admin


 

 PIC BASIC ile Kayan Yazı Yapalım

Aşağa gitmek 
YazarMesaj
SoaRingEagLe*
Teğmen
Teğmen
SoaRingEagLe*


Mesaj Sayısı : 255
Rep Puan : 683
Teşekkür : 8
Kayıt tarihi : 04/10/09
Yaş : 32
Nerden : Bursa
İş/Hobiler : Grafiker
Lakap : EagLe*

PIC BASIC ile Kayan Yazı Yapalım Empty
MesajKonu: PIC BASIC ile Kayan Yazı Yapalım   PIC BASIC ile Kayan Yazı Yapalım EmptyC.tesi Ekim 10, 2009 12:47 pm

Göstergeler:
Öncelikle kullanacağımız 5x7 led matrix üzerinde durmak gerekmektedir. Malzemeciden istediğim 5 adet ortak katod ve 5 adet ortak anot matrix displeyin hepsi ortak katod olarak karşıma çıkınca üzerinde dikkatle durmak gerektiği düşüncesi bende hasıl oldu.
PIC BASIC ile Kayan Yazı Yapalım 5x7
Şekil 1: 5x7 ortak katod dipley (bu displey boyut olarak oldukça küçük: 1.3cmX1.8cm)
Şimdi bu kadot dipleyinresminde göründüğü şekliyle grafiğini çizelim.
PIC BASIC ile Kayan Yazı Yapalım 5x7matrix
Şekil 2: 5x7 matrixin grafiksel gösterimi. Üstten görünüm.
Resimde de görülen işaretli bacak grafikte yaptığım isimlendirmede C6 ucunu ifade diyor. Bu displeyde dik dizilmiş olan sırayı sütun olarak tanımladım C harfini verdim. Yatay dizlimiş led sırasını satır olarak tanımladım ve R harfini verdim. Sol üst köşeyi R1 ve C1 olarak tanımladım.
Devrenin Şeması:
PIC BASIC ile Kayan Yazı Yapalım Kayandevre1
Şekil 3: Devrenin Şeması (08.07.2006 tarihinde güncellendi.)
Denemelerimizde kullanacağımız devreyi, şeması şekil 3'te görüldüğü gibi tek displeyli ve PIC 16F628 kullanarak yapıyoruz. Yukarıda bahsettiğimiz sütun uçlarını PORTA olarak ve satır uçlarını PORTB olarak bağlıyoruz.
BOREAS linux ortamında KiCad programı ile çizilmiş devre şeması kaynak dosyalarını indirmek için tıklayınız.
Microsoft Windows ortamında KiCad programı ile çizilmiş devre şeması kaynak dosyalarını indirmek için tıklayınız.
Göstergenin Çalıştırılması:
Göstergede karakterler dizisini oluşturmak için gerekli mantık şudur: Elimizdeki displey ortak katod uçlu olduğundan sütuna bağlı olan ledlerin uçları katoddur. PIC'i programlarken bu uçlara 0 değerini verirsek ve satırlarda yanmasını istediğimiz ledler için de 1 değerini verirsek istediğimiz ledler yanmış olur.
İlk yapacağımız iş matrix displeydeki bütün ledleri yakmak olacak. Bunu için PIC BASIC ile ilk programımızı yapalım:
'===5X7 LED MATRIX TAMAMEN YANAR===

TRISA=%00000000 'PORTA ÇIKIŞ YAPILDI
TRISB=%00000000 'PORTB ÇIKIŞ YAPILDI

BASLA:
PORTA=%00000000 'PORTA 0 (LOW)
PORTB=%11111111 'PORTB 1 (HIGH)
GoTo BASLA 'BASA DON
End
Programda görüldüğü gibi bütün ledleri yakmak için ledlerin ihtiyacı olan voltajı veriyoruz. Burada hangi satırı söndürmek istersek onu PORTA'da 0 yapıyoruz, hangi sütunu söndürmek istiyorsak onu PORTB'de 1 yapıyoruz.
Programın PIC BASIC ile hazırlanmış kaynak dosyasını indirmek için tıklayınız.
Programın hex dosyasını indirmek için
tıklayınız. (Bu hex dosyanın çalışması için kristal ve reset dahili olarak kullanılmıştır.)

Göstergede Karakterin Oluşturulması:
Göstergede istediğimiz karakteri şu şekilde rahatlıkla oluştururuz.
Önce 1. sütunu 0 (LOW) yaparız (PORTA'nın 1. biti). Diğer bitler 1 olarak kalır.
Sonra, satırlarda yanmasını istediğimiz ledler için PORTB'nin uçlarından gerekli olnları 1 (HIGH) yaparız.
İkinci sütuna geçeriz ve 0 yaparız
İkinci sütunda yanmasını istediğimiz ledleri 1 yaparız. Bu işlem Son sütuna kadar devam eder. Böylece karakteri oluşturmuş oluruz.

'===5X7 DISPLEYDE M KARAKTERINI OLUSTURMAK===

TRISA=%00000000 '===PORTA CIKIS===
TRISB=%00000000 '===PORTB CIKIS===

P1 VAR BYTE
P1=5 '===BEKLEME SURESI TITREMEYI ENGELLEMEK ICIN===

BASLA:
'===M karakterinin olusturulmasi===
PORTA=%11111110 'SUTUN 1 ICIN
PORTB=%01111111 'BU DEGERLER
Pause P1 'BEKLEME SURESI
PORTA=%11111101 'SUTUN 2 ICIN
PORTB=%00000010 'BU DEGERLER
Pause P1 'BEKLEME SURESI
PORTA=%11111011 'SUTUN 3 ICIN
PORTB=%00000100 'BU DEGERLER
Pause P1 'BEKLEME SURESI
PORTA=%11110111 'SUTUN 4 ICIN
PORTB=%00000010 'BU DEGERLER
Pause P1 'BEKLEME SURESI
PORTA=%11101111 'SUTUN 5 ICIN
PORTB=%01111111 'BU DEGERLER
Pause P1 'BEKLEME SURESI
GoTo BASLA 'BASA DON VE TEKRAR ET
End Programda görüldüğü gibi sütunu seçiyor ve satırdan istediğimiz ledleri yakıyoruz. Ledlerin ynma süresini tayin etmek için de bir bekleme zaman dilimi koyuyoruz.
Yapılan devrenin görünümü şöyle oluyor.
PIC BASIC ile Kayan Yazı Yapalım Sabitm
Şekil 4: Sabit M karakterinin görünümü.
Programın PIC BASIC kaynak dosyasını indirmek için tıklayınız.
Programın HEX dosyasını indirmek için
tıklayınız. (Bu hex dosyanın çalışması için kristal ve reset dahili olarak kullanılmıştır.)

Göstergede Oluşturulan Karakterin Kaydırılması:
Oluşturduğumuz karakteri kaydırmak için öncelikle değişkenler tanımlıyor ve karakterleri bu değişkenlere atıyoruz. Bu değişkenler sütunlardaki satır bilgilerini ifade ediyor. Göstermek istdiğimiz sütunda bu değişkenleri kullanıyoruz. Bu ilk adımı oluşturuyor.
Bunu programda gösterirsek:
'===M KARAKTERINI DEGISKENLERLE OLUSTURMAK===

P1 VAR BYTE

d1 VAR BYTE
d2 VAR BYTE
d3 VAR BYTE
d4 VAR BYTE
d5 VAR BYTE

TRISA=%00000000
TRISB=%00000000

P1=5
'===M karakteri degiskenlerde tanimlandi===
d1=%01111111 '*******
d2=%00000010 ' *
d3=%00000100 ' *
d4=%00000010 ' *
d5=%01111111 '*******

BASLA:
'===M karakterinin olusturulmasi===
PORTA=%11111110 'SUTUN 1 ICIN
PORTB=d1 'BU DEGERLER
Pause P1 'BEKLE
PORTA=%11111101 'SUTUN 2 ICIN
PORTB=d2 'BU DEGERLER
Pause P1 'BEKLE
PORTA=%11111011 'SUTUN 3 ICIN
PORTB=d3 'BU DEGERLER
Pause P1 'BEKLE
PORTA=%11110111 'SUTUN 4 ICIN
PORTB=d4 'BU DEGERLER
Pause P1 'BEKLE
PORTA=%11101111 'SUTUN 5 ICIN
PORTB=d5 'BU DEGERLER
Pause P1 'BEKLE
GoTo BASLA
End
Bu programın PIC BASIC dosyasını indirmek için tıklayınız.
Programın HEX dosyasını indirmek için
tıklayınız. (Bu hex dosyanın çalışması için kristal ve reset dahili olarak kullanılmıştır.)

Bu programda kullandığımız değişkenleri kullanacağımız sütun sayısı kadar çoğaltmamız gerekmektedir. Ben MEHMET görünümü için 30 tane değişken kullandım. Sizinde istediğiniz karakterler için gerektiği kadar sütun için değişken tanımlamanız gerekir. Bu devrelerde yanmasını istediğim ledlere 1 değerini veriyorum sönmesini istediğim ledlere 0 değerini veriyorum. Ancak değişken kullanma sayısının da PIC'lerin hafıza kapasitesinden dolayı bir sınırı var. Bu sınır kullandığımız PIC'e göre değişi. PIC 16F84 te az iken 16F628 de fazladır. Değişken kullanma sınırını aştığınızda program derlenmez ve hata verir.
Şimdi çok karakterli kaydırma işlemini yapan programı görelim ve inceleyelim:
'===COKLU KARAKTER KAYDIRILIYOR===

P1 VAR BYTE
i VAR BYTE
i1 VAR BYTE

d0 VAR BYTE
d1 VAR BYTE
d2 VAR BYTE
d3 VAR BYTE
d4 VAR BYTE
d5 VAR BYTE
d6 VAR BYTE
d7 VAR BYTE
d8 VAR BYTE
d9 VAR BYTE
d10 VAR BYTE
d11 VAR BYTE
d12 VAR BYTE
d13 VAR BYTE
d14 VAR BYTE
d15 VAR BYTE
d16 VAR BYTE
d17 VAR BYTE
d18 VAR BYTE
d19 VAR BYTE
d20 VAR BYTE
d21 VAR BYTE
d22 VAR BYTE
d23 VAR BYTE
d24 VAR BYTE
d25 VAR BYTE
d26 VAR BYTE
d27 VAR BYTE
d28 VAR BYTE
d29 VAR BYTE


TRISA=%00000000 '===BUTUN UCLAR===
TRISB=%00000000 '===CIKIS YAPILDI===

P1=5 '===TITREMEYI ENGELLEMEK LCLN===
i=0 '=== BU DEGER SABIT KALSIN===
i1=22 '===KAYMA HIZINI AYARLIYOR===
'===MEHMET karakterinin degiskenlere atanmasi===
d0=%00000000
d1=%01111111
d2=%00000010
d3=%00000100
d4=%00000010
d5=%01111111
d6=%00000000
d7=%01111111
d8=%01001001
d9=%01001001
d10=%00000000
d11=%01111111
d12=%00001000
d13=%00001000
d14=%01111111
d15=%00000000
d16=%01111111
d17=%00000010
d18=%00000100
d19=%00000010
d20=%01111111
d21=%00000000
d22=%01111111
d23=%01001001
d24=%01001001
d25=%00000000
d26=%00000001
d27=%01111111
d28=%00000001
d29=%00000000

BASLA:
i=i+1 'i YI BIR ARTTIR
IF i=i1 Then kaydir

PORTA=%11111110 'SUTUN 1 ICIN
PORTB=d1
Pause P1

PORTA=%11111101 'SUTUN 2 ICIN
PORTB=d2
Pause P1

PORTA=%11111011 'SUTUN 3 ICIN
PORTB=d3
Pause P1

PORTA=%11110111 'SUTUN 4 ICIN
PORTB=d4
Pause P1

PORTA=%11101111 'SUTUN 5 ICIN
PORTB=d5
Pause P1

GoTo BASLA

kaydir:
i=0
'===KAYDIRMA BASLIYOR===
d0=d1
d1=d2
d2=d3
d3=d4
d4=d5
d5=d6
d6=d7
d7=d8
d8=d9
d9=d10
d10=d11
d11=d12
d12=d13
d13=d14
d14=d15
d15=d16
d16=d17
d17=d18
d18=d19
d19=d20
d20=d21
d21=d22
d22=d23
d23=d24
d24=d25
d25=d26
d26=d27
d27=d28
d28=d29
d29=d0

GoTo BASLA
End Bu programa bektığımızda kaydırma işlemi dışında herşey yukarıda anlattığımız gibi olduğundan sadece kaydırmanın nasıl yapıldığını izah etmek istiyorum.
Bu programda kullanılan bazı değişkenlerin amacını öncelikle açıklamak gerekmektedir:
i değişkeni sayaç amacıyla kullanılmıştır.
i1 değişkeni kaç görüntü tekrarlandıktan saonra kaydırmanın yapılması gerektiğini belirtir. i1 değişkeni ile kayma hızını ayarlayabilirsiniz.
P1 değişkeni ise her sütunun ekranda ne kadar süre kalması gerektiğini yani bekleme aralığını belirtir. Bu değeri titreme sınırına yakın bırakmakta fayda var. Program büyüdükçe bu değerin ve i1 değişkeninin değerini gözden geçirmek gerekebilir.

i=i+1
IF i=i1 Then kaydir
Programda bulunan bu satırları şöyle hikaye edebiliriz. "Buraya kadar geldiysen kaydır'a git ve oradakileri gerçekleştir." i1 değişkeni için 22 atandığı için 22 kere karakteri gösterdikten sonra kaydırma işlemi yapılacaktır.
Şimdi ise kaydırma işleminin nasıl yapıldığını inceleyelim. Bu işlem çok basit. Öncelikle sayacı sıfırlıyoruz. Sonra değşkenleri birbiriyle yer değiştiriyoruz. Bu şekilde kaydırmayı ve yönünü tayin edebiliyoruz.
Bu programın PIC BASIC dosyasını indirmek için tıklayınız.
Programın HEX dosyasını indirmek için
tıklayınız. (Bu hex dosyanın çalışması için kristal ve reset dahili olarak kullanılmıştır.)

Buraya kadar anlattığımız şekilde yapılmış devrenin çalışmasını izlemek için tıklayınız (avi video dosyası).
Sayfa başına dön Aşağa gitmek
http://www.alem18.net.tc
 
PIC BASIC ile Kayan Yazı Yapalım
Sayfa başına dön 
1 sayfadaki 1 sayfası
 Similar topics
-
» CD 4017 Entegresi ile Kayan Yazı Devresi
» CMOS Entegrelerle Dijital 8x8 Kayan Yazı Grafik

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
 :: Elektronik & Teknoloji :: Multimedya Aygıtlar-
Buraya geçin: