You are on page 1of 64

T.C.

MLL ETM BAKANLII

MEGEP
(MESLEK ETM VE RETM SSTEMNN GLENDRLMES PROJES)

BLM TEKNOLOJLER

MKRODENETLEYCLER 1

ANKARA 2007

Milli Eitim Bakanl tarafndan gelitirilen modller; Talim ve Terbiye Kurulu Bakanlnn 02.06.2006 tarih ve 269 sayl Karar ile onaylanan, Mesleki ve Teknik Eitim Okul ve Kurumlarnda kademeli olarak yaygnlatrlan 42 alan ve 192 dala ait ereve retim programlarnda amalanan mesleki yeterlikleri kazandrmaya ynelik gelitirilmi retim materyalleridir (Ders Notlardr). Modller, bireylere mesleki yeterlik kazandrmak ve bireysel renmeye rehberlik etmek amacyla renme materyali olarak hazrlanm, denenmek ve gelitirilmek zere Mesleki ve Teknik Eitim Okul ve Kurumlarnda uygulanmaya balanmtr. Modller teknolojik gelimelere paralel olarak, amalanan yeterlii kazandrmak koulu ile eitim retim srasnda gelitirilebilir ve yaplmas nerilen deiiklikler Bakanlkta ilgili birime bildirilir. rgn ve yaygn eitim kurumlar, iletmeler ve kendi kendine mesleki yeterlik kazanmak isteyen bireyler modllere internet zerinden ulalabilirler. Baslm modller, eitim kurumlarnda rencilere cretsiz olarak datlr. Modller hibir ekilde ticari amala kullanlamaz ve cret karlnda satlamaz.

NDEKLER
AIKLAMALAR ...................................................................................................................iii GR ....................................................................................................................................... 1 RENME FAALYET1 .................................................................................................... 3 1. MKRODENETLEYC VE DONANIM SEM YAPMAK ........................................... 3 1.1. Mikrodenetleyici ........................................................................................................... 3 1.1.1. Mikroilemci Nedir................................................................................................ 3 1.1.2. Mikrodenetleyici Nedir.......................................................................................... 4 1.1.3. Programlama in Nelere Gereksinim Vardr........................................................ 5 1.1.4. Mikrodenetleyici eitleri ..................................................................................... 5 1.1.5. Mikrodenetleyici Yaps ........................................................................................ 6 1.1.6. Bellek eitleri ...................................................................................................... 7 1.2. Mikrodenetleyicide Yazm Dili .................................................................................... 8 1.2.1. Saylarn Tipi ......................................................................................................... 8 1.2.2. Binary Digit(Hane) Nedir ...................................................................................... 8 1.2.3. Hexadecimal Digit(Hane) Nedir? .......................................................................... 8 1.2.4. Binary, Decimal ve Hexadecimal Saylarn Dnm ........................................ 9 1.2.5. Komutlarn Yazl Biimi?................................................................................. 10 1.3. Mikrodenetleyici Yaps.............................................................................................. 14 1.3.1. Besleme Gerilimi ................................................................................................. 14 1.3.2. Clock Dzeni ve Osilatr eitleri ...................................................................... 14 1.3.3. Reset Ular ve Reset Devresi ............................................................................. 15 1.3.4. Komut Ak ........................................................................................................ 15 1.3.5. Yazmalar............................................................................................................ 16 1.3.6. Program Bellei ................................................................................................... 18 1.3.7. Veri Bellei.......................................................................................................... 19 1.3.8. I/O Portlar........................................................................................................... 19 UYGULAMA FAALYET .............................................................................................. 20 LME VE DEERLENDRME .................................................................................... 21 RENME FAALYET2 .................................................................................................. 22 2. MKRODENETLEYC PROGRAMLAMA KARTINI YAPMAK ................................ 22 2.1. Programlama Kart...................................................................................................... 22 2.1.1. Programlama Devresinin Yapm ........................................................................ 22 2.1.2. Balant Kablosunun Yapm .............................................................................. 25 UYGULAMA FAALYET .............................................................................................. 26 LME VE DEERLENDRME .................................................................................... 28 RENME FAALYET3 .................................................................................................. 29 3. MKRODENETLEYC PROGRAMLAMA EDTRN KULLANMAK ................. 29 3.1. Elektronik Devre izim Program ile Denetleyici ...................................................... 29 3.1.1. izim Programnn Kurulmas............................................................................. 29 3.1.2. Denetleyici ile Devre Oluturulmas.................................................................... 32 3.1.3. Derlenmi Programn Denetleyiciye Tantlmas ................................................ 35 3.1.4. izim Programnda Programn Denenmesi ......................................................... 35 3.2. Mikrodenetleyici Program Editrnn Kurulumu ...................................................... 38 3.2.1. Derleyici Editrn Yklenmesi ........................................................................... 38 3.2.2. Editrn Ayarlarnn Yaplmas .......................................................................... 43 3.2.3. Editrn zellikleri ............................................................................................. 44 i

3.2.4. Denetleyiciye Yklenecek Programn Derlenmesi ve Denenmesi ...................... 46 3.2.5. Denetleyiciye Yklenecek Programn Derlenmesi ve Denenmesi ...................... 50 3.2.6. Denetleyiciye Yklenecek Programn Derlenmesi ve Denenmesi ...................... 51 UYGULAMA FAALYET .............................................................................................. 52 LME VE DEERLENDRME .................................................................................... 54 MODL DEERLENDRME .............................................................................................. 55 CEVAP ANAHTARLARI ..................................................................................................... 56 NERLEN KAYNAKLAR.................................................................................................. 57 KAYNAKA ......................................................................................................................... 58

ii

AIKLAMALAR AIKLAMALAR
KOD ALAN DAL/MESLEK MODLN ADI MODLN TANIMI SRE N KOUL YETERLK 523EO0191 Biliim Teknolojileri Bilgisayar Teknik Servisi Mikrodenetleyiciler 1 Mikrodenetleyicilerin tannmas ilikin renme materyalidir. 40/32 Mikro denetleyici programlama kartn yapmak Genel Ama Mikrodenetleyici devre elemanlarn tanyacak ve denetleyiciye uygun yazlmlar gelitirebileceksiniz. Amalar Mikrodenetleyicileri tanyacak ve yapacanz ie uygun denetleyiciyi seebileceksiniz. Mikrodenetleyici programlama kart hazrlayabileceksiniz. Mikrodenetleyici programlama editrn kullanabileceksiniz. PIC mikrodenetleyici deney setleri, alr vaziyette bir bilgisayar. Uygulamal olarak laboratuvar ortamnda ilenmelidir. Her faaliyet sonrasnda o faaliyetle ilgili deerlendirme sorular ile kendi kendinizi deerlendireceksiniz. Modl iinde ve sonunda verilen retici sorularla edindiiniz bilgileri pekitirecek, uygulama rneklerini ve testleri gerekli sre iinde tamamlayarak etkili renmeyi gerekletireceksiniz. Srasyla aratrma yaparak, grup almalarna katlarak ve en son aamada alan retmenlerine danarak lme ve deerlendirme uygulamalarn gerekletiriniz. ve kullanmna

MODLN AMACI

ETM RETM ORTAMLARI VE DONANIMLARI

LME VE DEERLENDRME

iii

iv

GR GR
Sevgili renci, Teknolojinin hzla ilerledii bu zamanda, gnmz modern toplumlar bilgisayar teknolojisini hayatn her alannda uygulamaya geirmi ve azami fayda salamaya almaktadr. zellikle endstriyel otomasyonda bilgisayarlar nemli bir yer kaplamaktadr. te endstrideki bu otomasyon ilemlerinin nemli bir blm mikrodenetleyiciler ile yaplmaktadr. Mikrodenetleyiciler ile kontrol edilmeyen cihaz yok denecek kadar azdr. yle ki bilgisayar teknolojisi mikrodenetleyiciler ile birlikte amar makinemizin iine kadar girmitir. Bu noktada gncelliini koruyan mikrodenetleyiciler ile endstride ok basit ama etkili devreler retmek bizim iin nemli hedeflerden biridir. Modl sonunda edineceiniz bilgi ve beceriler ile mikrodenetleyicileri tanyacak onlar programlamay, programlarken kullanlacak editrleri ve yazlm tabanl simlatrleri reneceksiniz. Gene ayn ekilde mikrodenetleyiciyi alr hale getirmek iin gerekli donanmlar ve bu kk devreler iine hazrlanan yazlmlarn yklenmesi iin gerekli olan bilgiye ulaacaksnz. Bunun yan sra mikrodenetleyiciler ile basit saysal devreler hazrlayp temellerini reneceksiniz.

RENME FAALYET1 RENME FAALYET1


AMA
Mikrodenetleyicileri tanyacak ve ihtiyaca uygun olarak mikrodenetleyici seimini yapabileceksiniz.

ARATIRMA
Bu faaliyet ncesinde yapmanz gereken ncelikli aratrmalar unlardr: Gnmzde yaygn olarak kullanlan mikrodenetleyici eitlerini aratrnz. Mikrodenetleyicilerin tarihsel geliim srecini aratrnz ve elde ettiiniz bilgileri snf ierisinde arkadalarnzla tartnz. RISC (Reduced Instruction Set Computer) ilemcileri ile CISC (Complex Instruction Set Computer) ilemcileri arasndaki avantaj ve dezavantajlar aratrarak snf ierisinde tartnz. Mikrodenetleyicilerin fiziksel yapsn inceleyiniz ve mikrodenetleyici kullanlarak yaplan devrelerin dier devrelere gre fiziksel yapsn karlatrnz Aratrma ilemleri iin bilgisayar laboratuvarnda veya ev ortamnda bulunan hazr bir bilgisayar ve internet ortamn kullannz.

1. MKRODENETLEYC VE DONANIM SEM YAPMAK


1.1. Mikrodenetleyici
1.1.1. Mikroilemci Nedir
Mikroilemci, temelde bilgisayarn tm ilemleri yapmasn salayan, halk tabiri ile bilgisayarn beyni olarak nitelendirilebilecek hesaplama, karar verme ve ynetim mekanizmasdr. Bir mikro ilemcinin zerinde mantk kaplarnn bileiminden oluan ve eitli ilevleri yrtmeye yarayan birimler bulunur. Bu birimler arasnda aritmetik-mantk birimi, kontrol birimi, girdi-kt ve kk bir miktar bellek vardr. Bu temel birimlerin dnda mikro ilemcinin kullanm alanna bal olarak farkl grevlerde zellemi birimler de 3

bulunabilir. Ancak bir mikro ilemcinin ana ilevlerini yerine getirebilmesi iin temel birimler yeterlidir. Bir mikroilemci ounlukla kendisine balanacak baz entegre devrelerle birlikte almak iin tasarlanr. rnein mikroilemcinin altraca programn ve kullanaca verinin ykl olduu, yazlabilir ve okunabilir, hzl bir bellek birimi (genellikle RAM) ve sisteme g verilmezken program saklayabilecek bir bellek birimi (genellikle bir eit ROM) mikroilemcilerin olmazsa olmaz evre birimleridir. Bunun dnda, mikroilemciler genellikle elektronik devrelerde kontrol mekanizmas grevinde bulunduklar iin kontrol edecekleri cihazlarla da balant kurmalar gerekecektir.

Resim 1.1: Bir Mikroilemci

Resim 1.2 Bir Mikrodenetleyici

1.1.2. Mikrodenetleyici Nedir


Mikrokontrolrler (mikrodenetleyiciler) tek bir silikon yonga stnde birletirilmi bir mikroilemci, veri ve program bellei, saysal (lojik) giri ve klar (I/O), analog giriler ve daha fazla g veren ve ilev katan teki evre birimleri (zamanlayclar, sayalar, kesiciler, analogtan saysala eviriciler, vb.) barndran mikrobilgisayarlardr. En basit mikrokontrolr mimarisi bir mikroilemci, bir bellek ve giri ve ktan (I/O) oluur. Mikroilemci merkezi ilemci nitesi (CPU - Central Processing Unit) ve bir kontrol nitesinden (CU - Control Unit) oluur. CPU mikroilemcinin beynini oluturur, aritmetik ve mantksal ilemlerin gerekletirildii yerdir. CU kontrol nitesi mikroilemcinin dahili ilemlerini kontrol eder ve istenen komutlar yerine getirmek iin kontrol sinyallerini dier blmlere gnderir. Grld gibi mikroilemci ile mikrodenetleyici birbirine yakn teknolojiler olmakla birlikte en nemli farklar mikrodenetleyicilerin kendi zerinde belleklerini ve evre birimlerini bulundurmasdr. Bu sebeple ok yksek hafza, hz ve ilem yeteneinin gerekmedii durumlarda mikrodenetleyiciler tercih edilir.

1.1.3. Programlama in Nelere Gereksinim Vardr


Mikrodenetleyicileri programlamak iin iki nemli eye ihtiya vardr. Birincisi mikrodenetleyicinin yapsna uygun bir programlayc devre, ikincisi de bu devreye hazrladnz derlenmi program aktaracak bir yazlm. Programlayc Donanm: ekil 1.1de PIC16F84 mikrodenetleyicisi iin hazrlanm seri porttan haberleen basit bir devre greceksiniz.

ekil 1.1: Basit bir programlayc devre emas

Programlayc Yazlm: Mikrodenetleyicilere hazrladnz program ykleyebilmek iin mikrodenetleyicinin yapsna uygun bir elektronik devre ve bu devreye gre hazrlanm bir programa ihtiya vardr. Birok PIC mikrodenetleyicisi iin hazrlanm programlayc devreler iin MPLAB program paketinin ierisinde programlayc mevcuttur ancak yinede bunun dnda kendine has yazlmlar mevcuttur. ekil 1.1deki kullanabilirsiniz. programlayc devre iin aada linkte verilen yazlm

http://people.freenet.de/dl4yhf/winpic/winpicpr.zip

1.1.4. Mikrodenetleyici eitleri


Temelde mikroilemci mimarisi iki eittir. Bunlar RISC (Reduced Instruction Set Computer: Azaltlm komut seti) tabanl ilemciler ve CISC (Complex Instruction Set Computer: Karmak komut seti) tabanl ilemcilerdir. Mikrodenetleyicilerin de ayn ekilde RISC ve CISC mimarisine gre trleri vardr. Yaygn olarak kullanlan mikrodenetleyiciler mimari adan bu iki ilemci snfndan birine aittir.

retici firma bakmndan ise bilinen ok sayda mikrodenetleyiciler vardr. Bunlar; Microchip firmasnn PIC mikrodenetleyicileri (RISC), Intel firmasnn MCS51 (8051) mikrodenetleyicileri (CISC) Atmel firmasn AVR mikrodenetleyicileri (RISC) Motorola FreeScale mikrodenetleyicileri ve daha birok firmann burada sayamayacamz kadar ok eitleri olan denetleyicileridir. adresinden eitli

http://www.cpupages.com/store/index.php internet mikrodenetleyiciler ile ilgili baz temel bilgilere ulaabilirsiniz.

1.1.5. Mikrodenetleyici Yaps


Mikrodenetleyiciler yaplar birbirinden farkl olmakla birlikte temelde ok fazla benzerlikler ierir. ekil 1.2de PIC mikrodenetleyicilerinden PIC16F84 i yaps verilmitir.
Serbest Program Saycs Veri Hafzas RAM Program Hafzas EEPROM

Veri Hafzas EEPROM

ekil 1.2: Basit bir mikrodenetleyici blok emas

Grld gibi mikrodenetleyicilerde hemen hemen tm evre birimler denetleyici ierisinde yer almaktadr. Yaplacak iin niteliine gre hazrlanacak cihazlarda ek devreler kullanlabilir ancak PIC mikrodenetleyici almak iin ek hibir devreye ihtiya duymayacaktr.

1.1.6. Bellek eitleri


Bellekler eitli zelliklere gre snflandrlabilmektedir. Fiziksel Yaplarna Gre Bellekler: Elektronik bellekler (RAM, ROM, Flash vs.) Elektromanyetik bellekler (disket, sabit disk vs.) Mekanik bellekler (delikli kart vs.) Optik bellekler (CD-ROM, DVD-ROM vs.) Veri Saklama ekline Gre Elektronik Bellekler. RAM (Random Access Memory) : Geici belleklerdir. Devrenin enerjisi kesilirse iindeki bilgiler kaybolur. Veriler istenildii gibi deitirilebilir ve silinebilir. ROM (Read Only Memory) : Kalc belleklerdir. Enerji kesildiinde bilgileri saklamaya devam eder. indeki veriler hibir suretle silinemez ve deitirilemez. EEPROM (Electricaly Erasable Programmable ROM) : Kalc belleklerdir. Enerji kesintisinde bilgileri saklamaya devam ederler. Ancak istenildii zaman belli yntemler ve devreler sayesinde iindeki bilgiler silinip deitirilebilmektedir. Flash bellek: Bu tr bellekler tpk EEPROM bellekler gibidir ancak ok daha hzl ve yksek kapasiteli olabilmektedir. Gnmzde memorystick ve pendrive gibi eitli isimlerle anlan tanabilir bellek olarak karmza oka kmaktadrlar. Veri saklama ekline Gre Optik Bellekler: CD-ROM (Compact Disk Read Only Memory): Bilgi kaydedilemeyen, sadece okunabilen CD (Compact Disk) eididir. indeki bilgiler deitirilemez ve silinemez. CD-R (Compact Disk Recordable): eriine bilgi yazlabilen ancak yazlan bilgiler silinemeyen ve deitirilemeyen CD eididir. CD-RW (Compact Disk Rewritable): Tekrar tekrar bilgi yazlabilen CD trdr. indeki bilgiler eitli yntemlerle silinebilmektedir. Tekrar yazlabilmesi iin diskin tamamen silinmesi gerekir. DVD-ROM (Digital Versatil Disk ROM): CD-ROM yerine kullanlabilecek ok daha yksek kapasiteli optik medya formatdr. DVDR (DVD-Recordable): CD-R yerine kullanlabilecek yksek kapasiteli optik medya format. DVDRW (DVD-Rewritable): CD-RW yerine kullanlabilecek yksek kapasiteli optik medya format. DVD+RAM (DVD Random Access Memory): DVDRW gibidir ancak, iindeki bilgileri deitirmek iin diskin tamamnn silinmesi gerekmez. Bilgiler istenildii gibi silinir ve deitirilir.

Elektromanyetik Belekler

Bu tr bellekler bilgileri eitli tekniklerle manyetik ortamda saklar ve ierisindeki bilgiler istenildii gibi deitirilebilmekte ve silinebilmektedir. Enerji kesintisinde bilgileri saklamaya devam eder yani kalc bir bellek trdr. Mekanik Bellekler

(Artk gnmzde kullanlmamaktadr).Mikrodenetleyiciler ierisinde RAM bellek ve ROM bellek yerinede daha gelitirilmi bir bellek tr olan EEPROM ya da flash bellek bulunmaktadr. Mikrodenetleyici iyapsna bakldnda nemli hafza gze arpar. Program Memory (Program kodlarnn bulunduu bellek) EEPROM bellek trndedir. Data memory ise iki ksmdr. Geici verilerin tutulduu RAM ve srekli verilerin ve sabit deerlerin tutulduu EEPROM bellek. Mikrodenetleyiciler ierisinde bu bellek dnda mikrodenetleyici ekirdeinde yer alan Registers (yazmalar) vardr. Bunlar denetleyici trne gre farkl olmakla birlikte PIC denetleyicilerinde RAM bellek iinde yer alrlar.

1.2. Mikrodenetleyicide Yazm Dili


1.2.1. Saylarn Tipi
Mikrodenetleyicilerde program gelitirirken tr veri tipi kullanlr. Binary (ikili): 0 ve 1 deeri dnda deer alamaz. En kk veri tipidir. Hexadecimal (on altl): 0-9 aras rakamlar ve A-F aras harflerden oluan toplam 16 farkl deer alabilmektedir. PIC microdenetleyicisinde her bir bellek adresi 8 bit uzunluunda 2 haneli onaltl saylar saklayabilmektedir. Decimal (onlu): 0-9 aras rakamlardan oluan 10 farkl deer alabilen veri trdr.

1.2.2. Binary Digit(Hane) Nedir


kili say sisteminde ifade edilen saynn her bir basama bir binary digit olarak deerlendirilir. Binary digitler 0 ya da 1 deeri dnda deer alamazlar. Binary digitlere ksaca bit denilir. rnein PIC mikrodenetleyici iin hazrlanm bir programda u tr bit komutlarna rastlamak mmkndr.
BCF 0x03, 5 ; 03 Hex adresindeki verinin 5. bitini 0 yap;

1.2.3. Hexadecimal Digit(Hane) Nedir?


On altl say sisteminde ifade edilen verilerin her bir basama hexadecimal digit olarak adlandrlr. PIC microdenetleyicisinde on altl bir saynn kullanm u ekilde olabilir. MOVLW 0xA0 ; Akmlatre (W Yazmac) A0 onaltl saysn ykle. 8

1.2.4. Binary, Decimal ve Hexadecimal Saylarn Dnm


1. Binary Decimal dnm: kili say sisteminden onlu say sistemine dnm iin her bit, bit deerlii ile arplarak bu arpmlar toplanmaktadr. Bu durum ekil 1.3te izah edilmitir. Ayn ekilde onlu say sisteminden ikili say sistemine gei iin ise say srekli ikiye blnerek kalanlar yan yana yazlr. Bu ekil 1.4te izah edilmitir.

ekil 1.3: Binaryden Decimale gei

ekil 1.4: Decimalden Binarye gei

2. Binary Hexadecimal dnm: kili say sisteminden on altl say sistemine geite her drt bitin hex deeri hesaplanarak yan yana yazlr. Ayn ekilde on altl say sisteminden ikili say sistemine geite her basaman Binary deeri hesaplanarak yan yana yazlr. Bu durum ekil 1.5 ve 1.6da izah edilmitir.

ekil 1.5: Binaryden hexadecimale gei

ekil 1.6: Hexadecimalden binarye gei

3. Decimal Hexadecimal dnm: Onlu say sisteminden on altl say sistemine geite say srekli on altya blnerek kalanlar yan yana yazlr. Ayn ekilde on altl saydan onlu sayya gei iin her bir basamak kendi deerlii ile arplarak arpmlar toplanr. Bylece dnm gerekleir. Bu ekil 1.7 ve 1.8de izah edilmitir.

ekil 1.7: Decimalden Hexadecimale gei

ekil 1.8: Hexadecimalden Decimale gei

1.2.5. Komutlarn Yazl Biimi?


Her mikrodenetleyici iin kendine has derleyiciler bulunmaktadr. ve Derleyicilerin kendine has zellik ve yazm kurallar vardr. PIC mikro denetleyici iin en yaygn derleyici olan MPASM derleyicisi aadaki yazm kurallarn getirmitir. Satr bana ; (noktal virgl) konulduunda o satr yorum satr olarak deerlendirilir ve programa herhangi bir etkisi yoktur. Genellikle derleyiciler program komutlarnn belli bir dzen ierisinde TAB denilen stunlar halinde yazlm koulunu getirse de MPASM derleyicisi bu art aramamaktadr. MPASM derleyicisi iin sabit verilerin atand baz sembolik isimlere etiket denir. Etiketlerde u kurallara uyulmaldr. Etiketler 1. kolondan itibaren yazlr. Etiketler bir harf ya da _ (altizgi) ile balamaldr. Etiketlerde Trke karakter kullanlamaz. Bir komut ismi olmamaldr. En fazla 31 karakter uzunluunda olabilir. Byk/kk harf duyarll vardr.

Atama deyimi (EQU): Bu deyim baz adresleri baz etiketlere atmak iin kullanlr. PORTB EQU 0x06 ; Bu komutla 06hex adresi PORTB etiketine atanmtr. Sabitler: Baz komutlarda dorudan rakamlar kullanlabilmektedir. Burada kullanlan rakamlar birer sabittir. MOVLW 0x07 ; Bu komutla W yazmacna 7 hex sabit deeri aktarlr. ORG deyimi: ki ama iin kullanlabilir. Birincisi program balang adresini belirtmek iin ikincisi ise interrupt alt program balang adresini belirtmek iindir. Sonlandrma deyimi: END komutu program bitirmek iindir. PIC mikrodenetleyicilerinde halt komutu yoktur. Bunun yerine sonsuz dngler kullanlr.

10

Bu kurallar haricinde PIC mikrodenetleyicilerinde 4 tipte komut yazl vardr. Byte ynlendirmeli komutlar. Bit ynlendirmeli komutlar. Sabit ileyen komutlar. Kontrol ve ak komutlar.

Byte Ynlendirmeli komutlar: KOMUT REGISTER, DESTINATION

MOVF 0x03,0 ; Bu komut 03 adresindeki yazma ieriini akmlatre (W yazmac), kopyalar. MOVF adresine kopyalar. 0x03,1 ; Bu komut 03 adresindeki yazma ieriini yine 03

Komut register (yazma) ile yapt ilem sonucunu Destination (hedef) ile belirlenen hedefe yazar. Burada Destination (hedef) iki deer alabilir 0 ya da 1. 0 deeri W yazmacn temsil eder. 1 deeri ise komutta belirtilen yazmac temsil eder. Bit ynlendirmeli komutlar: KOMUT BCF REGISTER, BIT STATUS, 5 ;Bu komut STATUS yazmacnn 5. bitini 0 yapar.

Komut register (yazma) ile belirtilen yazmacn bit (hane) ile belirtilen basama ile ilem yapar. Sabit ileyen komutlar: KOMUT SABIT ;Bu komut verilen binary (ikili) sabit

ADDLW b01011010 saysn W yazmac ile toplar. Komut verilen sabit ile ilem yapmaktadr.

11

Kontrol komutlar: KOMUT GOTO etikete ynlendirir. ETIKET DONGU ;Bu komut programn akn DONGU ile belirtilen

Komut verilen etikete doru program akn ynlendirmektedir. Say ve karakter yazl biimleri: Hexadecimal (On altl) Saylar

0x03 03 03h h03 Bu ifadelerin hepsi 03 on altl saysn temsil eder. Binary (kili) Saylar

b00010101 kili saylar yalnzca yukardaki gibi yazlabilir. Decimal (Onlu) Saylar

d122 Onlu saylar sadece yukardaki gibi yazlabilir. ASCII Karakterler

s ASCII karakterleri sadece yukardaki gibi yazlabilir. PIC Mikrodenetleyicilerin komut seti: Aadaki tabloda PIC mikrodenetleyicilerinde kullanlan komutlar verilmitir. Tabloda unlara dikkat ediniz.
ADDWF f, d

Burada ADDWF, komutun kendisidir. Verilen parametrelerden f herhangi bir file register temsil etmektedir. Yani ilemin yaplaca yazmac belirtmi oluruz. d simgesi ise ilem yapldktan sonra sonucun nerede saklanacan belirler. 0 ise sonu W yazmacnda 1 ise f ile belirtilen yazmata saklanr. Komutun ka saat evriminde ilendii ve hangi bayraklar etkiledii zaten Tablo 1.1de aka belirtilmitir.

12

Komutlar
ADDWF ANDWF CLRF CLRW COM F DECF DECFSZ INCF INCFSZ IORWF MOVF MOVWF NOP RLF RRF SUBWF SWAPF XORWF BCF BSF BTFSC BTFSS ADDLW ANDLW CALL CLRWDT GOTO IORLW MOVLW RETFIE RETLW RETURN SLEEP SUBLW XORLW f, d W ve f'i topla

Aklamalar
f, d W ile f'i mantksal VE ilemine tabi tut f f'i temizle W'yi temizle

evrim Bayraklar Notlar


1 1 1 1 1 1 1(2) 1 1(2) 1 1 1 1 1 1 1 1 1 1 1 1(2) 1(2) 1 1 2 1 2 1 1 2 2 2 1 1 1 C,DC,Z Z Z Z Z Z Hibiri Z Hibiri Z Z Hibiri Hibiri C C C,DC,Z Hibiri Z Hibiri Hibiri Hibiri Hibiri C,DC,Z Z Hibiri TO,PD Hibiri Z Hibiri Hibiri Hibiri Hibiri TO,PD C,DC,Z Z 1,2 1,2 1,2 1,2 1,2 1,2 1,2 3 3 1,2 1,2 1,2,3 1,2 1,2,3 1,2 1,2 1,2 1,2 2

f, d f'in tersini al f, d f'i azalt f, d f'i azalt, sonu 0 ise zpla, sonraki komutu ge f, d f'i arttr f, d f'i arttr, sonu 0 ise zpla, sonraki komutu ge f, d W ile f'i mantksal VEYA ilemine tabi tut f, d f'i ta f W'yi f'e ta Hi bir ilem yapma

f, d Elde ile sola dndr f, d Elde ile saa dndr f, d f'ten W'yi kar f, d f'teki nibllarn (4 bit) yerini deitir f, d W ile f'i mantksal zel-VEYA ilemine tabi tut f, b f'in bitini temizle f, b f'in bitini set et 1 yap f, b f'in bitine bak, 0 ise zpla, sonraki komutu ge f, b f'in bitine bak, 1 ise zpla, sonraki komutu ge k k k k k k k k k W ve sabiti topla W ile sabiti mantksal VE ilemine tabi tut Alt program ar izleyen-kpek Saatini temizle Adrese git W ile sabiti mantksal VEYA ilemine tabi tut W ye sabit ykle Kesme programndan dn W de bir sabit ile dn Alt programdan dn Uyku moduna gir Sabitten W'yi kar W ile sabiti mantksal zel-VE ilemine tabi tut

NOTLAR: (1) Bir G/ kt kendisinin bir fonksiyonu olarak deitiinde ( MOVF PORTB, 1), kullanlan deer, ularn kendisinde bulunan deer olacaktr. rnein, eer giri olarak tanmlanan bir uta tutulan deer '1' ise ve harici bir aygttan mantk 0 olarak srlyor ise, veri '0' olarak geri yazlacaktr. (2) Eer bu komut TMR0 ktnde kullanlrsa (ve, mmknse, d = 1 ise), nblc TMR0'a adanmsa temizlenecektir. (3) Eer Program Sayac (PC) deimi ise veya bir arta bal test doru ise, bu komut iki evrimde ilenir. kinci evrim bir NOP komutu olarak icra edilir.

Tablo 1.1: PIC 16F84 komut seti

13

1.3. Mikrodenetleyici Yaps


1.3.1. Besleme Gerilimi
PIC mikrodenetleyicisi besleme devresi iin zel bir devreye gereksinim duymamaktadr. Besleme gerilimi 2 ila 6 V DC arasnda deimekle birlikte dier dijital devrelerle birlikte daha rahat kullanlabilmesi iin 5V DC uygun bir deerdir (ekil 1.9).

ekil 1.9: PIC 16F84 besleme gerilimi

1.3.2. Clock Dzeni ve Osilatr eitleri


PIC16F84 mikrodenetleyicisi farkl osilatr tipleri ile alabilmektedir. Bu osilatr tipleri unlardr. LP Low Power Crystal (Dk Gl Kristal Osilatr) XT Crystal/Resonator (Kristal, Seramik Rezonatr) HS High Speed Crystal/Resonator (Yksek Hzl Kristal, Rezonatr) RC Resistor/Capacitor (Diren, Kondansatr)

ekil 1.10: PIC iin LP/XT/HS osilatr balants

Tablo 1.2: PIC 16F84 iin osilatr frekanslar

14

LP / XT / HS Kristal ya da seramik rezonatr elemanlar kullanldnda en basit devre ekil 1.10daki gibi gerekletirilebilir. Eer seramik rezonatr kullanlyor ise C1 ve C2 kondansatrlerine gerek yoktur.

ekil 1.11: PIC 16F84 iin RC Osilatr balants

RC osilatr zamanlamann hassas olmad durumlarda maliyeti drmek iin tercih edilebilir. Ayrca ortam ss nem vs. gibi evresel etkilere duyarldr. Yksek deerli diren kullanlmas nerilmez. Bu durumda d etkilere duyarll artacaktr. Diren deerinin 3 K ile 100 K arasnda bir deerde olmas nerilir. Ayn ekilde kondansatrde 20 pF deerinin zerinde olmaldr (ekil 1.11).

1.3.3. Reset Ular ve Reset Devresi


PIC mikrodenetleyicisi besleme gerilimi ald anda programn balang adresinden itibaren almas iin dahili Power on Reset devresi bulunmaktadr. Ancak bazen kastl olarak programn almasn balang durumuna almak gerekebilir. Bu durumda Reset ular kullanlmaktadr (ekil 1.12).

ekil 1.12: PIC 16F84 iin Reset devresi

1.3.4. Komut Ak
Bir komut evrimi, drt Q evrimini (Q1, Q2, Q3 ve Q4) ierir. Komut alnmas bir komut evrimi ve komut kodu zm ve komutun icra edilmesi de dier bir komut evrimi alacak ekilde, komut alnmas ve icra edilmesi pipeline (boruhattna) yerletirilir. Boru hatt sayesinde, her komut tek bir evrimde etkili bir ekilde icra edilmektedir. Bir komut, program saycnn(PC) deimesine sebep olursa(GOTO) bu komut iin iki evrim gerekecektir. Komut alnma evrimi, program saycnn (PC) Q1de arttrlmas ile balar. Komut icra evriminde, alnan komut, komut ktnde Q1 esnasnda tutulur. Q2, Q3 ve 15

Q4 fazlar srecinde ise, bu komutun kodu zlr ve icra edilir. Veri hafzas Q2 faznda okunur ve Q4 faznda yazlr (ekil 1.12).

ekil 1.12: PIC 16F84 komut ak diyagram (saat evrimi)

1.3.5. Yazmalar
PIC 16F84 mikrodenetleyicisinde yazmalar RAM bellek ierisinde yer almaktadr. ekilde hafzann yerleim dzeni verilmitir. Burada 0x0C adresinden itibaren 0x4F adresine kadar olan ksm genel amal hafzadr ve kullancya ayrlmtr. Ayn ekilde 0x8C adresinden 0xCF adresine kadar olan ksmda kullanc iindir. Ancak bu iki hafza blm farkl banklarda yer almasna ramen aslnda birbirinin ayn verileri tamaktadr. Bu yazma haricinde PIC 16F84 veri hafzas iinde yer almayan W yazmac ve PC yazmalar bulunmaktadr. W yazmac akmlatr grevi stlenir. PIC mikrodenetleyicisinde zel amalar iin kullanlan baz yazmalar vardr. Bu yazmalar unlardr: STATUS Register: IRP bit 0 C (Carry Flag): Toplama karma ve kaydrma ilemleri esnasnda bir tama meydana gelirse bu bit etkilenir. Tama gerekletii durumda Lojik 1 olur. Tama yoksa Lojik 0 olur. bit 1 DC (Digit Carry Flag): Toplama karma ve kaydrma ilemleri esnasnda nc bitten drdnc bite bir tama meydana gelirse bu bit etkilenir. Tama gerekletii durumda Lojik 1 olur. Tama yoksa Lojik 0 olur. bit 2 Z (Zero Flag): Aritmetik veya lojik bir operasyonun sonucu 0 oluyorsa bu bit etkilenir ve Lojik 1 olur. bit 3 PD (Power Down Flag): Enerji kesinti bitidir. Bu bit mikrodenetleyici ilk altnda ve CLRWDT komutu il Lojik 1 olur. Sleep komutu alnca Lojik 0 olur. 16 RP1 RP0 TO PD Z DC C

bit 4 TO (Time Out Flag): Watchdog tama bitidir. PICe enerji verilince ve CLRWDT, SLEEP komutlar ile Lojik 1 olur. Watchdog Timer saymay tamamlaynca Lojik 0 olur. bit 6:5 RP1:RP0 (Register Bank Select Bits): Yazma bank seim biti: Bu bitler deitirilerek hafza alanndaki banklara eriim mmkn olmaktadr. RP1 PIC 16F84te kullanlmamaktadr. Daha yksek hafzaya sahip st modellerde kullanlabilmektedir. Bank seim iin aadaki gibi ayarlanr. 0:0 0:1 Bank 0 Bank 1 ( 00H FFH ) ( 80H FFH )

bit 7 IRP (Register Bank Select Bits): Dahili hafzada dolayl adresleme iin kullanlmaktadr. Lojik 0 olursa bank 0 ve 1 kullanlr. Lojik 1 olursa bank 2 ve 3 kullanlr. PIC16F84 denetleyicisinde 0 olmaldr. OPTION Register: RBPU INTEDG TOCS TOSE PSA PS2 PS1 PS0

bit 2:0 PS2,PS1,PS0 (Prescalar Rate Select Bit): Zamanlayc iin kullanlan sinyal kaynann frekansn blmek iindir. Frekansn kaa blnecei bu bitler ile ayarlanr. Frekans blme deerleri aada verilmitir.
Frekans Blme Says 000 001 010 011 100 101 110 111 TMR0 Oran 1/2 1/4 1/8 1/16 1/32 1/64 1/128 1/256 WDT Oran 1/1 1/2 1/4 1/8 1/16 1/32 1/64 1/128

bit 3 PSA (Prescalar Assignment Bit): Frekans blc ayrma bitidir. Bu bit Lojik 0 ise frekans blme ilemi TMR0 iin geerlidir Lojik 1 ise WDT iin geerlidir. bit 4 TOSE (TMR0 Source Edge Select Bit): TMR0 iin sinyal kayna kenar seme bitidir. Eer Lojik 0 yaplrsa RA4/TOCKI ucundan den kenar tetiklemeli olur. Lojik 1 ise ykselen kenar tetiklemeli olur. bit 5 TOCS (TMR0 Clock Source Select Bit): TMR0 iin sinyal kayna seme bitidir. Lojik 0 ise osilatr frekans seilir. Lojik 1 ise harici dijital sinyal (RA4/TOCKI) seilir.

17

bit 6 INTEDG (Interrupt Edge Select Bit): Harici kesme aktif ise (RB0/INT) sinyalin hangi kenarnda tetiklenecei belirlenir. Lojik 0 den kenarda Lojik 1 ykselen kenarda tetiklemek iindir. bit 7 RBPU (PORTB Pull-Up Enable Bit): PORTB dahili Pull-Up direnlerini kontrol eder. Lojik 0 ise devre ddr. Lojik 1 ise devrededir.

1.3.6. Program Bellei


Program bellei EEPROM tabanl ve 1K x 14 bir hafza organizasyonuna sahiptir. Yani 14 bit uzunluunda 1024 adet hcre ierir. Programn almas esnasnda bu blmdeki verilere mdahale edilemez.

ekil 1.13: PIC 16F84 Mikrodenetleyicisinde yer alan genel ve zel amal yazmalarn yer ald veri hafzas

18

1.3.7. Veri Bellei


Veri bellei 80 adet bank 1de ve 80 adet bank 2de olmak zere 160 adet gibi grnse de aslnda baz zel amal yazmalar dnda bank 1 ve bank 2deki bilgiler birbirinin kopyasdr. Genellikle 0x0C ile 0x04 adresleri arasndaki blm programlar tarafndan genel amal veri hafzas olarak kullanlr.

1.3.8. I/O Portlar


PIC 16F84 denetleyicisi PORTA ve PORTB olmak zere iki porta sahiptir. Ancak bu portlarn baz ular denetleyicinin dier zellikleri iin kullanlabilmektedir. PORTA ve TRISA: PORTA 5 bit uzunluundadr. TRISA yazmacnn herhangi bir biti 1 yaplrsa PORTA nn ayn deerli ucu giri ucu olarak kullanlr. Ayn ekilde TRISA yazmacnn herhangi biti 0 yaplrsa bu sefer PORTAnn ayn deerli ucu k olacaktr. RA4 portu ayn zamanda TIMER(zamanlayc) iin kullanlmaktadr. PORTB ve TRISB: PORTB 8 bit uzunluunda bir porttur. Giri ya da k olarak ayarlanmas TRISB ile yaplmaktadr. PORTBnin 4 hattnda (RB4:RB7 aras) deiim olduunda interrupt oluturma yetenei vardr. Ayn zamanda RB0/INT ucu external interrupt iin kullanlabilmektedir.

ekil 1.14: PIC 16F84 Mikrodenetleyicisinde PORTA ve TRISA arasndaki iliki

19

UYGULAMA FAALYET UYGULAMA FAALYET


lem Basamaklar eitli mikrodenetleyicilere ait veri kitapklarn (Data Sheet)internetten temin ederek denetleyici karakteristiklerini besleme gerilimini ve osilatr devrelerini defterinize not alnz. Veri kitapndan denetleyicilerin minimum donanmlarn iziniz. Denetleyicilerin birbirine gre avantaj ve dezavantajlarn defterinize not ediniz. neriler Veri kitapklarn temin ederken, www.microchip.com , www.intel.com , www.atmel.com gibi internet balantlarndan yararlannz.

Farkl denetleyicilerin maliyet asndan farkllklarn kyaslaynz.

Mikrodenetleyici kontroll devrelerin boyutlarn gz nne alarak devrelerin retim safhalarn ve sresini snfta arkadalarnzla birlikte tartnz.

eitli mikrodenetleyicileri elinize alarak boyutlarn tespit ediniz.

20

LME VE DEERLENDRME LME VE DEERLENDRME


A. OBJEKTF TESTLER (LME SORULARI) Aadaki sorularn cevaplarn doru ve yanl olarak deerlendiriniz. 1. 2. 3. 4. 5. 6. Mikrodenetleyici tek bir yonga zerinde bir mikroilemci, hafza, giri/k portlar vb . yardmc devreler ieren devre elemandr. (......) RISC ilemcilerinde, CISC ilemcilere gre komut says daha azdr. (......) PIC16F84 mikrodenetleyicisi almak iin harici bir RAM bellee ve program yklemek iin bir EEPROMa ihtiya duymaktadr. (......) EEPROM bellekler ierisindeki bilgiler kalcdr ve ierisindeki bilgileri silmek ya da deitirmek mmkn deildir. (......) RAM bellekler hzldr fakat devrenin enerjisi kesildiinde iindeki veriler silinir. Bu nedenle geici bellek olarak kullanlrlar. (......) kili say sisteminde ifade edilen saynn her bir basama bir binary digit olarak deerlendirilir. (......) Aadaki cmlelerde bulunan boluklar en uygun ekilde doldurunuz. (1100101)2 saysn decimal ve hexadecimal sistemde gsteriniz. ______, ______ (3F8)16 saysn binary ve decimal sistemde gsteriniz.______________, _______ MPASM derleyicisinde satr bana ; (noktal virgl) kullanldnda o satr _________ olarak deerlendirilir. Baz komutlarda dorudan rakamlar kullanlabilir. Bunlara ________ denilir. ______ deyimi iki ama iin kullanlabilir. Birincisi programn balang adresini belirlemek iin. kincisi ise ___________ alt program balang adresini belirlemektir. __________ ynlendirmeli komutlar d ile belirtilen hedefe yaplan ilem sonucunu yazarlar. d 1 ise ktk yazmacna, 0 ise W yazmacna yazlr. __________ ynlendirmeli komutlar belirtilen yazmacn yine komutta belirtilen biti ile ilem yapmaktadrlar. ________ EEPROM tabanl ve 1K x 14 bir hafza organizasyonuna sahiptir. _________ zamanlamann hassas olmad durumlarda maliyeti drmek iin tercih edilebilir. __________ sayesinde, her komut tek bir evrimde etkili bir ekilde icra edilmektedir.

7. 8. 9. 10. 11.

12. 13. 14. 15. 16.

DEERLENDRME Cevaplarnz cevap anahtar ile karlatrnz. Doru cevap saynz belirleyerek kendinizi deerlendiriniz. Yanl cevap verdiiniz ya da cevap verirken tereddt yaadnz sorularla ilgili konular faaliyete geri dnerek tekrar inceleyiniz 21

RENME FAALYET2 RENME FAALYET2


AMA
PIC 16F84 mikrodenetleyicisi iin basit bir programlama kart yapmn gerekletirecek ve programlamak iin gerekli olan yazlm inceleyebileceksiniz.

ARATIRMA
Bu faaliyet ncesinde yapmanz gereken ncelikli aratrmalar unlardr: eitli mikrodenetleyiciler iin programlama kartlar ve yazlmlar hakknda aratrma yapnz. Birden fazla mikrodenetleyiciye uygun programlama kartlarn aratrnz avantaj ve dezavantajlarn belirleyiniz. Mikrodenetleyici programlayabilmek iin gerekli olan yazlmlar internetten temin ediniz. Aratrma ilemleri iin bilgisayar laboratuvarnda veya ev ortamnda bulunan hazr bir bilgisayar ve internet ortamn kullannz. Kazanm olduunuz bilgi ve deneyimleri arkada gurubunuz ile paylanz.

2. MKRODENETLEYC PROGRAMLAMA KARTINI YAPMAK


2.1. Programlama Kart
2.1.1. Programlama Devresinin Yapm
Mikrodenetleyicilerle yaplan devrelerin dizayn yaplp uygulama aamasna gelindiinde, denetleyici ierisine yazlm yklemek iin eitli programlama cihazlarna gereksinim vardr. Ancak PIC mikrodenetleyicileri iin bu cihazlar uygulamas basit ve etkili devrelerdir. ekilde paralel port ile haberleen P16Pro programlama kartnn devre emas grlmektedir.

22

ekil 2.1: PIC16F84 iin kullanlabilecek P16PRO programlama kart devre emas

ekil 2,1deki devre ile 8 pin, 18 pin, 28 pin ve 40 pin olmak zere neredeyse PIC mikrodenetleyicilerinin tamamn programlayabilecek yapdadr. phesiz bunun nedeni PIC denetleyicilerinin programlamasnn kolay olmasdr. Devre basit ve kullanldr. www.picallw.com adresinde devrenin baskl devre dizayn ve devre ile beraber kullanlabilecek olan PICALLW yazlmn temin edebilirsiniz. Eitim amal ve deneysel almalarda PIC16F84 iin yaplm ok daha basit devreler kullanlabilir. Aada rnek olarak kullanlabilecek bir seri programlama devresi verilmitir.

ekil 2.2: PIC16F84 iin deneysel almalarda kullanlabilecek basit bir devre emas

ekil 2.2deki devre g kayna gerektirmeden seri port aracl ile haberleen deney amal almalar iin ok basit ve yeterli bir devredir.

23

Resim 2.3: P16PRO malzeme yerleim plan

Resim 2.4: P16PRO baskl devre st yzeyi

24

Resim 2.5: P16PRO baskl devre alt yzeyi

Malzeme Listesi: No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Adet 1 1 6 3 1 1 1 2 1 1 1 1 3 1 2 Malzeme Ad TEXTOOL 40 ZIF 1k 4k7 10k 74LS05 78L05 78L08 100nF 220uF/40V 330pF 680R B80C800 BC557 Green LED Red LED Tip _ SOCKET R1 R2 R3 R4 R5 R9 R10 R6 R7 R8 * IC3 IC1 IC2 C1 C2 C3 C4 * R11 G1 T1 T2 T3 D2 D1 D3

2.1.2. Balant Kablosunun Yapm


Standart paralel yazc balant kablosunun ilgili pinlerini baskl devre zerinde belirtilen balant noktalarna lehimleyerek devreyi gerekletirebilirsiniz. Ayrca bir kabloya gereksinim duyulmamaktadr.

25

UYGULAMA FAALYET UYGULAMA FAALYET


lem Basamaklar P16Pro programlayc devrenin baskl devre tasarmn bask devre transfer kad zerine lazer yazc ile karnz. neriler Bask devreyi karrken kda ters grnt karmay ve maksimum kalitede bask yapmay ihmal etmeyiniz. Bylece toner miktar fazla olacaktr ve hata oran az olur.

Bask yaplan transfer kdn bakrl plaketin bakr yzeyine yerletirerek yksek sya ayarl t ile tleyiniz. Bylece toner bakra yapacaktr.

Kdn ve plaketin yeterli miktarda snp tonerin bakr zerine yaptndan emin olunuz.

Tonerin plakete yaptndan emin olduktan sonra transfer kadn dikkatlice ayrnz.

izimin eksik olan ksmlarn asetat kalemi ile dzeltiniz.

Hazrladnz plaketi asit ierisine atarak (3:1 orannda tuz ruhu ve Perhidrol karm) boyanmam blmlerin zlerek kaybolmasn bekleyiniz.

Asitin zlmesi esnasnda aa kan gaz solumaynz ve ak havada ilemi gerekletirin. Aksitakdirde salk sorunlarna yol aabilir.

26

Hazrlanan plaketi ince zmpara ile zmparalayarak plaketin temizlenmesini salaynz.

Zmparann mmkn olduunca ince seilmesine dikkat ediniz. Aksi takdirde ince izilen yollar zarar grebilir.

Devrenin gerekli deliklerini bir matkap yardm ile deliniz.

Delik iin 1mm matkap ucu ve basit bir el matkab kullann.

Lehimleme ilemini yaparak devreyi hazrlaynz.

Lehimleme yaptktan sonra kalan lehim atklarn temizleyiniz.

27

LME VE DEERLENDRME LME VE DEERLENDRME


A. OBJEKTF TESTLER (LME SORULARI) Aadaki sorularn cevaplarn doru ve yanl olarak deerlendiriniz. 1. Mikrodenetleyiciler iin gelitirilen yazlmlar denetleyicilere aktarmak iin basit bir programlama yazlm yeterlidir. (......) 2. Programlayc devreler bilgisayara seri, paralel veya USB balant noktas ile balanarak iletiim kurarlar. (......) 3. Her programlayc cihaz iin cihaza zel yazlm gerekmez. Derleyici bunlarn hepsini programlayabilecek yapdadr. (......) 4. Baskl devre retimi esnasnda asit iinde zme ilemi kapal bir ortamda gerekletirilmelidir. (......) 5. Bask devre transfer kadna en yksek kalite ile bask almak gerekir. Bylece toner miktar fazla olur ve bakr yzeye aktarm daha salkl olur. (......) 6. P16PRO programlayc devre seri port ile balanan bir JDM programlayc devresidir. (......) 7. P16PRO programlaycs PICALLW yazlm ile rahatlkla kullanlabilir. (......) DEERLENDRME Cevaplarnz cevap anahtar ile karlatrnz. Doru cevap saynz belirleyerek kendinizi deerlendiriniz. Yanl cevap verdiiniz ya da cevap verirken tereddt yaadnz sorularla ilgili konular faaliyete geri dnerek tekrar inceleyiniz

28

RENME FAALYET3 RENME FAALYET3


AMA
Mikrodenetleyiciler iin hazrlanm programlar fiziksel testlerden nce simlasyon yntemi ile analiz etmek iin kullanlan programlarn temellerini renip. mikrodenetleyici kodlarnn derlenmesi iin kullandmz derleyicilerin altrlmasn ve kullanmn renebileceksiniz.

ARATIRMA
Bu faaliyet ncesinde yapmanz gereken ncelikli aratrmalar unlardr: 1. Mikrodenetleyici temeli devrelerin izimini ve simlasyonunu gerekletiren programlar hakknda bir n aratrma yapnz. Elde ettiiniz bilgileri snf ortamnda tartnz. 2. Aratrma sonucunda belirlediiniz baz programlarn birbirlerine gre avantaj ve dezavantajlarn tartnz. 3. MPASM programnn yaps ve almas hakknda bir n aratrma yapnz. Aratrma ilemleri iin bilgisayar laboratuvarnda veya ev ortamnda bulunan hazr bir bilgisayar ve internet ortamn kullannz. Kazanm olduunuz bilgi ve deneyimleri arkada gurubunuz ile paylanz.

3. MKRODENETLEYC PROGRAMLAMA EDTRN KULLANMAK


3.1. Elektronik Devre izim Program ile Denetleyici
3.1.1. izim Programnn Kurulmas
eitli mikrodenetleyiciler iin farkl trde ve birok simlatr ve devre editr olmasna ramen, kullanm kolayl ve gerek zamanl simulasyon yapmas nedeni ile VirtualBreadBoard yazlm tercih edilebilir bir seenek olarak karmza kmaktadr. Programn avantaj birok noktadaki devre davrann ok basit aralarla izleyebilmek mmkndr. Bu program kurmak iin www.virtualbreadboard.com iletim sisteminize uygun olarak hazrlanm cretsiz program bilgisayarnza indirmelisiniz. Daha sonra kan sktrlm dosyay bilgisayarnzda herhangi bir klasre aarak oluan Setup.exe isimli uygulamay altrn. ekildeki gibi bir pencere alacaktr.

29

ekil 3.1: VirtualBreadboard Simlatrnn kurulumu adm 1

Ynergeleri izleyerek kuruluma Next komutu ile devam ediyoruz.

ekil 3.2: VirtualBreadboard Simlatrnn kurulumu adm 2

Bu ksmda programn kurulumunun yaplaca klasr adn belirtmek gerekmektedir. Eer nerilen klasr dnda bir klasre kurulum yapmak isterseniz Browse komutu ile seebilirsiniz. Next ile devam ediyoruz.

30

ekil 3.3: VirtualBreadboard Simlatrnn kurulumu adm 3

Kurulumu onaylamak iin Next komutunu seiyoruz.

ekil 3.4: VirtualBreadboard Simlatrnn kurulumu adm 4

Dosyalarn kopyalanmas ilemi balam oluyor, bu esnada herhangi bir ey yapmayacaz.

31

ekil 3.5: VirtualBreadboard Simlatrnn kurulumu adm 5

Kopyalama ilemi tamamlannca kan ekranda VirtualBreadboard has been sucessfully installed mesajn alrsak program sorunsuzca kurulmu demektir. Close ile kurulumu tamamlyoruz.

3.1.2. Denetleyici ile Devre Oluturulmas


Bunun iin VirtualBreadboard uygulamas Balat mensnden ilgili program tklanarak altrlr. ekildeki gibi bir ekran karmza kacaktr

ekil 3.6: VirtualBreadboard Simlatr ilk al

32

Yeni bir proje hazrlayacak isek Breadboard Project komutunu semeliyiz. Aksi takdirde Open komutu ile daha nceden hazrlam olduumuz projeler zerinde almaya devam edebiliriz. stediimiz seimi yaptktan sonra program balatnca ekildeki gibi bir alma ortam ile karlarz.

ekil 3.7: VirtualBreadboard Simlatr alma sayfas

Burada bizim iin en nemli ksm sol taraftaki devre elemanlarnn simgeleri ve Packages ile Properties kutulardr. Devre elemannn tr Packagesten seilir ve zellikleri Propertiesten ayarlanr. Devre elemanlarn sra ile seerek board zerine yani yeil alana brakyoruz.

33

ekil 3.8: Devre elemanlarnn yerletirilmesi, Package ve Properties pencereleri

Devre elemanlarmz yerletirdikten sonra ekildeki ara ubuu ile onlar istediimiz ynde eviriyoruz ve istediimiz renkte kablolar kullanarak balantlarn yapyoruz. Ayrca kablolarn bir noktadan baka noktaya izilme eklini de seebiliyoruz.

ekil 3.9: Ara ubuu: Devre elemanlarnn balantlarn yapmak iin kullanlr

Bylece devre izimimiz tamamlanm olacaktr bundan sonra devre zerideki elemanlarn zelliklerini tantarak ve mikrodenetleyiciye hazrlam olduumuz yazlm aktararak simlasyonunu gerekletirmek kalyor.

34

3.1.3. Derlenmi Programn Denetleyiciye Tantlmas


Derlenmi program denetleyiciye aktarmak iin Properties kutusundan Filename seenei ile Hex uzantl derlenmi binary dosyay ya da lst uzantl derleyici ktsn (komutlarn derlenmemi halini iermektedir) aadaki gibi seiyoruz. Bylece devremiz simulasyona hazr hale gelmektedir.

ekil 3.10: Derlenmi programn denetleyiciye tantlmas

3.1.4. izim Programnda Programn Denenmesi


Programn almasnn izlenmesi iin btn hazrlklar tamamlandktan sonra program deneme aamasna balanabilir. Bunun iin F9 tuuna basmak ya da ara ubuundan Play simgesine basmak yeterlidir. ekilde simlasyonu yaplan bir tasarm grlmektedir.

35

ekil 3.10: Tasarm tamamlanm bir programn simle edilmesi

imdi bu ekrandakileri srayla aklayalm.

ekil 3.11: Start, Pause, Step, Reset ve Stop komutlar

Srasyla altr, duraklat, adm kipi, adm kipini kapat, tekrar balat ve durdur komutlar simlasyonun akn kontrol etmektedir.

ekil 3.12: DEBUG ara ubuu

Programn almas esnasnda eitli izleme ilemleri iin kullanlr. Simgeleri sra ile aklayalm. lk simge programn alma esnasnda kaynak kodlar zerinde hangi komutu ilemekte olduunu izlemek iindir. ekildeki pencereyi aar. Sar renkte olan satr o an altrlmakta olan komuttur.

36

ekil 3.13: Program kodlarn simlasyon esnasnda izleyebilirsiniz

2. simge SFR yani zel fonksiyonlara sahip kaydedicileri izlemek iin kullanlmaktadr. ekildeki pencereyi aar. Krmz renkte olan kaydedicilerde o an bir ilem yapld anlalr.

ekil 3.14: zel yazmalar: Programn simlasyonu esnasnda izleyebilirsiniz

37

3. simge kendimize ait zellikle izlemek istediimiz bir nokta devre eleman ya da devre ile ilgili parametre var ise onu izlemek iindir. 4. - 5. ve 6. simgeler RAM, ROM ve EEPROM hafzasnn durumunu izlemek iindir. ekilde veri hafzasnn (RAM) bir blm grlmektedir.

ekil 3.15: Veri hafzas: Simlasyon esnasnda izleyebilirsiniz

7. simge STACK hafzasn izlemek iindir. 8. simge bellein herhangi bir adresindeki bilgiyi program alrken grntlemek/deitirmek iin kullanlr. 9. simge bir kronometre altrarak zamanla ilgili devrelerde analizi kolaylatrr. Devre analizini hareketli yapar.

Grld gibi VirtualBreadboard program ile sanal olarak hazrlanan PIC mikrodenetleyici yazlmlar test edilip incelemeleri yaplabilmektedir. Bu da bize zaman ve maliyet kazanc olarak dnecektir.

3.2. Mikrodenetleyici Program Editrnn Kurulumu


3.2.1. Derleyici Editrn Yklenmesi
Microchip PIC mikrodenetleyicisi iin en yaygn kullanlan derleyici firmann kendisine ait olan MPASM derleyicisidir. MPASM derleyicisi MPLAB paket programnn bir parasdr. MPLAB paket program kapsaml bir uygulamadr. Editr, derleyici, simulatrn bir arada olduu bir entegre gelitirme ortamdr (IDE: Integrated Development Environment). MPLAB Programn kurmak iin reticinin kendi WEB (www.microchip.com) cretsiz kurulum paketini bilgisayarnza indirin. 38 sitesinden

Bu modln yazld esnada son srm olan 7.40 kurmak iin indirdiiniz sktrlm dosyay bilgisayarnzda bir klasre aarak Install_MPLAB_v740.exe dosyasn altrn. Kurulum program hazrlklarn yapacaktr. Bir sre sonra ekildeki gibi bir ekranla karlaacaksnz.

ekil 3.16: MPLAB kurulumu. adm 1

Next komutu ile devam ediyoruz.

ekil 3.17: MPLAB kurulumu. adm 2

retici firmann lisans anlamasn kabul etmeniz gerekir aksi takdirde program kullanamazsnz. Lisans anlamasnn artlarn kabul edin ve Next konutuna tklayn. 39

ekil 3.18: MPLAB kurulumu. adm 3

Kurulum trn seerek devam ediyoruz. Eer programn tm bileenlerini yklemek isterseniz Complete seeneini sein. Custom seenei ile sadece istediiniz bileenleri ykleyebilirsiniz. Next komutuna tklyoruz.

ekil 3.19: MPLAB Kurulumu. Adm 4

Programn kurulaca dizini seip Next komutuna tklyoruz.

40

ekil 3.20: MPLAB Kurulumu. Adm 5

Programn hangi bileenlerini ykleyip yklemeyeceimizi seiyoruz ve Next komutuna tklyoruz.

ekil 3.21: MPLAB kurulumu. adm 6

Kurulum zeti. Next ile devam ediyoruz.

41

ekil 3.22: MPLAB kurulumu. adm 7

Dosyalarn kopyalanmasna balyor ve bekliyoruz.

ekil 3.23: MPLAB kurulumu. adm 8

Kopyalama ilemi bitti. Eer USB arabirim ile haberleen bir programlama kart, debug kart veya deney kart gibi bir cihaza sahip iseniz (Firmann kendi sitesinde bu setler tantlmaktadr ve crete tabidir.) USB srclerini yklemelisiniz aksi takdirde yklemenize gerek yoktur. Biz alttaki seenei seerek Next komutuna tklyoruz.

42

ekil 3.24: MPLAB kurulumu. adm 9

Kurulum tamamlanmtr. Finish komutu ile sonlandrabiliriz ve program kullanmaya balayabiliriz.

3.2.2. Editrn Ayarlarnn Yaplmas


MPLAB program balatldnda ekildeki gibi bir ekranla karlarz. Programn genel grnm bu ekildedir.

ekil 3.25: MPLAB ana ekran

MPLAB programn kullanmadan nce yazlm gelitireceimiz denetleyiciye gre programda baz ayarlamalar yapmamz gerekir bunlar unlardr. 43

ncelikle Debugger mensnden Select Tool komutu ile MPLAB SIM seilir. Bu sayede simlatr kullanlabilecektir. Daha sonra Configure mensnden Select Device komutu ile kullanmak istediimiz denetleyici seilmelidir.

ekil 3.26: MPLAB; denetleyici ve simlatr seimi

Bu aamadan sonra denetleyicinin yaplandrma bitlerini ayarlamak iin Configure mensnden Configuration Bits komutu verilerek denetleyicinin yaplandrma bitleri ayarlanr.

3.2.3. Editrn zellikleri


MPLAB balatldnda dorudan iki adet pencere almaktadr. Workspace ve Output pencereleri. Workspace penceresinde hazrlanan projenin bileenleri listelenecektir. Bir eit grev blmesi gibidir. Output penceresi programn verdii mesajlar kullancya iletmekle grevlidir. eitli bileenleri izleyerek raporlar verir. Editing yani dzenleme ve program kodlarn yazma safhasnda olan bir projenin grnm ekildeki gibidir.

44

ekil 3.27: MPLAB; editr zellikleri

Kodlar renklendirilerek hata oran azaltlmtr. Kodla ilemi bittikten sonra derlenmi bir projenin simlasyonu srasnda MPLABn grnm ekildekine benzer biimdedir.

ekil 3.28: MPLAB; simlasyon durumundaki grnm

Bu pencereler sras geldike anlatlacaktr. 45

3.2.4. Denetleyiciye Yklenecek Programn Derlenmesi ve Denenmesi


MPLAB programnda hazrlanm bir projeyi denetleyiciye ykleyebilmek iin derlenmi Binary dosyalara ihtiya vardr. Bunu MPASM aracl ile darda haricen yapabileceimiz gibi ayn zamanda MPLAB ierisinde Project mensnden Quickbuild, Make, Build All gibi komutlarla derleme ilemini gerekletirebiliriz. Derleme ilemi tamamlannca ekildeki gibi bir mesajla karlalr.

ekil 3.28: MPLAB; derleyici sonu ekran

Eer yzde ubuu yeil renkte ise derleme ileminin hatasz bir ekilde gerekletii anlalr. Derleme ilemi bittikten sonra simlatr balatlarak program analiz edilebilir.

ekil 3.29: MPLAB; simlasyon komutlar

Burada Run, Pause, Animate, Step Into, Step Over, Step Out, Reset komutlar ile programn simlasyonuna balanabilir. Programn ak ar ekimde izlenir gibi incelenecek ise Animate komutu verilmelidir. Dorudan sonuca baklacak ise Run komutu seilir.

46

Simlasyon esnasnda program daha iyi analiz etmek iin kullanlan pencereleri birer birer grelim. Program kodlar: Burada kullancnn yazd kodlarn alma zamanndaki ak izlenebilir. Yeil iaretin olduu satr icra edilmektedir.

ekil 3.30: MPLAB; program kodlar

File Registers: Bununla veri hafzasnn durumu alma zamannda izlenebilir. Krmz renkli hcreler en son ilem gren hcrelerdir.

ekil 3.31: MPLAB; File Registers

47

Program Memory: Bununla da program hafzasnn durumu alma zamannda izlenmektedir. Yeil iaret hangi komutun icra edildiini gstermektedir.

ekil 3.32: MPLAB; program hafzas

Special Function Registers: zel amal kaydedicileri izlemek iindir. Krmz renkte olanlar son ilem gren kaydedicilerdir.

ekil 3.33: MPLAB; zel fonksiyon registerleri

48

Hardware Stack: Stack hafzasn gsterir.

ekil 3.34: MPLAB; yn yazmalar

Diassembly Listing: Derlenmi dosyadan tekrar elde edilen komut dosyasn gsterir. Aktif komut yeil gsterge ile iaretlenmitir.

ekil 3.35: MPLAB; Diassembly listeleme

Watch: Bu pencereden istediimiz herhangi bir hafza adresi, kaydedici ya da portu izleyebiliriz. zlenmek istenen hafza vs. adresi elle yazlmaldr.

ekil 3.36: MPLAB; istee bal register izleme

49

3.2.5. Denetleyiciye Yklenecek Programn Derlenmesi ve Denenmesi


Hazrlanan kodlarn derleme ii bittikten sonra bunlar PIC mikrodenetleyicisinin program hafzasna aktarmak gerekmektedir. Bunun iin daha nceki konularda anlatlan programlayc devrelere ihtiya vardr. Her ne kadar MPLAB ierisinde baz programlayc devrelere destek olsa dahi bunlarn ou cretli ve temini zor olduu iin kendi kullanmak istediimiz programlaycya ait zgn programlar kullanmak daha aklca olacaktr. nceki blmlerde anlatlan P16PRO programlaycs iin hazrlanm PICALL yazlmn inceleyelim. Programn grnm aadaki gibidir.

ekil 3.37: PICALLW; genel grnm

Ara ubuundan programlayc devre, yonga reticisi ve yonga eidi seilir. File mensnden Open Program ve Open Data komutlar ile mikrodenetleyicinin program ve eeprom hafzalarna yklenecek veriler okunur. Settings mensnden Hardware Setup/Test komutu ile kullanlacak olan programlaycnn zellikleri belirtilir. Daha nceki konularda anlatlan P16PRO iin KIT96 seilmelidir. Ayrca kod koruma osilatr tr vb. ayarlar iin Edit mensnden Configuration komutu altrlr. ekildeki gibi bir ekran gelecektir burada istenilen zellikler ayarlanarak programlama ilemine hazr hale gelinir.

50

ekil 3.38: PICALLW; sigorta, kod koruma ve osilatr seimi

ekil 3.39: PICALLW; programlayc donanm zelliklerinin seimi

F4 tuuna basarak ya da Program komutunu altrarak binary kodlarn denetleyiciye aktarm salanm olur.

3.2.6. Denetleyiciye Yklenecek Programn Derlenmesi ve Denenmesi


Mikrodenetleyicinin programlanmas ve simlasyonu tamamlanp programlandktan sonra artk denetleyicinin fiziksel ortamda testlerinin yaplmasna balanmaldr. Bunun iin devre elemanlar bir araya getirilerek baskl devre kart zerinde ya da Breadboard zerinde balantlar gerekletirilebilir. 51

UYGULAMA FAALYET UYGULAMA FAALYET


lem Basamaklar MPASM programn altrarak rnek dosyalardan herhangi birini anz. neriler Aarken Balat Programlar MPLAB MPLAB IDE yolunu izleyiniz.

Project mensnden Quickbuild seenei ile program derleyiniz.

Derlenen programn .hex ve .lst dosyalarn aarak inceleyiniz. Derleme sonundaki hata ve uyar mesajlarn izleyerek hatalar bulunduu taktirde dzeltmeye alnz.

Virtual BreadBord programn anz.

Aarken Balat Programlar VirtualBreadBoard VirtualBreadBoard.exe yolunu izleyiniz

52

Packages kutusundan PIC 16F84 Mikrodenetleyicisini form zerine srkleyiniz. Properties penceresinden osilatr frekansn ve trn Clockspeed ve Oscillator seeneklerinden XT ve 4 MHz olarak ayarlaynz.

Denetleyiciye simulasyon iin g ve osilatr devresi hazrlamaya gerek yoktur. Daha yava almasn istediimiz devrelerde daha dk osilatr frekanslar kullanlabilir.

53

LME VE DEERLENDRME LME VE DEERLENDRME


A. OBJEKTF TESTLER (LME SORULARI) Aadaki sorularn cevaplarn doru ve yanl olarak deerlendiriniz. 1. MPASM program MPLAB paketinin bir parasdr ve programn derlenmesi iin kullanlr. (......) 2. MPLAB program altrma zamannda oluabilecek hatalar nceden grp giderebilmek iin bir simlatr iermektedir. (......) 3. MPLAB ile her trl devrenin simlasyonu mmkn olmaktadr. (......) 4. Virtual BreadBoard ile programlanan devrenin alma esnasndaki tepkisi grlerek hata bulma ilemi hzlandrlr. (......) 5. Simulasyonun balamas iin Simulation mensnden Run komutu altrlr. (......) 6. Simlasyon adm adm izlenecekse Step komutu seilir. (......) Aadaki cmlelerde bulunan boluklar en uygun ekilde doldurunuz. 7. PICALLW uygulamasnda Osilatr ve kod koruma seenekleri F3 tuuna baslarak , __________ komutu altrlr ve ayarlanr. 8. PIC denetleyicisi ile hazrlanm bir program kodu ___________ program ile simle edilebilir. 9. ______________ blmdr. program MPLAB paketinin ierisinde derleyici grevi yapan

10. ____________ program MPLAB paketinin iinde simlatr grevi yapan blmdr.

DEERLENDRME Cevaplarnz cevap anahtar ile karlatrnz. Doru cevap saynz belirleyerek kendinizi deerlendiriniz. Yanl cevap verdiiniz ya da cevap verirken tereddt yaadnz sorularla ilgili konular faaliyete geri dnerek tekrar inceleyiniz Tm sorulara doru cevap verdiyseniz modl deerlendirmeye geiniz.

54

MODL DEERLENDRME MODL DEERLENDRME


PERFORMANS TEST (YETERLK LME) Modl ile kazandnz yeterlii aadaki ltlere gre deerlendiriniz.

KONTROL LSTES
Deerlendirme ltleri 1. Mikrodenetleyici Seimi Yapmak ve Mikrodenetleyicileri Tanmak A) PIC 16F84 mikrodeneteyicisini Board zerine doru bir ekilde balayabildiniz mi? B) Besleme devresini ve voltajn doru verdiniz mi? C) Osilatr seimini ve montajn doru yaptnz m? 2. Mikrodenetleyici Programlama Kart Yapmak A) P16PRO mikrodenetleyicisinin baskl devresini doru bir ekilde hazrladnz m? B) Paralel balant kablosunu doru olarak baladnz m? C) Programlayc kartnn asit ile baskl devre hazrlama ilemini doru bir ekilde yaptnz m? D) Programlayc kartnn lehimleme ilemini doru bir ekilde yaptnz m? 3. Hata Mesajlarn zebilmek A) MPLAB programnda yazlm kodlar doru ekilde yaptnz m? B) MPSIM ile yazlan bir kodu doru olarak denediniz mi? C) PICALLW program ile derlenmi yazlm P16PRO programlaycs ile doru olarak veri aktarm yaptnz m? D) Hazrlanan devreleri VirtualBradboard ile denediniz mi? DEERLENDRME Yaptnz deerlendirme sonucunda eksikleriniz varsa renme faaliyetlerini tekrarlaynz. Modl tamamladnz, tebrik ederiz. retmeniniz size eitli lme aralar uygulayacaktr. retmeninizle iletiime geiniz. Evet Hayr

55

CEVAP ANAHTARLARI CEVAP ANAHTARLARI


RENME FAALYET-1CEVAP ANAHTARI D 1 D 2 Y 3 Y 4 D 5 D 6 (101)10, (65)16 7 (1111111000)2, 8 (1016)10 Yorum satr 9 Sabit deer 10 ORG, interrupt 11 Byte 12 Bit 13 Program 14 Hafzas RC Osilatr 15 Pipeline (boru 16 hatt) RENME FAALYET2 CEVAP ANAHTARI Y 1 D 2 Y 3 Y 4 D 5 Y 6 D 7 RENME FAALYET3 CEVAP ANAHTARI D 1 D 2 Y 3 D 4 D 5 D 6 Config 7 MPLAB, 8 ViertualBradboard MPASM 9 MPSIM 10 Cevaplarnz cevap anahtarlar ile karlatrarak kendinizi deerlendiriniz. 56

NERLEN KAYNAKLAR NERLEN KAYNAKLAR


http://www.microchip.com http://www.antrag.org.tr http://www.hitachi.com http://www.elektronikhobi.net http://www.picproje.org http://www.cpu-world.com http://www.cpupages.com http://www.picallw.com

57

KAYNAKA KAYNAKA
KATAR dris, Mikrodenetleyiciler Ders Notlar http://www.microchip.com http://www.mikroelektronika.co.yu/english/product/books/PICbook/picbook.htm http://www.antrag.org.tr http://www.hitachi.com http://www.elektronikhobi.net http://www.picallw.com http://home.iae.nl/users/pouweha/lcd/lcd2.shtml http://www.phanderson.com/PIC http://www.winpicprog.co.uk/pic_tutorial3.htm

58

You might also like