You are on page 1of 28

1. PIC NEDR?

PIC Serisi mikroilemciler MICROCHIP firmas tarafndan gelitirilmi ve retim amac ok fonksiyonlu logic uygulamalarnn hzl ve ucuz bir Mikroilemci ile yazlm yoluyla karlanmasdr. PICin kelime anlam -PERIPHERAL INTERFACE CONTROLLER- Giri Ck ilemcisidir. lk olarak 1994 ylnda 16 bitlik ve 32 bitlik byk ilemcilerin giri ve klarndaki yk azaltmak ve denetlemek amacyla ok hzl ve ucuz bir zme ihtiya duyulduu iin gelitirilmitir. ok geni bir rn ailesinin ilk yesi olan PIC16C54 bu ihtiyac karlamak zere retilmitir. PIC ilemcileri RISC -benzeri ilemciler olarak anlr. PIC16C54 12 Bit komut hafza genilii olan 8 bitlik CMOS bir ilemcidir. 18 bacakl dip klfta 13 I/O bacana sahiptir ve 20 Mhz osilator hzna kadar kullanlabilir. 33 adet komut iermektedir. 512 byte program epromu ve 25 byte RAM`i bulunmaktadr. Hafza kapasitesi olduka dk olmasna ramen ,bir risc ilemci olmas birok iin bu kapasitede uygulanmasna olanak vermektedir. PIC serisi tm ilemciler herhangi bir ek bellek veya giri/k eleman gerektirmeden sadece 2 adet kondansatr, 1 adet diren ve bir kristal ile altrlabilmektedir. Tek bacaktan 40 mA akm ekilebilmekte ve entegre toplam olarak 150 mA akm aktma kapasitesine sahiptir. Entegrenin 4 Mhz osilator frekansnda ektii akm alrken 2 mA stand-by durumunda ise 20uA kadardr. PIC 16C54 un mensup olduu ilemci ailesi 12Bit core 16C5X olarak anlr. Bu gruba temel grup ad verilir. Bu ailenin yesi dier ilemciler PIC16C57, PIC16C58 ve dnyann en kk ilemcisi olarak anilan 8bacakli PIC12C508 ve PIC 12C509dur. nterrupt kapasitesi ilk ilemci ailesi olan 12Bit Core 16C5X ailesinde bulunmamaktadr. Daha sonra retilen ve Orta snf olarak tannan 14Bit Core- 16CXX ailesi birok adan daha yetenekli bir grup ilemcidir. Bu ailenin temel zellii interrupt kapasitesi ve 14 bitlik komut ileme hafzasdr. Bu zellikler Pici gerek bir ilemci olmaya ve karmak ilemlerde kullanlmaya yatkn hale getirmitir. PIC16CXX ailesi en geni rn yelpazesine sahip ailedir. 16CXX ailesinin en nemli zellikleri seri olarak devre stnde dahi programlanmas -ki bu zellik PIC16C5x de epey karmakt , paralel programlanabiliyordu- interrupt kabul edebilmesi, 33 I/O,AD Converter, USART, I2C, SPI gibi endstri standard giri klar kabul edecek ilemcilere rn yelpazesinde yer vermesi. PIC 16CXX ailesinin amatr elektronikiler arasnda en ok tannan ve dnyada zerinde enok proje retilmi olan rn PIC16C84 veya yeni adyla PIC16F84 dur.

PIC 16F84 un bu kadar popler olmas onun ok iyi bir ilemci olmasndan ziyade program belleinin Eeprom - Elektrikle silinip yazlabilen bellek - olmasndan kaynaklanmaktadr. Seri olarak drt adet kabloyla programlanmas da dier nemli avantajdr. Bugne kadar amatrce bir ilemciyle uram herkesin en byk sknts eprom veya eprom tabanl ilemcileri programladktan sonra UltraViole k kayna ile silip tekrar programlamaktr. Bu ok zahmetli ve bir amatr iin ekipman gerektiren yntem olmustur. Ayrca zel bir programlayc da gerektirmektedir. Eeprom bellei programlayan programlayc devre 1 saniye iinde ayn bellei silebilmektedir. Bu zellik ok hzl ve defalarca deneyerek program gelitirme avantajn getirmektedir. Bu denemeleri yaparken ilemciyi devreden skmek dahi gerekmez. Bu tip programlamaya ISP -In System Programming- denmektedir. 1.1 PIC MKROKONTROLERLERNN TERCH SEBEBEPLER : a) Lojik uygulamalarnn hzl olmas b) Fiyatnn olduka ucuz olmas c) 8 bitlik mikrokontroller olmas ve bellek ve veri iin ayr yerleik bus larn kullanlmas d) Veri ve bellee hzl olarak eriimin salanmas e) PIC e gre dier mikrokontrolclerde veri ve program tayan bir tek bus bulunmas, dolaysyla PIC in bu zellii ile dier mikrokontrolrlerden iki kat daha hzl olmas. f) Herhangi bir ek bellek veya giri/k eleman gerektirmeden sadece 2 kondansatr ve bir diren ile alabilmeleri. g) Yksek frekanslarda alabilme zellii h) Standby durumunda ok dk akm ekmesi. i) ntterrupt kapasitesi ve 14 bit komut ileme hafzas. j) Kod sktrma zellii ile ayn anda birok ilem gerekletirebilmesi PIC mikrokontrolerleri eitli zelliklerine gre PIC16C6X, 16C7X, 16C5X gibi gruplara ayrlrlar. 1.2 PIC MKROKONTROLRLERNN ZELLKLER Kod Verimlilii PIC, Harvard mimarisi temelli 8 bit' lik bir mikrokontrolcdr. Bu, bellek ve veri iin ayr yerleik bus' larn bulunduu anlamna gelir. Bylelikle ak miktar veriye ve program belleine simultane eriim sayesinde arttrlm olur. Geleneksel mikrokontrolclerde veri ve program tayan bir tek yerleik bus bulunur. Bu, PIC' le karlatrldnda ilem hzn en az iki kat yavalatr.

Gvenilirlik Tm komutlar 12 veya 14 bit'lik bir program bellek szcne sar. Yazlmn, programn VER ksmna atlamaya ve VER'yi komut gibi altrmasna gerek yoktur. Bu 8 bit'lik bus kullanan ve Harvard mimarisi temelli olmayan mikrokontrolclerde gereklemektedir. Komut Seti 16C5x ailesinde yazlm yaratmanz iin 33 komut renmeniz yeterlidir. 16Cxx aralar iinse bu say 35'tir. PIC tarafndan kullanlan komutlarn hepsi yazma (register) temellidir ve 16C5x ailesinde 12 bit 16Cxx ailesindeyse14 bit uzunluundadr. CALL, GOTO ve bit test eden BTFSS, INCFSZ gibi komutlar dnda, her bir komut, tek bir evrimde alr. Mikrokontorolcnn almasn ve iletmesini salayan bilgidir. Baarl bir uygulama veya rn isteniyorsa yazlm hatasz ve bug' sz olmaldr. Yazlm C, Pascal veya Assembler gibi eitli dillerde veya ikilik (binary) olarak yazlabilir. Hz PIC, osilatr ve yerleik saat yolu (clock bus) arasna bal yerleik bir (divide by 4) 4' l blnme' ye sahiptir. Bu, zellikle 4 MHz'lik kristal kullanldnda komut srelerinin hesaplanmasnda kolaylk salar. Her bir komut dngs 1 mS' dir. PIC olduka hzl bir mikrodur. rnein 5 milyon komutluk bir programn, 20 MHz' lik bir kristalle admlanmas yalnz 1 saniye srer. Bu sre 386 SX 33 hznn neredeyse 2 katdr. Statik lem PIC tamamyla statik bir mikroilemcidir. Baka bir deyile saati durdurduunuzda, tm yazma ierii korunur. Pratikte bunu tam olarak gerekletirmeniz mmkn deildir. PIC' i uyutma moduna getirdiinizde, saat durur ve PIC' e uyutma ileminden nce hangi durumda olduunu size hatrlatacak eitli bayraklar kurar. PIC uyuma modunda yalnzca 1 mA'dan kk bir deere sahip bekleme (standby) akm eker.

2. PIC MKROKONTROLRLERNN DONANIMSAL NCELENMES


2.1 PIC MKROKONTROLRLERNN YAPISI CPU blgesinin kalbi ALU dur. (Aritmetic Logic Unit-Aritmetik mantk birimi) ALU, W (Working-alan) adnda bir yazma ierir. PIC, dier mikroilemcilerden, aritmetik ve mantk ilemleri iin bir tek ana yazmaca sahip oluuyla farkllar. W yazmac 8 bit geniliindedir ve CPUda ki herhangi bir veriyi transfer etmek zere kullanlr. CPU alannda ayrca iki katagoriye ayrabileceimiz Veri Yazma dosyalar (Data Regster Files) bulunur. Bu veri yazma dosyalarndan biri, I/O ve kontrol ilemlerinde kullanlrken, dieri RAM olarak kullanlr. PIC ler de Harward Mimarisi kullanlr. Harward mimarisi mikrokontrolclerde veri ak miktarn hzlandrmak ve yazlm gvenliini arttrmak amacyla kullanlr. Ayr bus larn kullanmyla veri ve program belleinde hzl bir ekilde eriim salanr. PIC mikrokontrolr lerini donanmsal olarak incelerken PIC 16C84 veya yeni adyla PIC 16F84 zerinde durarak bu PIC i temel alp donanm incelenecektir. Bellek ve baz kk farkllklar dnda burada anlatlanlar btn PIC ler iin geerlidir.

ekil 2.1: Pic 16C84 Pin Balant emas

Tablo 2.1: PIC 16C84 e ait pin tanmlar


Pin Ad OSC1/CLKI N OSC2/CLK OUT Pin# 16 15 G//G G Tampon Tipi ST/CMOS(3) Aklama Kristal titretirici (oscillator) girii / d saat kayna girii Kristal titretirici k. RC balanmas durumunda(4) bu bacak OSC1e balanan kaynan drtte biri frekansnda, yani komut ileme hznda, saat kts retir. Sfrlama girii / Programlama voltaj girii. Bu bacaa dk mantk sevyesi uygulandnda aygt resetler. PORTA iki ynl bir giri k balacdr.

MCLR

G/G

ST

RA0 RA1 RA2 RA3 RA4/T0CKI

17 18 1 2 3

G/ G/ G/ G/ G/

TTL TTL TTL TTL ST

RB0/INT RB1 RB2 RB3 RB4 RB5 RB6 RB7

6 7 8 9 10 11 12 13

G/ G/ G/ G/ G/ G/ G/ G/

TTL/ST(1) TTL TTL TTL TTL TTL TTL/ST(2) TTL/ST(2)

Bu bacak TMR0 zamanlayc (timer) / saycsna (counter) saat sinyali girii olarak da kullanlabilir. PORTB iki ynl bir giri k balacdr. Yazlm araclyla btn girilerdeki weak pull-uplar devreye sokulabilir. Bu bacak d kesme girii olarak ayarlanabilir. Deiimle kesme yaratma zellii vardr. Deiimle kesme yaratma zellii vardr. Deiimle kesme yaratma zellii vardr. Seri programlamada saat girii. Deiimle kesme yaratma zellii vardr. Seri programlamada veri girii.

VSS VDD

5 14

G G

Mantk ve G/ bacaklar iin toprak referans girii. Mantk ve G/ bacaklar iin pozitif voltaj kayna girii.

G=Giri - = Kullanlmyor =k TTL = TTL tipi giri ST=Schmitt Trigger giri


(1)Bu tampon d kesme girii olarak ayarlandnda Schmitt Trigger tipi alr. (2)Bu tampon seri programlama modunda Schmitt Trigger tipi alr. (3)Bu tampon RC titretirici modunda Schmitt Trigger, dier durumlarda CMOS tipi alr.

2.2 GENEL TANIMLAMA PIC 16C84 veya F84 dk maliyetli, yksek performansl, CMOS, full-statik, 8 bit mikrodenetleyicidir. Tm PIC 16/17 mikrodenetleyiciler RISC mimarisini kullanmaktadr. PIC16CXX mikrolar birok esas zelliklere sahiptir. 8 seviyeli, derin kme ve oklu i ve d kesme kaynaklarna sahiptir. Harward Mimarisinin ayr komut ve veri taycsyla ayr 8 bitlik geni veri taycl, 14 bitlik geni komut kelimesine imkan vermektedir. 2 aamal komut hatt tm komutlarn tek bir saykl la (evrimle) ilenmesini salamaktadr. Yalnzca baz zel komutlar 2 saykl ekerler. Bu komutlar dallanma komutlardr. PIC16CXX mikrodenetleyicileri tipik olarak 2:1 orannda kod sktrmasna erimektedir ve snflarndaki 8 bit mikrodenetleyicilerden 2:1 orannda hz arttrlmasna olanak salanmaktadr. (10MHZ) PIC16C84 microchip i 36 bitlik RAM belleine, 64 bayt EEPROM belleine ve 13 I/O pin ine sahiptir. Bunun yan sra, timer ve saya ta mevcuttur. PIC16CXX ailesi d elemanlar azaltacak spesifik zelliklere sahiptir ve bylece maliyet minimuma inmekte, sistemin gvenirlii artmakta, enerji sarfiyat azalmaktadr. Bunun yan sra tm PIC ler de 4 adet osilatr seenei mevcuttur. Bunlarda tek pin li RC osilatr, dk maliyet zmn salamakta (4 MHZ) , LP osilatr (Kristal veya seramik rezonatr) , enerji sarfiyatn minimize etmekte (asgari akm) (40 KHZ), XT kristal veya seramik rezonatr osilatr standart hzl ve HS kristal veya seramik rezonatrl osilatr ok yksek hza sahiptir (20 MHZ). PIC mikrokontrolrlerinin en byk zellii sleep modu zelliidir.. Bu mod ile PIC ilem yaplmad durumlarda uyuma moduna geerek ok dk akm eker. (5m A). Kullanc bir ka i ve d kesmelerle PIC i uyuma modundan karabilmektedir. Yksek gvenilirlikli Watchdog Timer kendi bnyesindeki chip st RC osilatr ile yazlm kilitlemeye kar korumaktadr. PIC16C84 (16F84) EEPROM program bellei , ayn aygt paketinin orjinali ve retimi iin kullanlmasna olanak vermektedir. Yeniden programlanabilirlii mikroyu uygulamann sonundan kaldrmadan kodu gncelletirmeye izin vermektedir. Bu aygtn kolayca eriilemedii, fakat prototipinin kod gncelletirmesi gerekli olduu durumlarda, bir ok uygulamann gelitirilmesinde yararldr. Bunun yan sra bu kodun gncelletirilmesi dier ayr uygulamalarda da yararldr. PIC ler zellikle de PIC16C84 yksek hzl otomobillerden, motor kontrol uygulamalar, dk enerji sarfiyatl uzaktan alan sensrler, elektronik kilitler, gvenlik aygtlar ve akll kartlara kadar bir ok uygulamalarda kullanlrlar. EEPROM teknolojisi uygulama programlarn (Transmitter kodlar, motor hzlar, alc frekanslar, gvenlik kodlar vb.) uygulamasn son derece hzl ve uygun hale getirmektedir. Kk boyutlaryla bu mikrodenetleyiciler alan snrlamas bulunan uygulamalarda kusursuzdur. Dk maliyet, dk enerji sarfiyat, yksek performans, kullanm kolayl ve I/O esneklii zellikle de PIC

16C84 mikrosunun daha nce kullanlmas hi dnlmeyen alanlarda kullanlmasn salamaktadr. (Bunlar ; timer fonksiyonlar, seri kominikasyon, PWM fonksiyonlar ve birlikte ilemci uygulamalar) Seri sistem ii programlama zellii (iki pinin zerinden) rnn tamamen toplanmas ve test edilmesinden sonra rnn altrlmasnn esnekliine olanak vermektedir. Bu zellik sayesinde rn seriletirilebilmekte ve veriler saklanabilmektedir. 2.3 GELME DESTE PIC16CXX snf tam zellikli mikrobirletirici, yazlm simlatr, devre ii emlatr, dk maliyetli program gelitirme ve tam zellikli programlayc ile desteklenmitir. PIC 16F84 PIC16C5X mikrokontrolerlerinin gelitirilmi halidir. PIC16C5X iin yaplan devrelerde kolaylkla PIC16C84 (16F84) kullanlabilir. 2.4 ELEKTRKLE SLNEBLEN MKROKONTROLRLER Bu mikrolar, programnn silinip yeniden yazlabilme zelliine sahiptir ve olduka dk maliyetli plastik ambalajlar halinde bulunmaktadr. Ayn zamanda bu tip mikrolarn retimi kadar prototipinin gelitirilmesi ve pilot programlar iin kullanlmasna olanak salamaktadr. Bunun daha tesindeki avantajlarndan biri, bunlarn devre ii veya Microchips PICSTART plus veya PROMATE II programlayclar tarafndan silinebilmesi ve yeniden programlanabilmesidir. 2.5 MMAR OLARAK NCELENMES PIC16CXX snfnn stn performans genellikle RISC mikroiplerinde bulunan birok mimari zelliklere sahiptir. Balang olarak PIC16CXX Harward mimarisini kullanmaktadr. Bu mimari ayr belleklerden eriilen program ve verilere sahiptir. Bylece PIC mikrosu program bellei ve veri bellei tayclarna sahipken programlarn ve verilerin ayn bellekten getirilen geleneksel Von Neuman mimarisi zerinde bant genilii iyiletirilmektedir. Programlarn ve veri belleklerinin ayrlmas komutlarn 8 bitlik geni veri kelimesinden farkl boyutlandrlmasna olanak vermektedir. PIC16CXX mikrolar tekli kelimeye imkan veren 14 bit tayc zerinden 14 bit komutu tek bir srete uygulamaktadr. ki aamal hat komut srecini ve yrtlmesini biraraya getirmektir. (rnek 3-1). Bunun sonucu olarak, program blnmeleri dnda tm komutlar tek bir srele yrtlmektedir (400ns @ 10MHZ). PIC 16CXX aygtlar,kayt dosyalarna ve veri belleine dorudan veya dolayl olarak ynlenebilmektedir. Program Sayac dahil btn zel fonksiyon kaytlar veri belleine yerletirilmitir. Adres modunu kullanarak herhangi bir kaydn stne herhangi bir ilemin gereklemesini mmkn klan Ortogonal (simetrik) komutlarda kurulmutur. Simetrik zellii ve zel optimal durumlarneksiklii PIC 16CXX ile programlamay daha da etkin klmaktadr. laveten enformasyon erisi nemli lde azaltlmtr.

PIC16CXX mikrolar 8 bitlik ALU ya ve W(working) registerine sahiptir. W registerindeki veri ile herhangi bir kayt dosyas arasnda aritmetik ve boolean fonksiyonlar uygulanmaktadr. ALU 8 bit enindedir ve toplama, karma , deitirme ve eitli lojik ilemleri ierir. ki bilgili komutlarda bir bilgi tipik olarak W registeridir dier bilgi ise dosya kayd veya hazr sabit deerdir. Tekli komutlarda bilgi ya W kayd ya da dosya kayddr. Yrtlen komutlara dayanarak ALU, STATUS kaydndaki Caryy(C), Digit Caryy(DC) ve Zero(Z) bitlerini etkileyebilmektedir. C ve DC bitleri, karmalarda, nispeten karma ileminde dn alan ve saysal dn alan bit olarak ilemektedir. 2.6 SAAT LM EMASI / KOMUT SREC Saat girii (OSC1 den) iten drde blnmtr ve Q1, Q2, Q3 ve Q4 olarak gelmeyen 4 kare dalga sinyali ortaya kar. ten olarak, program sayac (PC) her Q1 de bir arttrlmakta ve komutlar program belliinde srece sokularak Q4 srecinde komut kaydna katlmaktadr. Komutlar Q1 ve Q4 aral boyunca decode edilir ve yrtlr.

2.7 KOMUT AKIMI / BLG LETM Komut sreci drt Q srecinden olumaktadr. (Q1, Q2, Q3 ve Q4). Komut devri ve yrtlmesi yle iletilmektedir. Devir bir komut srecini stlenirken decode ve yrtme dier komut srecini stlenmektedir. Bununla birlikte bilgi iletim nedeniyle , her bir komut etkin olarak bir srete yrtlr. Eer komut program sayacnn deimesine neden olmusa ( rn. GOTO komutu) o zaman komutun tamamlanmas iin iki sre gereklidir. Devir sreci her Q1 de deeri bir artan program sayac (PC) ile balar. Yrtme srecinde ileyen komut Q1 srecindeki Komut kaydna gnderilir. Daha sonra bu komut Q2, Q3 ve Q4 sreleri boyunca decode edilir ve yrtlr. Veri bellei Q2 boyunca okunur (Bilgi okunmas) ve Q4 boyunca yazlr ( Yazm hedefi).

2.8 BELLEK ORGANZASYONU PIC16C84` de 2 bellek blou mevcuttur. Bunlar program bellei ve veri belleidir. Her bir bellek kendi taycsna sahiptir; bylece her bir bloa eriim ayn osilatr sreci boyunca meydana gelebilmektedir. Bunun tesinde, veri bellei genel amal RAM ve zel fonksiyon kaytlar (SFRS) olmak zere ikiye blnr. . SFR`ler her bir bireysel zellemi modl ele alan blmde aklanan zel modlleri kontrol etmek iin kullanlmaktadr. Veri bellei EEPROM veri belleini de iermektedir. Bu bellek, direkt veri belleine planlanmam, fakat indirekt olarak planlanmtr; ve indirekt adres gstergeleri okumak/yazmak iin EEPROM belleinin adresini belirlemektedir. EEPROM bellei 64 bayt ve 10h-3Fh. adres enine sahiptir. 2.9 VER BELLEK ORGANZASYONU Veri bellei ikiye ayrlr. Birincisi zel fonksiyon kayt alan (SFR), dieri ise genel amal kayt alandr. SFR ler aygtn ilemini kontrol eder.

Veri belleinin blmleri kmelenmitir. Bu kmeler BANK adn alrlar. Bu hem SFR alan hem de GPR alan iinde geerlidir. GPR alan genel amal RAM`in 16 bayt` ndan daha fazlasna olanak salanabilmesi iin kmelenmitir. SFR` nin kmelenmi alan zel fonksiyonlar kontrol eden kaytlara aittir. Kmeleme kme seimi iin kontrol bitleri gerektirmektedir. Bu kontrol bitleri STATUS kaydnda yer almaktadr. ekil 2.4 veri bellei haritas organizasyonunu gstermektedir. Veri bellein tmne ya direkt her kayt dosyasnn mutlak adreslerini kullanarak, yada, dolayl yoldan dosya seim kayd (FSR) zerinden eriilebilir. Dolayl adresleme, veri belleinin kmelenmi alanna erimek iin RP1: RPO` un imdiki deerlerini kullanmaktadr. Veri bellei genel amal kayt ve zel fonksiyon kaydn ieren iki kmeye blnmektedir. RPO bitinin (STATUS <5>) (Yani 5. Bit RPO bitidir.) silinmesiyle BANK 0 seilir. RPO` in kurulmas BANK 1`i seer. Her bir BANK (kme) 7Fh (128 bytes) kadar uzanr (geniler). Her bir kmenin ilk on iki yerleimi zel fonksiyon kayd iin rezerve edilmitir. Kalan ise statik RAM olarak genel amal kayt yrtebilmektedir. 2.9.1 GENEL AMALI KAYIT DOSYASI Btn aygtlar belirli bir miktarda genel amal kayt (GPR) alanna sahiptir. Her bir GPR 8 bit enindedir ve dolayl yada dorudan FSR zerinden eriilmektedir. BANK 1` deki GPR adresleri BANK 0`daki adreslere planlanr. rnek olarak, 0Ch veya 8Ch adresleme yerleimi ayn GPR` ye eriecektir 2.9.2 ZEL FONKSYON KAYITLARI zel fonksiyon kaytlar, aygtn ilemini kontrol etmek iin CPU ve zel fonksiyonlar tarafndan kullanlmaktadr. Bu kaytlar statik RAM`lerdir. 2.10.1 PORTB ve TRISB KAYITLARI PortB 8 bit eninde iki ynl porttur. Buna uygun veri ynlendirici kayd TRISB`dir. TRISB kaydndaki herhangi bir bit 1 ise, buna uygun k srcs yksek diren moduna getirilecektir. TRISB kaydndaki herhangi bir bitin 0 olmas, k mandalnn ieriini seilen pinin zerine getirir. Her bir PORTB pini i diren drc engellere sahiptir. Tekli kontrol biti tm engelleri devreye sokabilir. Bu RBPU(OPTION REG<7) bitinin silinmesiyle yaplr. Drc engeller, port pini k olarak konfigre edildii zaman otomatik olarak kapanmaktadr. Engeller g reset zerinde etkinsizletirilmektedir. Drt PORTB pini, RB7: RB4 deiim zelliklerinde kesmelere sahiptir. Yalnzca giri olarak konfigre edilen pinler kesmenin meydana gelmesine sebep olabilirler. (yani, herhangi bir k olarak ekillendirilen RB7:RB4 pini deiim ilikisi zerindeki kesmeden hari tutulmutur. ) Giri modundaki pinlerin deeri PORTB` nin nceki okunmasndaki eski deeri ile karlatrlr. Pinlerin uyumayan ksmlar RB port deiim kesmesini retmek iin birlikte ORlanr. Bu kesme aygt SLEEP` ten karabilir. Kullanc, kesme servis programnda, kesmeyi aadaki metotlarla temizleyebilir. a PORTB`yi okuma (veya yazma). Bu uyumazlk durumuna son verir. b RBIF bayrak bitini temizler.

Uyumazlk durumu RBIF bitini kurmaya devam edecektir. PORTB'nin okunmas bu uyumazlk durumuna son verecek ve RBIF bitinin temizlenmesine olanak verecektir. Bu uyumazlk zelliindeki kesme bu pindeki ekillendirilebilir yazl engelleri ile birlikte anahtar depresyonundan kmaya olanak salamaktadr. Not 1: Eer I/O pininde, PORT B` nin okuma ilemi yrtldkten sonra (Q2 srecinin balamas ile) deime meydana geliyorsa, RBIF kesme bayrak biti kurulmayabilir. Deime zelliklerindeki kesmeler anahtar depresyon ilemlerinde kalkma ve PROTB` nin yalnzca deiim zelliklerinde kesmeler iin kullanldnda tavsiye edilmektedir. Deiim zelliklerinde kesmeler kullanlrken, PORTB` nin ayrlmas tavsiye edilmemektedir. 2.10.2 I/O PROGRAMLAMA DEERLER Herhangi bir okuduu gibi yazan ve iten alan komutun arkasndan yazma ilemi gelmektedir. rnein BCF ve BSF komutlar CPU iin kaytlar okumakta, bit ilemini yrtmekte ve sonular tekrar kayda yazmaktadr. Bu nlem, komutlarn hem girii hem de k tanmlanan portlara uygulandndan kullanlmaldr. rnein, PORTB` nin 5. bitindeki BSF ilemi PORTB'nin tm sekiz bitinin CPU iine ynelik okunmasna neden olur. Daha sonra, BSF ilemi bit 5 zerinde yer alr ve PORT B k mandallarna yazlr. Eer dier bir PORT B` nin biti iki ynl I/O pini olarak kullanldysa ve bu zamanda giri olarak tanmlandysa, pindeki giri sinyali CPU` yu okuyacaktr ve daha nceki ieriin zerine yazlmak suretiyle belirli pinlerin veri mandallarna yeniden yazacaktr. Pin, giri modunda olduu srece hibir problem kmayacaktr. Bununla birlikte eer o pin k modunda aldysa, veri mandalnn ierii bilinmeyen olacaktr. Port kaydnn okunmasyla port pinlerinin deerleride okunur. Port kaydna yazmada ise port mandalna yazlr. Eer portla bu dzenle yaz komutu kullanldysa (yani BCF, BSF) port pinlerinin deerleri okunur, istenen ilem port pinlerinin deerine kadar yerine getirilecek ve ondan sonra bu deer port mandalna yazlacaktr. Aktif olarak yksek ve dk k yaplan pinler ayn zamanda d aygtlarndan karlmamaldr. Sonuta yksek k akm ipe zarar verebilir. 2.10.3 I/O PORTLARINDAK ARDIIL LEMLER I/O portuna fiili yazm, komut srecinin sonunda geerli olurken, okuma da komut srecinin banda geerli olmas gerekmektedir. (ek 2.12) Bylelikle, okuma tarafndan takip edilen yazma ayn I/O portunda yrtldyse, tedbirleri mutlaka alnmaldr. Komutlarn ardkl yle olmaldr ki, pin voltajlar, sradaki komuttan daha erken stabilize olmaldr.(ykleme bamll) Bunun yan sra bu pinin daha nceki hali, yeni haline nispeten CPU'ya okunabilir. rnek 2.1 I/O portundaki iki ardk oku-dzenle-yaz komutunun etkileri gsterilmektedir. rnek 2.1: OKU-DZENLE-YAZ KOMUTLARI (I/O Portu zerinde) ; Balang Port Ayarlar : PORT B<7:4> giriler PORT B<3:0> klar ; PORT<7;6> d engellere sahiptir ve dier devrelere bal deildir. ; Kullanc pin deerini 00pp ppp olarak da bekleyebilir. 2.nci BSF RB7` nin pin deeri (yksek) olarak gnderilmesine sebep olmaktadr. 2.11 TMER0 MODL VE TMR0 KAYDI Timer0 modl, timer/saya aadaki zelliklere sahiptir.

8 bitlik timer/saya Okunabilir ve yazlabilir 8 bitlik programlanabilir prescaler. ten veya dtan saat ayar FFh` tan 00h` ye tama zeri kesme D saatin snr seimi Timer modu, TOCS bitinin (OPTION<5>) temizlenmesiyle seilir. Timer modunda Timer0 modl her bir komut srecini uzatr. (Prescaler olmakszn) (ek 2.11) Eer TMR0 kayd yazlysa, uzama takip eden 2 sreci engeller. (ek 2.12 ) Kullanc ayarlanan deeri TMR0 kaydna yazarak, bunun etrafndan alabilir. Saya modu TOCS bitinin (OPTION<5>) ayarlanmasyla seilir. Bu modda, TMR0, RA4/TOCK1 pininin snrlarnn herbir artnda ya da dnde artacaktr. Genileyen snr, TO kaynak snr seim biti tarafndan, TOSE (OPTION<4>) tarafndan belirlenmektedir. TOSE bitinin temizlenmesi artan snrlar seecektir. Prescaler, Timer0 modl ile Watchdog Timer arasnda paylamaktadr. Prescaler atamas, yazlmda PSA biti kontrol tarafndan denetlenmektedir. (OPTION<3>) PSA bitinin temizlenmesi, prescaler Timer0 modlne atayacaktr. Prescaler okunabilir veya yazlabilir deildir. Prescaler Timer0 modlne atandnda prescaler deeri (1:2, 1:4 ...; 1:256) yazlm tarafndan seilebilirdir. 2.11.1 TMR0 kesmesi TMR0 kayd FFH`dan 00h`ye aknda retilmektedir. Bu fazla akm TOIF bitini ( INTCON<2>) kurar (ayarlar). Kesme, aktif TOIE bitinin (INTCON<5>) temizlenmesi ile gizlenebilir. (INTCON<5>) TOIF biti, Timer0 modl tarafndan, bu kesmenin yeniden aktifletirilmesinden nce yazlmdan silinmelidir. TMR0 kesmesi (ek.2.13) ilemciyi SLEEP` ten karamaz, nk, SLEEP boyunca timer kapaldr. 2.11.2 TMR0 NUN DITAN SAAT LE KULLANIMI Dtan saat girileri TMR0 iin kullanldnda, baz n artlarn gerekletirilmesi gerekir. Dtan saat gereksinimi , iten faz saati senkronizasyonundan kaynaklanmaktadr. Bunun yansra, TMR0 kaydnn senkronize edilmesinden sonra, fiili artmada gecikme mevcuttur. 2.11.2.1 Dtan saat senkronizasyonu Hi bir prescaler kullanlmad taktirde , dtan saat girii prescaler kndaki gibidir. RA4/TOCKI pininin iten faz saati ile senkronize edilmesi i faz saatlerinin Q2 ve Q4 srelerindeki prescaler kn rneklemek yoluyla yerine getirilir..Bunun iin , TOCKI nin dk deerinin en azndan 2TOSC (art ufak RC gecikmesi) olmas gerekir. Prescaler kullanldnda, d saat girii asenkron sayc tipi prescaler a blnr ve bylece prescaler k simetrik olur. D saatin rnekleme gereksinmelerini karlamak iin saya(counter) dikkate alnmaldr. Bylece prescaler deerine blnen en azndan 4 TOSC peryot uzunluuna sahip olmaldr. 2.11.2.2 TMR0 gecikme uzatlmas Prescaler k , i saat ile senkronize edildii iin, d saat snrlarnn meydana gelmesindeki zamandan TMR0 modlnn fiili olarak uzatlmas zamanna kadar kk bir gecikme vardr.

2.12 PRESCALER( BLC) 8 Bitlik saya Timer0 modlnde veya Watchdog timernda bulunur. Prescaler dardan verilen sinyali 256 ya kadar blmeye yarar. Timer0 modl ile Watchdog timer arasnda karlkl istisna tutulan yalnzca birtek prescaler mevcuttur. Bylece Timer0 modlne prescaler atamas, watchdog timern prescaleri olmad anlamna gelmektedir. PSA ve PS2 : PSO bitleri (option <3:0>) prescaler atamasn ve prescaler orann belirlemektedir. Timer0 modlne yazlan btn komutlar, timer0 modlne atandnda prescaleri lecektir. WDT ye atandnda , CLRWDT komutu Watchdog Timer boyunca prescaler i temizleyecektir. Prescaler yazlabilir veya okunabilir deildir. 2.13 EEPROM VER BELLE EEPROM veri bellei normal ilem boyunca okunabilir ve yazlabilirdir. Bu bellek direkt olarak kayt dosya boluuna planlanmamtr. Bunun yerine bu bellek, zel fonksiyon kayd zerinden dolayl olarak adreslenir. Burada bu bellei okuyan ve yazan 4 zel kaydedici (SFR) mevcuttur. Bu kaytlar : EECON1 EECON2 EEDATA EEADR EEDATA yazma/okuma iin 8 bitlik veri tutar ve EEADR eriilen EEPROM adreslerini saklar. PIC16C84 aygt 0H ile 3FH geniliindeki adresli EEPROM belleinin 64 bitine sahiptir. EEPROM veri bellei byte lar okuma ve yazmaya olanak verir. Bytelar otomatik olarak veri siler ve yeni veri yazar. (yazmadan nce siler). EEPROM veri bellei yksek silme/yazma srelerine oranlanmtr. Yazma zaman chip zeri timer tarafndan denetlenmektedir. Yazma zaman chipten chipe gre deitii gibi, voltaj ve s deerlerine grede deiebilir. Aygt kod korumal olduu zaman , CPU EEPROM belleini okumaya ve yazmaya devam edebilir. PIC programlaycs artk bu bellee eriemeyebilir. 2.13 .1 EEADR EEADR kayd EEPROM verisinin maximum 256 byte n adresleyebilir. stteki iki bit adresi decode edilmitir. Bu u anlama gelmektedir ki , 64 bitin bellek boluunda olduundan emin olmak iin bu iki bit her zaman 0 olmaldr. R = Okunabilir. W = Yazlabilir. S = Kurulabilir bit U = Kullanlmayan bit, 0 olarak okunur. ^n = POR resetindeki deer. Bit 7 : 5 : Kullanlmayan : 0 olarak okunur. Bit 4 EEIF : EEPROM Yazma ilemi kesme bayrak biti. 1 = Yazma ilemi tamamlanmtr. 0 = Yazma ilemi tamamlanmamtr veya balamamtr. Bit 3 WRERR : EEPROM hata bayrak biti 1 : Yazma ilemi erkenden sona ermitir. (MCLR veya WDT normal ilem boyunca resetlenir.) 0 : Yazma ilemi tamamlanmtr. Bit 2 WREN : EEPROM yazma aktifletirme biti

1 : Yazma srecine olanak verir. 0 : EEPROM verisine yazmay engeller. Bit 1 WR : Yazm kontrol biti 1 : Yazm srecini balatr. (Yazm bitirildikten sonra bit donanm tarafndan silinir. WR biti yalnzca yazlma kurulabilir.(silinmez) ) 0 : EEPROM a veri yazm sreci tamamlanmtr. Bit 0 RD : Okuma kontrol biti. 1 : EEPROM un okunmasn balatr. (okuma yalnzca bir devirde yer alr. RD donanmda silinir. RD biti yalnzca yazlma kurulabilir. ( silinmez) ) 0 : EEPROM okumasn balatmaz. 2.13.2 EECON1 ve EECON2 kaytlar (registerleri) EECON1 , fiziksel olarak yerine getirilen 5 dk sral bitli kontrol kayddr. st biti mevcut deildir ve 0 olarak okunur. RD ve WR kontrol bitleri okuma ve yazmay balatrlar. Bu bitler silinemezler, yalnzca yazlma kurulabilirler. Bu bitler, okuma ve yazm ilemlerinin tamamlanmas olarak donanmdan silinirler. WRnin yazlmdan silinmesinin olanakszl , yazm ileminin tesadfi vaktinden evvel sona erdirilmesini nler. WREN biti, kurulduunda yazm ilemine balamaya izin verilir. Yksek gte, WREN biti temizlenir. Yazm ilemi normal ilem sresinde MCLR, RESET veya WDT- zaman aral reset tarafndan kesildiinde WRERR biti kurulur. Bu durumlarda, resetin ardndan kullanc WRERR bitini kontrol edebilir ve yerleimi yeniden yazabilir. EEDATA ve EEADR kaytlarndaki veri ve adresler deimeyecektir. Yazm tamamlandnda EEIF bayrak biti kesmesi kurulur. Bu kesme yazlmdan silinmelidir. EECON2 fiziksel kayt deildir. EECON2 okumas tm 0 lar okuyacaktr. EECON2 kayd harici olarak data EEPROM yaz serisinde kullanlr. 2.13.3 EEPROM VER BELLENN OKUNMASI Veri bellek yerleimini okumak iin , kullanc, adresi EEADR kaydna yazmaldr ve RD kontrol bitini kurmaldr. (EECON1<0>). Veri sradaki devirde, EEDATA kaydnda mevcuttur , bunun iin bu sradaki komutta okunabilmektedir. EEDATA bu deerleri dierleri okununcaya kadar veya kullanc tarafndan yazlncaya kadar tutmaktadr. (yazm ilemi boyunca) 2.13.4 EEPROM VER BELLENE YAZIM EEPROM veri yerleimini yazmak iin kullanc ilkin adresleri EEADR kaydna, verileri EEDATA kaydna yazmaldr. Daha sonra kullanc her bit e yazmn balatmas iin spesifik ardklar takip etmelidir. rnek 2.3 : EEPROM a veri yazm Yukardaki seri her bir bit iin tam tamna takip edilmedii srece (55h yi EECON2 ye yaz, Aah yi EECON2 ye yaz ve WR bitini kur) yazm balatlmayacaktr. Bu kod segmenti boyunca kesmelerin etkinsizletirilmesi yerinde olur. laveten EECON1 deki WREN biti aktif yazma kurulmaldr. Bu mekanizma beklenmeyen kod yrtlmesinden kaynaklanan tesadfi EEPROM verilerin zerine yazm nler.

Kullanc, EEPROM un gncelletirilmesi hari her zaman WREN bitini temiz tutmaldr. WREN biti donanm tarafndan silinmektedir. Yazm serisi balatldktan,WREN bitinin temizlenmesi bu yazm eklini etkilemektedir. WREN biti kurulmadka, WR bitinin kurulmas engellenir. Yazm eklinin tamamlanmasndan sonra, donanmdaki WR biti temizlenir ve EE yazm bitini bayrak biti (EEIF) kurulur. Kullanc bu kesmeyi aktifletirebilir yada etkinletirebilir. EEIF yazlm tarafndan silinmelidir. NOT: EEPROM veri bellek E/W cycle zaman 10ms aabilmektedir. (tipik) Yazm eklinin bitiminden emin olmak iin EE kesmesi kullanlmal veya WR biti seilmelidir. (EECON<1>). Her iki durum eklinin tamamlandn ifade eder. 2.13.5 YAZIM DORULANMASI EEPROM verisine yazlan deerlerin yazlmas istenen deerlerle dorulanmas gerekmektedir. Bu EEPROM birirnin spesifikasyon limitine yakn uygulamalarda kullanlmaldr. Toplam kaldrma diski , uygunluk (rahatlk) derecesini belirlemeye yardmc olacaktr. Genel olarak EEPROM yazm baarszl 1 olarak yazlan, fakat geriye 0 olarak okunan bitten kaynaklanmaktadr. 2.13.6 TAKLT YAZILIMLARA KARI KORUMA yle durumlar olabilir ki , aygt EEPROM veri belleine yazmak istemeyebilir. Taklit yazlmlara kar korunmak iin, deiik mekanizmalar monte edilmi, kurulmutur. Yksek gte WREN temizlenir. Bunun yan sra , yksek g timer i (72 msn sreli) EEPROM yazmn nler. Yazlm balatan ardk ve WREN biti ikisi birlikte Brown-Out, g arzas veya yazlm aksamasnda tesadfi yazlmlar nlemeye devam eder. 2.13.7 KOD KORUMA SRESNCE EEPROM VER LEM Micro, kod korumal durumdayken dzene sokulan verileri okuyabilir ve EEPROM verisine yazabilir. ROM aygtlarnda iki koruma biti mevcuttur. Birisi ROM program bellei dieri ise EEPROM veri bellei iindir. 2.14 G SARFYAT BLGLER Not: EADRR <7:6> biti temizlenmelidir. Bu bitlerden herhangi birisi kurulduunda micronun maximum IDD si her iki bitin de temizlenmi olmas halindekinden daha yksektir. Spesifikasyon 400mA dir. Silinen EADRR<7:6> ile maximum 150mA civarndadr. aretler: x =bilinmeyen, u = deimeyen, ----- = 0 olarak tamamlanmam okuma Q = artlara baml deer. Blgelendirilen hcreler EEPROM tarafndan kullanlmamaktadr. 2.15 CPU NUN SPESFK ZELLKLER Mikrokontrolr dier ilemcilerden ayran ey , gerek zaman uygulamalarnn gereksinmeleri ile ilgili zel devrelerdir. PIC16C84 te sistem gvenliini maximize eden, d elemanlar ayrarak maliyeti minimize eden , g tasarrufu, alma modu ve kod koruma gibi zellikleri tamaktadr. Bu zellikler; OSC seimi

Reset G kayna reseti (POR) Yksek g timer (PWRT) Osilatr balang Timer (OST) Kesmeler Watchdog Timer Sleep Kod koruma ID yerleimleri Devre ii seri programlama PIC16C84 te yalnzca konfigrasyon bitleri tarafndan kapatlabilen Watchdog Timer mevcuttur. Gvenlii arttrmak iin bu kendi RC osilatrn de altrmaktadr. Yksek gte gereken esas gecikmeleri salayan 2 Timer mevcuttur. Bunlardan birisi Osilatr Balang Timer dr. Bu timer , kristal osilatr durgunlancaya kadar ipi resette tutar. Dier timer ise yalnzca nominal yksek gte 72 ms sabit gecikme reten Yksek G Timer dr. Bu g kayna stabilize olurken aygt resette tutar. Bu iki ip zeri Timer ile , uygulamalarn ou hibir reset devrelerini gerektirmemektedir. SLEEP modu ok dk enerjili alak g modunu sunmaktadr. Kullanc SLEEP ten kmak iin d reset, Watchdog Timer zaman aral veya kesmeleri kullanabilir. Baz osilatr seenekleri, ksmlar uygulamaya yerletirmek iin elde edilmektedir. RC osilatr seenei sistem maliyetini, LP kristal seenei ise g sarfiyatn drmektedir. eitli seenekleri semek iin konfigrasyon bitler seti kullanlmaktadr. 2.15.1 KONFGRASYON BTLER Konfigrasyon bitleri eitli aygt konfigrasyonlarn semek iin programlanabilir( 0 olarak okur) yada programlamadan braklabilir. (1 olarak okur) Bu bitler 2007h program bellek yerleiminde saklanr. 2007h adresi kullanc program bellek uzaynn tesindedir ve zel test/konfigrasyon bellek uzayna (2000h- 3FFFh) aittir. Bu uzay yalnzca programlama srecinde eriilebilirdir. 2.16 OSLATR KONFGRASYONLARI 2.16.1 OSLATR TPLER PIC16CXX mikrolarnda 4 eit osilatr tipi bulunmaktadr. Kullanc bu 4 moddan birini seerek iki konfigrasyon bitini (FOSC1 ve FOSC2) programlayabilir. Bu modlar; LP Kristal veya seramik rezonatr-asgari akm - 40Khz XT Kristal veya seramik rezonatr- genel amal - 4Mhz HS Kristal veya seramik rezonatr- yksek hz - 20 Mhz RC Diren/ Kapasitr zaman sabitli - dk maliyet - 4Mhz 2.16.1.1 Kristal Osilatr / Seramik Rezonatr XT, LP ve HS modlar, kristal veya seramik rezonatrlerin, OSC1/CLKIN ve OSC2/CLKOUT pinlerine balanmalaryla kurulur. PIC16C84 te osilatr dizayn paralel kesim kristali kullanmay gerektirir. Kesim kristallerinin seri balanmas ile, kristallerin zerindeki frekans deerlerinden farkl bir frekans deeri oluabilir. XT, LP ve HS modlarnda OSC1/CLK1 dardan srlebilir.

Ambalaj ncesi osilatr TTL girili basit osilatr devresi kurulabilir. Ambalaj ncesi osilatr geni ilem alan ve ve stabilize sunmaktadr. yi tasarlanm kristal osilatr TTL girileri ile iyi performans salayacaktr. ki tip kristal osilatr devresi mevcuttur. Birisi seri rezonansl ve dieri de paralel rezonansl osilatrdr. 2.16.1.2 RC OSLATR Zamanlamaya duyarsz uygulamalar iin RC osilatr ilave maliyet azaltmn sunmaktadr. RC osilatr frekans, voltaj arznn, diren (Rext) deerinin, kondansatr (Cext) deerinin, alma s derecesi deerinin bir fonksiyonudur. Bunlara ilave olarak osilatr frekans normal srecin parametre deiiklii nedeniyle birimden birime deiebilmektedir. Bunun tesinde ambalaj tipindeki ekil kapasitansndaki farkllklar da, zellikle dk Cext deerlerinde, osilatrn frekansn etkileyebilmektedir. Kullanc d R ve C elemanlarnn tolerans nedeniyle meydana gelen deiiklikleri de dikkate almaktadr. ekil 2.20 de RC kombinasyonunun PIC16C84'e nasl baland grlmektedir. Rext < 2.2KW iin, osilatr ilemi kararsz hale gelebilir hatta tamamyla durabilir. ok yksek Rext deerleri iin (yani 1 MW) osilatr, grltye, rutubete ve szmalara kar duyarl hale gelir. Bunun iin Rext deeri 3W ile 100W arasnda tutulmaldr. Osilatrn hibir d kondansatr olmakszn almasna ramen (Cext=0pf) , grlt ve kararszlk nedenleri ile 20pf'n zerindeki deerlerin kullanlmas yerinde olur. ok dk kapasitans veya hi kapasitans olmadan, osilatr frekans , devredeki kaak kapasitans gibi d kapasitanslardaki deimeler nedeniyle nemli lde deiebilmektedir. Frekastaki deime yksek R deerleri (nk gerilim sznt deimeleri R den daha byk deerde RC frekansn etkileyecektir.) ve dk C deerlerinin etkisi ile artar( nk giri kondansatr deimeleri RC frekansnda daha byk etkiye sahiptir ). OSC2/CLKOUT pininde 4 ile blnen silatr frekans mevcuttur ve bu frekans, srcleri test etmek iin yada dier lojikleri test etmek iin kullanlabilir. Not : Osilatr RC modunda iken, OSC1 pini d saat devresi ile srlmemelidir. Aksi taktirde micro kararsz alr. 2.17 RESET DURUMLARI Mikroilemcili/ Mikrokonrolc sistemlerde reset devreleri aada sralanan nedenlerden tr nemlidir: Program sayac, I/O ve kontrol yazmalar gibi belirli yazmalar iin bilinen bir durumun varlndan emin olunmasn salar. Saatin, doru frekansa yerlemesi iin yeterli zamann verilmesine yardmc olur. ebeke geriliminde bir sorun varsa, mikronun dzgn olarak yeniden balayacandan emin olunmasn salar. PIC dahili Power-on reset devrelerine sahiptir. Eer PIC i besleyen g kayna, 0.05V/ms den daha byk bir oranda artarsa, dahili reset devreleri yeterli olacaktr. ( Kaynak geriliminin 0V tan 5V'a kadar artmas iin gereken sre 100 msden kk olmaldr.) Baz dk frekansl kristal osilatrler , almak iin 18ms den fazlasn gereksinirler. Bu durumda ve g kaynann ykselmesinin 100 ms'den uzun srd durumlarda, harici bir RC devresi gerekebilir. ebeke geriliminin inili kl olabilecei veya gerilim dkl olasl bulunan uygulamalarda , gerilim dkl durumunu temiz bir reset'in izleyeceinden emin olmak iin extra reset devreleri eklenmesi gerekebilir. Gerek besleme gerekse saat devrelerinde olduu gibi, PIC reset devresi de baz kurallar gz nnde bulundurulduunda olduka basittir. _MCLR aya, besleme gerilimi kararl bir duruma gelinceye kadar dk seviyede tutulmaldr. Burada nemli olan nokta, devreye

enerji verilmesi ve dier reset durumlarnda (_MCLR reset, uyanma SLEEP modundan kalkma, - Watcdog zamanlaycs sre am gibi) PIC in hangi adresten balayarak ilem yapacadr. rnein 16C54 n yesi olduu 16C5X ailesi PIC'lerin ilk ilem yapt adres, adres haritasnn en sonudur. ( 0x01FF) . Bu durumda PIC in ilk uygulayaca komut, her zaman bir srama komutu olacaktr. Eer bu adrese (0x01FF) NOP (No Operation) gibi bir komut yazlrsa program sayac bir saat evrimlik srede bu komutu altrr ve en baa yani program komutlarnn yazld adrese dner. 16CXX ve dier yksek seviyeli PIC ler de ise reset adresi her zaman 0'dr. Dolaysyla PIC in ilk gerekletirdii komut da bu adresteki komut olmaktadr. Eer Kesme (interrupt) vektr kullanlyorsa , buna ynelik kod , bu adrese konulamaz, nk Kesme vektr adresi 0x04 ten balamaktadr. Kesme kullanldnda, program sayacnn, Kesme sonras reset adresine deilde, Kesilme vektrnn bulunduu adrese ynlendirilmesi gerektii unutulmamaldr. 2.17.1 G KAYNAI RESET (POR) Etkin g kayna palsi , Vdd art fark edidiinde ip zerinde yaratlmaktadr. (1.2V-1.7V aralnda) . POR'un avantajlarndan yararlanabilmek iin , MCLR pininin direkt olarak 1 yada diren zerinden Vdd ye balanmas yeterlidir. Bu genellikle etkin g kayna reseti yaratmak iin gereken d RC elemanlarn kaldracaktr. Tam almas iin Vdd nin minimum art zaman karlanmaldr. Mikrokontroller normal ilemi balattnda (reset durumundan ktnda) ilemin temin edilebilmesi iin alma parametreleri (voltaj ,frekans, scaklk) karlanmaldr. Eer bu koullar yaratlmadysa, aygt alma koullar yaratlncaya kadar resette tutulmaldr. Vdd derken POR devresi iten reset retmeyecektir. 2.17.2 YKSEK G KAYNAI ZAMANLAYICISI (PWRT) Yksek g kayna timer (PWRT) , POR dan sabit 72 ms nominal zaman aral salamaktadr. Yksek g kayna timer' i RC osilatr zerinde almaktadr. ip, PWRT nin aktif tutulduu kadar resette tutulur. PWRT gecikmesi, Vdd nin kabul edilebilir seviyeye ykselmesine olanak vermektedir. PWRTE konfigrasyon biti, PWRT yi etkinletirebilir/etkinsizletirebilir. Yksek g kayna zaman gecikmesi (Tpwrt) Vdd, s derecesi ve sre deiiklikleri nedeniyle ipten ipe farkllk gsterir. 2.17.3 OSLATR BALANGI ZAMANLAYICISI (TMER) (OST) Osilatr balang Timer (OST), PWRT gecikmesi sonlandktan sonra 1024 osilatr cycle gecikmesi (OSC1 giriinden) salamaktadr. Bu kristal osilatr veya rezonatrn balandn ve stabilize olmasn temin eder. OST zaman aral (Tost) yalnzca XT, LP ve HS modlarnda aktr ve etkin g kayna reset veya SLEEP ten k zerindedir. Vdd ok yava arttnda, Tpwrt zaman aral ve Tost zaman aral Vdd nihai deerine ulamadan nce sona ermektedir. Bu durumda, d etkin g kayna reset devresi gerekli olabilir. D etkin g kayna reset devresi, yalnzca, eer Vdd oranda dk ise geerlidir. D diyodu Vdd g kayna azaldnda, kondansatrn abuk dearj olmasana yardm eder. R boyunca voltaj geriliminin 0.2 voltu amadndan emin olmak iin R'nin 40W dan kk olmas gerekir. (MCLR pini zerindeki maximum sznt akm 5mA dir.) Daha yksek voltaj gerilimi, MCLR pini zerinde VIH dzeyini arttracaktr. MCLR pininin ESD veya EDS nedeniyle durmas olaynda C d kondansatrnden MCLR ye herhangi bir akm akmasn snrlar.

2.17.4 SER ZAMAN ARALIKLARI VE G KAYNAI DRME STATU BT(TO/PD) G kayna ykselmesinde seri zaman aralklar yledir. lk PWRT zaman aral , POR un sona ermesiyle gelmektedir. Bu taktirde OST aktiftir. Toplam zaman aral osilatrn konfigrasyonu ve Bit Status un PWRTE konfigrasyonuna baldr. rnein etkinsiz PWRT li RC modunda, tmnde hibir zaman aral olmayacaktr. Zaman POR reset palsinden meydana geldii srece, eer MCLR yeterli derecede dk tutulursa, zaman aral sona erecektir. Daha sonra MCLR yksek dzeye getirlirse, alma hemen balayacaktr. Amalar test etmek veya paralel alan PIC16CXX mikrolarn senkronize etmek ok yararl olacaktr. 2.17.5 BROWN OUT ZERNE RESETBrown out: Aygt g kaynann kendi beslemesinin minimum deerinin altna inmesi (fakat sfr dzeyine deil) ve dzelmesidir. Aygt brown-out durumunda reset edilmelidir. Brow-out durumunun meydana gelmesinde, PIC16C84 aygtnn reset edilmesi iin d brown out devresi kurulabilir. 2.18 KESMELER : (INTERRUPT) Kesmeler, bir baka fonksiyonun gerekletirilmesi iin programn normal akn deitirmede kullanlr. (rnein bir veri iletiimi sisteminde bir mesaj alnnca veri aktarmn durdurmak iin) Kesmeler iki ayr tip formda bulunurlar. Yazlm ve donanm. Yazlm kesmeleri mikrokontrolcnn yerleik kesme kapasitesi bulunmad durumlarda kullanlr. te yandan donanm kesmeleri, mikrokontrolcye yerletirilmi tm kontrol mekanizmalarna sahiptir. Bir yazlm kesmesi, tm yazmalarn statsnden haberdar olma olana verdiinden donanm kesmelerine gre daha avantajldr. Ancak port kullanlmadnda kesme yalnzca d dnyaya eriebilir hale gelecektir. te yandan donanm kesmeleri, hzla hareket edebilirler. 2.18.1 YAZILIM KESMELER: PIC 16CXX ailesi donanm kesme zelliine sahip deildir ve yazlm kesmesi kullanmak zorundadr. 2.18.1.1 Kesmeyle alan yazlmlar : 16CXX mikrolar yerleik kesmelere sahiptir ama yazlm kesmelerini kullanarak ta alabilirler. Kesme, harici olaylarn normal yazlm akn kesebilmesine izin verdiinden mikroilemciler iin ok faydal bir zelliktir. Bu, belirli bir ama iin bir kodun altrlmasna yol aar. rnein iletiim yazlmlarnda girdi pininden bir kesme yazlmn gelen verinin kodunu zmesine neden olur. Donanm kesmeleri, harici veya dahili bir olay gerekletiinde programn kodun baka bir ksmna atlamasna neden olacak ekilde ayarlanabilirler. 16C71 mikrosunda kesmeler 4 kaynaktan seilebilir. Bunlar; Bir A/D dnm tamamlanmas PORTB bit 0 dan harici bir kesme PORTB 4-7 bitlerinin durumlarnda bir deiim RTCC nin FFH tan 00H a tamas

16C84 A/D dnm tamamlanmas yerine bir EEPROM yazm tamamlama kesmesine sahiptir. Bu gereklidir nk, EEPROM yazm sresi 10ms dir.( Bu da bir program EEPROM yazmnn tamamlanmasn bekliyorsa harcanan bir yn evrim demektir.) Yukardakilerden herhangi biri ana yazlm aknda bir kesmeye neden olabilir. Ayn anda yalnzca bir kesme idare edilebilir, nk ilk kesme GIE bit ini silerek ek kesme hareketlerine engel olur. Bir kesme esnasnda bir baka kesme meydana gelirse, bu ancak kesme bayraklarn, kesme rutininin sonunda baka deiimlerin olup olmadn incelerken ve RETFIE komutunu uygulamadan nce belli olur. Bir deiiklik varsa, yazlm, kesme tipinin belirlendii kesme girme noktasna dndrlebilir. Bir kesme gerekletiinde ( bu her zaman olabilir), STATUS ve W yazmalarnn ieriini kaydetmek akllca olur. Bylelikle deerler, kesmeden sonra yeniden depolanabilir. Bu, zellikle bir LCD grntleme rutini esnasnda gerekletiinde gzle grlebilir bir hal alr. Yazlm kesmesinin sonucu W yazmacnn ieriini deitirebilir ve RETFIE altrldktan sonra grntlenen bilgiyi bozabilir. Bir kesme idarecisine girmeden nce, bir tek geerli kesmenin mi yoksa olas birka kesmenin mi sz konusu olduunu bilmek nemlidir. Eer birka kesme sz konusuysa nce hangisiyle ilgilenilmesi gerektiini de bilmek gerekir. Bu, INTCON ve dier yazmalardaki kesme bayraklar test edilerek ve buna gre davranlarak kolayca gerekletirilebilir. Not: Bir kesme olumadan nce, ayr kesme salayc bitlerin INTCON yazmacndaki GIE (Global Interrupt Enable) bitiyle birlikte ayarlanmas gerekir. PIC16C84 te 4 eit Kesme mevcuttur. Bunlar; Dsal RBO/INT pini Kesmesi TMRO akm fazlas Kesmesi PORTB deiim Kesmesi EEPROM yazm btn Kesmesi 2.18.1.2 Kesme Kontrol Kayd (INTCON): Sinyal birimindeki bireysel Kesme taleplerini kaydeder. Bunun yan sra bu kayt, bireysel veya global ksmi Kesmelerini ierir. 2.18.1.3 Global kesme biti GIE (INTCON <7>): Bu bit eer kuruluysa, tm gizli olmayan kesmelere yol aar veya (silikse) tm kesmeleri etkisizletirir. Bireysel Kesmeler, onlarn INTCON kaydndaki uygun aktif bitleri araclyla etkisizletirebilir. GIE biti resette temizlenir. 'Kesmeden dnm' komutu RETFIE, Kesmeleri yeniden aktif hale getiren GIE nin kurulduu kadar, Kesme programndan k yapar. RBO/INT Kesme pini , RB port deiim Kesmesi ve TMRO fazla akm Kesme sinyali INTCON kaydnda ierilmektedir. Kesme olutuu zaman; GIE biti herhangi bir ilave Kesmeyi etkinsizletirmek iin silinir, dn adresi yna aktarlr ve PC 0004h ile yklenir. RBO/INT pini veya PORTB deiim Kesmesi gibi dsal Kesme durumlar iin Kesme devir sresi komut devirlerinin drtte kadar olacaktr. Tam devir sresi Kesme durumunun ortaya kmasna baldr. Devir sresi hem bir hem de iki komut devri iin ayndr. Bir kere Kesme servis programnda, Kesmenin kayna Kesme sinyal birimlerini sayarak belirlenebilir. Sonsuz Kesme taleplerini nlemek iin, Kesmeleri yeniden aktifletirmeden nce, Kesme sinyal birimleri yazlmdan silinmelidir. Not 1: Kesme sinyal birimleri , kendilerinin bal olduklar gizli bit veya GIE bit statsne bakmadan kurulmaktadr.

Not 2 : Global Kesme biti silinmi olduu srece Kesme meydana gelirse, GIE istemeyerek Kesme Servis Program tarafndan yeniden aktif hale getirilebilir. (RETFIE komutu). Bu olayn meydana gelmesine neden olanlar: 1 . Kesme onaylandnda komut, GIE bitini siler. 2 . Program Kesme vektrne ayrlr ve Kesme Servis Program altrlr. 3 . Kesme Servis Program RETFIE komutunun altrlmasyla tamamlanr. Bu da GIE bitinin kurulmasna neden olur ve program, Kesmeleri etkinsizletiren komutlardan sonraki yere dallanr. Kesmeleri global olarak etkisizletirmenin bir yntemi: GIE biti aada gsterilen kodlarda grld gibi komut tarafndan silinmesini temin etmelidir. LOOP BCF INTCON, GIE ; Tm Kesmeler etkinsizletirilsin. BTFSC INTCON, GIE ; Tm Kesmeler etkinsizletirilsin mi? GOTO LOOP ; Hayr yeniden dene. ; Evet programn akyla devem et. 2.18.1.4 Int Kesmeleri RBO/INT deki d Kesmelerin snrlar trigger edilmitir. Bu snrlar eer INTEDG biti kuruluysa (seenek Reg<6>) ykselmekte veya azalmaktadr, eer INTENDG silinmi ise RBO/INT pini zerinde geerli snr ortaya kt zaman, INTF biti (INTCON<1>) kuruludur. Bu Kesme INTE bitinin (INTCON ccp) kontrolnn temizlenmesi ile etkisizletirilebilir. INTF sinyal biti, bu Kesmenin yeniden aktifletirilmesinden nce, Kesme Servis Program tarafndan yazlmdan silinmelidir. INT Kesmesi ilemciyi ilk bata, SLEEP e gidilecek ekilde kurulduu taktirde SLEEP ten karlabilir. GIE biti stats, ilemcinin SLEEP ten k takip eden Kesme vektrne ayrlp ayrlmayacana karar verir. 2.18.1.5 TMRO Kesmeleri TMRO da ki tama (ffh 00h) TOIF (INTCON<2>) sinyal bitini kuracaktr. Kesme aktif TOI E bitinin (INTCON<3>) kurulmas/silinmesi ile etkinletirilebilir /etkinsizletirilebilir. NOT : Eer I/O pinindeki deime, PORTB'nin okuma ilemi altrld zaman ortaya karsa (Q2 cycle nn balamas), RBIF Kesme sinyal biti kurulmayabilir. 2.18.2 KESME BOYUNCA CONTEXT KAYDETME Kesme boyunca , yalnzca PC dn deeri yna kaydedilir. Tipik olarak , kullanclar, Kesme sresi boyunca anahtar kayt deerlerini saklamak isterler. (yani W kayd ve STATUS kayd) bu yazlmda tamamlanmtr. RNEK 2.5: STATUS ve W kayt deerlerini saklamakta ve restore etmektedir. Kullanc tarafndan tanmlanan kaytlarda, W ve STATUS kaytlar deerleri iin geici saklama yeridir. 2.5 rnei u ilemleri yapmaktadr. a) W kaytlarn saklar. b) Status kaytlarn STATUS TEMPE saklar c) Kesme Servis Program Kodunu altrr. d) STATUS kaydn ( ve kme seme bitini kontrol eder.) restore eder. e) W kaydn restore eder.

Aada PIC16C8X Ailesine ait rnler grlmektedir.

3. PIC N KULLANIMI N GEREKL AAMALAR :


Amatr bir elektroniki PIC16F84 ile Program gelitirmek iin temel anlamda aadaki ekipmana ihtiya duyacaktr: 1. 2. 3. 4. 5. 6. PIC16F84 veya PIC16C84 MS-DOS tabanl PC ASCII Editr (rnein Dosun EDITI) MPASM Assembler Programlayc/silici Programlayc iin yazlm

ASCII Editr olarak herhangi bir ASCII editor kullanlabilir (DOSun iinde gelen EDIT gibi) Bir PIC program assemblerda "COMPILE" ilemi yaplmadan evvel editorde program olarak yazlr ve saklanr. Bu text programn sonu mutlaka. ASM olmaldr. MPASM Microhip tarafindan yazIlm bir PIC assembler programdr. Bu program tm pic ailesini kapsar. MPASM in hem Windows altnda alan hem de dos altnda alan versiyonlar bulunmaktadr. Programlama devresi bir adet DB9 dii Konnektr ve adet direnten olumaktadr. Bu devre ok basit olup PC nin COM portunu kullanr. Devrenin gerekletirilmesi ayn zamanda minimum bir PIC Sistemi yaplmasn gerektirir. Bir PIC lemcisinin alimas iin bir adet kristal, 2 adet diren, 3 adet kondansatr ve 14 nolu bacaa +5Volt nolu bacaa toprak vermek yeterlidir. Geri kalan bacaklar giri ve k portlardr.

Yukarda zet eklinde belirtilen , PIC16F84 ile Program gelitirmek iin gereken ekipmanlar aadaki gibi detaylandrmak mmkn: 3.1 I/O (Giri / k) : Mikrokontrolcnn d dnya ile ilikisini salayan, girdi ve kt eklinde ayarlanabilen bir balant pinidir. I/O ounlukla mikrokontrolcnn iletiim kurmasna, kontrol etmesine veya bilgi okumasna izin verir. 3.2 Yazlm : Mikrokontrolcnn almasn ve iletilmesini salayan bilgidir. Baarl bir uygulama iin yazlm hatasz (bug) olmaldr. Yazlm C, Pascal veya Assembler gibi eitli dillerde veya ikilik(binary) olarak yazlabilir. 3.3 Donanm : Mikrokontrolc, bellek, arabirim bileenleri, g kaynaklar, sinyal dzenleyici devreler ve bunlar altrmak ve arabirim grevini stlenmek iin bu cihazlara balanan tm bileenlerdir. 3.4 Simlatr : PC zerinde alan ve mikrokontrolcnn iindeki ilemleri simle eden MPSIM gibi bir yazlm paketidir. Hangi olaylarn ne zaman meydana geldii biliniyorsa bir simlatr kullanmak tasarmlar test etmek iin kolay bir yol olacaktr. te yandan simlatr, programlar tmyle veya adm adm izleyerek buglardan arndrma frsat sunar. u anda en gelimi simlatr program Microchip firmasnn gelitirdii MPLAB programdr. 3.5 ICE : PIC MASTER olarak da adlandrlr. (In- Circuit Emulator / devre takipisi) PC ve Mikrokontrolcnn yer alaca soket arasna balanm yararl bir geretir. Bu gere yazlm, PC de alrken devre kart zerinde bir mikrokontrolc gibi davranr. ICE, bir programa girilmesini, mikro iinde neler olduunu ve d dnyayla nasl iletiim kurulduunun izlenilmesini mmkn klar. 3.6 Programc : Yazlmn mikrokontrolc belleinde programlamasn ve bylece ICE nin yardm olmadan almasn salayan bir birimdir. ounlukla seri port a (rnein PICSTART, PROMASTER) balanan bu birimler ok eitli biim, ebat ve fiyatlara sahiptir. 3.7 Kaynak Dosyas : Hem asembler in hem de tasarmcnn anlayabilecei dilde yazlm bir programdr. Kaynak dosya mikrokontrolr n anlayabilmesi iin nceden assemble edilmi olmaldr. 3.8 Assembler : Kaynak dosyay bir nesne dosyaya dntren yazlm paketidir. Hata aratrma bu paketin yerleik bir zelliidir. Bu zellik assemble edilme srecinde hatalar ktka program buglardan arndrrken kullanlr. MPASM, tm PIC ailesini elinde tutan Microchip in son assemble edicisidir. 3.9 Nesne dosyas (object file) : Assembler tarafndan retilen bu dosya; programc, similatr veya ICE nin anlayabilecekleri ve bylelikle dosyann ilevlerinin almasn salayabilecekleri bir dosyadr. Dosya uzants assemble edicinin emirlerine bal olarak , .OBJ veya .HEX olur.

4. BR UYGULAMA: 10-MOD,SEML LER-GER SAYICI


Programn Amac: Temel anlamda PIC Programlamann renilmesi. Programn Oluumu Sresince KullanlanYazlmlar: Metin Editr : NotPad Derleyici : MPLAB * Yazlan program PIC programlayc ile PIC 16F84e aktarlmtr. Program gerekleyecek devrenin oluturulmasnda kullanlan devre elemanlar: yot ( 1 N 4007 ) : Pil ters balandnda devrenin zarar grmesini engelliyor. Reglatr : 9 Voltluk gerilimi 5 volta drmeye yaryor. Buton : Sayacn ileri geri saymasn salamak iin kullanlan elemanlar PIC (16F84) : Pic programnn almas iin kullanlan eleman Display : Program sonucu grmek iin kullandmz eleman Kondansatr (100 nF ) Kristal (OSC 4 Mhz) Diren Pil ( 9 voltluk ) Program Kaynak Kodu: Seilen butona gore, [0-9] aralnda ileri veya geri sayan programa ait kaynak kod aadaki gibidir: ;***************************************************** LIST P=16C84 INCLUDE <P16C84.INC> __CONFIG _XT_OSC&_WDT_OFF&_PWRTE_ON&_CP_OFF ;///////////////////////////////////////////////////////////////////////////// ;Bu ksmda display deki deeri artrmaya ve eksiltmeye yarayan butonlarn ;tanmlar yaplmtr.Programda P16F84 entegresinin girilerinin(Port A) iki biti ;kullanlmtr. A Portunun 2. ve 3. bitleri, butonlarn girii olarak kullanlmtr. ;///////////////////////////////////////////////////////////////////////////// #DEFINE #DEFINE BUTON_ARTI BUTON_EKSI PORTA,2 PORTA,3

;///////////////////////////////////////////////////////////////////////////// ;Bu ksmda clock ayar yaplmtr. ;///////////////////////////////////////////////////////////////////////////// CBLOCK 0X020 SAYAC TABLO_TEMP

ENDC ;///////////////////////////////////////////////////////////////////////////// ;Bu ksm, program baladnda ve programa interrupt geldiinde aktif olur. ;///////////////////////////////////////////////////////////////////////////// ORG 0X000 GOTO START ;********************************** ORG 0X004 GOTO START ;///////////////////////////////////////////////////////////////////////////// ;Bu ksmda, programn balamas iin gereken ayarlar yaplmaktadr. ;/////////////////////////////////////////////////////////////////////////// START ;**************************************** BSF STATUS,RP0 MOVLW MOVWF MOVLW MOVWF BCF B'00001100' TRISA ; PORTA B'00000000' TRISB ; PORTB

STATUS,RP0

CLRF PORTA CLRF PORTB CLRF SAYAC MOVF SAYAC,W CALL TABLO MOVWF PORTB GOTO MAIN ;///////////////////////////////////////////////////////////////////////////// ;Bu ksm displaye gnderilecek olan saynn formatnn belirlendii alt programdr. ;/////////////////////////////////////////////////////////////////////////// TABLO MOVWF MOVLW ADDWF BTFSC RETLW MOVFW ADDWF TABLO_TEMP D'246' TABLO_TEMP,W STATUS,C B'01000000' TABLO_TEMP PCL,F

; .GFEDCBA RETLW B'00111111' RETLW B'00000110' RETLW B'01011011' RETLW B'01001111' RETLW B'01100110' RETLW B'01101101' RETLW B'01111101' RETLW B'00000111' RETLW B'01111111' RETLW B'01101111'

;0 ;1 ;2 ;3 ;4 ;5 ;6 ;7 ;8 ;9

0 1 2 3 4 5 6 7 8 9

;///////////////////////////////////////////////////////////////////////////// ;Bu blm programn ana ksmdr. Burada ilk olarak buton kontrol yaplmaktadr. ;Baslan butona(buton_art,buton_eksi) gre ilgili alt programa dallanlr. ;/////////////////////////////////////////////////////////////////////////// MAIN BTFSC BUTON_ARTI GOTO ARTIR BTFSC BUTON_EKSI GOTO AZALT GOTO MAIN ;///////////////////////////////////////////////////////////////////////////// ;Bu ksm art butonuna basldnda olacak olaylar iin kullanlmaktadr. Her art ;butonuna basldnda bu alt programa dallanlr. 9'dan 0'a geite bir kontrol yaplmaktadr. ;/////////////////////////////////////////////////////////////////////////// ARTIR INCF SAYAC,F MOVLW D'246' ADDWF SAYAC,W BTFSC STATUS,C CLRF SAYAC MOVF SAYAC,W CALL TABLO MOVWF PORTB ;///////////////////////////////////////////////////////////////////////////// ;Bu ksm, art buton basl kald srece saymann devam etmesini nlemek iin ;kullanlmaktadr.Yani her sayma, butona baslp braklmasyla tetiklenir. ;/////////////////////////////////////////////////////////////////////////// BEKLE_ARTIR BTFSC BUTON_ARTI GOTO BEKLE_ARTIR GOTO MAIN

;///////////////////////////////////////////////////////////////////////////// ;Bu ksm eksi butonuna basldnda olacak olaylar iin kullanlmaktadr. Her eksi ;butonuna basldnda bu alt programa dallanlr. 0'dan 9'a geite bir kontrol yaplmaktadr. ;/////////////////////////////////////////////////////////////////////////// AZALT DECF SAYAC,F MOVLW D'255' XORWF SAYAC,W BTFSS STATUS,Z GOTO AZALT1 MOVLW D'9' MOVWF SAYAC AZALT1 MOVF SAYAC,W CALL TABLO MOVWF PORTB ;///////////////////////////////////////////////////////////////////////////// ;Bu ksm, eksi buton basl kald srece saymann devam etmesini nlemek iin ;kullanlmaktadr.Yani her sayma, butona baslp braklmasyla tetiklenir ;/////////////////////////////////////////////////////////////////////////// BEKLE_AZALT BTFSC BUTON_EKSI GOTO BEKLE_AZALT GOTO MAIN ;********************************* END Uygulamaya ait devre emas aadaki gibidir:

SONU:
Yaplan bu alma ile PIC Nedir,Hangi alanlarda kullanlabilir? PIC programlama nedir ve nasl yaplr? sorularna cevap aranmtr. Bu konuda yaptmz aratrmalarn ardndan PIC programlamann temel anlamda renilebilmesi amacyla bir rnek uygulama gelitirilmitir. Belirlenen ilemi yerine getirecek program yazlm ve bu program yrtecek PIC 16F84l devre oluturulmutur.

You might also like