Professional Documents
Culture Documents
MEGEP
(MESLEK ETM VE RETM SSTEMNN GLENDRLMES PROJES)
MKROLEMC VE MKRODENETLEYCLER
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 ulaabilirler. Baslm modller, eitim kurumlarnda rencilere cretsiz olarak datlr. Modller hibir ekilde ticari amala kullanlamaz ve cret karlnda satlamaz.
NDEKLER
AIKLAMALAR .............................................................................................................. iii GR ..................................................................................................................................1 RENME FAALYET-1 .................................................................................................3 1. MKRO LEMCLER VE MKRODENETLEYCLER ................................................3 1.1. Mikroilemcileri Birbirinden Ayran zellikler .........................................................3 1.1.1. Kelime Uzunluu ...............................................................................................3 1.1.2. Komut leme Hz .............................................................................................5 1.1.3. Adresleme Kapasitesi .........................................................................................6 1.1.4. Kaydedici Says ................................................................................................6 1.1.5. Farkl Adresleme Modlar ..................................................................................7 1.1.6. lave Edilecek Devrelerle Uyumluluk .................................................................7 1.2. Mikroilemciyi Oluturan Birimler ve Grevleri........................................................8 1.2.1. Kaydediciler.......................................................................................................8 1.2.2. Aritmetik ve Mantk Birimi (ALU)...................................................................12 1.2.3. Kontrol Birimi..................................................................................................13 1.3. Merkezi lemci Biriminde letiim Yollar..............................................................13 1.3.1. Veri Yolu .........................................................................................................14 1.3.2. Adres Yolu.......................................................................................................15 1.3.3. Kontrol Yolu ....................................................................................................16 1.4. Bellek .....................................................................................................................17 1.4.1. RAM Bellekler.................................................................................................17 1.4.2. ROM Bellekler.................................................................................................17 1.4.3. Programlanabilir ROM Bellek (PROM)............................................................17 1.4.4. Silinebilir Programlanabilir ROM Bellek (EPROM) .........................................18 1.4.5. Elektriksel Yolla Deitirilebilir ROM Bellek (EEPROM) ...............................18 1.5. Mikrodenetleyici Tanm ve eitleri.......................................................................18 1.5.1. Mikrodenetleyicinin Tanm .............................................................................18 1.5.2. Mikrodenetleyicilerin Salad stnlkler.....................................................19 1.5.3. Mikrodenetleyici eitleri ................................................................................19 1.5.4. Mikrodenetleyici D Grnleri.....................................................................20 1.5.5. Mikroilemci ve Mikrodenetleyici Arasndaki Farklar ......................................20 1.6. Mikrodenetleyici Program Aamalar ve Gerekli Donanmlar ..................................21 1.6.1. Mikrodenetleyicilerde Dikkat Edilmesi Gereken zellikler ..............................21 1.6.2. PIC16F84 zellikleri .......................................................................................22 1.6.3. PIC Programlamak in Gerekli Donanmlar ....................................................23 1.7. Mikrodenetleyicinin Yaps ve evre Elemanlar .................................................23 1.7.1. Mikrodenetleyici Yaps ...................................................................................23 1.7.2. Giri/k Pinleri le Balants .......................................................................26 LME VE DEERLENDRME .................................................................................32 RENME FAALYET-2 ...............................................................................................33 2. MKRODENETLEYC PROGRAMLAMA KARTI.....................................................33 2.1. Mikrodenetleyici Programlama ve Deneme Kart ....................................................33 2.2. Mikrodenetleyici Programlama ve Deneme Yapabilen Bir Kartn Yapm................35 2.2.1. Kart in Gerekli Malzemeler ...........................................................................35 2.2.2. Kartn Bask Devresini karma .......................................................................36 2.2.3. Devre Elemanlarn Bask Devre zerine Monte Etme .....................................38 i
2.2.4. Kartn Besleme ve Balantlarnn Tantlmas..................................................38 DEERLENDRME LE.......................................................................................39 LME VE DEERLENDRME .................................................................................40 RENME FAALYET-3 ...............................................................................................41 3. MKRODENETLEYCYE PROGRAM YKLEME ....................................................41 3.1. Giri........................................................................................................................41 3.2. Ykleme Programn Kullanma ...............................................................................44 3.2.1. Ykleme Programnn Balatlmas ..................................................................45 3.2.2. Program Menlerinin Aklanmas ...................................................................47 3.2.3. Mikrodenetleyici Seimi ..................................................................................47 3.2.4. Program Dosyasn Ama .................................................................................48 3.2.5. Mikrodenetleyici Konfigrasyonunu Ayarlama ................................................48 3.2.6. Bilgisayar ile Kart Arasndaki Haberleme Ayarlarn Yapmak.........................50 3.2.7. Program Mikrodenetleyiciye Ykleme ............................................................51 UYGULAMA FAALYET...........................................................................................52 DEERLENDRME LE.......................................................................................54 LME VE DEGERLENDRME .................................................................................55 CEVAP ANAHTARLARI .................................................................................................56 KAYNAKLAR ..................................................................................................................58
ii
AIKLAMALAR AIKLAMALAR
KOD ALAN DAL/MESLEK MODLN ADI MODLN TANIMI SRE N KOUL YETERLK 523EO0019 Elektrik Elektronik Teknolojisi Otomasyon Sistemleri Mikroilemci ve Mikrodenetleyiciler Bu modl mikrodenetleyicilerin eitleri, yaps, programlanmas ve denenmesine ynelik bilgi ve becerilerin verildii renme materyalidir. 40/24 PLC modlerini tamamlam olmak. Yaplacak ie uygun mikrodenetleyiciyi seerek program yklemek. Genel Ama Gerekli ortam salandnda istenen sistem iin gerekli mikrodenetleyici ve donanm elemanlarn seerek mikrodenetleyiciye program yklemesini eksiksiz yapabileceksiniz. MODLN AMACI 1. 2. Amalar Yaplacak ie uygun mikrodenetleyiciyi ve donanm elemanlarn doru olarak seebileceksiniz. Mikrodenetleyici programlama kartlarn tanyarak, programlama kartn hatasz alacak ekilde kurabileceksiniz. Yaplan program mikrodenetleyiciye hatasz ykleyebileceksiniz.
3.
IBM uyumlu bilgisayar, bir metin editr (Notpad), assembler program (MPASM), ykleme program (ICProg), elektrik aralar (yankeski, kargaburun), programlama ve deneme kart malzemeleri, bask devre kalemi, havya, lehim, asit banyo malzemeleri, matkap. Modln iinde yer alan her faaliyetten sonra, verilen lme aralaryla kazandnz bilgileri lerek kendi kendinizi deerlendirebileceksiniz. iii
LME VE DEERLENDRME
iv
GR GR
Sevgili renci, amzda bilgi ve teknoloji hzla ilerlemekte, hayatmzn her alanna girmi bulunmaktadr. Karmak ve uzun zaman alan hesaplamalarn zmlenmesi iin bilim dnyas srekli bir aray hlindeydi. Alman bilim adam Zuse 1936 ylnda mekanik anahtarl Z1 adnda ilk bilgisayar yaptktan sonra 1939 yllnda manyetik rle ile alan Z2 bilgisayarn tasarlamtr. 1942 ylnda Lowa State niversitesinin profesr John Atanasoff ile rencisi Clifford Berry ilk elektronik bilgisayar olan vakum tpleriyle ABCnin yapmn gerekletirdi. 1946 ylnda ABDde askeri ama iin dnlen bomba izlerinin hesaplanmasnda kullanlacak olan ENIAC yapld. Bu bilgisayarlar manyetik rle ve vakum tpl olduklarndan, fiziki olarak bir oda byklnde ve sadece zel amal kullanlyordu. 1948 ylnda yar iletkenlerin kefi ve 1950 ylnda transistrlerin kullanlmasyla birlikte bilgisayarlar yeni bir boyuta tand. Eskisine gre daha kk ve az enerji harcayan bilgisayarlar retilmeye baland. 1970 ylnda Intel firmas bilgisayarn beyni saylan mikroilemciyi (CPU) tek bir entegre olarak tasarlad. Gelen istekler dorultusunda srekli gelitirilen mikroilemciler, sadece bilgisayarlarda kullanlmayp otomobil, telefon sistemleri, beyaz eya, robotlar, mzik aletleri, gvenlik sistemleri ve endstride kullanlmaktayd. Bellek, giri/k birimleri ve ilemciden meydana gelen basit bir mikroilemcili sistem daha sonralar gnmzde ad geen elemanlarn tek bir entegre hline getirilmesiyle mikrodenetleyici adn almtr. Mikroilemcili sistemi meydana getiren birimlerin krplm zellikleri mikrodenetleyici sistemde kullanldndan, maliyet dm, programlanmas kolay olmu ve dolaysyla boyutlar da kk olmutur. Mikrodenetleyiciler srekli gelitirilmekte, zellikleri ve performanslar arttrlmaktadr. Mikrodenetleyiciler bilindik kullanm yerlerinin dnda endstride ve gnlk yaantmzda kendisine srekli yeni kullanm alanlar amaktadr.
RENME FAALYET-1
AMA
RENME FAALYET-1
Mikroilemcileri ve mikrodenetleyicilerin yap ve almasn renecek, mikroilemci ve mikrodenetleyicilerileri zelliklerine gre karlatrabilecek, istenilen zellikte mikroilemci ve mikrodenetleyiciyi seebileceksiniz.
ARATIRMA
8 bitlik mikroilemci ve mikrodenetleyicilerin zelliklerini rapor hlinde hazrlaynz.
Eer komutlar veya veriler kk gruplar hlinde ilenirse hzda azalma meydana gelir. lenen veri saysnn artmas ayn srede yaplan iin miktarn artrmakta ve yaplan iin sresini azaltmaktadr. 16-bitlik bir ilemci ile 16-bitlik iki saynn toplanmas, arplmas veya karlatrlmas bir admda yaplrken 8-bitlik ilemcide bu ilem daha fazla admda gerekletirilmektedir. Tablo 1.1de mikroilemciler ve kelime uzunluklar grlmektedir. retici Frma Intel Motorola Zilog MOS Tec Intel Intel Motorola Intel Motorola Intel Motorola Intel Intel retim Yl 1971 1974 1975 1976 1976 1978 1979 1982 1983 1985 1987 1989 1993 Mikroilemci 4004 6800 Z80 6502 8085 8086 68000 80286 68010 80386DX 68030 80486 Pentium Veri Yolu genilii (Kelime Uzunluu) 4 bit 8 bit 8 bit 8 bit 8 bit 16 bit 16 bit 16 bit 16 bit 32 bit 32 bit 32 bit 32 bit
Her ilemcinin komut evrim sresi farkl sayda saat evrimleri ile tanmlanmaktadr. Tablo 1.2de ilemcinin komut evrim sreleri birbirine denk olan komutlara bakarak karlatrlma yaplmtr. Harici Saat Girii 2 MHz 2 MHz 5 MHz 4 MHz Mikro lemci 6502A 68B00 8085A Z80A Komut ADC ADCA ACI ADC Saat Periyodu 2 2 7 7 Sre 1 ms 1 ms 1,4 ms 1,75 ms
Tabloda grld gibi, sadece saat frekansna bakarak deerlendirme yapmak yanltc olabilmektedir. Saat frekans her zaman gerek alma frekansn yanstmasa da, bir mikroilemcinin hzn dorudan etkilemektedir. Bir mikroilemcinin hzn artran temel unsurlar yle sralanabilir:
CPU tasarm teknolojisi Kelime uzunluu lemci komut kmesi eidi Zamanlama ve kontrol dzeni Kesme altyordamlarnn eitleri Bilgisayar belleine ve giri/k aygtlarna eriim hz
Eer ok byk bellek gerektiren bir sistem tasarlanacaksa ilemcinin adres hatt byk seilmelidir. Bundan sonraki bilgiler daha ok 6502 mikroilemci arlkl olacaktr.
Kaydedicilerin saysnn programcnn iinin kolaylatrmasnn yannda programn daha sade ve anlalr olmasn da salar. Her mikroilemcinin kendine has yaps ve kaydedici isimleri vardr. Herhangi bir mikroilemciyi programlamaya balamadan nce mutlaka bu kaydedicilerin isimlerinin ve ne tr ilevlere sahip olduklarnn iyi bilinmesi gerekir. ekil 1.3te 6502 mikroilemcisi grlmektedir.
MAR
DAR
PC
Bellek
MBR
Veri yolu
IR
DR
ALU
A
Komut Kodzcs
Kontrol yolu
1.2.1. Kaydediciler
Kaydediciler, daha nce de bahsedildii gibi, genel ve zel amal olmak zere iki gruba ayrlr. Bunlardan baka programcya gzkmeyen (ilgilendirmeyen) kaydediciler de vardr. (IR, DAR, MAR ve MBR gibi). Genel amallara 6502 ilemcisinde; akmlatr, X indis ve Y indis kaydedicisi girmektedir. zel amallar ise, PC, SP, Bayraklar, DR gibi kaydediciler girmektedir. (ekil 1.5) Aada bunlardan bazlar anlatlacaktr. 8
1.2.1.1. Akmlatr Akmlatrler (ACC ya da A olarak da tanmlanabilir), bilgisayarn aritmetik ve mantk ilemleri srasnda depo grevi yapan nemli bir kaydedicidir. Eer kaydediciler bir sistemde sekreterya olarak dnlrse, akmlatr bu sistemde ba sekreter olarak yerini alr. Ara deerlerin zerinde tutulmas, sisteme gelen verinin ilk alnd yer, bellee veya d dnyaya gnderilecek verilerin tutulduu yer olarak grev yapar. Bu yzden, ilemcinin A kaydedicisini hedefleyen komutlar oktur. Baz ilemcilerde B kaydedicisi de yardmc akmlatr olarak kullanlr. 1.2.1.2. ndis Kaydedicileri X ve Y olarak tanmlanan indis kaydedicilerinin temelde grevi vardr. Hesaplamlarda ara deerlerin geici tutulmasnda, program dnglerinde ve zamanlama uygulamalarnda bir sayc olarak ve bellekte depolanm bir dizi verinin zerinde bir indisi olarak kullanlmaktadr. Baz ilemcilerde sadece tek indisi olabilir. 1.2.1.3. Program Sayc (PC) Mikroilemcinin yrtmekte olduu program komutlarnn adres bilgisini tuttuu zel amal bir kaydedicidir. Bilindii gibi bir program oluturan komutlar ve veriler normal bellekte sakldr. Bilgisayarn almas srasnda hangi komutun hangi srada kullanlacann bilinmesi gerekir. Bu grevi program sayc (PC) yerine getirir. Program saycnn bit genilii adres yolu genilii kadardr. Eer ilemcinin 16-bit adres hatt var ise PC=16 bit, ilemcinin 32-bit adres hatt var ise PC=32 bit byklnde olur.
Bellekten alnan her komut kodundan sonra alnacak yeni komut kodunun adresi program saycya otomatik olarak ilemci tarafndan yklenir. Komut evrimi, PCnin yeni adresi adresyoluna koymas ile balar. Bunun ardndan da ilgili kontrol sinyali gnderilir. Bellekten gelen her bilgiden sonra PC, kontrol devresinden ald iarete uyarak adres satrn 1 arttrr. (ekil 1.6) Bylece bilgilerin bellekten ilemciye dzenli bir ekilde gelmesi salanr. 1.2.1.4. Durum Kaydedicisi (Bayraklar) Durum kaydedicisi 8-bitlik bir kaydedicidir. Bu kaydedicinin her bir biti ayr ayr anlam ifade eder. Mikroilemci iinde veya dardan yaplan herhangi aritmetiksel, mantksal veya kesmelerle ilgili ilemlerin sonucuna gre bu bitler deer deitirir. Bir ilem sonucunda bu bitlerin ald deere gre program yn bulur. Programc bu bitlerde oluacak deerlere gre programa yn verebilir. ekil 1.7te 6502 mikroilemcisine ait 1-baytlk durum kaydedicisinin bit ekli gstermektedir.
Kabul edilen terminolojiye uyarak, eer bir bayraa karlk olan bit 1 ise sz konusu bayrak kuruldu, eer bit 0 ise sz konusu bayrak silindi denir. Carry (elde bayra-C): Elde / bor bayradr. 8-bitlik bir ilem sonucunda dokuzuncu bit ortaya kyorsa elde var demektir. Bu durumda C bayra mantksal 1 olur. Bu bayrak biti programc tarafndan kurulur ya da silinebilir (CLC, SEC). Ayrca baz komutlar tarafndan test edilebilir (BCC, BCS). Zero (sfr bayra-Z): Sfr bayra, aritmetik ve mantk ilemi sonucunda kaydedici ierii sfr ise Z = 1e kurulur. Aksi durumda sfrlanr (Z = 0). Interrupt disable (kesme yetkisizletirme bayra-I): Mikroilemci normal durumda komutlar ilerken bir kesme (IRQ) geldiinde bu kesme bu bayrak biti ile engellenebilir. Eer bu bit komutlar (SEI) mantksal 1 yaplrsa gelen kesmeler gz nne alnmaz. Ancak bu bayrak mantksal 0 olduunda kesme dikkate alnr ve kesme hizmet yordamna dalnr. Yani bu bayrak biti, normal ileyi srasnda bir kesme geldiinde kabul edilip edilmeyeceini belirler. Programc bunu komutla yapar. NMI kesmesi bu bayrak iin kullanlmaz. 10
Decimal (ondalk bayra-D): Bu bayrak 1 olduunda aritmetik ilemler BCD modunda yaplrken 0 olduunda ikilik modta yaplr. Bu ilem eitim ve uygulama asnda programcya byk kolaylklar salar. Overflow (tama bayra-V): Bu bayrak aritmetik ilemlerde, eer ilem +127 ile 128 araln geiyorsa bir tama meydana gelir ve V bayra 1 olur. Dier yandan, yine benzer ilemlerde, eer pozitif bir say ile negatif bir say zerinde ilem yaplyorsa ve sonu pozitif kmas gerekiyorken negatif ktysa, bu bayrak 1 olur. Tama bayra iaretli saylarla ilem yaplrken devreye girer. Negative (negatif bayra-N): 8-bitlik bir ilemcide 7.bit MSB biti olarak bilinir. Eer MSB biti bir ilem sonucunda 1 ise N bayra 1e kurulur. Eer MSB biti 0 ise kaydedicisideki deer pozitif demektir ki, N bayra 0 olur. Bayraklardaki 4. bit B (Break) olarak tanmlanm olup, program durduunda otomatikman 1 olur. 5. bit ileride kullanlmak zere bo (+5V) braklmtr. Farkl mikroilemcilerde birbirine benzer bayraklar olmasna ramen fakl bayraklarda olabilir. 1.2.1.5. Yn aretisi (SP) RAM bellein herhangi bir blm yn olarak kullanlabilir. Yn mikroilemcinin kulland geici bellek blgesi olarak tanmlanr. Yn iaretisi, ynn adresini tutan zel amal bir kaydedicidir. SP adres bilgisi gsterecei iin 16-bit uzunluundadr.
11
Bu kaydediciye programn banda ynn balang adresi otomatik olarak atanr. lemci tarafndan ynn balang adresi SPye yklendikten sonra artk bellein bu blgesi depo benzeri bir grev yrtr. Yna veri girii yapldka yn gstericisinin deeri de yapsna gore deiir. (ekil 1.8). Yna her veri giriinde yn gstericisinin deeri bir azalmakta, yndan her veri ekildiin de ise yn gstericisinin deeri otomatik olarak bir artmaktadr. Yna gnderilen veri yn gstericisinin iaret ettii adresteki bellek hcresine yazlr. Yndan veri ekilirse yn gstericisi bir nceki verinin adresine iaret edecek ekilde bir azalacaktr. Mikroilemci iledii ana programdan alt programa dallandnda veya bir kesme sinyali ile kesme hizmet programna dallandnda mevcut kaydedicilerin ieriklerini ve dn adresini saklayabilmek iin otomatik olarak verileri ve adresleri yna atar. Alt programdan veya kesme hizmet programndan ana programa geri dnlmesi durumunda, ana programda kald yerin adresini ve kaydedicilerdeki verileri kaybetmemi olur.
DR
ALU
BAYRAKLAR
12
Aritmetiksel ilemler
ALUda yaplan aritmetiksel ilemler mikroilemcinin yapsna gre eitlilik gsterebilir. 8-bitlik mimariye sahip bir mikroilemcide toplama, karma, arpma, blme ilemleri ve ondalkl saylarla matematiksel ilemler yaplabilmektedir. Gelimi ilemcilerde byk ondalkl saylarla ilem yapmak iin ayrca matematik ilemci mevcuttur. Mantksal ilemler Mantksal arpma VE ilemi Mantksal toplama VEYA ilemi zel VEYA, XOR ilemi Deil, NOT ilemi Karlatrma (=, =<, =>, <> gibi) ve kaydrma gibi ilemler bu nitede yaplr. Saa veya sola kaydrma ve dndrme ilemleri erik artrma veya azaltma ilemleri
Btn bu ilemler teknolojik yaps deiik kap ve flip-floplardan oluan bir sistem tarafndan yrtlmektedir.
13
VER YOLU
Tampon
KONTROL YOLU
Tampon Bellek
KONTRO L
Tampon
Tampon
Mikroilemc i
Giri k
ADRES YOLU
Tamponlar
Tamponlar
vertigfhgh
ekil 1.11: Bellek biriminden ilemciye veri yolu kullanarak veri aktarm
Bellekte bulunan ve CPU tarafndan ilenmesi istenilen veriler, veri yolu zerinden iletilir. (ekil 1.11) Bellekteki verilerin hatlara yerletirilmesinde veya hatlardan gelen verilerin CPUya aktarlmasnda, verileri ksa sre tutmak amacyla kullanlan tamponlardan faydalanlr. Tampon olarak kaydediciler kullanlr. CPUda ilenen verilerin harici elemanlara iletilmesinde veya harici elemanlardan gelen verilerin CPUya gnderilmesinde ara birim olarak giri/k (G/) birimi kullanlr. CPU ile G/ birimi arasnda veri iletiminde, veri yolundan faydalanlr. Veri yolu zerinden G/ birimine gelen veriler, tamponlar kullanlarak veri yolu zerinden klavye, monitr, yazc ve tarayc gibi birimlere gnderilir veya bu birimlerden gelen bilgiler CPUya aktarlr.
14
Tamponlar
Tamponlar
ekil 1.12: lemcide ilenen verilerin, veri yolu kullanlarak G/ birimine iletilmesi
Tamponlar Tamponlar
.
ekil 1.13: Verilerin iletilecei blgenin adres yolu kullanlarak tespiti
CPUda ilenen verilerin, bellekte saklanmas veya dier elemanlara gnderilmesi gerekebilir. Bu durumda, verinin saklanaca veya gnderilecei yerin adresi, mikroilemci ierisindeki PC yardm ile adres yolu zerine yerletirilir. Yerletirilen bilginin temsil ettii adres blgesi dahili bellekte olabilecei gibi, harici bellekte de olabilir. Yerletirilen bilginin kodu zlerek ilgili adres blgesi bulunur ve bulunan adres blgesindeki veri, veri yoluna konur. Yaplan bu ilemlerin dzgn ve kontroll olarak gerekletirilmesinden, zamanlama ve kontrol birimleri grevlidir. Adres yoluna yerletirilen bilgi, mikroilemcinin kapasitesine ve adreslenebilecek blge saysna bal olarak deiir. Bir mikroilemci tarafndan adreslenebilecek maksimum bellek kapasitesi 2n forml ile hesaplanabilir. n adres hatt saysn gsterir. Bu durumda; 216 = 65536 Bayt = 64 KBayt adres blgesi, 220 =1048576 Bayt = 1MBayt adres blgesi ve 232 = 4 GBayt adres blgesi adreslenebilir. 15
Mikroilemci veri yolu ve adres yolu farkl sayda hatt ierebilir. Veri yolu 8 hattan oluan bir mikroilemcili sistemde, adres yolu 16 hattan (16 bit) oluabilir. Gnmz mikroilemcilerinde srekli veri yollar artrlrken adres yollar hattn byk oranda korumaktadr. Adres yollar hatlarnn fazla artmamasnn sebebi, u anda kullanlar adresleme kapasitesinin ok yksek ve ileriye ynelik olmasndandr.
Bellek
Giri /k Birimi
ekil 1.14: Kontrol sinyallerinin kontrol yolu kullanlarak bellek birimine iletimi
16
1.4. Bellek
1.4.1. RAM Bellekler
Mikroilemcinin almas esnasnda her trl deikenin zerinde yer ald ve geici ilemlerin yapld birimi RAM belleklerdir. zel bir sra takip etmeden herhangi bir adrese eriildii iin rastgele eriimli bellek (Random Access Memory) RAM olarak isimlendirilir. Ayrca yn olarak adlandrlan ve mikroilemci programlarnn altrlmas esnasnda eitli alt-programlar kullanldka geri dn adreslerinin, ieriklerinin deimesinin istenmedii kaydedici ieriklerinin sakland bellek blgeside yine RAMda birimlerinde yer alr. RAM tipi entegreler hem yazmada hem okumada kullanldklarndan CPU, bu entegreleri kontrol ederken okuma R (Okuma) ve W (yazma) sinyalleri gndermesi gerekir. (ekil 1.15) Ayrca entegrenin istendii zaman aktif duruma gemesinin salayacak entegre seimi (CS =Chip Select) pini bulunmaktadr ve active low (aktif dk, 0 Volt) ile alr. Her bir biti bir flip-flop devresi olan bu bellekler, yeni bir tetikleme iareti gelinceye kadar iindeki bilgiyi (0 veya 1i) saklayabilme zellii sebebiyle ok dk g tketimi ile almaktadr. Dardan devreye balanan bir pil yardmyla iindeki bilgileri ok uzun sreler boyunca saklayabilme imkn vardr. Yksek maliyetli olmalar sebebiyle ok yksek kapasitelerde retilmez.
18
19
20
Mikrodenetleyicilerde tm bu birimler (ilemci, bellek ve G/, bunlara ADC ve DAC gibi sinyal dntrc elemanlarda eklenebilmektedir) bir arada bulunmaktadr. Bundan dolay mikrodenetleyiciler tek-entegreli sistemler olarak anlr (ekil 1.19).
Mikrodenetleyici tm birimlerin birarada tek bir entegrede olmas ilem hzna ve performansa dorudan yansmaktadr.
Dahili bellek tipi seenekleri (ROM, EPROM, PROM, EEPROM) Dahili RAM seenei Kayan nokta hesaplamas
22
Flash olma zellii: Bu zellik PICin yeniden programlanabilir olmas durumunu ifade etmektedir. Yani PIC zerine yazlan program gelitirme amac ile silinebilir ve yeni bir program yklenebilir.
Assembly program kodlarn kolayca yazmak, doru ve hzl bir ekilde PIC in program belleine gndermek iin, bilgisayara ihtiya vardr. Bir metin editr kullanarak yazlan program kodlar derlendikten sonra PICe gnderilmesi gerekir. Program kodlarnn PICe yazdrma ilemi paralel veya seri porta balanan PIC programlama kart ile yaplr. Bu ileri yapabilmek iin gereken donanmlar; grsel bir iletim sistemi (Windows, Linux), basit bir editr (Edit, Notpad, Word gibi) 1GHz CPU, 256 MB RAM, 40 GB sabit disk ve CDROM srcs olmaldr. Bu donanmlar 2006 yl artlarna gre yazlmtr.
23
1.7.1.2. Program Bellei PIC16F84n 1 Kbytelk program bellei vardr. Her bir bellek hcresi 14 bit uzunluundadr. Program bellei elektriksel olarak yazlp silinebilir ama program alrken sadece okunabilir. almas istenen program bu bellek ierisine yklenir. Program bellei 0X000 ile 0x3FF adreslerini kapsar. 1.7.1.3. Ram Bellei PIC16F84n 0x00~0X4F adres aralnda ayrlm olan RAM bellei vardr. Bu bellek ierisindeki dosya kmesi (file registerler) ierisine yerletirilen veriler PIC ilemcisinin almasn ynlendirir. File registerlerin bellek uzunluu 8 bittir. File register ad verilen zel bellek alanlarnn dnda kalan dier bellek alanlar program ierisindeki deikenler iin kullanlr.
24
1.7.1.4. W Kaytcs PIC16F84n ierisinde akmlatr veye geici depolama alan olarak dnebileceimiz W registeri (mikroilemcideki A kaydedicisine benzer ileve sahip) vardr. PIC ierisinde gerekleen aritmetik ilemler ve atama ilemleri bu kaydedici vastasyla gerekletirilir.
PORT A
W REGSTER
PORT B
25
1.7.2.2. Saat Ular ve Osilatr eitleri PIC16F84n saat (clock) sinyal girii iin kullanlan iki ucu vardr. Bunlar OSC1 (16. Pin) ve OSC2 (15. Pin)dir. Bu ulara farkl tipte osilatrlerden elde edilen saat sinyalleri uygulanr. 1.7.2.2.1. RC Osilatr PICin denetledii elektronik devredeki zamanlamann hassas olmad durumlarda kullanlr. Belirlenen deerden % 20 sapma grlebilir. R 10K 10K 10K C 20pf 220pF 0.1f Fosc 625 KHz 80 KHz 85 KHz
26
1.7.2.2.2. XT Osilatr Kristal veya seramikle yaplm genel amal saat osilatrdr.
Mode Frekans 100 KHz 2 MHz 4MHz 455 KHz 2 MHz 4MHz OSC1/C1 KRSTAL RESONATR XT 100-150pF 15-33 pF 15-33 pF SERAMK RESONATR 47-100 pF 15-33 pF 15-33 pF 100150 pF 15-33 pF 15-33 pF 47-100 pF 15-33 pF 15-33 pF OSC2/C2
XT
1.7.2.2.3. HS Osilatr Kristal veya seramikle yaplm yksek hzl saat osilatrdr.
Mode Frekans 4 MHz 20MHz 8 MHz 10MHz OSC1/C1 KRSTAL RESONATR HS 15-33 pF 15-33 pF SERAMK RESONATR HS 15-33 pF 15-33 pF 15-33 pF 15-33 pF 15-33 pF 15-33 pF OSC2/C2
27
1.7.2.3. Reset Ular ve Reset Devresi PIC16F84n reset ucu 4 nu.lu pinde bulunan MCLR ayadr. PIC16F84 besleme ularna gerilim uyguland anda EEPROM belleindeki programn balang adresinden itibaren almaya balar. Programn herhangi bir annda 4 nu.lu MCLR ucu 0 V yaplnca program balang adresine geri dner.
28
1.7.2.4. I/O Pinleri ve Port Yaps PIC16F84de 1,2,3,17 ve 18 nu.lu pinler giri 6,7,8,9,10,11,12 ve 13 nu.lu pinler k olarak tanmlanmtr. Program yazlrken istenilen pin, giri veya k pini olarak atanabilir. B portunun 8 ucu PIC ierisinde pull-up yaplm etki gsterir.
29
Port ularndan herhangi birisi k olarak ynlendirildiinde o utaki pull-up direnci otomatik olarak iptal olur. A portunun 4. biti TOCKI ad verilen haric timer/counter giri ucu ile ortak kullanlnr. RA1, RA2, RA3 ve RA4 ak kollektr zelliinden dolay haric olarak pull-up direncine balanmaldr. 7.2.4.1. I/O Pinleri Akm Snrlar PIC16F84n belleinde bulunan program altrmas srasnda k portlarna 0 veya 1 bilgisi gnderir. Portlara 0 bilgisi gnderildiinde k portu max 25 mAlik giri (sink) akm eker. Portlara 1 bilgisi gnderildiinde k portu 25mAlik k (source) akm verilebilir.
30
1.7.2.4.2. I/O Port Pinlerine Kumanda Edilecek Devre Elemanlarnn Balanmas I/O portlarndan geebilecek 25 mAlik giri akm veya 25 mAlik k akm ile led, lcd, transistr, tristr ve triyaklar dorudan srlebilir k akmnn yetmedii durumlarda ykselte devreleri kullanlmaldr.
31
) ) ) ) denir. ( ) 20 adres hatt 2 MBayt adres blgesini gsterir. ( ) Mikroilemcili sistemde bulunan birimler arasndaki ilikiyi dzenleyen hatlara, kontrol yolu denir. ( ) Geici ilemlerin yapld bellek birimi ROM hafzalardr. ( ) Yalnz okunabilen belleklere RAM bellekler denir. ( ) Bir kez programlanabilir belleklere PROM bellek denir. ( ) Silmek iin ultraviyole k altnda belirli bir sre tutulan bellekler SRAM belleklerdir. ( ) XTAL kristal veya seramikle yaplm genel amal saat osilartdr. ( ) Elektriksel olarak yazlabilen ve silinebilen belleklere EEPROM denir. ( ) Mikroilemci, bellek ve G/ birimlerinin tek bir entegre ierisinde retilmi biimine mikrodenetleyici denir. ( ) PIC16F84n 5 Kbytelk program bellei vardr. ( ) PICin besleme gerilimleri 5 ve 14 nu.lu pinlerden yaplr.
DEERLENDRME
Cevaplarnz modln sonunda yer alan cevap anahtar ile karlatrnz. Yaptnz deerlendirme sonunda yanl cevaplarnz tekrar gzden geiriniz. Kendinizi yeterli grmyorsanz renme faaliyetini tekrar ediniz. Cevaplarnzn hepsi doru ise renme faaliyeti-2ye geiniz.
32
ARATIRMA
Programlama kartnn grevini snf iinde tartnz.
Mikrodenetleyici programlama kart, mikrodenetleyicin istenilen ekilde alabilmesi iin yazlan program mikrodenetleyiciye ykleyen karttr. Yaplan kartn zelliine gre bilgisayarn seri veya paralel portuna balanabilir. Bizim yapacamz kart seri iletiim yapan mikrodenetleyici programlama kartdr.
33
Mikrodenetleyici deneme kart, programlanm mikrodenetleyicinin almasnn gzlemlendii karta deneme kart denir. Deneme kartlarnda giri olarak push buton ve anolog giri iin potansiyometre seilebilir. k deerlerini grmek iin led, display ve lcd ekran kullanlabilir. Programlanm mikrodenetleyicinin denenecei deneme kartnn emas ekil 2.3te grlmektedir.
34
Deneme Kart
1 2 3 4 5 6 7 8 9 10 11 12 35 IC1=16F84A 18 Pin IC soketx2 IC2=ULN 2803 Ortak anotlu display Push buton (6 adet) Krmz Led (9 Adet) R1..R8 , R14=330 x 9 R9R14=10 K x 6 D1=1N4148 C1,C2=22pF Kristal=4 Mhz 10x8 cm Bakr plaket
Devre emasndaki yollarn milimetrik Balant yollar devre emasnda kt zerine iziniz. birbirinin stnden geebilir. Bask devre emasnda balant yollarn birbirinin stnden geirilmemesine dikkat edilmelidir. Bask devre emas izilirken elemanlarn fiziksel byklkleri gz nnde tutulmaldr. Hazrladnz veya verilmi bask devre izim yaplrken izilen hatlarda emasn bakr plaket zerine bask devre aydnlk veya bulank blgenin kalemi ile geiriniz. kalmamasna dikkat edilmelidir. izgiler koyu olmaldr. Bask devre emas izilmi bakr plaketi Asit karm iyi ayarlanmal gerekirse asit banyosuna atnz. su miktar arttrlmaldr. Balant noktalarn 1mmlik matkap ile Matkap ucunun kaymamas iin balant deliniz. noktalarnn ortas, delme ileminden nce bz ile iaretlenebilir.
Programlama Kart
36
Deneme Kart
37
2.2.3. Devre Elemanlarn Bask Devre zerine Monte Etme lem Basamaklar neriler
Bakr plaket zerindeki balant yollarn Balant yollarn emadan takip ederek test ediniz. en u noktalaryla irtibatl olup olmadna bakabilirsiniz. Malzemelerinizin salamlk kontroln AVO metre ile salamlk kontrol yapnz. yaplabilecek elamanlar lebilirsiniz. Balant noktalarna gre, Elemanlarn balantlarn dik veya malzemelerinizin ayak uzunluklarn yatay yapabilirsiniz. belirleyiniz. Havyanz uygun scakla getiriniz. Elektronik malzemelerin montaj yaplrken 30 Wlk havya kullanabilirsiniz. Malzemelerinizi st grn emasna Entegrelerin scaktan etkilenmesini gre bakr plaket zerine lehimleyiniz. nlemek iin yalnz soketleri lehimleyebilirsiniz.
38
DEERLENDRME LE DEERLENDRME LE
DEERLENDRME LTLER
1 2 3 4 5 6 Programlama kartnn emasna gre bask devresini teknie uygun karttnz m? Kart iin gerekli malzemeleri doru ve eksiksiz tespit ettiniz mi? Devre elemanlarnn salamlk kontroln yaptnz m? Kart zerinde bulunan elemanlarn yerleimini ve montajn tekniine uygun olarak yaptnz m? Kart zerine yerletirdiin devre elemanlarnn lehimlemesini teknie uygun olarak yaptnz m Devre elemanlarnn montaj tamamlanan kartn denemesini yaptnz m?
Evet
Hayr
Cevaplarnz modln sonunda yer alan cevap anahtar ile karlatrnz. Yaptnz deerlendirme sonunda yanl cevaplarnz tekrar gzden geiriniz. Kendinizi yeterli grmyorsanz renme faaliyetini tekrar ediniz. Cevaplarnzn hepsi doru ise renme faaliyeti-3e geiniz.
39
40
ARATIRMA
Asembly dilinde yazlm program kodlarnn mikrodenetleyiciye yklenilmesine kadar olan aamalar sralaynz ve kullanlan programlar inceleyerek snf iinde arkadalarnzla tartnz.
3.1. Giri
Mikrodenetleyiciye assembly dilinde yazlm program kodlarnn yklenebilmesi iin nce program herhangi bir editrde yazlr. Yazlan programn almasndan emin olmak iin bir simlatr benzeri yazlmlarda denenir. Sonra, uygun ekilde isim verilerek saklanr. ekil 3.2de Not Defteriinde yazlan bir programn asm uzantl olarak saklanmas grlmektedir.
41
Yazlan program Kaydet onay kutusu iaretlendiinde C sabit diskinde YNPSNN.asm dosyas olarak saklanr. Bu program dorudan mikrodenetleyiciye ykleyemezsiniz. Assembly diliyle yazlm programnz makine diline (*.hex) eviren assempler programn kullanmanz gerekir. Piyasada ok eitli assembler programlar mevcuttur. Kullanm kolaylndan dolay burada MPASM yazlm tercih edilmitir.
42
Makine diline evrilecek YNPSNN.asm program Browse dmesinden dizin ve dosya ad belirtilerek Source File Name kutucuuna yazdrlr (ekil3.3).
MPASM programnn options ayarlar ekil 3.4te grld gibi seildikten sonra Assemble (yeil izgili) onay butonuna baslr. Eer yazlm programda herhangi bir hata yoksa ekranda yeil bantl rapor penceresi kar (ekil 3.5). Eer krmz bantl ropor penceresi km ise programda hata veya hatalar var demektir. Bu durumda tekrar Not Defterine dnp, YNPSNN.asm programn yeniden aarak yazm hatalarn dzeltmeniz gerekmektedir.
43
OK onay dmesini iaretlediinizde MPASM Assembleri, metin editrnde yazlm YNPSNN.asm dosyasn makine diline evirerek YNPSNN.hex dosyas ve eitli rapor dosyalar oluturur. (ekil 3.6)
Dier rapor dosyalarndan LST, program kodlarnn bellekte yerletikleri adresleri, komutlarn hex kodlarn ve satr numaralarn ve assembly dilinde yazlan program listeler. ERR rapor dosyas adndan da anlalaca gibi hatalarn rapor edilmesinde kullanlr. Hatal satr numaras ve yaplan hatann karl bu raporsa sralanr.
44
ICProg programn bilgisayara yklediinizde entegre semboll uygulama dosyas oluturulur. zerine tkladnzda ICProg alr.
ICProg programn Trkeletirerek ilemlerimizi kolaylatrrz. Bunun iin, Setting mensnden options seilir. Language mensnden yn ubuuyla Turkish seenei bulunarak onay dmesine tklanr. (ekil 3.9 ve 3.10)
Karnza program yeniden balatma bilgisi gelir. OK onay kutusu tklanr. Program kapatp atmzda Icprog programn Trkeletirmi hlde karnza gelecektir.
46
A: Yklenilmesi istenen dosyay sememizi salar. Yeni Adla Kaydet: Seilmi program yeni adla kaydetmemizi salar. Donanm: Donanm ayarlar yaplr. Seenekler: Program ayarlar yaplr. Tmn Oku: Mikrodenetleyici iindeki program ekranda gsterir. Tmn Programla: Seilmi olan *.hex uzantl dosyalar mikrodenetleyiciye ykler. Tmn Sil: Mikrodenetleyici iinde ykl olan program siler. Dorula: Mikrodenetleyiciye karlatrr. yklenen programla kaynak program
Assembler Grnm: Seilmi programn ekranda assembler modunda grnmesini salar. Hex Grnm: Seilmi programn ekranda hex modunda grnmesini salar.
47
CP, (Code Protect) seenei iaretlendiinde mikroilemcinizin zerindeki programa bir ey eklenemez ve program kopyalanamaz. Yaptnz programn bakalar tarafndan okunmasn ve kopyalanmasn istemediiniz durumlarda bu seenek iaretlenir. (ekil 3.14) Sadece Erase (sil) komutu verildiinde mikroilemci zerindeki program silinir. Fakat program okunamad iin kopyalanamaz.
Btn bunlar yaptktan sonra yine Ayarlar mensnden Seenekler alt mens seilir. Karmza kan ekrandan Kark mensne girilir. Buradan; 1. lem ncelii Normal seilir. 2. Yan taraftan ise JDM iin Vcc Kontrol Etkin seilmelidir. 3. Windows XP kullanyorsanz program alrken; Privileged Instruction eklinde hata mesaj grlebilir. Bunu engellemek iin de yine buradan NT/XP Srcs Etkin seeneini iaretlemeliyiz. Dier menlerden de alma ayarlarn yapabilirsiniz.
49
50
IC-progda program dosyas aldktan sonra tmn programla ara ubuu iaretlenir. Program dosyas bu ekilde mikrodenetleyiciye yklenmi olur.
51
52
lem Basamaklar
neriler
ekil 3.18 deki program metin editrne Yazlarn hizal olmasna dikkat yaznz. etmelisiniz. Trke karakter kullanmaktan kanmalsnz. Metin editrnzde yazm olduunuz *.asm dosyasnn kolay bulunabilmesi program *.asm olarak kaydediniz. iin masa stne kaydedebilirsiniz; yazlmasn unutmamalsnz. MPASM programn aktifletirip options Options ayarlarn konu anlatmna ayarlarn yaparak *.asm dosyasn *.hex bakarak yapabilirsiniz. dosyasna dntrnz. IC-prog programn aktifletirip donanm, Donanm, seenek ve konfigirasyon seenek ve konfigirasyon ayarlarn ayarlarn konu anlatmna bakarak yaparak makine diline evrilmi (*.hex) yapabilirsiniz. programnz mikrodenetleyiciye ykleyiniz. Mikrodenetleyicinizi programlama Programlama kartna mikrodenetleyiciyi kartndan karp deneme kartna taknz. takarken ve karrken bilgisayarn kapal olmas muhtemel ksa devreleri nler. Deneme kartna enerji vererek Mikrodenetleyicinizi deneme kartna mikrodenetleyicinizin almasn taktktan sonra enerji vermeniz gzlemleyiniz. muhtemel ksa devreyi nler.
Cevaplarnz modln sonunda yer alan cevap anahtar ile karlatrnz. Yaptnz deerlendirme sonunda yanl cevaplarnz tekrar gzden geiriniz. Kendinizi yeterli grmyorsanz renme faaliyetini tekrar ediniz.
53
DEERLENDRME LE DEERLENDRME LE
DEERLENDRME LTLER
1 2 3 4 Ykleme program mnleri ve kullanmn kavrayabildiniz mi? Ykleme kart ile bilgisayar arasndaki haberlemeyi gerekletirebildiniz mi? Bilgisayardan mikrodenetleyiciye hatasz olarak program ykleyebildiniz mi? Program yklenmi microdenetleyiciyi deneme kart ile deneme eklini kavrayabildiniz mi? Evet Hayr
54
55
56
57
KAYNAKLAR KAYNAKLAR
ADALI Eref, Mikroilemciler Mikrobilbisayarlar, 1998. ALTINBAAK Orhan, PIC Programlama, 2000. ARSLAN Adnan, Elektronik rt. Ders Notlar GMKAYA Do.Dr. Haluk, Mikroilemciler ve 8051 Ailesi, 1998. HOGREN Mehmet, Mikroilemciler, Ankara, 2003. KARAAA Adil, A.T.L Temel Seviye PIC16F84 Mikrodenetleyici Kurs Kitab, 2005. KAYA r. Gv. Sinan, Mikro Bilgisayar ve Assembler Ders Notu. Sakarya niversitesi, Uzaktan Eitim Ders Notlar SNMEZ Akbay, Kadir ETN, Mikroilemciler TOPALOLU Nurettin, Mikroilemciler ve Assembly Dili, Ankara, 2003. http://www.Intel.com http://www.micropic.com http://www.cpu-museum.com/ http://www.dijitalbilgi.tripod.com http://www.cpu-world.com http://www.fujitsu.com http://www.antrak.org.tr http://www.amd.com http://www.atariage.com http://www.old-computers.com
58