Professional Documents
Culture Documents
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
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.
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.
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.
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
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
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.
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.
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.
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.
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.
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
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
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.
13
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.
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.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).
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.
ekil 1.13: PIC 16F84 Mikrodenetleyicisinde yer alan genel ve zel amal yazmalarn yer ald veri hafzas
18
19
Mikrodenetleyici kontroll devrelerin boyutlarn gz nne alarak devrelerin retim safhalarn ve sresini snfta arkadalarnzla birlikte tartnz.
20
7. 8. 9. 10. 11.
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
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.
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
24
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
25
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.
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
Zmparann mmkn olduunca ince seilmesine dikkat ediniz. Aksi takdirde ince izilen yollar zarar grebilir.
27
28
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.
29
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
31
Kopyalama ilemi tamamlannca kan ekranda VirtualBreadboard has been sucessfully installed mesajn alrsak program sorunsuzca kurulmu demektir. Close ile kurulumu tamamlyoruz.
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.
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
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
35
Srasyla altr, duraklat, adm kipi, adm kipini kapat, tekrar balat ve durdur komutlar simlasyonun akn kontrol etmektedir.
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
2. simge SFR yani zel fonksiyonlara sahip kaydedicileri izlemek iin kullanlmaktadr. ekildeki pencereyi aar. Krmz renkte olan kaydedicilerde o an bir ilem yapld anlalr.
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.
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.
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.
retici firmann lisans anlamasn kabul etmeniz gerekir aksi takdirde program kullanamazsnz. Lisans anlamasnn artlarn kabul edin ve Next konutuna tklayn. 39
Kurulum trn seerek devam ediyoruz. Eer programn tm bileenlerini yklemek isterseniz Complete seeneini sein. Custom seenei ile sadece istediiniz bileenleri ykleyebilirsiniz. Next komutuna tklyoruz.
40
41
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
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.
Bu aamadan sonra denetleyicinin yaplandrma bitlerini ayarlamak iin Configure mensnden Configuration Bits komutu verilerek denetleyicinin yaplandrma bitleri ayarlanr.
44
Kodlar renklendirilerek hata oran azaltlmtr. Kodla ilemi bittikten sonra derlenmi bir projenin simlasyonu srasnda MPLABn grnm ekildekine benzer biimdedir.
Eer yzde ubuu yeil renkte ise derleme ileminin hatasz bir ekilde gerekletii anlalr. Derleme ilemi bittikten sonra simlatr balatlarak program analiz edilebilir.
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.
File Registers: Bununla veri hafzasnn durumu alma zamannda izlenebilir. Krmz renkli hcreler en son ilem gren hcrelerdir.
47
Program Memory: Bununla da program hafzasnn durumu alma zamannda izlenmektedir. Yeil iaret hangi komutun icra edildiini gstermektedir.
Special Function Registers: zel amal kaydedicileri izlemek iindir. Krmz renkte olanlar son ilem gren kaydedicilerdir.
48
Diassembly Listing: Derlenmi dosyadan tekrar elde edilen komut dosyasn gsterir. Aktif komut yeil gsterge ile iaretlenmitir.
Watch: Bu pencereden istediimiz herhangi bir hafza adresi, kaydedici ya da portu izleyebiliriz. zlenmek istenen hafza vs. adresi elle yazlmaldr.
49
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
F4 tuuna basarak ya da Program komutunu altrarak binary kodlarn denetleyiciye aktarm salanm olur.
Derlenen programn .hex ve .lst dosyalarn aarak inceleyiniz. Derleme sonundaki hata ve uyar mesajlarn izleyerek hatalar bulunduu taktirde dzeltmeye alnz.
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
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
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
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