|
Soru: Okul numaranýzýn son iki hanesine ait decimal
sayýnýn binary karþýlýðýný PIC16F84 entegresinin B portu çýkýþýnda ledlerle gözlenmesini
saðlayan programý microbasic programýnda yazarak programý uygulayan devreyi
kurup çalýþtýrýnýz.
Aþaðýdaki iþlem
basamaklarýný dikkatli bir þekilde uygulayarak sonuca ulaþacaðýz:
Ýþe programýn yazýlýmý sýrasýnda gerekli olacak okul numaranýzýn 74 olduðunu
varsayarak bu sayýnýn binary ve hexadecimal karþýlýklarýný hesaplayarak
baþlayalým.
|
Decimal (Onlu)
|
Binary (Ýkili)
|
Hexadecimal (Onaltýlý)
|
|
74
|
01001010
|
4A
|
|
|
|
|
|
Boþ haneleri kendi okul numaranýza uygun olarak
doldurunuz.
Portb’nin 8 çýkýþý olduðundan
binary karþýlýk 8 bit ile ifade edilmiþtir.
|
74 sayýsýnýn binary karþýlýðý portb çýkýþýnda lojik
olarak aþaðýdaki þekilde görüntülenecektir.
|
RB7
|
RB6
|
RB5
|
RB4
|
RB3
|
RB2
|
RB1
|
RB0
|
|
0
|
1
|
0
|
0
|
1
|
0
|
1
|
0
|
|
|
|
|
|
|
|
|
|
|
Boþ haneleri kendi okul numaranýza uygun olarak
doldurunuz.
|
MicroBasic Programýn kullanýmý ve programýn yazýlýmý:
|

|
MicroBasic programý çalýþtýrýlýr.
Açýlan pencerede kullanacaðýmýz mikrodetleyicinin
adý P16F84A ve kullanacaðýmýz osilatör frekansý ve 4 MHz olarak seçilir.
|
|
Yeni proje oluþturmak üzere üst menüden sýrasýyla
Project
New Project
týklanarak yeni açýlan pencerede
Next
týklanýr.
|

|
|

|
Next
týklanmasýyla beraber mevcut pencere kapanarak yeni bir pencere açýlýr. Bu
pencereyi kullanarak masa üstünde projemize ve kendi adýmýza ait bir klasör
oluþturacaðýz. Sýrasýyla
Browse
Masa üstü
Yeni klasör oluþtur
týklanýr.
Klasör ismi yazýlýp
Tamam
týklandýðýnda mevcut pencere kapanýr.
|
|
|
|
|

|
Project Name kýsmýna projemize ait bir isim yazýlýr.
Project folder bölümünü bir önceki iþlemi baþarý ile tamamlamýþ
iseniz program kendisi doldurur.
Device Name
bölümü de otomatik olarak program kendisi doldurur. Bu bölümdeki
mikrodenetleyici 16F84A deðilse düzeltilir.
Device Clock bölümü de program kendisi doldurmaktadýr. Ancak
kullandýðýmýz kristal frekansý 4 MHz olduðundan farklý bir deðer
görünüyorsa düzeltilir ve Next týklanýr.
|
|
Bu bölümü Next týklayarak geçiyoruz.
|

|
|

|
Bu bölümü Next týklayarak geçiyoruz.
|
|
Finish
týkladýðýmýzda projemize ait klasörü oluþturmuþ oluyoruz. Masa üstünde
ismimize ait leyla isimli klasörü açtýðýmýzda içerisinde þu
dosyalarýn bulunduðunu görürüz:
B portunda okul numaraný goster.cfg
B portunda okul numaraný goster.dct
B portunda okul numaraný goster.mbas
B portunda okul numaraný goster.mbppi
B portunda okul numaraný goster.user.dic
Buraya kadar olan iþlemleri baþarý ile tamamladýðýmýzda bu 5 dosyayý
program kendisi oluþturmaktadýr.
|

|
|
|
|
|

|
Metin editörüne baktýðýmýzda projemizin ismini
programýn otomatik olarak metin editörüne program komutundan sonra
iþlediðini görürüz. Ýsterseniz bu ismi kelimeler arasýndaki alt çizgiler
kalmak ve Türkçe karakterleri (Ç, ç, Ð, ð, ý, Ý, Ö, ö, Ü, ü) kullanmamak
þartýyla deðiþtirebilirsiniz.
En baþtaki program kelimesi programýn ilk
komutudur ve bu kelimeden sonra da yanýna bir boþluk býrakýlarak programýn
ismi yazýlý olmalýdýr.
|
|
' Declarations section ve ' Main program yazan satýrlar
bilgilendirme amaçlýdýr. Bu satýrlarý silebilir ya da en baþtaki ' (kesme)
iþareti kalmak þartýyla farklý açýklamalar yazabilirsiniz. Kesme
iþaretinden sonra yazýlan yazýlarýn programýn çalýþmasýna bir etkisi
yoktur. Program kodlarý yazýlýrken ya da incelenirken yanýnda bulunan
program komutlarýna ait açýklamalar yazabilme amacýyla kullanýlýr. Ana
program main: ile end yazan satýrlar arasýna yazýlýr.
|
|
Editördeki gereksiz açýklamalarý silerek
programýmýzý yazmaya baþlayabiliriz.
|

|
|

|
Programýn editöre yazýlmasý
|
|
|
|
|
|
trisb=0 ya da trisb=1 ne anlama geliyor?
|
|
trisb=0
|
trisb=1
|
|
B portunu çýkýþ yap.
|
B portunu giriþ yap.
|
Ayný iþlevi yerine getiren programý aþaðýdaki örneklerde görüldüðü gibi 2
deðiþik þekilde daha yazabilirdik.
|
program
B_portunda_okul_numarani_goster
main:
trisb=0
portb=%01001010
end.
|
' program baþlangýcý
' Ana program baþlangýcý
' b portu çýkýþ yapýldý
' Okul no binary olarak
girildi
' Program sonu
|
Çýkýþlarýn binary sayý sisteminde ifade
edilmesiyle hazýrlanmýþ program.
|
|
|
|
|
program
B_portunda_okul_numarani_goster
main:
trisb=0
portb=$4A
end.
|
' program baþlangýcý
' Ana program baþlangýcý
' b portu çýkýþ yapýldý
' Okul no binary olarak
girildi
' Program sonu
|
Çýkýþlarýn hexadecimal sayý sisteminde ifade
edilmesiyle hazýrlanmýþ program.
|
|
|
|
|
program
B_portunda_okul_numarani_goster
main:
trisb=0
portb=74
end.
|
' program baþlangýcý
' Ana program baþlangýcý
' b portu çýkýþ yapýldý
' Okul no binary olarak
girildi
' Program sonu
|
Çýkýþlarýn decimal sayý sisteminde ifade
edilmesiyle hazýrlanmýþ program.
|
Programýn yazýlýmý
tamamlandý kaydet ikonuna týklayarak projemizi kaydediyoruz. Dosyamýz masa
üstünde leyla ismindeki klasörün içindeki B portunda okul numaraný
goster.mbppi isimli dosyadýr. Ancak programý mikrodenetleyiciye
aktarmadan önce mbppi uzantýlý dosyamýzý derleyerek hex
uzantýlý dosya haline getirilmesi gerekir. Bunun için programýmýzýn Build
menüsü altýndaki Build sekmesine ya da üst menüdeki build
ikonuna týklayarak hazýrlamýþ olduðumuz programý derliyoruz. Derleme iþlemi
neticesinde program otomatik olarak leyla klasörünün içine B portunda okul
numaraný goster.hex isminde hex uzantýlý dosya oluþturacaktýr.

MicroBasic programýnýn
yazýlýmý ve derleme iþlemi tamamlanmýþtýr. Bundan sonraki aþama oluþturmuþ
olduðumuz hex uzantýlý dosyadaki program komutlarýný MicroPro programý
ile mikrodenetleyiciye yüklemek.
MicroPro Programýnýn
Kurulumu ve Kullanýlmasý
Pic programlama kartý bilgisayara baðlanýp, MicroPro
programý bilgisayara kurulur. Programlama kartýnýn takýlý olduðu comport
programa tanýtýlýr.

File Menüsü: Bu menüden yükleme (Load), kopyalama (Save), baþka
bir dosyayla birleþtirme (Merge), yenileme (Refresh), ekraný temizleme
(Clear) gibi iþlemler yapýlabilir.
Load: Bu seçenek veya Load butonu PIC’e
yazdýrýlacak olan programý yüklemek için kullanýlýr.
Programmer: Bu seçenek elinizde bulunan programlayýcý
software’i seçmeniz için kullanýlýr. Örneðin K149-A programlayýcýnýz varsa
K149-A seçmelisiniz. PAM. Bu iþlem normal olarak MicroPro açýkken
programlayýcýyý (PAM) bilgisayarýnýza baðladýðýnýzda otomatikman seçilir.
Port: Bu seçenekle COM port seçimini
deðiþtirebilmek için bir iletiþim penceresi açýlýr. Seri port MicroPro
ekranýnýn sol alt köþesindeki COMx yazýsý üzerine çift týklamak suretiyle de
yapýlabilir. COM port seçimi doðru yapýldýysa açýlan pencerede COM
kelimesinin hemen yanýnda numarasý da görülecektir. Port seçimi doðru
yapýlmadýðýnda COMx görülecek ve hata mesajý görüntülenecektir. Bazen COM
port doðru seçilmiþ görülse bile program donanýmý bulamayabilir. Bu durumda
iletiþim penceresinde görülen portta baþka bir donaným baðlý olabilir.
Örneðin pencerede görüldüðü halde siz donanýmý COM2’ye baðlamýþ
olabilirsiniz.
Turn Serial Off: MicroPro programý kapatýlmadan seri portu
baþka bir donanýmýn kullanýlabilmesi için seri portu serbest býrakmak için
kullanýlýr.
Programmer Menüsü: Bu menüde ise PIC’i programlama, okuma,
karþýlaþtýrma, silme, sigortalarý belirleme ve osilatör seçme iþlemleri
yapýlmaktadýr. Bu iþlemler aþaðýda görüldüðü MicroPro ekranýndan da
yapýlabilir.
Program: Micropro belleðine yüklenmiþ
olan program kodlarýný PIC’e yüklenmesi için ilgili çýkýþ portuna gönderir.
Read: Chip selector listesinden uygun PIC seçildikten sonra
read butonuna týklandýðýnda PIC’te yazýlý olan program okunur ve MicroPro
ekranýnda görüntüler. Ýstenirse bu kodlar kaydedilebilir. Eðer PIC kod
korumalý (code protected) ise ekranda 0000 verileri görüntülenir.
Verify: Chip selector listesinden uygun chip seçildikten
sonra verify read butonuna týklandýðýnda PIC’te yazýlý olan program ile
MicroPro ekranýndaki program karþýlaþtýrýr. Karþýlaþtýrma neticesinde hatalar
varsa bu bir pencere içerisinde görüntülenir.
Blank: Menüden blank seçildiðinde veya blank butonuna
týklandýðýnda aþaðýdaki þekildeki pencere açýlýr. “Erase Check” seçilirse
donaným üzerindeki sokete takýlý bulunan PIC‘in boþ olup olmadýðýný kontrol
eder, yeni açýlan bir pencerede silinmiþ ve silinmemiþ olan yerleri belirtir.
Erase chip seçilirse PIC içerisindeki kodlarý siler, silindiðini belirten
pencere görülür. Silinmiþ bir PIC tekrar okunduðunda ekranda görülen veriler
3FFF’dir.
OSCAL : Bazý PIC’lerde dahili osilatör
bulunmaktadýr, örneðin PIC 16F675. Bu osilatör aktif yapýlarak harici bir
osilatör elemanlarýndan tasarruf edilmektedir. Dahili osilatörün ürettiði
sinyalin frekansý chip’ten chip’e çok az da olsa farklýlýk göstermektedir. Bu
nedenle kalibrasyonu saðlamak için PIC’in içerisinde özel bir adres içerisine
kalibrasyon verisi yazýlmak suretiyle osilatöre donanýmsal olarak müdahale
edilerek istenen frekansta osilasyon saðlanýr. OSCAL seçeneðin silinmesi veya
yeniden yazýlmasý için kullanýlýr. Normal olarak bu tip PIC’lere üretim
esnasýnda yazýlan OSCAL deðeri kesinlikle deðiþtirilmemesi gerekir. Aksi
takdirde PIC gerekli tam doðru osilasyon frekansý ile çalýþmaz. Bu deðerin
doðruluðundan þüphe edilmesi durumunda müdahale edilebilir. Bu seçenek sadece
seçilen chip’in bu özelliði varsa aktif olur.
Cancel: Bu seçenekle gerçekleþtirilmekte olan tüm Micropro
iþlemlerini durdurur. Ayný iþlem ekranýn sað alt köþesindeki butonla da
yapýlabilir.
Reset Vector: Bu seçenek F serisi bazý PIC’lerde reset
vektör adý verilen adrese veri yazmak için veya okumak için kullanýlýr. Reset
vektörüne yazýlamayacak PIC’lerde bu seçenek aktif deðildir. Bu konuda
detaylý bilgi için ilgili PIC’in datasheet’ine bakýnýz.
Reset programmer: Bu seçenek programlayýcý soketine yakýlý
olan PIC’in MCLR ucunu 200 mS süreyle 0V (Low) yapar. Bu PIC’in reset
yapmasýna neden olur. Eðer reset iþlemi baþarýlý olduysa Micropro programýnda
“Board connected” mesajý görülür.
Fuses: Bu seçenek PIC’lerin sigorta (fuse) olarak adlandýrýlan
bazý donanýmsal özelliklerinin belirlenmesinde kullanýlýr. PIC
programlandýðýnda bu sigorta bilgileri PIC’in bu iþ için ayrýlmýþ özel
adreslerine yazýlýr. Fuse seçenekleri, osilatör tipi, watchdog timer’ýn açýk
veya kapalý tutulmasý, power-up timer’ýn aktif veya pasif durumda oluþu gibi
donanýmsal bilgileri içerir. Sigorta seçeneklerinin neler olduðu PIC’ten
PIC’e deðiþir. Bu nedenle kullanýlan PIC’in datasheet’i veya bu konuda
hazýrlanmýþ kitaplara baþvurmanýz tavsiye edilir. Sigorta verileri kaynak
program içerisinde yazýlmadýðýnda, PIC’i programlamak için program butonuna
týklandýðýnda bir uyarý penceresi gelir. Bu pencerede, sigortalarýn default
(programýn belirlediði deðerler) deðerlere ayarlandýðýný, bu deðerleri
deðiþtirip deðiþtirmek istemediðiniz sorulur. Programlamaya baþlamadan önce
bu deðerleri kendi seçiminize göre ayarlamak istiyorsanýz YES butonuna
basmanýz gerekir. Programýn kabul ettiði deðerlerin aynen yazýlmasýný
isterseniz NO butonuna basmanýz gerekir. Sigorta deðerlerini kaynak program
içerisinde yazdýysanýz uyarý penceresi ekrana gelmeden direkt olarak
programlamaya geçilecektir. Örneðin PIC16F628A chip’inin sigorta verilerinin
ne olduðunu aþaðýdaki þekli vererek inceleyelim: Bu penceredeki disable
konfigürasyon bilgisinin pasif durumda, enable ise aktif durumda olacaðýný
belirler. Oscillator liste kutusunu açtýðýnýzda seçilen PIC’e baðlanabilecek
osilatör seçenekleri listelenir. Uygun osilatör üzerine týklanarak seçim
yapýlýr.
Options Menüsü: Bu menüde kullanýlan seçeneklerin birkaçý
kullanýcýnýn seçimine baðlý olarak aktif veya pasif yapýlabilecek
seçeneklerdir. Örneðin Ignore blank check, Auto update Files, Auto program
bunlardan bazýlarýdýr. Bu seçeneklerin aktif veya pasif olduðunu göz ile
seçmek biraz zordur. Bunun için seçeneklerin solunda bulunan simgelere
bakýnýz. Simge görünümü gömülü biçimdeyse seçenek aktif, simge normal
görünümde ise pasiftir.
Hex uzantýlý dosyanýn
mikrodenetleyiceye yüklenmesi:
|

|
MicroPro programý çalýþtýrýlarak load
týkanýr ve açýlan pencereden projemize ait MicroPro programý ile
oluþturduðumuz hex uzantýlý dosya açýlýr. Chip selector bölümünden
kullanacaðýmýz mikrodenetleyici 16F84A olarak seçilir.
Fuses
týklanarak açýlan pencereden gerekli ayarlamalar aþaðýda görüldüðü gibi
yapýlýr.
WDT: Enabled
PWRTE: Disabled
Oscilator: XT
Code Protect: Disabled
|
|
Program
butonuna týklanýr. Þekildeki gibi gelen uyarýya yes cevabý verilir.
|

|
|

|
Bu aþamada program mikrodenetleyice
yüklenmektedir. Yükleme iþlemi tamamlandýðýnda Programming complete
þeklinde uyarý gelir. Bundan sonra programlama kartýnýz üzerinde
mikrodenetleyicideki programýn çalýþýp çalýþmadýðýný programlama kartý
üzerinde test edebilirsiniz.
|
|
|
|
Tekopic2
mikrodenetleyici programlama kartýnýn kullanýlmasý:










Devre þemasýnýn
hazýrlanmasý:
Öncelikle PIC16F84’ün asgari donaným yapýsý çizilir daha sonra da B portu
çýkýþlarýna aþaðýdaki þekilde görüldüðü gibi çýkýþlarý gözlemlemek üzere led
baðlantýlarý çizime ilave edilir.

Ýþlem Basamaklarý:
- Sayý sistemlerinin
birbirine dönüþümü hakkýnda öðrendiðiniz bilgileri tekrar edip, ilk
sayfada verilmiþ olan 2 tablodaki boþ yerleri doldurunuz.
- Okul numaranýzýn son 2
rakamýný B portunda binary sayý formatýnda görüntüleyen programý
MicroBasic programýnda yazýp derleyiniz.
- Derlediðiniz programý
PIC16F84A mikrodenetleyicisine yükleyiniz.
- Programladýðýnýz
mikrodenetleyicideki programý pic programlama kartýnda çalýþtýrýnýz.
- Devre þemasýný deney
bordu üzerine kurup çalýþtýrýn.
|