Você está na página 1de 67

PIC16C84/PIC16F84

BLM 1 1.1 GR: 1.1.1 Mikroilemci : n belleine yazlan program ileterek istenilen klara ynlendiren birimdir. Mikroilemci veya saysal bilgisayarlar temel ksmdan (CPU-Merkezi ilem nitesi, I/O ve bellek) ve bunlara ek olarak baz destek devrelerden oluur. Her bir temel ksm en basitten en karmaa kadar eitlilik gsterir. 1.1.2 I/O (Giri/k-Girdi/kt): Saysal anolog ve zel fonksiyonlardan oluur. Mikroilemcinin d dnya ile ilikisini salar. Mikroilemciye verilen ilemlerden alnan veriler bu hat zerinden salanr. 1.1.3 CPU (Central Proccesing Unit-Merkezi ilem birimi): Sistemin kalbidir. Birim hesaplar yapmak ve verileri idare etmek iin 4.8 veya 16 bitlik veri formatnda alr. Bir mikroilemcide temelde kullanlan yol vardr. I_ Veri yolu : Bu yol ; ilemci, bellek ve evre birimleri arasnda veri iletmek iin kullanlr. II_Adres yolu : Bu yol, ilemcinin program komutlarna ve veri saklama alanlarna eriimi salayan bellek gndermek iin kullanlr. III_Denetim yolu: Bu yol Ram belleine veri yazld veya ondan veri okunduuna dair bilgi vermek gibi, denetim amalar iin kullanlr. Bu yol ayn zamanda kesmelerin kullanmna olanak tanyan balantlar da ierir. Tipik bir mikroilemci komutunun yrtlmesi her yolunda kullanmn adreslerini, ROM ve RAM belleklerine ve

gerektirebilir. Bylelikle kullanlan ek devreler artarak maliyet ykselir ve tasarm ok karmak hal alr. lemci ilk olarak komuta, komut adresini adres yoluna koyarak eriir. kili kodlardan oluan bu adres, buna karlk gelen bellek konumu tarafndan tannr ve bu konum istenen komutu veri yolundan ilemciye gnderir.

rnein eer bu komut , verinin ilemciden gnderilmesini ve bir RAM konumunda saklanmasn gerektiriyorsa ilemci, adres yolunu istenen konumu belirtmek, veri yoluna veriyi iletmek ve denetim yoluna da RAM a yazyor olduunu belirtmek iin kullanlr. 1.2 MKROKONTROLRLER 1.2.1 Mikrokontrolc : Bir yazlm olmadan hibir ie yaramayan bir plastik metal ve temizlenmi kum yndr. Mikrokontrolcy kontrol eden bir yazlm olduundaysa neredeyse snrsz bir uygulamaya sahiptir. 1.2.2 Mikrokontrolcnn Avantajlar : Mikrokontrolrler in mikroilemcilere olan stnlkleri olduka fazladr. rnein mikroilemcili bir sistem yapldnda mikroilemcinin yan sra hafzalar (RAM, ROM veya EPROM) , I/O giri k birimi ve buna benzer birok sistem kullanlmaktadr. Bu kark sistemin hem tasarlanmas ve yapm zordur hem de maliyeti olduka yksektir. Mikrokontrolcler de bir sistemin altrlabilmesi iin yalnzca bir mikrokontroller ve osilatr devresi kafi gelmektedir. Sistemde salayan bir birimdir. ounlukla seri port a (rnein PICSTART, PROMASTER) balanan bu birimler ok eitli biim, ebatve fiyatlara sahiptir. 1.3.1 Kaynak Dosyas : Hem asembler in hem de tasarmcnn anlayabilecei dilde yazlm bir programdr. Kaynak dosya mikrokontrolr n anlayabilmesi iin nceden assemble edilmi olmaldr. 1.3.2 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. 1.3.3 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. 1.4 PIC MKROKONTROLRLERNN ZELLKLER 1.4.1 Gvenirlik: PIC komutlar bellekte ok az yer kaplarlar. Dolaysyla bu komutlar 12 veya 14 bitlik bir program bellek szcne sarlar. Harward mimarisi teknolojisi kullanlmayan mikrokontrollrler de yazlm programnn veri ksmna atlama yaparak bu verilerin komut gibi altrlmasn salamaktadr. Bu da byk hatalara yol amaktadr. PIC ler de bu durum engellenmitir. 1.4.2 Hz : PIC olduka hzl bir mikrokontrolr dr. Her bir komut dngs 1sn dir. rnein 5 milyon komutluk bir programn 20Mhz lik bir kristalle iletilmesi yalnz 1sn srer. Bu sre 386SX33 hznn yaklak 2 katdr. Ayrca RISC mimarisi ilemcisi olmasnn hza etkisi olduka byktr. 1.4.3 Komut Seti : PIC in 16C5X ailesinde bir yazlm yapmak iin 33 komuta ihtiya duyarken 16CXX aralar iin bu say 35 tir. PIC tarafndan kullanlan komutlarn hepsi yazma (register) temellidir. Komutlar 16C5X ailesinde 12 bit, 16CXX ailesindeyse 14 bit uzunluundadr. PIC te CALL, GOTO ve bit test eden BTFSS ve INCFSZ gibi komutlar dnda dier komutlar 1 saykl eker. Belirtilen komutlar ise 2 saykl eker. 1.4.4 Statik lem : PIC tamamyla statik bir ilemcidir. Yani saat durdurulduunda da tm yazma ierii korunur. Pratikte bunu tam olarak gerekletirebilmek mmkn deildir. PIC mikrosu program iletilmedii zaman uyuma (sleep) moduna geirilerek micronun ok dk akm ekmesi salanr. PIC uyuma moduna geirildiinde , saat durur ve PIC uyuma ileminden nce hangi durumda olduunu eitli bayraklarla ifade eder. (elde bayra, 0 (zero) bayra ... vb.) PIC uyuma modunda 1Aden kk deerlerde akm eker. (Standby akm).

1.4.5 Srme zellii (Src Kapasitesi): PIC yksek bir kt kapasitesine sahiptir. Tek bacaktan 40mA akm ekebilmekte ve entegre toplam olarak 150mA akm aktma kapasitesine sahiptir. Entegrenin 4mHz osilatr frekansnda ektii akm alrken 2mA, stand-by durumunda ise 2A kadardr. 1.4.6 Seenekler : PIC ailesinde her trl ihtiyalarn karlanaca eitli hz, scaklk, klf, I/O hatlar, zamanlama (Timer) fonksiyonlar, seri iletiim portlar, A/D ve bellek kapasite seenekleri bulunur. 1.4.7 ok Ynllk : PIC ok ynl bir mikrodur ve rnn iinde, yer darl durumunda birka mantk kapsnn yerini deitirmek iin dk maliyetli bir zm bulunur. 1.4.8 Gvenlik : PIC endstride en stnler arasnda yer alan bir kod koruma zelliine sahiptir. Koruma bitinin programlanmasndan itibaren, program belleinin ierii, program kodunun yeniden yaplandrlmasna olanak verecek ekilde okunmaz. 1.4.9 Gelitirme: PIC program gelitirme amacyla programlanabilip tekrar

silinebilme zelliine sahiptir. (EPROM, EEPROM) Ayn zamanda seri retim amacyla bir kere programlanabilir (OTP) zelliine sahiptir. 1.4.10 Liste Dosyas : Assembler tarafndan yaratlan ve kaynak dosyadaki tm komutlar hexadecimal sistemdeki deerleri ve tasarmcnn yazm olduu yorumlaryla birlikte ieren bir dosyadr. Bir program buglar dan arndrrken aratrlacak en yararl dosya budur. nk bu dosyay izleyerek yazlmlarda neler olup bittiini anlama ans kaynak dosyasndan daha fazladr. Dosya uzants .LST dir. 1.4.11 Dier Dosyalar : Hata dosyas ( Error file: uzants .ERR) hatalarn bir listesini ierir ancak bunlarn kayna hakknda hi bir bilgi vermez. Uzants .COD olan dosyalar emlatr tarafndan kullanlrlar.

1.4.12 Bug lar : Tasarmcnn farknda olmadan yapt hatalardr. Bu hatalar, basit yazlm hatalarndan, yazlm dilinin yanl kullanmna kadar uzanr. Hatalarn ou derleyici tarafndan bulunur ve bir .LST dosyasnda grntlenir. Kalan hatalar bulmak ve dzeltmek te gelitiriciye der. BLM 2 PIC MKROKONTROLRLERNN DONANIMSAL NCELENMES 2.1 PIC MKROKONTROLRLERNN YAPISI 50CPU 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.

ekil 2.1: Temel PIC blok diyagram CPU alannda ayrca iki kategoriye 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.

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 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 mikroyu uygulamann sonundan kaldrmadan kodu 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. Aada tablo 2.1 de PIC16C8X ailesinin zellikleri ve ekil 2.1 de basitletirilmi i yaps gsterilmektedir. de programlanabilirlii izin gncelletirmeye

Tablo 2.1 : PIC16C8X ailesi zellikleri

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.

ekil 2.2 : PIC 16C84 n basitletirilmi i yaps

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 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 bir araya 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. Saat palsi ve komut yrtme akm ekil 2.3 de grlmektedir.

10

ekil 2.3: Saat palsi ve komut yrtme akm 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.

11

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 BELLEKORGANZASYONU 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.

ekil 2.4: Program hafzas ve kme [Yn] 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 bellei haritas organizasyonunu gstermektedir. seimi iin kontrol bitleri gerektirmektedir. Bu kontrol bitleri STATUS kaydnda yer almaktadr. ekil 2.4 veri

12

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 Amal Kayt Dosyas: 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 Fonksiyon Kaytlar: zel fonksiyon (ek 2.5 ve Tablo2.1) kaytlar, aygtn ilemini kontrol etmek iin CPU ve zel fonksiyonlar tarafndan kullanlmaktadr. RAM`lerdir. Bu kaytlar statik

ekil 2.5 : Kayt Dosyas Haritas 2.10 PORTB ve TRISB KAYITLARI

13

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.

ekil 2.6: RB7: RB4 Pinleri

ekil 2.7 : RB3:RBO Pinleri

Bu kesme aygt SLEEP` ten karabilir. Kullanc, kesme servis programnda, kesmeyi aadaki metotlarla temizleyebilir. a PORTB`yi okuma (veya yazma). Bu

14

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.

Tablo 2.4 : PortB kaydedicileri 2.11 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 tanmladysa, pindeki giri sinyali CPU` yu okuyacaktr ve daha nceki ieriin zerine yazlmak suretiyle belirli pinlerin veri mandallarna yeniden yazacaktr. Pin, giri modunda olduu

15

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.12 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.8) Bylelikle, okuma tarafndan takip edilen yazma ayn I/O portunda yrtldyse, tedbirleri mutlaka alnmaldr. Komutlarn ardkl yle olmaldr ki, pin voltajlar, pinin daha nceki hali, yeni haline nispeten CPU'ya okunabilir. rnek 2.1: I/O portundaki iki ardk oku-dzenle-yaz komutunun etkileri gsterilmektedir. OKU-DZENLE-YAZ KOMUTLARI (I/O Portu zerinde) ; Balang Port Ayarlar : PORT B<7:4> giriler PORT B<3:0> klar sradaki komuttan daha erken stabilize olmaldr.(ykleme bamll) Bunun yan sra bu

16

; 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.

ekil 2.8 : Ardl I/O ilemleri 2.13 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.7) Eer

17

TMR0 kayd yazlysa, uzama takip eden 2 sreci engeller. (ek 2.8 ) Kullanc ayarlanan deeri TMR0 kaydna yazarak, bunun etrafndan alabilir. Saya modu TOCS bitinin (OPTION<5>) ayarlanmasyla seilir. Bu modda, TMR0, RA4/TOCK1 pininin snrlarnn her bir 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.14 TMR0 KESMES

ekil 2.9 :TMR0 blok diyagram 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.9) ilemciyi SLEEP` ten karamaz, nk, SLEEP boyunca timer kapaldr.

18

ekil 2.10 : TMR0 zamanlamas: Prescaler siz iten clock 2.15 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 yan sra, TMR0 kaydnn senkronize edilmesinden sonra, fiili artmada gecikme mevcuttur. 2.15.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. (ekil 2.6) . 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.15.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. ekil 2.7 d saat snrndan Timer uzamasna kadar gecikmeyi gstermektedir. 2.16 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 bir tek prescaler mevcuttur. Bylece Timer0 modlne prescaler atamas, watchdog timern prescaleri olmad

19

anlamna gelmektedir.PSA ve PS2 : PSO bitleri (option <3:0>) prescaler atamasn ve prescaler orann belirlemektedir.

ekil 2.11 : D saatli TIMER0 zamanlaycs 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.

Tablo 2.5 : Timer0 ve dier kaydediciler

2.17 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 :

20

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 gre de deiebilir.Aygt kod korumal olduu zaman , CPU EEPROM belleini okumaya ve yazmaya devam edebilir. PIC programlaycs artk bu bellee eriemeyebilir. 2.17 .1 EEADR EEADR kayd EEPROM verisinin maksimum 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.

ekil 2.12 : EECON1 Registeri [88h adresleri] 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.

21

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.17.2 EECON1 ve EECON2 KAYITLARI 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

22

kesme yazlmdan silinmelidir. EECON2 fiziksel kayt deildir. EECON2 okumas tm 0 lar okuyacaktr. EECON2 kayd harici olarak data EEPROM yaz serisinde kullanlr. 2.17.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) rnek 2.3 :

2.17.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.4 : EEPROM a veri yazm

23

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.17.5 YAZIM DORULANMASI

24

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. rnek 2.4 : Yazm dorulanmas:

2.17.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.17.7 KOD KORUMA SRESNCE EEPROM VER LEM

25

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.18 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 dr. Silinen EADRR<7:6> ile maximum 150mA civarndadr. aretler: x =bilinmeyen, u = deimeyen, ----- = 0 olarak tamamlanmam okuma Q = artlara baml deer. Blgelendirilen hcreler EEPROM kullanlmamaktadr. tarafndan

Tablo 2.6: EEPROM verisi ile uyumlatrlan Kaytlar/Bitler

2.19 CPU NUN SPESFK ZELLKLER Mikrokontrolr dier ilemcilerden ayran ey , gerek zaman uygulamalarnn gereksinmeleri ile ilgili zel devrelerdir. PIC16C84 de sistem gvenliini maximize eden, d elemanlar ayrarak maliyeti minimize eden , g tasarrufu, alma modu ve kod koruma gibi zellikleri tamaktadr.

Bu zellikler;

26

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.

27

2.19.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.

ekil 2.13 Konfigrasyon kelimeleri

2.20 OSLATR KONFGRASYONLARI 2.20.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.20.1.1 Kristal Osilatr / Seramik Rezonatr

28

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.

ekil 2.14 : Kristal ilemi/ Seramik rezonatr HS , -XT, - LP

ekil 2.15 : Harici clock girdi ilemleri

Tablo 2.6 : Kristal ve kapasitr deer seimleri

2.20.1.2 D kristal osilatr devresi

29

Ambalaj ncesi osilatr TTL girili basit osilatr devresi kurulabilir. Ambalaj ncesi osilatr geni ilem alan 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.

ekil 2.16 :D paralel resonansl kristal osilatrn devresi Devre, kristalin temel frekansn kullanmak iin tasarlanmtr. 74AS04

evirici, paralel osilatrn gerektirdii 180 dereceli faz kaymasn yrtmektedir. 4.7 kW direnci kararllk iin negatif geri besleme salamaktadr. 10 kW potasiyometre 74AS04 lineer blgede altrr. Bu devre osilatr tasarm iinde kullanlabilir.

ekil 2.17 :D seri rezonansl kristal osilatr devresi

ekil 2.17seri rezonansl osilatr devresini gstermektedir. Bu devre kristalin esas frekansn kullanmak iin de tasarlanmtr. evirici 180 derece faz kaymasn yrtmektedir. 330KW luk diren, eviricilere kendi lineer blgesinde tesiri iin negatif geri beslemeyi salamaktadr.

30

2.20.1.3 RC Osilatr 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.17 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. Frekanstaki 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 osilatr 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.

31

ekil 2.18 : RC osilatr modu 2.21 RESET DURUMLARI Mikroilemcili/ Mikrokonrolc sistemlerde reset devreleri aada 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 sralanan

32

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.21.1 G Kayna Reseti (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. retmeyecektir. 2.21.2 Yksek G Kayna Zamanlaycs (PWRT) Yksek g kayna timer (PWRT) , POR dan sabit 72 ms nominal zaman aral salamaktadr. Yksek g kayna timer' i RC osilatr zerinde almaktadr. Eer bu koullar yaratlmadysa, aygt alma koullar

yaratlncaya kadar resette tutulmaldr. Vdd derken POR devresi iten reset

33

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.21.3 Osilatr Balang Zamanlaycs (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.

ekil 2.19 : D etkin g kayna reset devresi

Not:

(Dk vdd g kayna iin) 1. D etkin g kayna reset devresi, yalnzca, eer Vdd oran da dk ise geerlidir.D diyotu Vdd g kayna azaldnda, kondansatrn abuk dearj olmasna yardmc olur.

34

2. R boyunca voltaj gerilimi 0.2Vu aamadndan emin olmak iin R<40k nerilir. (MCLR pininin zerinde maksimum sznt akm 5A dir). Daha yksek voltaj gerilimi, MCRL pini zerinde VIH dzeyini azaltmaktadr. 3. MCRL pininin ESD veya EOS nedeniyle durmas olaynda C d kondansatrnden snrlayacaktr. 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.21.4 Seri Zaman Aralklar Ve G Kayna Drme ve Status Biti (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. MCRLye herhangi bir sznt akmn

Tablo 2.7: eitli durumlarda zaman aralklar

35

Zaman POR reset palsinden meydana geldii srece, eer MCLR yeterli derecede dk tutulursa, zaman aral sona erecektir. Daha sonra MCLR yksek dzeye getirilirse, alma hemen balayacaktr. Amalar test etmek veya paralel alan PIC16CXX mikrolarn senkronize etmek ok yararl olacaktr. Tablo da TO ve PD bitlerinin nemi grlmektedir. gstermektedir. Tablo 2.9 tm kaytlarn reset durumlarn

Tablo 2.8: Tm kaytlarn reset durumlar

Tablo 2.9 : Status bitleri ve onlarn nemi

36

2.21.5 Brown- Out zerinde Reset Brown 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 , ekil 2.20 ve 8.21 de grld gibi, d brown out devresi kurulabilir.

ekil 2.20 : Brown out koruma devresi_1

ekil 2.21 : Brown out koruma devresi_2 Brown-Out koruma devresinin maliyeti daha dktr fakat daha az doruluk derecesine sahiptir. Q1 transistr, Vdd deerinin belirli bir deerinin altna inmesiyle aktif olur. Bu deer; VDD + R1 / R2 =0.7 KESMELER (INTERRUPT) Kesmeler, bir baka fonksiyonun gerekletirilmesi iin programn normal akn deitirmede kullanlr. (rnein bir veri iletiimi sisteminde bir mesaj alnnca veri

37

aktarmn durdurmak iin) Kesmeler iki ayr tip formda bulunurlar. Yazlm ve donanm. Yazlm bulunmad kesmeleri mikrokontrolcnn kullanlr. te yerleik kesme kapasitesi kesmeleri, durumlarda yandan donanm

mikrokontrolcye yerletirilmi tm kontrol mekanizmalarna sahiptir. Bir yazlm kesmesi, tm yazmalarn statsnden haberdar olma verdiinden donanm kesmelerine gre daha avantajldr. olana port

Ancak

kullanlmadnda kesme yalnzca d dnyaya eriebilir hale gelecektir. te yandan donanm kesmeleri, hzla hareket edebilirler. 2.22.1 YAZILIM KESMELER: PIC 16CXX ailesi donanm kesme zelliine sahip deildir ve yazlm kesmesi kullanmak zorundadr. 2.22.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

38

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

39

2.22.1.2 Kesme Kontrol Kayd (INTCON): Sinyal birimindeki bireysel Kesme taleplerini kaydeder. Bunun yan sra bu kayt, bireysel veya global ksmi Kesmelerini ierir. 2.22.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 : Kesme sinyal birimleri , kendilerinin bal olduklar gizli bit veya GIE bit statsne bakmadan kurulmaktadr. Not : 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.

40

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 BTFSC GOTO BCF INTCON, GIE ; Tm Kesmeler etkinsizletirilsin. INTCON, GIE ; Tm Kesmeler etkinsizletirilsin mi? LOOP ; Hayr yeniden dene.

2.22.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.22.1.5 TMRO Kesmeleri TMRO da ki tama TOIF (INTCON<2>) sinyal bitini kuracaktr. Kesme aktif TOIE 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.

41

2.22.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.6: STATUS ve W kayt deerlerini saklamakta ve restore etmektedir. Kullanc tarafndan tanmlanan kaytlarda, W ve STATUS kaytlar deerleri iin geici saklama yeridir. 2.6 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.

2.23 WATCHDOG TIMER Watchdog-Timer ip zerinde serbest alan ve hibir d eleman gerektirmeyen RC osilatrdr. RC osilatr OSC1/CLKIN pininin RC osilatrnden ayrdr. Bu , u anlama gelmektedir ki, aygtn OSC1 / CLKIN ve OSC2 / CLKOUT zerindeki saat durduysa bile, mesela SLEEP komutunun altrlmasyla,alacaktr. Normal ilemi boyunca WDT zaman aral aygt resetleyecektir. Eer aygt SLEEP modundaysa, WDT kaldrma program aygt tekrar normal ilemine dndrecek ve devam ettirecektir. WDT, konfigrasyon programlama bitini 0 a programlayarak, srekli etkisiz yapabilir. WDT nin kullanm amac, PICi veya herhangi bir ilemciyi bir dngde kilitlenmekten uzak tutmaktr. Byle bir durum yazlmda bir hata veya harici elektriksel kvlcmlar nedeniyle ortaya kabilir. WDT, PIC e bir eit kalp at salar ve eer WDT yazmac dzenli aralklarla temizlenmezse PIC i resete zorlar. Bu mkemmel bir zelliktir ve gvenlik

42

sistemleri gibi, ana kontrol panellerinde bir kilitlenmenin asla sz konusu olmamas gereken uygulamalar iin birebirdir. G korumas gereken ve yalnzca peryodik olarak almas gereken rnlerde WDT den faydalanlr. WDT nin konfigrasyonu 16C5X ailesinde OPTION komutu araclyla, 16C71deyse dorudan Option Yazmac na (81H) yazlarak gerekletirilir. Option Yazamac, WDT ile ilgili 4 kontrol bitine sahiptir.

Tablo 2.10: WDT kontrol bitleri Option Yazmac ndaki prescaler bitleri kullanlarak, zaman am sresi 2.5s ye kadar geniletilebilir. WDT bir SLEEP veya CLRWDT komutuyla temizlenir veya reset edilir. WDT nin bir reset e yol amamas iin yazlmda bu komutlardan biri kullanlmaldr. 2.23.1 WDT DEVR WDT 18 ms nominal zaman aralna sahiptir. Zaman aral devresi s derecesi, Vdd ve bir mikrodan dierine, ilem eitlerine gre deimektedir. Eer daha uzun zaman aral isteniyorsa , 1:128 den daha yksek blme orannda, OPTION REG kaydna yazarak , yazlm denetimi altnda WDT'ye tahsis edilebilir. Bylece zaman aral devresinin ykseldii farkedilebilir.

43

2.23.2 WDT u , dikkate alnmaldr ki ; arzu edilmeyen durumlarda (Vdd= min , s derecesi = max, WDT= max), WDT zaman aralnn ortaya kmas birka saniye alabilir. CLRWDT ve SLEEP komutlar , zaman aralnn meydana gelmesini nler ve aygt reset durumuna getirir. STATUS kaydndaki TO biti, WDT zaman aral stnde temizlenmelidir. Yani WDT yazmacnn dzenli aralklarla temizlenmesi gerekir. Aksi taktirde PIC resete zorlanr. Bu mkemmel bir zelliktir ve gvenlik sistemleri gibi ana kontrol panelinde , bir kilitlenmenin asla sz konusu olmamas gereken uygulamalar iin birebirdir. WDT nin konfigrasyonu 16C5X ailesinde OPTION komutu araclyla, 16C71 deyse dorudan Option Yazmacna (81H) yazlarak gerekletirilir. Option Yazmac, WDT ile ilikili 4 kontrol bitine sahiptir. WDT bir SLEEP veya CLRWDT komutuyla temizlenir veya reset edilir. WDT nin bir resete yol amamas iin yazlmda bu komutlardan biri kullanlmaldr. rnek 2.7: MOVLW B00000111 ; RTCC PRESCALER/256 OPTON ; Saym bana 256mS ; Her seferinde Wathdogu temizler. MAIN CLRWDT

Kodun, zaman periyodunun , zaman am ayarndan byk olma ihtimalinin bulunduu ksmlarnda ayrca bir CLRWDT komutu kullanlmaldr. (rnein bir girdi pin inin durumunun deimesini beklerken). Kritik kodlarn gvenliini salamak iin kullanlacak ideal kod biti yalnzca bir CLRWDT komutu ierir. Bu komut ana dngde yer alr ve genel bir kural olarak ne kadar ok CLRWDT komutu bulunursa, bunlar o kadar az etkili olurlar. Reset gerekletiinde, Stat Yazmac ndaki iki bit resetin nedenini gsterir. Bu bitler TO ve PD bitleridir (Time out ve Power down) TO PD Reset nedeni

44

0 0 1 1

0 1 0 1

WDT, SLEEP durumundan kmtr. WDT, SLEEP haricinde zaman amna uramtr. SLEEP durumundayken harici reset(WDT kapal) Alma durumu

Reset gerekletikten hemen sonra bu bitlerin hemen incelenmesiyle, program nasl davranacan ve nerede dallanacan belirleyebilir. rnek 2.8 : BTFSS STATUS,WATCHDOG ; Watchdog bitini test et. GOTO SCAN TRIS PORTA ;Watchdog, zaman am durumunda deilse, ilk alma ; PORTA y ayarla ; Tm girdi. MOVLW B00001111

WDT kullanmayan ama SLEEP moduna sokulan uygulamalarda, programlama srasnda WDT bitinin ayarlanmadndan emin olmak nemlidir. Programlama srasnda verici ve alc gibi bantl rnlerin unutulmas olduka kolaydr. Alc kilitlenmeyi engellemek iin bir WDT ye ihtiya duyar ama vericinin altrlmas yalnzca bir dme araclyla gerekleebilir. Vericinin dzenli WDT biti programlanmamsa , program dngye girer ve asla iletimi gerekletiremez. Grltl ortamlarda OPTION ve TRIS yazmalarn bozulmaya uramayacaktr. aralklarla gncellemek nemlidir. Bu akllca nlem sayesinde yazma elektriksel giriimlerde

45

ekil 2.22: WATCHDOG TMER'n Blok Diyagram

Tablo 2.11: Watchdog timer ile birletirilen kaytlarn zeti 2.23.3 G KAYNAI DRME (AZALTMA) MODU (SLEPP) Mikronun g kaynandan ektii akm SLEEP komutuyla arttrlr azaltlabilir. 2.23.3.1 Sleep modu Power-Down moduna SLEEP komutu altrlarak girilebilir. Power Down modu daha nceden belirtildii gibi aygtn dk gte bekleme modudur. Eer SLEEP komutu etkin durumdaysa, Watchdog Timer silinmitir. (Fakat alr durumdadr). PD biti (STATUS<3>) silinmitir. TO biti (STATUS<4>) kurulmutur ve osilatr srcs kapaldr. I/O portlar, SLEEP komutunun altrlmasndan nceki staty korurlar. SLEEP modundaki en dk elektrik tketimi iin, tm I/O pinleri, d devrelerden deil de , akm I/O pinlerinden ekerek ya Vdd ya da Vss'ye yerletirilir ve d saatleri etkinsizletirilir. Yksek zahiri direnli olan I/O pinleri, akm girilerinin neden olduu gerilim Kesilmesini nlemek iin yksek veya dk dzeye ayarlanmaldr. TOCKI girii de Vdd veya Vss de olmaldr. MCLR pini lojik yksek seviyede olmaldr. u dikkate alnmaldr ki, WDT zaman aral tarafndan retilen RESET, MCLR pinini aa srmez. 2.23.3.2 Sleep modundan k Aygt SLEEP modunda aadaki ekillerde karlabilir. 1) MCLR d giri reseti 2) WDT k (Eer WDT aktif ise) veya

46

3) RBO/IN pininden Kesme de, RB port deiimi veya EEPROM'a datalarn yazmnn tamamlanmasnda. Priferialler, SLEEP sresince Kesme retemezler, nk o anda ilemci hibir i yapmamaktadr. lk kta (MCLR resetlenir), aygt resetlenir. Sonraki iki k ise program

almasnn devam olarak dnlmektedir. TO ve PD biti, aygtn resetlenmesinin nedenlerini belirlemede kullanlabilir. G kayna zerine kurulan PD biti, SLEEP modunda iken silinir. Eer WDT zaman aral meydana gelirse ( ve SLEEP modundan ka neden olursa) TO biti temizlenir. SLEEP komutu altrlrken sradaki komut (PC+1) bir n devir yapar. Kesme durumunda iken aygtn SLEEP ten kmas iin, uygun aktif Kesme biti kurulmaldr (etkinletirilmelidir). SLEPP ten k, GIE bitinin durumuna bakmakszn meydana gelir. Eer GIE biti temizse (aktif deilse), aygt, sradaki uygulamaya SLEEP komutundan sonra devam eder. Eer GIE biti aktifse (kuruluysa), aygt, SLEEP komutundan sonraki uygulamaya geer ve Kesme adreslerine blnr(0004h). SLEEP'ten sonraki uygulamaya geilmesinin istenmedii durumlarda, kullanc SLEEP komutundan sonra NOP komutunu kullanmaldr.

ekil 2.23: Kesme araclyla sleep modundan k 2.23.3.3 k (sleep) iin kullanlan kesmeler Global Kesmeler etkinsiz durumunda (GIE temizlenir) ve herhangi Kesme kaynaklar aktif Kesme biti ve Kesme bayrak bit setinin her ikisini de ieriyorsa, aadakilerden birisi meydana gelir.

47

Eer Kesme, SLEEP komutunun yrtlmesinden daha nce meydana gelirse, SLEEP komutu NOP olarak tanmlanacaktr. Bylece WDT ve WDT prescaler temizlenmeyecek, TO kurulmayacak ve PD bitleri temizlenmeyecektir.

Eer Kesme, SLEEP komutunun uygulanmas srasnda veya daha sonra meydana gelirse, aygt hemen SLEEP WDT modundan kacaktr. SLEEP komutu , Wake-up'dan nce tamamyla uygulanacaktr. Bylece WDT ve prescaler temizlenecek ve, TO biti kurulacak ve PD biti temizlenecektir.

SLEEP komutunun uygulanmasndan nce bayrak bitleri kontrol edilse bile, bayrak bitleri SLEEP komutunun tamamlanmasndan daha nce kurulmu olabilir. SLEEP komutunun uygulanp, uygulanmadn belirlemek iin PD bitini test edebiliriz. Eer PD biti kuruluysa, SLEEP komutu NOP olarak uygulanmtr. WDT nin temizlendiinden emin olmak iin, SLEEP komutundan nce CLRWDT komutu uygulanmaldr. 2.23.3.4 Program dorulamas / Kod korumas Eer kod koruma biti programlanmamsa, ip zeri program bellei, hedefin dorulanmas iin okunabilir. Not : Microchip, pencereli aygtlar kod koruma iin tavsiye etmemektedir.

2.24 ID YERLEM

Kontrol sonular veya dier kod tanma saylarn saklamak iin ID yerleimi olarak 4 bellek yerleimi ( 2000h-2003h) dzenlenmitir. Bu yerleimler normal uygulama sresince eriilemez fakat program/dorulama sresince okunabilir ve yazlabilir. ID yerleiminin yalnzca 4 biti kullanlabilirdir. ROM aygtlar iin bu deerler ROM koduyla kullanlmaktadr.

48

2.25 DEVRE SER PROGRAMLAMA

PIC16C84

mikrokontrolrleri,

uygulama

devrenin

sonunda

seri

olarak

programlanabilir. Bu basite, saat ve veri iin iki hat, g kaynann, topran ve program voltajnn hatt ile yaplabilir. Mteriler bellekleri programlanmam aygtlar kullanamayabilirler ve bu taktirde, mikrokontrolr, rnn paketlenmesinden nce programlanr. Aygt, program/dorulama moduna geirmek iin RB6 ve RB7 pinlerini low da tutarak, MCLR pini VIL'den VIH'a ekilir. RB6 programlama saati ve RB7 programlama verileri halini alr. RB6 ve RB7 nin her ikisi de bu modda schmitt trigger girileridir. Reset'ten sonra, aygt, programlama/dorulama moduna getirmek iin, program sayac (PC) 00h adresini gsterir. Daha sonra, aygta 6 bit komutu verilir, program verilerinin 14 biti ya aygta verilir ya da aygttan ekilir. (ykleme komutunu kullanarak). ROM aygtlarnda, Program Bellei ve Data EEPROM belleklerinin her ikiside okunabilir, fakat yalnzca Data EEPROM bellei programlanabilir.

ekil 2.24: Tipik sistem ii seri programlama balantlar

49

BLM 3 3.1 PIC MKROKONTROLRLERN PROGRAMLANMASI ESC FS GS RS US DEL SP FF CR SO SI : : : : : : : : : : : Escape File Seperatr Group Seperatr Recoud Seperatr Unit Seperatr Delete Space From Feed Carriage Return Shift Out Shift In

3.2 KAYNAK KOD YAZILIMI Program yazarken, 4 temel kural izlemeniz nemlidir: 1. Yazlmnz hakknda daima aklamalar yapn. Yoksa daha sonraki aamalarda

kanlmaz olarak geri dndnzde , neyi neden yaptnz anlayabilmek iin epey ter dkmeniz gerekecektir. 2. Programlarnz iin evrensel bir header-balk kullann. Bu i ykn hafifletir,

tutarl bir format yaratr ve hatrlamanz gereken deiken saysn azaltr. Daha ileriki bir blmde evrensel bir balk rnei bulabilirsiniz.

50

3.

Tm alt rutinleri tek blgede toplayn. PIC le alrken bu blge her bellek

sayfasnn stnde ( 00-FFh) olmaldr. Bunun nedeni daha sonra aklanacaktr. 4. Yazlmn ne yapmasn istediinizi hatrlamak iin bir i ak diyagram veya yararlann ve gerek dnyayla nerede arabirim

baka bir izimden

yaplandracanz gsterin ( I/O). Alt rutinlerin, sramalarn ve dallanmalarn nerede bulunduunu gstermek iin etiketler kullann. Bu bir sramann konumunun onaltlk deerini hatrlamaktan daha kolay olacaktr. Etiketler ayrca programn banda baz ad ve deerlerin tanmlanmasnda kullanlr. Bu etiketlere denklik (equate) ad verilir. rnein ; PORTB MOVWF EQU 6 : PORTB nin programn herhangi bir yerinde

kullanlmasn salar ; 6 deeriyle belirtileceini gsterir. PORTB : rnein PORTB yi ska kullandnz dnrsek, saysal bir deeri hatrlatmaktansa bu deeri PORTBye batan verip onu bu etiketle kullanmak size daha fazla kolaylk salayacaktr. Programda ift denklik ve etiketlerin bulunmamasna dikkat edin. Assembler bunlar ayklayamaz ve bug dan arndrma gerekecek ekilde tahribata yol aar. TEMP EQU 5 ; TEMP deerini 5 yapar ; TEMP deeri W yazmacndaki deere eklenir. ; TEMP etiketinin bulunduu adrese gitmek istemenize ramen programn rnein 4511 adresinde bulunabilecek bir TEMP etiketi yerine 5H adresine sramasna neden olur. Alt rutinler, makrolar ve kod ynlar iin bir ktphane kurun. rnein LED.TXT den 20 satr ve SWITCH.TXT den 5 satr aln. Doru komut ADDLW TEMP Yanl komut GOTO TEMP

51

Not: Yazdnz kodun bir balangc ve bir sonu olmaldr. PIC in her reset durumunda balang daima tanmldr. Son sizin ise tarafnzdan tanmlanmaldr. Bu programn sonsuz kere dnemeyecei anlamna gelmez. Sondan yoksun program dngye devam edecektir ve bu durumda birinin hata aramak iin uramas ounlukla sonu vermeyecektir. Programlarnz iin evrensel bir balk rnei : ; Yazan ; Tarih ; Dosya Ad ; PIC 16F87X iin ; Rezonatr ; Komut Saat Hz ; Watchdog ; Kod Koruma ; Yazlm Fonksiyonu ; Liste 18/28/40 Bacakl Aygtlar 4 MHz 1.00Mhz T = 1Us Devrede / Devre D Ak / Kapal (Kodun ne iin yazldn ve ne yaptn tanmlayn) Buraya assembler direktifleri listesini koyun Revizyon

Genel Denklikler RTCC PCL STATUS CARRY DCARRY PDOWN WATDOG W F Z EQU 1 EQU 2 EQU 3 EQU 0 EQU 1 EQU 3 EQU 4 ; ; ; ; ; ; ; ; ; ; Saya (Counter) Program sayac (Program Counter) Stat Yazmac ( Status Register) Tama Biti ( Carry Bit) Rakam tama Biti (Digit Carry Bit) G Kesilme (Power down BIT) Watchdog Sre Am (Watchdog Time Bit) Sonu W Yazmacna Yazlr Sonu F Yazmacna Yazlr Sfr Biti

EQU 0 EQU 1 EQU 2

52

I / O Denklikleri PORTA PA0 PA1 PA2 PA3 EQU 5 ; ; ; ; ; ; Yalnzca 4 bit Her birinin ne olduunu belirle i/o hatlar balantlar Sonradan bir phe olmamas iin Altarnatif olarak pin Ardndan yazlmnzda kullann

EQU 0 EQU 1 EQU 2 EQU 3 EQU 6

PORTB

Bellek Denklikleri Programn gerektirdii gibi adlar ve yer tayinlerini tanmlayn. ORG GOTO 00H ; PIC tipine gre adres deitirilir. ; Reset vektr blmne baknz. INIT ; Programn balamasn istediiniz yer burasdr.

Alt Rutinler Burada Balar INIT ; PROGRAMINIZ END ; Program burada balar

Ve burada biter bu komut programn son satrnda yer almaldr ki assembler nerede duracan bilsin.

Kaynak dosyann en stteki bilgi ksm hari bu blm, PIC.H olarak kaydedilebilir ve bir INCLUDE PIC.H ifadesiyle kaynak kodu ierisinden arlabilir. I/O denklikleri PIC.H de gz ard edilebilir. Bunlarn kullanmlar programdan programa eitlilik gsterir. I/O denkliklerinin atlanmas kaynak dosyann bykln ok kk miktarda azaltr ama .OBJ ve .LST dosyalarnn byklkleri de azalacandan faydal olabilir.

53

3.3 ASSEMBLER DREKTFLER Kod yazlmnda kullanlan komutlara (ADDLW, MOVWF gibi) ek olarak, kod yazlmn hzlandrabilecek Assembler direktifleri vardr. Assembler direktifi, kaynak kod iine , kontrol etmek, direktif vermek veya zaman kazanmak iin yazlan ve yazlmn iletimine hi etkisi bulunmayan bir komuttur. Assembler direktifleriyle almann sonular , ileride .LST dosyasnda grlecektir. Bu komutlardan bazlar define ve orgu ierir. MPASM assembler kullanc rehberinde tam bir liste verilmitir. Ancak en faydal olanlar burada anlatacaz : DEFINE Bir dizinin , birka dizinin yerini tutmas iin kullanlr. rnein port ve bit bilgileri bir tek isim altnda toplanr ve program boyunca bu isim kullanlr. define define Switch1 Z-bit tanmlar Bylelikle yukardaki isimler aadaki gibi kullanlm olur. bsf btfsss Switch1 Z_bit ; bsf porta, 0 komutu yerine ; btfss status 2 komutu yerine porta,0 status,2 ; bit 0 portAda tanmlar ; sfr bitini stat yazmacnda

veya

Bu , hummal bir ekilde kod yazmyla urarken yanl bit veya portu yazma veya test etme olasln ortadan kaldrmaya yardmc olur. PAGE : LINES : C: Program blmlerinin ayr ayr yazdrlmasn salamak amacyla

sayfay dar kmaya zorlar. Sayfa bana yazdrlacak satr saysn ayarlar. Standardn dnda katlar kullanlyorsa yararl bir komuttur. Yazdrma ileminde stun geniliini belirler. C=80, A4 sayfalarda ; C=132 ise geni yazclarda kullanlr.

54

INCLUDE

Harici dosyalar program iine eker. nceden tanmlanm makrolar, ilemci iin tm genel denklik ve yazma tanmlarn veya geni bir tabloyu (rnein herhangi bir dnm tablosu ) ieren bir dosya kurulumunuz varsa bu komutu kullanabilirsiniz. Bu komutun kullanm Include PICREG.H veya Include C:\PIC\macros.asm eklinde olabilir.

RES

Programda kullanlmak zere bellek konumlarn rezerve eder. Programn banda yazma denkliklerini tanmlamann bir yolu da udur: Temp1 Temp2 Count equ equ equ 0ch 0dh 0eh

Bu yazmalar tekrar tanmlamadan yazma listesine etiketler eklemenizi mmkn klar. 3.4 IF ELSE ENDIF Bu direktif programn istee gre ayarlanmasnn assemble etme aamasnda gerekletirilmesini olanakl klar. Program assemble edildiinde stop biti , parite ve bit saylarnn seilebildii veri iletiiminde veya deiik PIC lerde reset vektrn sfrlamasn seebilmek buna rnek olarak gsterilebilir. Bylelikle kullanlmayan kod devre d braklr ve tm programn boyutu klr. Bir veri iletiim programnda , seim ncelikle en nemli (Most Significant Bit) veya en az nemli bitin ktsnn alnmasysa , programn tamamyla farkl olmas gerekir. Ancak , MSBnin 1 veya 0 olmas iin gerekletirilen her bir testte IF ELSE ENDIF komutlar konulmas mmkn olabilir.

rnek IF rrf ELSE MSB xmit_reg.f ; MSB=1 ise bu satr derlenecektir.

55

rlf ENDIF ORG

xmit_reg.f

; deilse bu satr derlenecektir.

fadeyi izleyen kodun kkenini belirler. Programn, kodun bir ksmnn (rnein kesme vektr) veya bellein bir bloun nerede balayacan belirler lemci, sayfa bana satr says, stun genilii ve programn yazld format (radks) hakkndaki bilgileri asseblera aktarmak iin kullanlr. rnek: list C=80, n=55, p=16c84, r=hex

LIST

Makrolar

Makro kullanm , bir ktphaneden INCLUDE komutu araclyla sk kullanlan rutinleri ararak , kod yazmndan tasarruf etmenin bir yoludur. Ayn bilgiyi tekrar tekrar yazmamanz ve program yazmnda tutarll salar. Bir makro ktphanesi bir test etme , ledlerin yanp snmesi , a/d dntrme rutinleri , port kurulumlar E rutinleri vb. ierebilir ve bunlar yalnzca bir satrla arlabilir. rnek ; Set_A0 macro; makro ban tanmlar bcf adcon0, 0 bcf adcon0, 1 endm set_0A call canv ; bu da sondur. ; kanal seer ; alt rutini dntrmek iin ar yapar.

Bu satrlar aadaki satrlar yazabilmenize izin verir:

Bylelikle belirli bir a/d kanal iin hangi bitlerin kurulmas veya kaldrlmas gerektiini hatrlamaya gerek kalmaz. Yukardaki satrlar assemble edildiinde .LST dosyasnda yle grlr: bcf adcon0,0

56

bcf call

edcon0,1 conv.

3.5 PROGRAM GELTRME Yazlm gelitirmede izlenebilecek yol vardr: ICE (in circuit emulator ) kullanmak, programc ve EPROM temelli bir miktar PIC kullanmak veya simlatr . ICE kullansanz bile baarl bir rn gelitirme iin baz EPROM srml PIClere ihtiyacnz olacaktr. PICin en az 5 EPROM srmyle balayn. Sonradan bir PIC in silinmesinin 10 20 dakika aldn greceksiniz. Aygtlar bydke , silinme sreleri de artar. 3.6 PIC KOMUT SET Komutlar 3 gruba ayrabiliriz: <bit, Byte ve Literal / Kontrol lemleri. ou ilemin tamamlanmas 1 saat evrimi (osilatr frekans/4) kadar srer. stisnalar test ieren ilemlerdir (BTFSS, DELCFSZ gibi). lem bir atlamayla sonulanrsa , ek bir saat evrimi arlr. Bu, zellikle 4 MHzlik bir osilatr (1pSlik komut evrimleri) kullanldnda, program zamanlanmasnn hesaplanmasnda kolaylk salar.

57

Komut

Status Yazmac

Anlam F adresinde bulunan dosya

BSF f,b

- yok

yazmacndaki b bitini 1 yap. rnek BSF PORTA , BITO F adresinde bulunan dosya

BCF f,b GOTO k

yazmacndaki b bitini 0 yap. rnek BCF STATUS , ZERO

Program k etiket / adresine srar.

3.7 BT LEMLER Bu komutun kullanld bir rnek vermek gerekirse : SQ BCF BSF PORTA, BIT0 ;port a bit 0 1 yap ;port a bit 0 0 yap ;SQya git ve hepsini yinele PORTA, BIT0

GOTO SQ

Yukardaki program Port A, Bit0 bacanda bir kere dalga oluturur.

58

BTFSS f,b

- yok

F adresindeki yazmata b bitini test et ve eer 1se bir sonraki komuta atla. Eer 0sa onu izleyen komuta ge. rnek BTFSS STATUS , CARRY F adresindeki yazmala b bitini test et ve eer 0sa bir sonraki komuta atla . 1se izleyen komuta ge. rnek BTFSC PORTB SWITCH1

BTSFC f,b

3.8 BYTE LEMLER NOP Hibir ey yapma rnek NOP NOP ; 2 saat evrimi harcar

Komut CLRW

Status Yazmac Z

Anlam W yazmacnn ieriini sfrlayacak ekilde temizle veya reset et f adresindeki ierii yazmacn sfrlanacak ekilde temizle veya reset et W yazmacnn ieriini f adresindeki

CLRF f

MOVWF

- yok

yazmaca kopyala. rnek MOVWF TEMP

3.9 HAZIR BLG / KONTROL LEMLER

59

OPTION

W yazmacnn ieriini Option yazmacna ta / kopyala. rnek MOVLW 0FH OPTION ; OPTION yazmacna 0FH deeri yklenir.

SLEEP

TO,PD

PIC uyuma veya bekleme durumuna getirilmitir. Yazma ierikleri dondurulmutur ve PIC iletim akmnn bir ksmn eker. Uyuma durumundan alma durumuna geerken 16C5x ailesi reset vektrne atlar. 16Cxx ailesiyse izleyen kod hattnda devam eder. Watchdog zamanlayc yazmac sfra ayarlanmtr. f=5,6 veya 7 iin , W yazmacnn ierii f adresindeki port kontrol yazmacna yerletirilmitir. Yazm format rnek MOVI.W B11110000 TRIS PORTB ; Portbnin stteki 4 Bitini kt yapar.

CLRWDT TRIS f

TO,PP - yok

CALL

k etiketli bir alt rutine bir ar yaplmtr. W yazmacnn ierii gerektiinde bir alt rutin iinde kullanlmak zere transfer edilecektir. rnek CALL TEMP_CONVERT. W yazmacnda bir n deeriyle alt rutinden geri dn. rnek rnek arld RTLW 20H; W yazmacnda 20H RETLW 20H; alt rutinin adres +1 adresine W ile +1 adresini armaya geri dner

RTLW

60

yazmacnda 20H deerini tayarak geri dner

MOVLW n IORLW n

- Z

N deeri Wya tanr. rnek MOVLW 36II N deeri W yazmacyla ORlanr Ve sonu w yazmacyla yazlr. rnek IORLW OC4II N deeri W yazmacyla ANDlenir Ve sonu W yazmacyla yazlr. rnek ANDLW B00000011en alttaki iki bit hari btn bitleri kapatr. N deeri W yazmacyla ORlanr ve sonu W yazmacyla yazlr.

ANDLW n

XORLW n

Aadaki rnek TEST yazmacnn ierdii deerle (W yazmacnda bir say olan)VAULE arasndaki denklii test eder.

MOVF XORLW

TEST,W VALUE

;erii Wde depola ;W ieriini VAULE ile birlikte XOR ilemine tabi tut. ;Stat yazmacndaki Sfr bitini test et ; erikler ayn ise,sfr bitini 1 yap. ; denk deil ; ikisi de denk

BTFSS GOTO GOTO

STATUS,Z NOT SAME SAME

3.10 HEDEF BELRLEYEN BAYT LEMLER IORWF,ADDWF gibi komutlarda sonu verecek hedef belirli deilse,geerli hedef W yazmac deil,dosyadr. Eer bir ilem dosya zerinde yaplacaksa ve dosya

61

ierii deimiyorsa, hedefin W yazmac olduundan emin olun. Alternatif olarak hedef kullanlan komutlar iin hedef belirleyin.

rnek

ADDWF

TEMP,F

; TEMPi bozmadan Sonucu W yazmacna depolar. ; bir nceki deeri zerine yazarak sonucu

ADDWF

TEMP,F

yeniden TEMPde depolar.

W yazmac rnein INCF Wdaki dosya olarak belirlenemez. W yazmacnn ierii ve f dosyasn OR ilemine tabi tutar ve sonucu hedef IORWF f,d Z dye yerletirir. rnek IORWFCOUNT, F OR fonksiyonunun sonucunu COUNT dosyasna yerletirir. W ve f dosyasn AND ilemine tabi tutar ve sonucu hedef dye yerletirir. ANDWF f,d Z rnek ANDWF TEMP W TEMP dosyasnn ieriini yalnz brakarak AND fonksiyonunun sonucunu W yazmacna yerletirir.

XORWF f,d

W ierii ve f dosyasn XOR ilemine tabi tutar Ve sonucu hedef dye

62

yerletirir. W ieriine f dosyasn ekler ve ADDWF f,d C,CD,Z sonucu hedef dye yerletirir. rnek ADDWF DAT_IN,W F dosyasndan W yazmac ieriini karr ve sonucu hedef dye yerletirir. F dosyasnn ieriini tersine alr ve sonucunu hedef dye yerletirir. F dosyasnn ieriini tar/kopyalar ve sonucu hedef dye yerletirir (d bir dosya veya W olabilir) F dosyasnn ieriini 1 artrr ve sonucu hedef Dye yerletirir. F dosyasndan 1 karr ve sonucu hedef dye yerletirir. F dosyasnn ieriini 1 artr ve sonucu hedef dde depola,sonu sfrsa bir INCFSZ f,d - yok sonraki komutu atla. rnek INCFSZ TEMP ,W GOTO LOOP GOTO END_LOOP F dosyasn ieriini bir azalt ve sonu DCFSZ f,d sfrsa izleyen komutu atla,sonucu hedef dde depola. Tm bitleri birer saa kaydr veya RRF f,d C ta.0 biti tama biti tama biti bit 7 olacaktr. Sonu hedef dye yerletirilir. Tm bitleri birer sola kaydr veya ta. RLF f,d C Bit 7 tama biti de ve tama biti 0 biti olacaktr. Sonu hedef dye yerletirilir. En st ve en alt yardaki 4er bit yer deitirir. Sonu hedef dye

SUBWF f,d COMF f,d

C,CD,Z Z

MOV

f,d

INCF DEC

f,d f,d

Z Z

SWAPF f,d

63

yerletirilir. PIC 16CXXte aadaki eklemelerde vardr:

ADDLW n SUBLW n

C,DC,Z C,DC,Z

W ya n deeri eklenir. W deeri nden karlr ve sonu W ya yerletirilir. W yazmacnn ieriini olduu gibi brakarak bir alt rutinden geri dner. Bir kesmeden geri dner.

RETURN RETFIE

16C5X ailesi dndaki rnler iin OPTION ve TRIS ten de bahsetmek gerekir. nk bu aile,bu iki fonksiyonu ieren dorudan adreslenebilir yazmalara sahiptir. Yazlm 16C5X yerine 16CXXte altrmak zere deitirmek iin

MOVLW TRISA MOVLW

0FH

;port a ynn st bitlere ayarlar. ;alt bitlerdeki girdilerin ktsn alr.

07H

;rtcc 1256 yerleik saati ayarlar.

Yukardaki gibi olan kodun u ekilde deitirilmesi gerekir:

BSF MOVLW MOVWF BCF

STATUS,PRO 0FH TRISA STATUS,PRO

;yazmalarn 1.sayfasn ayarlar.

;yazmalarn 0.sayfasn yeniden depolar

64

BLM 4 DONANIM 4.1PC 16F84 N GELTRME KARTI Bu devre, PIC16F84/C84 kristal osilatrl temel alma devresi, besleme devresi ve PORTA ile PORTB ularnn tand klemens ularndan olumaktadr. Bir ok projede tasarlanan asl devreye gemeden nce denemeler ve testler iin, uygun bir prototip gelitirme kart olarak kullanlabilir. Devrenin ak emas

ekil 4.1 Pic 16f84 in Gelitirme Kart Malzeme Listesi U1- PIC16F84/C84-04 C2,C3- 20pF R1 - 47 kOhm %5 , 1/4W X1 - 4MHz Kristal D1 - 1N4148 C4 - 100nF R2 - 470 Ohm %5 , 1/4W KL - 20 Adet PCB Klem

65

CMOS Teknolojisi:

Dk g,yksek hz CMOS EEPROM teknolojisi Btnyle statik dizayn Geni aralkl iletme voltaj: Ticari : 2.0V-6.0V Endstriyel : 2.0V-6.0V Dk g tketimi [<2mA tipik @ 5V,4MHz 60 mA tipik @ 2V,32

kHz 26 mA tipik standby akm @ 2V

66

67

Você também pode gostar