You are on page 1of 5

1 GR

MKROLEMC NEDR? MKRODENETLEYC NEDR? MKRODENETLEYCLER HAKKINDA GENEL BLGLER PIC PROGRAMLAMA N NEYE HTYACIMIZ VAR

MKROLEMC NEDR?
Gnmzde kullanlan bilgisayarlarn zelliklerinden bahsedilirken duyduunuz 80386, 80486, Pentium-ll, Pentium-lll birer mikroilemcidir (Microprocessor). Mikroilemciler bilgisayar programlarnn yapmak istedii tm ilemleri yerine getirdii iin, ou zaman merkezi ilem nitesi (CPU- Central Processing Unit) olarak da adlandrlr. PC adn verdiimiz kiisel bilgisayarlarda kullanld gibi, bilgisayarla kontrol edilen sanayi tezgahlarnda ve ev aygtlarnda da kullanlabilmektedir. Bir mikroilemci ilevini yerine getirebilmesi iin aadaki yardmc elemanlara ihtiya duyar. Bunlar: 1. Input (Giri) nitesi. 2. Output (k) nitesi. 3. Memory (Bellek) nitesi. Bu niteler CPU chip'inin dnda, bilgisayarn ana kart zerinde bir yerde farkl chip'lerden veya elektronik elemanlardan oluur. Aralarndaki iletiimi ise veri yolu (Data bus), adres yolu (Address bus) denilen iletim hatlar yapar.

Intel, Cyrix, AMD, Motorola mikroilemci reticilerden birkadr, Gnmzde mikroilemciler PC adn verdiimiz kiisel bilgisayarlarda kullanlmaktadr.

genellikle

MKRODENETLEYC NEDR?
Bir bilgisayar ierisinde bulunmas gereken temel bileenlerden RAM, I/O nitesinin tek bir chip ierisinde retilmi biimine mikrodenetleyici (Microcontroller) denir. Bilgisayar teknolojisi gerektiren uygulamalarda kullanlmak zere tasarlanm olan mikrodenetleyiciler, mikroilemcilere gre ok daha basit ve ucuzdur. Gnmz mikrodenetleyicileri otomobillerde, kameralarda, cep telefonlarnda, fax-modem cihazlarnda, fotokopi, radyo, TV, baz oyuncaklar gibi saylamayacak kadar pek ok alanda kullanlmaktadr. Gnmz mikrodenetleyicileri birok chip reticisi tarafndan retilmektedir. Her firma rettii chip'e farkl isimler vermektedir. rnein Microchip firmas rettiklerine PIC adn verirken, Intel'in rettii ve 1980'lerin banda piyasaya srd 8051, bazen MCS-51 olarak da adlandrlr.

Neden Mikroilemci Deil de Mikrodenetleyici Kullanlyor?


Mikro ilemci ile kontrol edilecek bir sistemi kurmak iin en azndan u niteler bulunmaldr; CPU, RAM, I/O ve bu nitelerin arasndaki veri al veriini kurmak iin DATA BUS (data yolu) gerekmektedir. Elbette bu niteleri yerletirmek iin baskl devreyi de unutmamak gerekmektedir. Mikrodenetleyici ile kontrol edilecek sistemde ise yukarda saydmz nitelerin yerine geecek tek bir chip (Mikrodenetleyici) ve bir de devre kart kullanmak yetecektir. Tek chip kullanarak elektronik zmler retmenin maliyetinin daha dk olaca kesindir. Ayrca da kullanm ve programlama kolayl da ikinci bir avantajdr. te yukarda saydmz nedenlerden dolay son zamanlarda bilgisayar kontrol gerektiren elektronik uygulamalarda mikrodenetleyici kullanmaya eilimin artmasnn haklln ortaya koyuyor.

MKRODENETLEYCLER HAKKINDA GENEL BLGLER


Neredeyse her mikroilemci (CPU) reticisinin rettii birka mikrodenetleyicisi bulunmaktadr. Bu denetleyicilerin mimarileri arasnda ok kk farklar olmasna ramen aa yukar ayn ilemleri yapabilmektedirler. Her firma rettii chip'e bir isim ve zelliklerini birbirinden ayrmak iin de para numaras vermektedir. rnein Microchip rettiklerine PIC adn, para numaras olarak da 12C508, 16C84, 16F84, 16C711 gibi kodlamalar verir. Intel ise rettii mikrodenetleyicilere MCS-51 ailesi adn vermektedir. Genel olarak bu adla anlan mikrodenetleyici ailesinde farkl zellikleri bulunan rnleri birbirinden ayrt etmek iin para numaras olarak da 8031AH, 8051AH, 8751AHP, 8052AH, 80C51FA gibi kodlamalar kullanlmaktadr. Bir uygulamaya balamadan nce hangi firmann rn kullanlacana, daha sonra da hangi numaral denetleyicinin kullanlacana karar vermek gerekir. Bunun iin mikrodenetleyici gerektiren uygulamada hangi zelliklerin olmas gerektii nceden bilinmesi gereklidir. Aada bu zellikler sralanmtr: Programlanabilir dijital paralel giri/k. Programlanabilir analog giri/k. Seri giri/k ( senkron, asenkron ve cihaz denetimi gibi). Motor veya servo kontrol iin pals sinyali k. Harici giri vastasyla kesme. Timer vastasyla ile kesme. Harici bellek arabirimi. Harici bus arabirimi (PC ISA gibi). Dahili bellek tipi seenekleri(ROM, EPROM, PROM ve EEPROM). Dahili RAM seenei. Kayan nokta hesaplamas.

Daha da ayrntya girecek olursak bu listede sralanacak zellikler uzayp gidecektir. imdi de bizim bu kitapta ele aldmz Microchip'in rn olan PIC'i neden setiimize deinelim. Microchip, 8-bit'lik mikrodenetleyici ve EEPROM reten bir Amerikan irketidir. Arizona eyaletinde iki, Tayland ve Tayvan'da da birer tane olmak zere toplam drt fabrika ile kendi alannda dnyada sz sahibi olan bir chip reticisidir.

Neden PIC?
Bilgisayar denetimi gerektiren bir uygulamay gelitirirken seilecek mikrodenetleyicinin ilk olarak tm isteklerinizi yerine getirip getirmeyeceine, daha sonra da maliyetinin dklne bakmalsnz. Ayrca,

yapacanz uygulamann devresini kurmadan nce setiiniz mikrodenetleyicinin destekledii bir yazlm zerinde simlasyonunu yapp yapamayacanz da dikkate almalsnz. Yukarda saydmz zellikleri gz nne aldmzda Microchip'in rettii PIC'leri kullanmak en aklc bir yol olduunu grlmektedir. te, bu kitapta PIC'leri ele alnmamzn nedenlerini yle sralayabiliriz. Yazlmn Microchip'ten veya internetten parasz olarak elde edilebilmesi. ok geni bir kullanc kitlesinin bulunmas. PIC'lerin ok kolaylkla ve ucuz olarak elde edilebilmesi. Elektronikle hobi olarak uraanlarn bile kullanabildikleri basit elemanlar kullanarak yaplan donanmla programlanabilmesi. ok basit reset, clock sinyali ve g devreleri gerektirmeleri.

PIC, adn ngilizce'deki Peripheral Interface Controller cmlesindeki kelimelerin ba harflerinden alm olan bir mikrodenetleyicidir. Eer bu cmleyi Trke'ye evirirsek, evresel niteleri denetleyici arabirim gibi bir anlam kacaktr. PIC gerekten de evresel niteler ad verilen lamba, motor, role, s ve k sensr gibi 1/0 elemanlarn denetimini ok hzl olarak yapabilecek ekilde dizayn edilmi bir chip'tir. RISC mimarisi ad verilen bir yntem kullanlarak retildiklerinden bir PIC'i programlamak iin kullanlacak olan komutlar olduka basit ve say olarak da azdr. 1980'lerin bandan itibaren uygulanan bir tasarm yntemi olan RISC (Reduced Instruction Set Computer) mimarisindeki temel dnce, daha basit ve daha az komut kullanlmasdr. rnein PIC16F84 microdenetleyicisi toplam 35 komut kullanlarak programlanabilmektedir.

Neden PIC16F84?
Bu kitapta programlanmas ve rnek uygulamalar verilen PlC'in 16F84 serisi olmasnn en nemli nedeni: PIC16F84 (veya PIC16F84A) mikrodenetleyicisinin program belleinin flash teknolojisi ile retilmi olmasdr. Flash memory teknolojisi ile retilen bir bellee yklenen program, chip'e uygulanan enerji kesilse bile silinmez. Yine bu tip bir bellee stenirse yeniden yazlabilir. Flash bellekler bu zellikleri ile EEPROM bellekler ile ayn grnmektedirler. Gerekten de Flash ile EEPROM bellek ayn eylerdir. Ancak baz reticiler tarafndan EEPROM bellee Flash ROM da denilmektedir. Flash bellee sahip olan PIC16F84'i programlayp ve deneylerde kullandktan sonra, silip yeniden program yazmak PIC ile yeni almaya balayanlar iin byk kolaylktr. Bylece ie yeni balayanlar yaptklar programlama hatalar nedeniyle chip'i atmak zorunda kalmayacaklardr. Geri EPROM program memory'si olan chip'lere de yeniden yazmak mmkndr ama, bu durumda bir EPROM silici cihazna ihtiya vardr. Bir silici cihaz bulunsa bile program bellekten silmek iin en azndan 10-15 dk beklemek zorunda kalnacaktr. te PIC16F84'n bu zellii mikrodenetleyici kullanmaya yeni balayanlar iin ideal bir seenektir. PIC16F84' sememizin ikinci nedeni de, programlama donanmnn ok ucuz ve kullanl olmas ve hatta ou merakl elektronik kullanc tarafndan bile retilebilmesidir. Kitabn Ekler blmnde adresini verdiimiz firmann rettii programlayc donanm ve yazlm demeli olarak istenebilmesi Trkiye'deki kullanclar iin ok byk bir avantajdr. PIC16F84' programlamak iin rendiiniz her eyi dier PIC 16/17 mikrodenetleyicilerinin uygulamalarnda da 'kullanabilmeniz, yaplan seimin doruluunu gstermektedir.

PIC PROGRAMLAMAK N NELERE HTYACINIZ VAR?


PIC 16/17 mikrodenetleyicilerin programlamasn ve uygulamalarda nasl kullanlacan renmek iin neleri bilmek ve nelere sahip olunmas gerekenler aada sralanmtr: IBM uyumlu bir bilgisayara sahip olmak ve temel kullanmlar bilmek. Bir metin editrn kullanmasn bilmek. Bir assembler programna sahip olmak. PIC programlayc donanmna sahip olmak. PIC programlayc yazlm. PIC Programlanm PIC'i denemek iin breadboard, g kayna ve elektronik elemanlar. Programlanm bir PIC'i deneme kart.

IBM Uyumlu Bilgisayar


Assembly program kodlarn kolayca yazabilmek, doru ve hzl bir ekilde PIC'in program belleine gnderebilmek iin bilgisayara ihtiya vardr. Bir metin editr kullanarak yazlan program kodlar, derlendikten sonra PIC'e gnderilmesi gerekir. Program kodlarnn PIC'e yazdrma ilemi paralel veya seri porta balanan bir elektronik devre aracl ile yaplr. Bu ileri yapabilmek iin bilgisayarn temel kullanm fonksiyonlarn bilmeniz gerekir. Aada bilmeniz gereken baz temel ilemleri ve sahip olmanz gereken minimum konfigrasyonu veriyoruz: DOS ya da VVINDOVVS iletim sistemi bildiinizi, bu iletim sistemi. komutlaryla klasr oluturma, dosya kopyalama ve silme, listeleme gibi ilemleri yapabildiinizi. Basit bir editr (EDIT, Notpad gibi) kullanabildiinizi, bu editrde bir text dosyas oluturup disket ya da hard diske kaydedebildiinizi, diskteki bir dosyay ykleyip zerinde dzeltmeler yapabileceinizi, Minimum 80486 CPU, 4 MB RAM, 100 MB harddisk ve CD-ROM srcs (Microchip'in CD'lerini kullanabilmek iin) bulunan bir PC'ye sahip olduunuzu kabul ediyoruz.

Metin Editr
Assembly dili komutlarn yazp bir metin dosyas oluturmak iin EDIT veya NotPad gibi bir editr kullanabilmeniz gerekir. sterseniz ASM uzantl metin dosyalarnz yazabileceiniz PFE editrn de kullanabilirsiniz. Bu editrn hem DOS hem de VVINDOVVS altnda alan versiyonlar bulunmaktadr ve PIC konusunda destek veren bir internet sitesinden alnmtr. Ekler blmnde adn verdiimiz firma da bu program disket ierisinde sunmaktadr.

Assembler Program
PIC Assembly dili ad verilen ve toplam 35 komuttan oluan programlama dilini bu kitapta reneceksiniz. Bu komutlar basit bir editrde yazabiliyoruz. Ancak, ngilizce'deki baz kelimelerin ksaltmasndan oluan bu dilin komutlarn PIC'in anlayabilecei makine diline eviren bir programa ihtiyacmz vardr. Bu programa assembler adn veriyoruz. Text dosyas biiminde kaydedilmi olan assembly dili komutlarn makine diline eviren MPASM'nin hem DOS altnda hem de WINDOWS altnda alan versiyonu bulunmaktadr. Bu program Microchip firmasnn internetteki www.microchip.com adl sitesinden parasz olarak download edilebilecei gibi kitabn Ekler blmnde adresi verilen firmadan da elde edebilirsiniz. MPASM'nin kullanm hakknda detayl bilgiyi 5. blmde bulacaksnz. Microchip bir de ierisinde hem metin editr hem MPASM assembler programn bulunduran MPLAB programn PIC programlayclarnn kullanmna sunmaktadr. Bu programn bulunduu CD-ROM yine www.microchip.com adresinden parasz olarak istenebilir. MPLAB'n kurulumu ve kullanlmasyla ilgili gerekli detay bilgiyi Ekler blmnde bulacaksnz.

Yukarda (sada) PIC16F84 ve PIC16C84 mikrodenetleyicileri programlayabileceiniz, ok basit bir donanm bulunan programlama kart resmi verilmitir. Bu kartla ilgili detayl bilgiyi Ekler blmnde bulacaksnz.

PIC Programlayc Yazlm


MPASM tarafndan derlenerek makine diline dntrlm assembly program kodlarnn PIC'e yazdrlmasnda kullanlan bir programa gereksinim vardr. Programlayc yazlmlar, PIC'i programlamak iin kullanlan elektronik karta bamldr. Yani her programlayc yazlm ile elinizde bulunan karta kod gnderemeyebilirsiniz. Genellikle programlama kart reticileri, rettikleri karta uygun yazlm da birlikte sunarlar. Biz bu kitapta ProtoPIC programlama kartna gnderdii kodlarla PIC'ieri sorunsuz olarak programlayan P16PRO adl yazlm kullandk ve nasl kullanlacan anlattk. P16PRO'yu Windows ortamndan da altrabileceiniz iin bu size byk kolaylk salayacaktr.

Programlanm PIC'i Deneme Kart


Programladnz PIC' breadboard zerinde kendi kurduunuz devre de deneyebileceiniz gibi ekilde grlen zel bir deneme kart zerinde de deneyebilirsiniz. Balang ve orta dzey PIC programlayclara hitap etmek zere gelitirilen bu kart zerinde deneme yapmak, breadbord zerinde devre kurmaktan ok daha kolaydr. PIC'in port klarndaki sinyalleri izlemek amacyla 8 tane LED, bir tane de 7 segmentli LED yerletirilmitir. Kart zerindeki, butonlar, potansiyometre ve LED'ler araclyla farkl ekilde programlanan PIC'lerin kolayca denenmesini salanr. Bu kartn yaps ve kullanlmas hakknda Ekler blmnde geni bilgi bulacaksnz.