Elektrik Elektronik Teknolojisi Alan Temrinleri

 
Hogeldiniz Ziyareti. Ltfen giri yapn veya kayt olun.

Kullanc adnz, ifrenizi ve aktif kalma sresini giriniz

Mikrodenetleyiciler Dersi Temrinleri / Led Uygulamasý 1

Temrin No: 9

ÝSTENÝLEN ÇIKIÞLARA BAÐLANAN LEDLERÝ YAKMA

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ý:

  1. Sayý sistemlerinin birbirine dönüþümü hakkýnda öðrendiðiniz bilgileri tekrar edip, ilk sayfada verilmiþ olan  2 tablodaki boþ yerleri doldurunuz.
  2.  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.
  3. Derlediðiniz programý PIC16F84A mikrodenetleyicisine yükleyiniz.
  4. Programladýðýnýz mikrodenetleyicideki programý pic programlama kartýnda çalýþtýrýnýz.
  5. Devre þemasýný deney bordu üzerine kurup çalýþtýrýn.

 

 

 

 

 

 

 

DEÐERLENDÝRME

Adý soyadý

Ýþlem Basamaklarý

Tertip düzen

Ýþ güv.

Süre

Toplam

1

2

3

4

5

 

10

20

20

15

20

5

5

5

100

 

 

 

 

 

 

 

 

 

Temrin sayfasýný bilgisayarýnýza indirmek için buraya týklayýnýz.