You are on page 1of 24

MKROLEMCLER VE MKRODENETLEYCLER 1 - DERS NOTLARI (Ksm1) Do. Dr.

Hakan ndil

DEVRELENDRLM LOJK
Lojik (saysal) Devreleri genel olarak 3 ana grupta inceleyebiliriz ;

1-) Kombinezonsal Lojik Devreler:

Bu tr lojik devrelerde herhangi bir andaki klar, sadece giriler tarafndan belirlenir. Bir baka ifadeyle K.L.D. lerde klar zamana bal deildir.

2-) Ardl Lojik Devreler


klar sadece girilerin fonksiyonu olmayp ayn zamanda ardl lojik devrenin o andaki durumuna baldr. Bu durum ise ise bir nceki durum ve giriler tarafndan belirlenmektedir. O halde bu tr lojik devreler Hafza eleman bulundururlar.

Yukardaki t (saat iareti) ne clock(saat) darbeleri de denir. Bunlar Kare dalga eklinde periyodik iaretlerdir. Ardl Lojik Devreler, Senkron ve Asenkron ardl lojik devreler diye ikiye ayrlrlar : a) Senkron ardl lojik devrelerde ilemler, clock (saat) iaretleri ile senkronize (e zamanl) olarak gerekletirilir. Bu tip lojik devrelere dijital saat devresi rnek olarak verilebilir. b) Asenkron ardl lojik devreler ise; devrenin giriindeki deiimlere bal olarak ilemler artarda (farkl zaman dilimlerinde) gerekleir. Bu tr devrelerde saat iareti bulunmas da art deildir. rnek olarak, para ile alan merubat makinesi para atld zaman harekete geecek (durum deitirecek) ekilde tasarlanabilir.

3-) Programlanm Lojik Devreler:


Devrenin alabilmesi veya knda elde edilecek iaretler, hafzadaki programa (komut devresine) baldr. Bu dersin konusunu bu tr lojik devreler tekil etmektedir.

Burada da A.L.D. ye benzer ekilde saat (darbe) girii vardr ve her t annda bir ilem (toplama, karma, lojik VEYA ,OR gibi) gerekleir. Benzer olarak e(t):giriler ; s(t):klar olmak zere n tane giri ve m tane de ka sahip bir mikroilemci dzenini daha detayl bir ekilde aadaki gibi izmek mmkndr :

Sistemin genelde birden fazla giri ve klar olduu halde program saklamak iin bir Komut Hafzas zerinden ilem yaplacak ve neticede elde edilecek datay (veriyi, yani sayy) saklamak ve okumak iin Data (yada Veri) Hafzas kullanlacaktr. Mikroilemcide yaplacak ilemler ise srasyla komut hafzasndan mikroilemciye gnderilerek icra edilmesi salanr.

SAYI SSTEMLER
Say sistemleri iyi anlalmadan mikroilemcilerle(ya da mikrodenetleyicilerle) uramak ve onlar anlamak imkansz gibidir. Bu nedenle eitli rnekler zerinde say sistemleri ve dnmlerini anlamaya alalm. 7392 = (7392)10 = 7*103 + 3*102 + 9*101 + 2*100 (23.62)10 = 2*101 + 3*100 + 6*10-1 + 2*10-2 (4021.2)5 = 4*53 + 0*52 + 2*51 + 1*50 + 2*5-1 = (511.4)10 (101)2 = 1*22 + 0*21 + 1*20 = (5)10 Aada 0 15 arasndaki desimal saylarn heksadesimal ve binary tabandaki karlklar verilmitir. Desimal (10`lu) 0 1 2 Heksadesimal (16`l) 0 1 2 Binary (2`li) 0000 0001 0010

3 4 5 6 7 8 9 10 11 12 13 14 15

3 4 5 6 7 8 9 A B C D E F

0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

rnek Baz evirme lemleri: 1) (0010 0111 0001 . 1111 1100)2 = (271 . FC)16 (kili tabandaki say drtl gruplar halinde dzenlenerek yukardaki tablodan evrilir.) ( 2 7 1 . F C )16 2) (41)10 = (?) 2 ( Desimal sayy binary sayya evirmek iin srekli 2 ye bler ve ters srayla kalanlar alrsak saynn ikili tabandaki karln elde ederiz )

1-0-0-1-0-1

=>

tersten yazalm

=>

(101001)2 = (41)10

Bu yntemle on tabanndaki saylar ikili tabana eviriyoruz.

3) (47632)10 = ( ? )16 ( Not: Desimal sayy heksadesimale eviriyoruz ) Bu evirme ilemi iin de benzer tarzda sayy 16 ile artarda bleceiz. Yine kalanlar elde edip gerekenleri 16l tabana dntreceiz. (Blme ilemi farkl bir formatta (ekilde) gsterilmitir. izginin solunda artarda 16ya blme srasndaki blmler, sa tarafta ise kalanlar yer almaktadr. )

(BA10)16 = (47632)10 4) (0.263)10 = (?)16

olarak sonu elde edilmi olur.

Verilen say ondalkl say olduu iin bu defa 16 ya blmeyip 16 ile arpacaz. 0.263 * 16 = 4 .208 0.208 * 16 = 3 .328 0.328 * 16 = 5 .248 Burada blme yerine arpma yapldndan her alnan sonucun tam say ksm batan sona doru (ters ynde deil !) sralanarak yazlarak sonu bulunur. 0,------4------3------5 => (0.435)16 = (0.263)10 5) (CA . 03)16 = ( ? )2 Burada ise her heksadesimal (16 l) saynn binary (ikili) karl alnp yan yana konularak netice elde edilir. C= 1100, A= 1010, 0= 0000, 3= 0011 olduu daha nce verilen tablodan bilindiinden

(CA.03)16 = (1100 1010 . 0000 0011)2

eklinde ikili tabandaki sonu elde edilir.

Komplement (Tmleyen) Kavram:


Bir saynn iki tip (tr) komplementi elde edilebilir: 12rnekler: Bu kavram dorudan rnekler zerinde inceleyerek anlamaya alalm:

Tabana gre komplement (tmleyen) [Taban 1] e gre komplement (tmleyen)

(52520)10 Tabana gre komplementi 105 - 52520 = 47480 ( Say 5 hane verilmi, o halde 10 5 den verilen say kartlarak netice bulunuyor.) (0.3267)10 Tabana gre komplementi 100 - 0.3267 = 0.6733 ( Saynn tam ksm yok ! , 10 0 = 1 den verilen say karlm. ) (101100)2 Tabana gre komplementi 2 6 - (101100)2 = (1000000)2 - (101100)2 = = (010100)2
(26 says binary olarak 1000000 olarak yazlr)

********** (52520)10 (Taban-1)'e gre komplementi 105 - 1- 52520 = 47479


(Yukardaki tabana gre olan sonutan 1(bir) karlrak netice bulunur)

(0.3267)10 (Taban-1)'e gre komplementi 100 - 10-4 - 0.3267 = 0.6732 (101100)2 (Taban-1)'e gre komplementi (26 - 1) - (101100)2 = = (111111)2-(101100)2 = (010011)2 olur.

Binary (kili) Tabanda Baz lemler: Biz ikili tabandaki ilemleri genellikle 8 haneli olarak yapacaz.(Bunun sebebi, ilerde incelenecek PIC mikrodenetleyicinin 8 hane (bit) olmasdr, bylece buna bir hazrlk yaplmaktadr.) Aadaki rnekler hem binary hem de heksadesimal (16 l) tabanda yaplm ve sonularn ayn olduu gsterilmitir. 1) Toplama lemi (8 haneli) Binary 1000 1100 + 0111 1101 1 0000 1011 Hex 8C + 7F 1 0B

Buradaki 1 elde olup ihmal edilmez. (0000)2= (0)16 ve (1011)2=(B)16 idi.

2) karma lemi (8 haneli) Binary 1000 1100 - 0111 1111 Hex 8C -7F

Bu ilemin sonucunu renebilmek iin normal yoldan kartma ilemi yapabiliriz.(Bunun iin en sadaki 0 dan 1 karmaya alacak kmad iin bir st haneden 2 bor alp 2 den 1 karp ilemlere devam edecektik) Fakat bu tarz kartma, toplamaya gre olduka zahmetli olacaktr. (Mikroilemci iindeki Lojik devreler iin de bu ilemin gereklemesi toplamaya gre karmak yap gerektirmektedir. Bu yzden pratikte kartma ilemi toplamaya evrilerek ilemler yaplr.) Bu amala kartmada Komplement (Tmleyen) aritmetii kullanlmas ii olduka basitletirmektedir. Zira, ikinci saynn (kann) tabana gre komplementi elde edilirse artk ilem toplamaya dnm olmaktadr ki btn mikroilemciler bu yolu kullanmaktadr. Buna gre birinci say (karlan) aynen braklr, zerinde herhangi bir ilem yaplmaz ! Sonra ikinci saynn (kann) tabana gre komplementini bulmamz gerekir. Ancak, daha nce komplement kavram ksmnda verilen rneklerden de anlalabilecei gibi komplement bulma ilemi de farkl bir kartma gerektirmektedir. Bunun yerine komplement almada kolay bir yntem olan aadaki metot uygulanabilir: kan olan (0111 1111)2 saysnn tabana gre komplementi basit olarak iki aamada bulunabilir: nce kanda 1 olan bitler(haneler) 0 ; 0 olan bitler ise 1 yaplr. Bylece saymz (1000 0000)2 olacaktr. Bu say, asl saynn ( taban - 1) e gre komplementidir. Daha sonra bu sayya 1 eklediimizde artk tabana gre komplement elde edilmi olacaktr. Yani kann tabana gre komplementi olan (1000 0001)2 says elde edildiinden artk ilem toplamaya dnm olacaktr. O halde kartmay toplamaya dntrdmze gre ilemin son halini tekrar yazalm. 1000 1100 + 1000 0001 1 0000 1101 Hex : 8C +81 1 0D

Binary:

(1101)2 = (D)16 olduunu hatrlaynz.

Buradaki bata bulunan 1 Komplement aritmetii kullanld iin ihmal edilir. Bu 1 aslnda karlann kandan byk olduunu da gstermektedir. Ve kartma ileminin sonucu (0000 1101)2 = (0D)16 olarak elde edilmi olur.

aretli Saylar Kavram:


Sayya iaretini gsteren bir hane (bit) ayrlr. Bu bit 0 ise say pozitif, 1 ise negatif kabul edilir. aret biti genelde en soldaki bit olarak seilir. (Mikroilemci ilem yaparken bunu bilmez. nk bu bir varsaymdr, sayya bir bak asdr. Yoksa iaretli saylarla yaplan ilemin iaretsiz saylarla yaplan ilemlerden (yukardakinden) fark yoktur.) Pozitif Saylar: aret biti ve saynn mutlak deeri ile gsterilir. (Burada nokta iaret bitini ayrt etmek iin kullanlmtr.) (+25)10 = (0.001 1001)2 = (19)16 [ Burada +25 desimal says mikroilemcide 19 heksadesimal says ile temsil edilmektedir. Desimal heksadesimal (hex) dnmn hatrlayn ]

Negatif Saylar: aret biti ve saynn mutlak deerinin tabana gre komplementi ile temsil edilirler. (+25)10 = (0.001 1001)2 = (19)16 olduunu yukarda bulmutuk. (+25)10 saysnn tabana gre komplementi (-25) 'tir , ve daha nce verildii gibi bunu yle elde ederiz : nce (0.001 1001) saysnn dualini alalm...(Yani, sayda 0 yerine 1 ; 1 yerine 0 yazalm.) Karmza kan bu say (taban-1) e gre komplement olan (1.110 0110) olacaktr . Bu sayy bir arttrdmzda tabana gre komplementini buluruz : (1.110 0111)

te bu (1.110 0111)2 says (-25)10 saysna karlk geliyor (1.) ile balad iin de negatiftir. Burada bataki bitten (1) sonra konan nokta saylar iaretli olarak dndmz (yorumladmz) ifade ediyor. Yoksa mikroilemcide iaretli iaretsiz say fark YOKTUR. Mikroilemcinin hafzasnda bu say artk (1.110 0111)2 = ( - 25)10 = (E7)16 eklinde temsil edilecektir.

aretli Saylarla eitli rnekler:


1) (+60)10 + (+62)10 = (+122)10 olduunu gsterelim:

0.011 1100 +0.011 1110 0.111 1010 = (+122)10 2)

burada en bataki (0.) saynn (sonucun) pozitif olduunu gsterir.

(+60) + (+70) = (+130) olduunu gsterelim:

0.011 1100 +0.100 0110 1.000 0010 sonucu elde edilir. Dikkat edilirse sonu negatif ( ! ) gzkmektedir. Halbuki matematikte iki pozitif saynn toplam daima pozitiftir. Bu durumda iaretli saylar gzyle yaplan bu toplama ileminin sonucunda iaretin, dolaysyla neticenin hatal olarak elde edildii grlmektedir. O halde iaretli ilemlerde dikkatli olunmaldr.

3)

(-60) + (-70) = (-130) olduunu gsterelim:

nce (+60) = (0.011 1100)2 ve (+70) = (0.011 1100) 2 olduunu nceki rnekten biliyoruz. Bu iki saynn negatiflerini bulmak iin Taban`a gre komplementini alalm: 1.100 0100 = (C4)16 = (-60)10 , 1.011 1010 = (BA)16 = (-70 )10

deerlerini buluruz.

Bu saylar yukardaki gibi toplarsak( - 130) deerini yani gerek sonucu bulamayacaz, yine sonucun hatal olduunu greceiz . O HALDE : NEML SONU : aretli saylarla yaplan ilemlerde sonu (128)10 = (80)16 den kk ya da (+127)10 = (7F)16 den byk ise , bir baka ifade ile sadaki bitlerden iaret bitine bir etki gelmi ise sonucun iareti, dolaysyla kendisi hatal olacaktr. aretli ilemlerde netice ASLA (80)16 ve (7F)16 aralnn dna tamamaldr.

MKROLEMC (Microprocessor) NEDR?


CPU (Merkezi lem Birimi) olarak da adlandrlr. Bilgisayar programnn yapmak istedii ilemleri icra eder.(yerine getirir) CPU hafzasnda bulunan komutlar sra ile iler. Bu ilem, komutun bulunup getirilmesi (Fetch), kodunun zlmesi (Encode) ve ilemin yerine getirilmesi (Execute) gibi aamalar gerektirir. Merkezi lem Birimleri (CPU) Kiisel Bilgisayarlarda (PC) kullanldklar gibi , sanayi tezgahlar, ev aletleri gibi birok alanda da kullanlrlar. Ancak Mikroilemciler tek bana alamazlar. htiya duyduklar baz ek elemanlar vardr. Bu elemanlar temel olarak ; 1 ) Giri ( Input ) nitesi 2 ) k (Output ) nitesi 3 ) Hafza (Memory ) nitesi dir. Bu elemanlar CPU dnda olduklarndan aralarndaki iletiimi VER YOLU (Data Bus) ve ADRES YOLU (Address Bus) ile Kontrol hatlar (Control Lines) denilen lojik iletim hatlar salar. Intel, AMD, Cyrix mikroilemci reticilerinden bazlardr. u anda mikroilemcilerin sadece kiisel bilgisayarlarda PClerde kullanldn sylersek pek yanl olmaz. Kontrol ilemlerinde, sanayide

yukarda sz edilen ek elemanlar da iinde bulunduran mikrodenetleyiciler (mikrocontroller) tercih edilir. CPU ve evre Elemanlarn Basit Yaps :

MKRODENETLEYCLER (Microcontrollers)
Bir bilgisayar iinde bulunmas gereken Hafza , Giri/k nitesi gibi elemanlarn CPU ile birlikte tek bir entegre (chip) ierisinde retilmi haline Mikrodenetleyici denir. Bylece hem yer tasarrufu yaplp maliyet drlrken hem de tasarm kolaylatrlm ve programlama ilemi basitletirilmi olur. Gnmzde mikrodenetleyiciler otomobillerden kameralara , cep telefonlarndan oyuncaklara kadar saylamayacak alanlarda kullanlr. Mikrodenetleyiciler birok firma tarafndan retilmektedir. Microchip , Intel , Motorola , SGS Thomson, Hitachi gibi Her reticinin en az birka mikrodenetleyicisi vardr. Mesela ; Microchip 12C508 , 16C84 , 16F84 ve 16F877 gibi farkl mikrodenetleyicilere sahiptir ve hemen, hemen ayn komutlarla programlanrlar. Mikrodenetleyici adlarnda bulunan harfler ayn aile iinde farkl zelliklere sahip (hafza yaps ve miktar, hz gibi) elemanlar ifade eder. Bir uygulama yapmadan nce hangi firmann , hangi numaral mikrodenetleyicisinin kullanlaca tespit edilmelidir. Bunun iin KATALOG (Data sheet) ad verilen kaynaklardan ya da internetteki ilgili sitelerden faydalanlr. Bir Mikrodenetleyici inde Bulunabilen Baz zellikler unlardr : 1 ) Programlanabilir Dijital Giri / k ( I / O ) 2 ) Programlanabilir Analog Giri 3 ) Seri Giri / k ( I / O ) 4 ) Darbe( Pals ) PWM (Darbe genilik modulasyonu) iareti k 5 ) Harici hafza balanabilme 6 ) Dahili hafza seenekleri ( ROM , PROM, EPROM , EEPROM, Flash gibi ) 7) Kesme, Zamanlayc ve Sayc gibi zellikler.

MKRODENETLEYC SEM
Mikrodenetleyici seerken ncelikle uygulama ihtiyacmzn tamamn karlamasna sonra da fiyatna bakarz. Ayrca yazlm ( program ) desteinin/aralarnn ( derleyici, simulatr , emulatr v.s. ) bulunup bulunmadna dikkat ederiz. Piyasada - internette bol miktarda uygulama programlarnn bulunabilmesi de rnek olmas asndan faydaldr. Saylan zellikler gz nne alnrsa ( u an iin ) Microchip firmas tarafndan retilen ksaca PIC olarak ifade edilen mikrodenetleyicilerin kullanlmas olduka avantajl gzkmektedir. PIC ngilizcede evre niteleri Kontrol edici Arabirim anlam tayan kelimelerin ba harflerinden olumutur.

PIC Mikrodenetleyicilerin Dier Baz Avantajlar : 1 ) Destek Yazlmlar internetten cretsiz salanr. 2 ) ok yaygn ve ucuzdur. Hem profesyonel hem de amatr kullanma uygundur. 3) nternette ve kitap/dergilerde ok sayda rnek programlar vardr. 4) ok az ve basit birka elemanlarla ( diren , kondansatr ) donanmlar kurulabilir. 5 ) Komut says az ve basittir. 6 )Daha st seviye diller iin (PIC C, PicBasic gibi) Derleyicilere (compiler) sahiptir. PIC lerde zellikle az sayda ve basit komutlarla programlanma yaplmas,

PIC 16F84 ve PIC 16F877 Mikrodenetleyicileri : Laboratuarda incelenecek setlerde PIC16F877 bulunmasna ramen temel ve basit birok PIC in zelliklerini ieren PIC16F84 n incelenmesi balang iin daha yararl olacaktr. Her iki mikrodenetleyicisinde program hafzalar FLASH ( EEPROM ) hafzadr. Ve elektrik kesilse bile ilerinde yazlm program silinmemektedir. Yeni balayanlar ve aratrma yapanlar iin kolayca yazlp silinebilen zellie sahip olan Flash Hafzal PIC ler bu adan da byk kolaylk salamaktadr. Program hafzas EPROM olanlar da yazlp silinmekteyse de bu tiplerin iindeki program silmek iin zerinde bulunan penceresinden 10 -15 dakika UV (Ultra Viole) n uygulamak gerekir. PIC16F84 iin renilenler nemli oranda PIC 16 / 17 ailesinin tamam iin de geerlidir.

Bir PIC Programlamak in Gerekenler :


1) Bir PC ( Kiisel Bilgisayar ) 2) Bir metin editr ( Not defteri gibi ) kullanmay bilmek 3) PIC Assembler programna ( MPASM, MPLAB gibi ) sahip olmak 4) PIC programn entegreye yklemek(programlamak) iin gerekli donanm ve yazlma sahip olmak 5) Kullanlacak PIC mikrodenetleyicisini edinmek 6) Programlamadan sonra altrmak iin g kayna , birka elektronik eleman, breadboard (deneme kart), l aletine sahip olmak gerekir.

ASSEMBLER PROGRAMI
Biz programlarmz PIC16F84 ve 16F877 ye ait ve 35 komuttan oluan assembly programlama dili ile yazacaz. Basit bir metin editrnde (not defteri gibi) yazlacak olan bu program ( asm uzantl text dosyas ) PICin altrabilecei hale dntrlmelidir (derlenmelidir). Bu ilem PIC iin en basit olarak MPASM denilen bir Assembler program ile yaplmakta ve sonuta ( . hex ) uzantl ve icra edilebilir (Makine Dili) denilen dosya elde edilmektedir. Bu program artk PIC e yklenmeye(kaydedilmeye) hazrdr. MPASM programnn kullanl basit olan DOS versiyonlar da vardr. Eer derleme sonrasnda MPASM hata mesajlar vermise bunlarn ( . asm ) dosyas zerinde dzeltilmesi ve tekrar derlenmesi gerekir. MPLAB da benzer ii grmekle birlikte baz kullanl ilave zellikler iermektedir.

PROGRAMLAYICI DONANIMI VE YAZILIMI


Makine diline evrilmi icra edilebilir programn ( hex uzantl dosya ) PIC e yklenmesi iin bir Programlaycya ihtiya vardr. Piyasada zel bir mikrodenetleyiciyi yada ailesini programlayan programlayclar bulunduu gibi her tr mikrodenetleyici ve hafzay programlayan Universal Programlayclar da vardr.

MPASM tarafndan derlenerek makine diline evrilmi hex uzantl dosyann PIC e yazlmas iin programlayc ile birlikte bir de yazlmna da ihtiya vardr. Her programlaycnn kendine has yazlm bulunmaktadr.

PROGRAMLANMI PIC N DENENMES


lk deneme iin bir breadboard (delikli deneme tahtas) zerinde fazla zaman harcamadan PIC e ve osilatr devresine balanmas gereken birka diren , kondansatr ve kristal gibi elemanlardan faydalanmak mmkndr. klar gzlemek iin ise LED veya gsterge ( display ) kullanmak uygun olacaktr. Eer devre doru kurulmu ve beslenmi ise programn almamas halinde hatalarn incelenmesi ve programn assembly dili zerinde dzeltildikten sonra yeniden derlenip PIC e yklenmesi gerekir.

PIC MKRODENETLEYCLER TRLER VE ZELLKLER


Microchip firmas tarafndan retilen farkl PIC gruplar (aileler) vardr. Bu aile isimleri verilirken kelime boyu (komut kelimesi de denen bu kavram ilerde aklanacaktr.) dikkate alnmtr. Aslnda tm PIC mikrodenetleyicilerde dardan veri alrken yada dar veri gnderirken 8 bitlik veri yolu kullanlr. Ancak program yazlrken ayn komutlar kullanlmasna ramen bu komutlarn makine dili (hex) karlklar farkl kelime boylarnda olabilir. Mesel ; PIC 16C5XX ailesi 12 bit kelime boyu PIC 16CXXX ailesi 14 bit kelime boyu PIC 17CXXX ailesi 16 bit kelime boyu PIC 12CXXX ailesi 12 / 14 kelime boyuna sahiptir. Biz programlayc olarak bu kelime boylar ile fazla ilgilenmeyiz . Bizim iin seilen PIC in komutlarn , kullanma kural ve zelliklerini bilmek yeterlidir. Bu zelliklerden kast, PIC in hafza tipi ve miktar, giri/k (I/O) portu (ucu) says , analog giri kabul edip etmemesi v.s. gibi zelliklerdir. Bunlar kataloglardan elde etmek mmkndr.

PIC Mikrodenetleyicilerde Hafza eitleri :


Bir PIC iersinde iki tr hafza bulunur : Bunlardan biri Program hafzas dr ve EPROM, EEPROM , vb. gibi hafza trlerinden birine sahiptir. Her PIC de bulunan dier hafza tr ise (Data)Veri Hafzas olarak bilinir. Bu hafza genellikle RAM tr geici bilgi depolama alandr. (EEPROM hafzann da veri saklama amal kullanlan ksm varsa da bu daha ileri programlama bilgisi gerektirmektedir.) File Registerleri de (W, STATUS, TRISA gibi) RAM hafzada yer alr. Elektrik kesildiinde burada bulunan veriler silinir. Bir baka ifadeyle, bir PIC mikrodenetleyicinin hafzas Program ve Veri hafzas olmak zere 2 ayr blmden oluur. Ayrca PIC lerdeki BUS yaps PIC lerin RISC ilemci olarak tantlmasna, dolaysyla komut saysnn az ve mikroilemcilere gre hzlarnn fazla olmasna neden olur. Farkl zelliklerde Program hafzalarna sahip PIC ler mevcuttur. Bunlar :

EPROM : Hafza hcrelerine uygun elektrik iaretleri ile (genellikle besleme geriliminin zerinde bir
gerilimde) kayt yaplr. Elektrik kesilse de program kalr. Silmek ve yenisini yazmak iin ultraviole (UV) nnn belirli bir sre penceresinden uygulanmas lazmdr. 2 tip olurlar:

1 ) Pencereli ( UV n ile ) Silinebilir Tip

10

2 ) Penceresiz Silinemeyen ( OTP : Bir defa programlanabilir ) Tip


Silinmemesi iin pencereli olanlarn pencereleri k geirmeyen bantla kapatlr. OTP ler silinemezler, ancak fazla miktarda retildiklerinde birim maliyetleri daha dktr. rn: 16C74 pencereli EPROM tipi bir PIC dir. . EEPROM ( FLASH ) : UV nna gerek kalmadan elektriksel olarak silinebilir tiptir. Uygulama gelitirme ( deneme ) maksadna elverilidir. Dezavantaj hafzaya eriim ( okuma / yazma ) hzlar EPROM lara gre dktr. rn: 16CB84 , 16F84 bu tip hafzaya sahiptir. ROM : Sadece okunabilir hafza olarak bilinir. Bu tip program hafzalar fabrikasyon olarak bir kere yazlrlar. Ucuzdurlar. Ancak ok sayda programlanmlarsa ve programda hata olduu sonradan anlalrsa retilen entegrelerin atlmasn gerektir. rn: PIC 16CR62 , 16CR84 gibi.

PIC16F84 de Program Hafzas :


16F877 den nce kendimize basit bir rnek olarak setiimiz 16F84 n 1KByte lk program hafzas vardr. Her bir hafza hcresi ierisine 14 bit uzunluundaki program komutlar saklanr. Bunlarn her birine Komut Kelimesi denir. Program hafzas Flash (EEPROM ) tipte olup program almas esnasnda sadece okunabilir. PIC16F84 iin Program Hafza Haritasn izelim :

Program hafzasnda sadece assembly komutlarnn heksadesimal (hex) karlklar saklanr ( PIC 16F84 iin 14 bit ). Yukardaki hafza haritasnda son adresin ( 1023 )10 olma sebebi ilk adresin sfrdan (0x000) balamasdr. lk adres (0x001)den balasayd son adres ( 1024 )10 olacakt. Ancak toplam adres ( 210 = 1024 ) adettir.

PIC16F84 de RAM (VER) HAFIZA YAPISI


Balang iin rnek aldmz PIC16F84 n (0x00 0x4F) adres aralnda toplam ( 50 )16 = (80)10 adet 8 bit uzunluunda veri hafza (RAM) adresi vardr.[NOT: 0x kendinden sonra gelen saynn heksadesimal olduunu belirtir, rn: 0x4F = (4F)16 ayn saylardr] Bunlarn bir ksm zel File Registerleri denilen ve yine 8 bit uzunluunda olan lojik bilgi saklayc/kaydedicilere ayrlmtr. Bu File Registerleri dnda kalan hafza alanlar normal veriler iin hafza olarak kullanlabilir. Mesela 5 + 3 = 8 ilemi iin 5 , 3 , 8 saylar (verileri) buraya saklanabilir. Bu bilgiler 8 bit uzunluunda olduu iin 05 , 03 , 08 eklinde hafzada yer alrlar. lerde bu konular daha ayrntl incelenecektir.

11

16F84 in Register Haritas :

Register haritas programn almas esnasnda kullanlan deikenleri geici ya da enerji kesilene kadar saklamak iin kullandmz veri alanlardr. PIC 16F84 n RAM hafzas 2 sayfadan ( Bank, ksm ) meydana gelir: Bank 0 a ait adresler 0x00 0x4F , Bank 1 e ait adresler 0x80 0xCF adres aralndadr. Register haritasna baklrsa baz file registerleri her iki bankta ortak olduu grlr. Dolaysyla bu registerlere her iki bankta iken eriilebilir. PCL , STATUS , FSR gibi PIC16F84 iin Bank1 de 0x00 ile 0x0B aras zel fonksiyon registerlerine ayrlmtr. Benzer ekilde Bank2 iin 0x80 0x8B aras da yine zel fonksiyon registerlerine tahsis edilmitir. Ayrca 0x0C - 0x4F adres aral ile 0x8C - 0xCF adres aralndaki genel veri alanlar birbirlerinin kopyasdr.Yani, rnein 0x1B adresi ile 0x9B adresleri gerekte ayn verileri iermektedir (Ayna zellii). Bir baka ifadeyle burada otomatik kopyalama ilemi sz konusudur. Bu sebeple veriyi birine yazp dierinden okumak mmkndr. Bir Bank ( Bank 0 veya Bank 1 ) kullanabilmek iin o Banka gemek gerekir. Bu deitirme ilemi programlama srasnda incelenecektir. Baz sk kullanlan registerler (STATUS gibi) her iki bankta da bulunduundan bunlar iin bank deitirmek gereksizdir.

zel Bir Register ( W : Akmlatr )


PIC16F84 de Register haritasnda grlmemesine ramen sk kullanlan ve Geici Depolama Registeri de denebilecek bir registerdir. Dier File Registerlerinden veri okur yada yazarken bu aktarma registerinden faydalanrz. Ayrca tm aritmetik ilemler ve baz atama ilemleri iin W registeri kullanmak arttr. Mesel ; iki registeri iindeki verileri toplamak istersek bunlardan birinin W de kaydedilmi olmas gerekir. (05) ile (03) toplamak iin (05)i rn. PORTA ya, (03) de W ye yazmak gerekir.

Bu ilemlerin hangi komutlarla ve nasl yaplaca tablo halinde verilen Assembly komutlar, zellikleri ve kullanm ile aa kavuacaktr.

12

PIC16F84 n BACAK YAPISI

CMOS olarak retilen ve Flash tipi hafzaya sahip PIC16F84 de CLK ( saat ) iareti kesilir ve tekrar uygulanrsa program kald yerden devam eder. VDD ( + ) , VSS ( - ) besleme ulardr. En ideal besleme +5V olup gerekte PIC, (+2V) .... (+6V) aras alr. Portlardan dar alnan akm yeterli deilse transistor veya rle kullanlr. Btn CMOS Lojik entegrelerde olduu gibi burada da kullanlmayan ular +5V (Lojik 1) a balanmaldr.

Port k ken Akmlar :


PIC16F84 de Porttan dar alnabilen (source) ya da Porttan ieri ekilebilen (sink) maksimum akmlar bir LEDi rahatlkla srebilecek seviyededir.

1) Sink Akm : ( + ) 5 volt beslemeden portun iine doru akan akmdr. Bu durumda porttan
ieri maksimum akacak akm 25 mA dir. Daha fazla aktlan akm PIC in bozulmasna sebep olabilir.

2 ) Source Akm : Portun iinden topraa akan akmdr. Bu durumda maksimum akacak
akm 20 mA dir.

OSLATR ( SAAT / CLOCK ) DEVRES


PIC in program hafzasnda bulunan komutlarn almas ;

13

kare dalga ( clock sinyali ) ile olur. OSC1 denilen 16 nolu PIC16F84 baca kare dalgann uyguland yerdir. Bacak yaps grnnde CLK IN olarak ifade edilmitir. Dardan buraya uygulanacak kare dalga OSC2/CLK OUT dan drde blnm olarak ( f / 4)dar alnabilir. PIC 16F84 de en ok kullanlan osilatrler unlardr : 1 ) RC Tipi ( Diren / Kondansatr ) 2 ) XT Tipi ( Kristal veya Seramik Rezonatr ) 3 ) HS Tipi ( Yksek Hzl Kristal / Seramik Rezonatr ) 4 ) LP Tipi ( Dk Frekansl Kristal ) Osilatr tipi komut olarak veya programlama esnasnda belirtilmelidir. Bu osilatr yaplarndan sk kullanlan ikisinin balants aada gsterilmitir. RC Tipi Balant :

XT Tipi Balant :

RESET(

) UCU VE DEVRES

Program herhangi bir nedenle kilitlenirse ya da program yeniden (batan) altrmak istersek dardan PIC i reset yapmamz gerekir. Aslnda PIC in iinde besleme gerilimi belirli bir seviyeye ulanca programn almasn salayan bir RESET devresi ( Power-onreset ) vardr. Ayrca PIC16F84 de yine RESET fonksiyonu gren 4 nolu bacakta ucu vardr. Master ( Ana ) Clear ( Silme ucu lojik resetleme gerekleir.. Yani, resetleme Balatma ) kelimelerinden oluturulmu ilemi iin bu girie nce ksa bir sre lojik 0 verilmeli daha sonra lojik 1 uygulayarak , programn enerji verildii andaki duruma (baa) dnp tekrar balamas salanmaldr. Bunun iin aadaki gibi bir Reset devresi kullanlabilir.

14

GR / IKI (I / O) PORTLARI:
PIC16F84 de RA ve RB olarak 13 adet dijital(saysal) port vardr: PIC deki bu portlardan lojik bilgi alnabilir ya da ieri lojik bilgi gnderilebilir. PIC16F84 de 5 adet ( RA0.RA4 ) A portu ( PORT A ) 8 adet ( RB0..RB7 ) B portu ( PORT B ) vardr. Bunlar bizim yazacamz program ile ister giri , ister k yaplabilir. RB0.RB7 ( B portunun 8 ucu birden ) istenirse ierden 50 K direnle ( pull-up direnci ) ( + ) beslemeye balanm gibi etki gsterir ( Giri iken geerli).

Bu 8 diren istenirse option register (opsiyon saklaycs) ile geerli klnr yada iptal edilebilir. Bunun programlamada nasl yaplaca ileri blmlerin konusudur. lk enerji verildii anda bu direnler devrede yoktur. A portuna ait 4. bit ( RA4 ) ucuna bir de TOCK1 yazlmtr. Bu nedenle 16F84 n harici timer / counter ( zamanlayc / sayc ) zellii de vardr. Yani isterse dardan gelen (uygulanan) darbenin sresi llebilir veya gelen darbeler saylabilir. Bunlar da bu dersin 2. dnemdeki ksmnda incelenebilecektir. NOT : RA4 ucu normal k portu yaplrken bu u ile ( + 5 volt) arasna bir 10K luk bir diren balanr. nk bu port ak kollektr ( open-collector ) biimindedir.

PIC ASSEMBLY DL
nce bir metin editrnde assembly dili kurallar ile yazlan komutlar ( hex ) kodlara evirmek (derlemek) iin en basit PIC assembler program olarak (MPASM) kullanlabilecei daha nce belirtilmiti. Assembly dili aslnda yaplacak ilerin srasyla , komutlar halinde yazlmasndan baka bir ey deildir. Komutlar ise ngilizce dilindeki karlklarnn ba harflerinin birlemesinden meydana gelir ve tablo halinde verilmitir. rn : CLRF PORTB komutu ile B portunun ierii temizlenmi (sfrlanm ) olmaktadr.

15

Program yazlmadan nce Ak Diyagram denilen ve anlalrl arttran hatta, gerekirse farkl mikrodenetleyicilere geii de kolaylatran bir gsterilimden faydalanlabilir. rnek olarak ; B portunun ( RB0.RB7 ) ularna ( 1F )16 yklemek isteyelim.

Bu program iin gerekli ak diyagram izip assembly dilinde program yazarsak;

olur.

Yukardaki Ak Diyagram ve Programn yazl u an iin tam olarak anlalmasa da bu konuda bir fikir verecektir. nemli Not: Yukardaki Programda Program Hafzasnn nereden balayacan belirten ORG komutu yer almamtr. Bu komut bulunmad durumda Program 0x000 adresinden itibaren balanr. Ancak Laboratuarda bulunan PIC16F877 setinde programlama yaparken ORG 0x003 yazlarak programn bu adresten balamas salanmaldr. Zira bu setin PC ile haberlemesini ve programlanmasn salayan PLAB program 0x000 adresinden balam ve yazmaya kar korunmutur.

Assembly Dilinde Program Yazarken Dikkat Edilecek hususlar: 1 ) Noktal Virgl ( ; ) : Bir satrn bana (;) konursa o satr ( hex ) koda dntrlmez. Bu satr
sadece bilgi amaldr. Daha sonra program deitirir ya da gelitirirken hatrlamak istediklerimizi (;) den sonra yazabiliriz. 2 ) Program Blmleri : Assembly programnn da Balk , Atama , Program ve Sonu blmleri vardr. Editr nce sanal olarak 3 kolona blnr. Bunlar Etiket, Komut, Adres(ya da Data)

16

1)Etiket

2)Komut 3)Adres (yada Data)

Eer bu kolona yazarken saa / sola kayma yaplrsa derleme srasnda MPASM den uyar (warning) alnr. Oysa dzenli ( 3 kolona gre ) yazlm , noktal virgllerle (;) ile gerekli aklamalar yaplm programlar anlalr , kalc ve gelimelere ak olacaktr.

Etiketlerin zellikleri :
Birinci kolonda yer alan Etiketler PIC hafzasndaki bir adresin atand ve hatrlatmay kolaylatran kelimelerdir. Mesela ; 16F84 de PORT B nin 0x06 adresinde olduu belli olduuna gre (bknz. File Register tablosu) her sefer 0x06 y hatrlamak ve yazmaktan kurtulmak iin ( balangta bir kere ) PORTB EQU 0x06 komutu yazarak 0x06 yerine PORT B kullanmaya hak kazanrz. ( EQU eitleme demektir ).Ayrca tarafmzdan adres atanmayan etiketler de vardr. BASLA , DONGU gibi. rnek: GOTO DONGU ( DONGU ye git ) komutu etiketi DONGU olan satra ( komuta ) gitmeyi salar. Etiketleri kullanrken ; 1. kolona yazmaya , bir harfle balamaya , Trke karakter kullanmamaya (DNG deil DONGU), kk / byk harf duyarllna ( DONGU yerine baka yerde dongu yazlmaz ) dikkat edilmelidir.

17

Baz Komut rnekleri :

PIC ASSEMBLY KOMUTLARI


PIC 16F84 de toplam 35 komut vardr. Bu komutlar farkl ekillerde guruplandrlabilirse de biz aada PIC komutlarn 4 ana grupta toplayarak inceleyeceiz : 1 ) Byte Ynlendirmeli Komutlar 2 ) Bit Ynlendirmeli Komutlar 3 ) Sabitle alan Komutlar 4 ) Kontrol Komutlar Komutlar yazlrken baz tarif harfleri kullanlr. Bunlar ; f : File register ( RAM de , veri hafzasnda bir adres ) d : Destination ( Hedef gnderilen yer ) * d = 0 ise ( sonu W registerine kaydedilir ) d = 1 ise ( sonu File registerine kaydedilir ) k : Sabit veya adres etiketi b : Bit ifade eder b : Binary say ifade eder ( rn :b00001111 ) d : Desimal say ifade eder ( rn :d18 gibi ) eklindedir..
*

NOT : MPASM tarafndan 0 yerine W ; 1 yerine F kabul edilmektedir.

imdi bu komut gruplarn rneklerle aklayalm:

1 ) Byte Ynlendirmeli Komutlar :

rnekler :
MOVF 0x03 , 0 ; 0x03 adresinin ieriini W (Akmlatr ) nin iine kopyala.

18

MOVF PORTA , 0 ; PORTA nn ieriini W nin iine kopyala. MOVF STATUS , 0 ; STATUS registerini W nin iine kopyala.

2 ) Bit Ynlendirmeli Komutlar :

rnekler :
BCF BCF 0x03 , 5 PORTB , UCBIT ; 0x03 adresindeki registerin 5. bitini sfr yap. ; PORTB nin 3. bitini 0 yap (UCBIT, UCBIT EQU 3 komutu ile programda nceden tanml ise).

3 ) Sabit leyen Komutlar :

rnekler :
MOVLW 0x2F ADDLW b00010111 4 ) Kontrol Komutlar : ; W registerine 2F yazar ( ykler ). ; O anda W registerinde bulunan sayya ( 1F )16 = ( 0001 0111 ) ekler.

rnekler :
GOTO DONGU ; Program artsz olarak DONGU etiketli satra gider. CALL GECIKME ; Program GECIKME etiketli alt programa gider. Alt program bitince RETURN veya benzeri bir komutla geri dnlr.

Say Ve Karakter Yazllar


Assembly dilinde program yazarken saylar eitli formatlarda (biimlerde) yazlabilir. Hexadesimal saylar iin: Atamalarda 0x03 , 3 , 03 , 03h , h 03 ekillerinden biri kullanlabilir. Ancak dier komutlarda 0x03 yada h 03 tarznda kullanmak zorunludur. rnek : PORTB ye 06 adresini atamak iin ;

19

PORTB

EQU

0x06 6 06 06h h06

herhangi biri yazlabilir. h03 (ya da) MOVLW 0x03 yazlmaldr.*

Ancak rn. W registerine 03 yklemek iin MOVLW

* Notlarmzdaki programlarda biz genellikle h03 formatn tercih edeceiz. Binary ( ikili ) saylar iin : b0010 0101 eklinde yazlr. rn : ( 0010 1100 )2 saysn W (akmlatr) e yklemek iin ; MOVLW b0010 110 yazlabilir. Desimal saylar iin : Desimal saylar ise bana d harfi konup yine trnak iinde yazlr. d18 , d255 gibi. rn : ( 15 )10 saysn W ye yklemek iin ; MOVLW d15 yazlr. ASCII karakterler iin ; A yada % biimde kullanlmaldr. Genellikle RETLW komutu ile beraber kullanlr. Dorudan trnak iine alnr. rn : RETLW B RETLW X gibi

ASSEMBLY DLNDE LK PROGRAM:


nce basit bir program yazarak programn yazlma aamalar incelenecektir. rnek olarak enerji verince PIC16F84 n B portunun 0. ve 2. bitlerini (RB0, RB2) lojik (1); dierlerini de Lojik (0) yapalm. Bu durumda (0000 0101)2 = (05)10 saysnn PORTB ye yklenmesi gerekecektir. Elimizdeki File Register tablosunda PORTB nin 0x06 adresinde , PORTB yi k olarak ynlendirmek iin kullanacamz TRISB nin 0x86 adresinde ve burada bank deitirmek iin kullanacamz STATUS registerlerinin 0x03 adresinde olduunu bulalm. Bu durumda programda ilgileneceimiz bu 3 register Bank0 ve Bank1 de

eklinde yer alrlar.

Bank Deitirme lemi :


16F84 de STATUS Registerin 5. biti ( RP0 ) bank deitirme iin kullanlr. RP0 = 0 ( BANK 0 seilir )

20

RP1 = 1 ( BANK 1 seilir ) PIC 16F84 e enerji verildiinde bu bit RP0 = 0 olduu iin BANK 0 seilmi olur. Herhangi bir registerin istenen bitini (0) yapmak iin BCF , (1) yapmak iin BSF komutu kullanlr. Burada STATUS un 5. bitini 0 yapalm. (Eer nceden atama komutu ile STATUS EQU 0x03 tanmlamas yaplmsa ). BCF STATUS , 5 ile RP0 = 0 yaplr. ( Eer atama yaplmamsa ). Ancak, BCF h03 , 5 yazarak RP0 = 0 yaplm olacaktr.

Port Ynlendirme lemi :


PORTB nin 0. ve 2. bitlerini k yapacamza gre , ilgilenmediimiz dier bitleri ( 1,3,4,5,6,7 ) Giri yada k yapabiliriz. Biz dier bitleri Giri yapalm. PORTB , TRISB registeri ile ynlendirilir. TRISB de (1) yaplan bitler GR , 0 yaplan bitler de IKI olur. Bu durumda ;

=(FA)16 says TRISB ye yklenecektir.

Ak Diyagram izimi :
Genellikle program yazmadan nce ak diyagram izmekte byk yarar vardr. Ak Diyagramlar programcnn ve daha sonra program gelitirecek bir bakasnn rahata anlayabilecei tarzda olmaldr. Asl olan budur. Aada ak diyagram iin kullanlan baz standart semboller verilmitir.

Kullanlan Semboller :

ok basit programlarda ak diyagramna gerek olmasa da biz burada bir rnek olarak izelim. Programc program yazarken rahata anlayaca ekilde ak diyagramn ayrntl ekilde vermelidir. Aada rnek programa ait ak diyagram ve program birlikte gsterilmitir. Her ak diyagram sembolnn yannda bir ya da daha fazla komut karl yazlmtr.

21

Ak diyagram her zaman bir tek komuta karlk gelmeyebilir. stenirse sembollerin iine gerekli komut dorudan yazlabilir. Btn mesele programcnn yada ilerde program gelitirecek kiinin ak diyagramn anlayabilmesidir. Programda kullanlan baz komutlar srasyla aklayalm: CLRF BSF MOVLW MOVWF BCF MOVLW MOVWF h06 h03,5 hFA h86 h03,5 h05 h06 ; 0x06 adresinde bulunan PORTB nin tm bitlerinin sfrlanmas ; 0x03de bulunan STATUS un 5.biti ( 1 ) yaplarak BANK1 e geilmesi ; W registerine ( FA )16 yklenmesi ; TRISB ye yaz.Ve PORTB nin 0. ve 2. bitlerin k, dierlerinin Giri yap. ; 0x03de bulunan STATUS un 5.biti ( 0 ) yaplarak BANK0 a geilmesi ; W ye ( 05 )16 yklenmesi ; ( 05 )16 saysnn PORTB ye yazlarak 0. ve 2. bitlerin ( 1 ) yaplmas

Atama Komutu (EQU) Kullanmak


EQU komutu ile hatrlanmas zor olabilen zel file register adresleri balangta tanmlanabilir. Bu amala atama komutlar kullanlmaldr. Buna gre yukarda verdiimiz ornek.asm programn tekrar yazalm. ;ORNEK.ASM 01 / 11 / 2003 LIST P = 16F84 PORTB EQU h06 STATUS EQU h03 TRISB EQU h86 CLRF PORTB BSF STATUS,5 MOVLW hFA MOVWF TRISB BCF STATUS,5 MOVLW h05 MOVWF PORTB END (program hatrlamak iin ad ve tarihi yazld) ; Hangi PIC in kullanld makineye bildiriliyor. ; 0x06 adresi PORTB ye atand ; 0x03 adresi PORTB ye atand ; 0x86 adresi PORTB ye atand ; B portunu sfrla. ; Bank1 e ge ; W registerine ( FA )16 saysn ykle ; B portunu ynlendir.TRISB h86 olduu EQU ile bildirildiydi ; Bank0 a ge ; W reg. e ( 05 )16 ykle ; B portunun 0. ve 2. bitlerini 1 yap ; SON

22

Burada komutlarn ngilizce karllarna ina olunursa komutlarn ne anlama geldii daha kolayca anlalacaktr. Mesel ; BSF STATUS,5 komutu ( Bit Set File (Reg) STATUS (bit) 5 [ Statusun 5. bitini 1 yap] ) demektir. Veya

MOVLW h05

komutunun da (Move Literal to W) hex (05) saysn W ye aktar olduu anlalr. Ve yukardaki rnek programn icrasndan sonra sonuta PORTB knda

elde edilecektir.

MPASM LE DERLEME :
Aslnda bilgisayar ekrannda tek bir pencereden ibaret olan MPASM denilen programda baz ayarlar ok nemli bir rol oynamaz. Ancak zellikle programda hata varsa veya deiiklikler yapmak istendiinde baz dosyalarn retilmesi faydal olacaktr. Bu nedenle ; Hata dosyas iin ( .ERR ) Programn toplu zeti iin ( .LIST ) = Error File = List File

retilmesi tercihleri MPASM de zellikle iaretlenmelidir.

Ayrca uyar ve hatalar birlikte almak iin Warning and Errors seeneini; Processor iin kullanacamz 16F84 tercihini seiniz. Hex dosyas format iin INHX8M i iaretleyiniz. Derlemek iin Browse ikonu ile ornek.asm yi bulunduu klasrde bulup Tamama tklamak yeterli olacaktr. Sonuta kan pencerede Assembly Successful mesaj alnrsa derlemenin baarl olduu ve artk hex dosyasnn programlayc kullanarak PIC 16F84 e yklenebilecei anlalr.

MPASM nin rettii nemli Dosyalar :


Aslnda MPASM ile derleme srasnda toplam 5 6 tane dosya retmek mmknse de * . LST ve *. ERR dosyalar programc iin nem tamaktadr. ( * : Dosya adn ifade etmektedir.) *.LST (List) Dosyas : Bu dosya assembly programn yazarken kullandmz metin editrnden (Not Defteri) alabilir. Bu dosya iinde; 1.Sayfada ; ( LOC ) stununda , komutun program hafzas yada RAM adresi ( OBJECT ) stununda , komutlarn hex karlklar ( LINE SOURCE TEXT ) stununda , *.asm ( kaynak) programdaki satr numaralar ( SYMBOL TABLE ) stununda , etiketler ( VALUE ) stununda , etiketin adresleri ( xxxx , ----- ) stununda , hafzada kullanlan ( x ) ve bo ( - ) alanlar ( PROGRAM MEMORY USED ) kullanlan , ve ( PROGRAM WORDS FREE ) bo bunlar program hafza alan miktarlardr.

2.Sayfada ;

23

( ERRORS ve WARNING) = Hata ve Uyar says bulunur. *.ERR ( Hata ) Dosyas : Bu dosyada kullandmz editr ile alabilir. Programda komut yada etiket hatas varsa hatal satr numaras bu dosyada grlr. Mesela ; ornek.asm de 8. satrda bir hata yapm ve BSF Status,5 yerine BFS Status,5 yazm olalm. Bu durumda ; Error 122 C:\MPASM\ORNEK.ASM 8 : Illegal opcode ( STATUS ) ifadesi ile karlar. Bu hatann .LST dosyasnda da hatann yapld satrdan hemen sonra belirtilmesi programcya kolaylk salar.

24

You might also like