mesafe ölçümü 877 led display ultrasonik

Upload: mustafapatan

Post on 13-Jul-2015

719 views

Category:

Documents


2 download

TRANSCRIPT

KOCAEL NVERSTES MHENDSLK FAKLTES ELEKTRK MHENDSL

ULTRASONK MESAFE LM

Hazrlayan Ad Soyad : renci No :retim Gr. :

BLM 1...................................................................................................................................3 GR .........................................................................................................................................3 1.1 Mikroilemci Nedir ?........................................................................................................3 1.2 Mikrodenetleyici Nedir?...................................................................................................4 1.2.1 Neden Mikroilemci Deil de Mikrodenetleyici Kullanlyor?.................................4 1.3 Mikrodenetleyiciler Hakknda Genel Bilgiler...................................................................5 1.3.1 Neden PIC?................................................................................................................6 1.3.2 Neden P1C16F877?...................................................................................................6 1.3.3 PIC Programlamak in Nelere htiyacnz Var ?......................................................7 1.3.3.1 IBM Uyumlu Bilgisayar......................................................................................7 1.3.3.2 Metin Editr......................................................................................................7 1.3.3.3 Assembly Program.............................................................................................7 1.3.3.4 PIC Programlayc Donanm..............................................................................9 1.3.3.5 PIC Programlayc Yazlm................................................................................9 BLM 2 ................................................................................................................................10 PIC DONANIM ZELLKLER.............................................................................................10 2.1 PIC eitleri....................................................................................................................10 BLM 3.................................................................................................................................12 PIC16F877................................................................................................................................12 3.1 PIC16F877......................................................................................................................12 3.2 Besleme Gerilimi............................................................................................................13 3.3 Saat Ular ve Saat Osilatr eitleri...........................................................................14 3.3.1 Osilatr Tiplerinde Kullanlacak Kondansatrler....................................................15 3.4 Reset Ular ve Reset Devresi.........................................................................................16 3.5 Giri-k Portlar..........................................................................................................17 3.6 Hafzas...........................................................................................................................18 3.6.1 Program Bellei.......................................................................................................19 3.6.2 RAM Bellek.............................................................................................................19 3.6.3 W Saklayc..............................................................................................................21 3.7 PIC Assembly..................................................................................................................21 3.7.1 Assembler Nedir ?....................................................................................................21 3.7.2 PIC Assembly Dili Nedir?.......................................................................................21 BLM 4.................................................................................................................................22 ULTRASONK MESAFE LM......................................................................................22 4.1 Giri.................................................................................................................................22 4.2 Devre emas ve ayrntl almas.................................................................................22 4.2.1 Ultrasonik verici.......................................................................................................23 4.2.2 Ultrasonik alc ve sinyalin digitale dntrlmesi................................................25 4.2.3 Display gstergesi....................................................................................................28 4.2.4 G Kayna............................................................................................................29 4.3 Baskl Devre emas......................................................................................................30 4.5 Pic Kaynak Kodu............................................................................................................30 Maliyetler..........................................................................................................................30

2

BLM 1 GR

1.1 Mikroilemci Nedir ?

Gnmzde kullanlan bilgisayarlarn zelliklerinden bahsedilirken duyduunuz 80386, 80486, Pentium II, Pentium-lll birer mikroilemcidir. Mikroilemciler bilgisayar programlarnn yapmak istedii tm ilemleri yerine getirdii iin, ou zaman merkezi ilem nitesi olarak da adlandrlr. Kiisel bilgisayarlarda kullanld gibi, bilgisayarla kontrol edilen sanayi tezgahlarnda ve ev aygtlarda da kullanlabilmektedir. Bir mikroilemcinin ilevini yerine getirebilmesi iin aadaki yardmc elemanlara ihtiya duyar. Bunlar:

1. Giri nitesi. 2. k nitesi. 3. Bellek nitesi.

Bu niteler merkezi ilem nitesi entegrenin dnda, bilgisayarn ana kart zerinde bir yerde farkl entegrelerden veya elektronik elemanlardan oluur. Aralarndaki iletiimi ise veri yolu ), adres yolu denilen iletim hatlar yapar.

ekil.1.1. Bir mikroilemci sisteminin temel bileenlerinin blok diyagram

3

1.2 Mikrodenetleyici Nedir?

Bir bilgisayar ierisinde bulunmas gereken temel bileenlerden RAM, giri-k nitesinin tek bir entegre ierisinde retilmi biimine mikrodenetleyici 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.

ekil. 1.2. Bir mikrodenetleyici sisteminin temel bileenlerinin blok diyagram

Gnmz mikrodenetleyicileri birok entegre reticisi tarafndan retilmektedir. Her firma rettii entegreye farkl isimler vermektedir. rnein Microchip firmas rettiklerine PIC adn verirken, Intelin rettii ve 1980lerin banda piyasaya srld 8051, bazen MCS51 olarak da adlandrlr. 1.2.1 Neden Mikroilemci Deil de Mikrodenetleyici Kullanlyor? Mikroilemci ile kontrol edilecek bir sistemi kurmak iin en azndan u niteler bulunmaldr ; merkezi ilem nitesi,rast gele eriimli hafza ,giri-k ve bu nitelerin arasndaki veri al veriini kurmak iin veri 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 entegre (Mikrodenetleyici) ve bir de devre kart kullanmak yetecektir. Tek entegre 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.

4

1.3 Mikrodenetleyiciler Hakknda Genel Bilgiler

Neredeyse her mikroilemci (CPU) reticisinin rettii birka mikrodetletleyicisi bulunmaktadr. Bu denetleyicilerin mimarileri arasnda ok kk farklar olmasna ramen aa yukar ayn ilemleri yapabilmektedirler. Her firma rettii entegreye bir isim ve zelliklerini birbirinden ayrmak iin de para numaras vermektedir. rnein Microchip firmas rettiklerine PIC adn, para numaras olarak da 120508, 16084, 16F84, 16C711 gibi kodlamalar verir. Intel ise rettii mikrodenetleyicilere MOS-51 ailesi adn vermektedir. Genel olarak bu adla anlan microdenetleyici ailesinde farkl zellikleri bulunan rnleri birbirinden ayrt etmek iin para numaras olarak da 8031AH, 8051AH, 8751AHP, 8052AH, 8005FA 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 darbe sinyali k. Harici giri vastasyla kesme. Zamanlayc vastasyla ile kesme. Harici bellek arabirimi. Harici yol arabirimi (PC, ISA gibi). Dahili bellek tipi seenekleri(ROM, EPROM, PROM ve EEPROM). Dahili rast gele eriimli hafza seenei. Kayan nokta hesaplamas.

Daha da ayrntya girecek olursak bu listede sralanacak zellikler uzayp gidecektir. imdi de bizim burada ele aldmz Microchip firmasnn rn olan PICi neden setiimize deinelim. Microchip firmas, 8-bitlik mikrodenetleyici ve EEPROM reten bir Amerikan

5

irketidir. Arizona eyaletinde iki, Tayland ve Tayvanda da birer tane olmak zere toplam drt fabrika ile kendi alannda dnyada sz sahibi olan bir entegre reticisidir. 1.3.1 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 firmasnn rettii PlCleri kullanmak en aklc bir yol olduunu grlmektedir. PIC, adn lngilizcedeki Peripheral lnterface Controller(evresel niteleri denetleyici) cmlesindeki kelimelerin ba harflerinden alm olan bir mikrodenetleyicidir. Eer bu cmleyi Trkeye evirirsek, evresel niteleri denetleyici arabirim gibi bir anlam kacaktr. PIC gerekten de evresel niteler ad verilen lamba, motor, role, s ve k sensr gibi girik elemanlarn denetimini ok hzl olarak yapabilecek ekilde dizayn edilmi bir entegredir. RISC mimarisi ad verilen bir yntem kullanlarak retildiklerinden bir PICi programlamak iin kullanlacak olan komutlar olduka basit ve say olarak da azdr. 1980lerin bandan itibaren uygulanan bir tasarm yntemi olan RISC (ndirgenmi Komut Grub Bilgisayar) mimarisindeki temel dnce, daha basit ve daha az komut kullanlmasdr. 1.3.2 Neden P1C16F877? Burada programlanmas ve rnek uygulamalar verilen PICin 16F877 serisi olmasnn en nemli nedeni, P1C16F877 mikrodenetleyicisinin program belleinin silinip yazlabilen teknolojisi ile retilmi olmas ve giri k port saysnn fazla olmasdr.

ok kez programlanabilen hafza teknolojisi ile retilen bir bellee yklenen program, entegreye uygulanan enerji kesilse bile silinmez. Yine bu tip bir bellee istenirse yeniden yazlabilir. ok kez programlanabilen bellekler bu zellikleri ile EEPROM bellekler ile ayn grnmektedirler. Gerekten de ok kez programlanabilen ile EEPROM bellek ayn eylerdir. Ancak baz reticiler tarafndan

ok kez programlanabilen bellee sahip olan P1C16F877yi 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 entegreyi atmak zorunda kalmayacaklardr. Geri EPROM program hafzas olan entegrelere 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 k beklemek zorunda kalnacaktr. te P1C16F877nin bu zellii mikrodenetleyici kullanmaya yeni balayanlar iin ideal bir seenektir.

6

P1C16F877 yi sememizin ikinci nedeni de, programlama donanmnn ok ucuz ve kullanl olmas ve hatta ou merakl elektronik kullanc tarafndan bile retilebilmesidir.

1.3.3 PIC Programlamak in Nelere htiyacnz 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 PICi denemek iin borda, g kayna ve elektronik elemanlar.

1.3.3.1 IBM Uyumlu Bilgisayar Assembly program kodlarn kolayca yazabilmek, doru ve hzl bir ekilde PICin program belleine gnderebilmek iin bilgisayara ihtiya vardr. Bir metin editr kullanarak yazlan program kodlar, derlendikten sonra PICe gnderilmesi gerekir. Program kodlarnn PICe yazdrma ilemi paralel veya seri porta balanan bir elektronik devre aracl ile yaplr. Bu ileri yapabilmek iin bilgisayarn temel kullanm fonksiyonlarn bilmeniz gerekir.

1.3.3.2 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. 1.3.3.3 Assembly Program

7

PIC Assembly dili ad verilen ve toplam 35 komuttan oluan programlama dilinin tamam burada verilmitir. Bu komutlar basit bir editrde yazabiliyoruz. Ancak, ngilizcedeki baz kelimelerin ksaltmasndan oluan bu dilin komutlarn P1Cin anlayabilecei makine diline eviren bir programa ihtiyacmz vardr. Bu programa assembler adn veriyoruz. Text dosyas biiminde kaydedilmi olan assembly dili komutlarn makine diline eviren MPASMnin hem DOS altnda hem de WINDOWS altnda alan versiyonu bulunmaktadr. Bu program Microchip firmasnn internetteki www.microchip.com adl sitesinden parasz olarak yklenilebiliyor. MPASMnin kullanm hakknda detayl bilgiyi 2. blmde bulacaksnz.

Microchip bir de ierisinde hem metin editr hem MPASM assembler programn bulunduran MPLAB programn PIC programlayclarnn kullanmna sunmaktadr. MPLABn kurulumu ve kullanlmasyla ilgili gerekli detay bilgiyi 2. blmnde bulacaksnz. Aadaki ekilde MPASMnin WINDOWS srmnn grn verilmektedir.

ekil.1.3. MPASM programnn grn.

8

1.3.3.4 PIC Programlayc Donanm

Makine diline evrilmi program kodlarn bilgisayardan alp PIC 16/17 mikrodenetleyicisine yazmak iin bir elektronik devreye ihtiya vardr. Bu elektronik devre, birok retici tarafndan piyasada satlmaktadr. 1.3.3.5 PIC Programlayc Yazlm

MPASM tarafndan derlenerek makine diline dntrlm assembly program kodlarnn PICe yazdrlmasnda kullanlan bir programa gereksinim vardr. Programlayc yazlmlar, PICi 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 burada PIC16F877 programlama kartna gnderdii kodlarla bu PICleri sorunsuz olarak programlayan P16PRO adl yazlm kullandk. Bu programn kullanm ile ilgili gerekli ayrnty 2. blmde bulabilirsiniz.

9

BLM 2 PIC DONANIM ZELLKLER

2.1 PIC eitleri

Microchip rettii mikrodenetleyicileri 4 farkl gruba ayrarak isimlendirmitir. PIC ailelerine isim verilirken kelime boyu gz nne alnmtr. imdi kelime boyunun ne anlama geldiine bakalm. Mikrodenetleyiciler kendi ilerindeki dahili veri saklama alanlar olan saklayclar arasndaki veri al veriini farkl saydaki bitlerle yaparlar. rnein 8088 mikro ilemcisi entegre ierisindeki veri al veriini 16-bit ile yaparken, Pentium ilemcileri 32-bitlik verilerlerle iletiim kurarlar. Bir merkezi ilem birimi dahili veri yolu uzunluuna kelime boyu denir.

Microchip PICleri 12/14/16 bitlik kelime boylarnda retmektedir ve buna gre aadaki aile isimlerini vermektedir.

PIC6C5XX ailesi 12-bit kelime boyu, PIC16CXXX ailesi 14-bit kelime boyu, PI07CXXX ailesi 16-bit kelime boyu, PIC12OXXX ailesi 12-bit/14-bit kelime boyuna sahiptir.

Bir merkezi ilem birimi entegre dndaki harici nitelerle veri alveriini ka bit ile yapyorsa buna veri yolu bit says denir. PICler farkl kelime boylarnda retilmelerine ramen harici veri yolu tm PIC ailesinde 8-bittir. Yani bir PIC, giri-k portu aracl ile evresel nitelerle veri alverii yaparken 8-bitlik veri yolu kullanr. PIC programlayclar program kodlarn yazarken bir komutun ka bitlik bir kelime boyundan olutuuyla pek fazla ilgilenmezler. Seilen bir entegreyi programlarken uyulmas gereken kurallar ve o entegrelerle ilgili zelliklerin bilinmesi yeterlidir. Bu zellikler PICin bellek miktar, giri-k portu says, analog-dijital dntrcye sahip olup olmad, kesme fonksiyonlarnn bulunup bulunmad, bellek tipinin ne olduu (EPROM, EEPROM vb.) gibi bilgilerdir.

2.2. PIC Bellek eitleri

10

Farkl zellikte program bellei bulunan PICler microchip firmas tarafndan piyasaya srlmektedir. Bunlar:

Silinebilir ve programlanabilir bellek. Elektriksel olarak silinebilir ve programlanabilir bellek Sadece okunabilir bellek

Her bir bellek tipinin kullanlaca uygulamaya gre avantajlar ve dezavantajlar vardr. Bu avantajlar; fiyat, hz, defalarca kullanmaya yatknlk gibi faktrlerdir. EPROM bellek hcrelerine elektrik sinyali uygulayarak kayt yaplr. EPROM zerindeki enerji kesilse bile bu program bellekte kalr. Ancak silip yeniden baka bir program yazmak iin ultraviyole altnda belirli bir sre tutmak gerekir. Bu ilemler EPROM silici denilen zel aygtlarla yaplr. EPROM bellekli PICler iki farkl ambalajl olarak bulunmaktadr: Seramik ambalajl ve cam pencereli olan tip, silinebilir olan tiptir. Plastik ambalajl ve penceresiz olan tipler ise silinemez (OTP) tiptir.

Seramik ambalajl ve pencereli olan bellek ierisindeki programn silinmemesi iin pencere zerine k geirmeyen bir bant yaptrlr. ltraviyole ile silinmesi istenildiinde bu pencere alr ve silici aygt ierisinde belirli bir sre bekletilir. Plastik ambalajl EPROMlar ise programlandktan sonra silinmesi mmkn deildir ve fiyat silinebilen tipe gre olduka ucuzdur. Silinemeyen tipe bir defa programlanabilir olarak adlandrlr. EEPROM bellei bulunan bir PIC ierisine program yazmak iin PIC programlayc vastasyla elektriksel sinyal gnderilir. EEPROM zerindeki enerji silse bile bu program bellekte kalr. Program silmek veya farkl yeni bir program yazmak istendiinde PIC programlaycdan elektriksel sinyal gnderilir. Bu tip bellee sahip olan PICler genellikle uygulama gelitirme amacyla kullanlrlar. microchip bu tip bellee ou zaman ok kez programlanabilen bellek olarak da adlandrmaktadr. Fiyatlar silinemeyen tiplere gre biraz pahaldr. Bellek eriim hzlar ise EPROM ROMlara gre daha yavatr.

ROM program belleine sahip PIClerin programlar fabrikasyon olarak yazlrlar. EPROM ve EEPROM edeerlerine nazaran fiyatlar olduka dktr. ancak fiyatnn dklnden dolay gelen avantaj bazen ok pahalya da mal olabilir. ROM bellekli PIC programlarnn fabrikasyon olarak yazlmas nedeniyle PICin elde edilme sresi uzundur. Programda oluabilecek bir hatann PICe program yazldktan sonra tespit edilmesi, eldeki tm PIClerin atlmasna da neden olabilir. Bu tip PlCler ok miktarda retilecek bir rnn maliyetini drmek amacyla seilir. Program hatalar giderilemedii iin uygulama gelitirmek iin uygun deildir. Microchip, ROM program bellekli PIClere para numaras verirken CR (PIC16CR62, PIC16CR84 gibi) harfleri kullanlr.

11

BLM 3 PIC16F877

3.1 PIC16F877

ekil.3.1. PIC16F877 nin ayak balants

CMOS teknolojisi ile retilmi olan PIC16F877 ok az enerji harcar. ok kez programlanabilen bellee sahip olmas nedeniyle saat giriine uygulanan sinyal kesildiinde saklayclar ierisindeki veri aynen kalr. Saat sinyali tekrar verildiinde PIC ierisindeki program kald yerden itibaren almaya balar. RA0-RA5, RB0-RB7,RC0-RC7, RD0RD7,RE0-RE2 pinleri giri-k portlardr. Bu portlardan girilen dijital sinyaller vastasyla PIC ierisinde alan programa veri girilmi olur. Program verileri deerlendirerek portlar kullanmak suretiyle d ortama dijital sinyaller gnderir. D ortama gnderilen bu sinyallerin akm yeterli olmad durumda ykselte devreleri (rle, transistor v.s) ile ykseltilerek kumanda edilecek cihaza uygulanr. Portlarn maksimum batrma akm 25 mA ve kaynak akm da 20 mA dir. Hatrlatma amacyla batrma ve kaynak akmlarnn ne olduundan bahsedelim. Batrma akm, gerilim kaynandan k portuna doru akan akma, kaynak akm ise giri-k pininden aseye entegrenin pini zerinden akan akma denir.

12

ekil.3.2. Batrma ve kaynak akmlar

PIC16F877nin ektii akm, besleme gerilimine, saat giriine uygulanan sinyalin frekansna ve giri-k pinlerindeki yke bal olarak deiir. Tipik olarak 4 MHzlik saat frekansnda ektii akm 2 mA kadardr. Bu akm uyuma modunda yaklak olarak 40 A e der. Bilindii gibi CMOS entegrelerdeki giri ular muhakkak bir yere balanr. Bu nedenle kullanlmayan tm giriler besleme geriliminin eksi ucuna balanmaldr.

3.2 Besleme Gerilimi

PICin besleme gerilimi 11, 32 ve 12, 31 numaral pinlerden uygulanr. 11 ve 32 numaral Vdd ucu +5 Va, 12 ve 31 numaral Vss ucu da topraa balanr. PICe ilk defa enerji verildii anda meydana gelebilecek gerilim dalgalanmalar nedeniyle istenmeyen arzalar nlemek amacyla Vdd ile Vss arasna 100 F lk bir dekuplaj kondansatr balamak gerekir. PICler CMOS teknolojisi ile retildiklerinden ok geni besleme gerilimi aralnda (2 6 V) almalarna ramen 5 V luk gerilim deneyler iin ideal bir deerdir.

13

3.3 Saat Ular ve Saat Osilatr eitleri

PIC belleinde bulunan program komutlarnn altrlmas iin bir kare dalga sinyale ihtiya vardr. Bu sinyale saat sinyali denir. P1C16F877nin saat sinyal girii iin kullanlan iki ucu vardr. Bunlar OSC1 (16.pin) ve OSC2 (15.pin) ulardr. Bu ulara farkl tipte osilatrlerden elde edilen kare dalga sinyalleri uygulanabilir. Saat osilatr tipleri unlardr:

RC - Diren/kondansatr XT - Kristal veya seramik resonatr (Xtal). HS - Yksek hzl kristal veya seramik resonatr LP - Dk frekansl kristal

Seilecek olan osilatr tipi PICin kontrol ettii devrenin hz gereksinimine bal olarak seilir. Aadaki tablo hangi osilatr tipinin hangi frekans snrlar ierisinde kullanlabileceini gsterir.

Osilatr tipi R0 LP XT HS (-04) HS (-10) HS (-20)

Frekans snr 0-4 MHz

5-200 KHz 100KHz.- 4MHz 4 MHz 4-10 4-20 MHz MHz

Tablo 1. Osilatr tipi ve frekanslar

PICe balanan saat osilatrnn tipi programlama esnasnda PIC ierisinde bulunan konfigrasyon bitlerine yazlmaldr.

14

3.3.1 Osilatr Tiplerinde Kullanlacak Kondansatrler Kullanlarak yaplan osilatrler de zamanlamann nemli olduu yerlerde kullanlr. Kristal osilatrlerin kullanld devrelerde kristale balanacak kondansatrn seimine zen gstermek gerekir. Aada hangi frekansta ka f 'lk kondansatr kullanlacan gsteren tablo grlmektedir.

Osilatr Tipi LP

Frekans 32KHz 200KHz 100KHz

Kondansatr 33-68 15-47 pF pF

47-100 pF 20-68 15-68 15-47 15-33 15-47 15-47 pF pF pF pF pF pF

XT

500KHz 1MHz 2MHz 4MHz

HS

8MHz 20MHz

Tablo 2. Kondansatr deerleri

Seilen kondansatr deerlerinin yukardaki deerlerden yksek olmas, elde edilen kare dalgalarn bozuk olmasna ve PICin almamasna neden olur. C1 ve C2 kondansatrlerinin deerleri birbirine eit olmaldr.

15

ekil.3.3. Kristal ve kondansatrlerin PICe balants.

3.4 Reset Ular ve Reset Devresi

PIC16F877nin besleme ularna gerilim uyguland anda bellekteki program balang adresinden itibaren almasn, besleme gerilimi normal seviyesine ykselinceye kadar belli bir gecikme salayan bir reset devresi vardr. Bu reset devresi PIC ierisindedir ve besleme gerilimi normal seviyesine ulancaya kadar PIC entegresini reset konumunda tutar. Buna yeniden g verme denir ve yazlm olarak aktif yaplrsa alr.

MCLR ucu ise kullancnn program kesip, kasti olarak balangca dndrebilmesi iin kullanlr. PICin 1 numaral MCLR ucuna uygulanan gerilim 0 V seviyesine dt zaman programn almas reset vektr denilen adrese dner. Programn bu adresten itibaren tekrar alabilmesi iin reset ucuna uygulanan gerilimin +5 V olmas gerekir. Bir buton aracl ile reset ilemini yapan devre ekilde grlmektedir.

16

ekil.3.4. PIC16F877nin harici reset devresi.

3.5 Giri-k Portlar

P1C16F84n 13 adet giri/k portu vardr. Bunlardan 5 tanesine A portu (RA0~RA4), 8 tanesine de B portu (RB0~RB7) denir. 13 portun her biri giri ya da k olarak kullanlabilir. PIC ierisinde adna TRIS denilen zel bir data ynlendirme saklayc vardr. Bu saklayc aracl ile portlarn giri/k ynlendirmesinin nasl yaplaca hakknda detayl bilgiyi programlama konusunda bulacaksnz. I/0 portlarndan geebilecek 25 mA' lik bir batrma akm veya 20 mA lik kaynak akm LEDleri dorudan srebilir. Bu akmlar ayn zamanda LCD, mantksal entegre ve hatta 220 V luk ehir ebekesine bal bir lambay kontrol eden triyak bile tetiklemeye yeterlidir. k akm yetmedii durumda ykselte devreleri kullanarak daha yksek akmlara kumanda etmek mmkn olabilir.

17

ekil.3.5. PIC16F877 nin portlaryla kontrol edilen 220V luk lamba ve LED

B portunun 8 ucu, PIC ierisinde dahili olarak 50 K luk direnlerle pull-up yaplm gibi etki gsterir. Bu durum ekilde temsili olarak grlmektedir. PlCin ierisinde gerekte bir pull-up direnci deil, farkl bir mantksal devre vardr.

ekil.3.6. PIC16F877nin dahili olarak pull-up yaplmas.

Bu 8 pulI-up direncinin tamam option saklayc ierisindeki yazlm aracyla iptal edilebilir veya geerli klnabilir. Port ularndan herhangi birisi k olarak ynlendirildiinde o utaki pull-up direnci otomatik olarak iptal olur. PICe enerji verildiinde ise tm pull-uplar iptal edilir.

3.6 Hafzas

PIC16F877 mikrodenetleyicisinin bellei, program ve RAM bellei olmak zere iki ayr bellek bloundan oluur. Microchipin kataloglarnda PIC denetleyicilerin RISC ilemci olarak tantlmasnn nedeni de budur. nk Harvard Mimarisi ile retilen RISC ilemcilerde program bellei ile data bellei birbirinden ayrdr. Oysa PClerde kullanlan ou mikroilemci mimarisinde byle bir ayrm yoktur. Bu da demektir ki; burada ayrntsna girmeye gerek grmediimiz nedenlerden dolay mikroilemciler, mikrodenetleyicilere gre komut ilemede daha yavatrlar.

18

3.6.1 Program Bellei PIC16F877nin 8 Kbytelk program bellei vardr. Her bir bellek hcresi ierisine 14 bit uzunluundaki program komutlar saklanr. Program bellei elektriksel olarak yazlp silinebilir olmasna ramen, programn almas esnasnda sadece okunabilir.

PIC16F877nin program bellei ierisinde sadece assembly komutlar saklanr. Bu komutlar dnda RETLW komutu ile birlikte kullanlan snrl miktarda data da yklenilebilir. 3.6.2 RAM Bellek PIC16F877nin 0x00_0x4F adres aralnda ayrlm olan RAM bellei vardr. Bu bellek ierisindeki file saklayclar ierisine yerletirilen veriler PIC merkezi ilem biriminin almasn kontrol ederler. File saklayclarn bellek uzunluu 8 bittir. Sadece PCLATH saklayc 5 bit uzunluundadr. File saklayc ad verilen zel veri alanlarnn dnda kalan dier bellek alanlar, normal RAM bellek olarak kullanlrlar. Yani bu alanlarda programda ierisindeki deikenler iin kullanlr.

19

Tablo 3. Saklayc haritas

Tablo 3. glgelendirilmitir. Glgeleme, otomatik kopyalama ilemi olarak alglandnda anlalmas daha kolay olacaktr. rnekle izah edecek olursak: 0x8C adresine yazlan bir veri 0x0C adresinde de grlr. te bu sebeplerden dolay 160 deil toplam 80 file saklayc alan vardr.

Bir banktaki saklaycy kullanabilmek iin o banka gemek gerekir. Ayrca PIC16F877 drt banka sahiptir. Bank deitirme ilemi programda daha detayl gsterilmitir.. Yalnz burada

www.microchip.com

20

bir eyden daha bahsetmek gerekir. Baz zel saklayclarn her iki bankta da grlmesinin nedeni, bank deitirme ilemine gerek duyulmakszn kullanlabilmesi iindir.

3.6.3 W Saklayc PIC16F877nin RAM bellek alannda grlmeyen bir de W saklaycs vardr. W saklayc bir akmlatr veya geici depolama alan olarak dnlebilir. W saklaycsna direkt olarak ulamak mmkn deildir. Ancak dier saklayclarn ierisindeki verilen aktarrken erimek mmkndr. Bir PICte gerekleen tm aritmetik ilemler ve atama ilemleri iin W saklayc kullanlmak zorunluluu vardr. rnein iki saklayc iindeki veriler toplanmak istendiinde, ilk olarak saklayclardan birinin ierii W saklaycsna aktarlr. Daha sonra da dier saklayc ierisindeki veri W saklaycs ierindekiyle toplanr. Bu saklaycnn kullanm zellikleri yine programlama konusunda detayl olarak ele alnacaktr.

3.7 PIC Assembly

3.7.1 Assembler Nedir ?

Assembler, bir text editrnde assembly dili kurallarna gre yazlm olan komutlar PICin anlayabilecei onaltlk kodlara eviren (derleyen) bir programdr. Microchip firmasnn hazrlad MPASM bu ii yapan assembler programdr. Assemblere ou zaman derleyici denilir. 3.7.2 PIC Assembly Dili Nedir? Assembly dili, bir PICe yaptrlmas istenen ilerin belirli kurallara gre yazlm komutlar dizisidir. Assembly dili komutlar ngilizce dilindeki baz ksaltmalardan meydana gelir. Bu ksaltmalar genellikle bir komutun almasn ifade eden cmlenin ba harflerinden oluur. Bylece elde edilen komut, bellekte tutulmas kolay bir hale getirilmitir. rnein: BTFSC (Bit Test F Skip if Clear) - File saklayclardaki biti test et, eer sfrsa bir sonraki komutu atla, anlamnda kullanlmtr.

Orhan ALTINBAAK, Mikrodenetleyiciler ve PIC Programlama

21

BLM 4 ULTRASONK MESAFE LM

4.1 Giri

verici

ses yanstc obje

alc

ekil 4 Minumum 27cm maksimum yaklak 200cm lebilen bu devre; ekil 4de grld zere bir kaynaktan sesin yaylmas ve bu sesin karsndaki bir cisme arparak yanksnn geri gelmesi esasna gre ; ses kaynandan sesin kmas ile geri gelmesi arasndaki zaman lerek bu srenin sesin yaylma hzna gre kalibresiyle led display ekranda gsterilmektedir. 4.2 Devre emas ve ayrntl almas Devre emas ekil 5de grlmektedir. Devreyi ana ksmlarna ayracak olursak Ultrasonik verici Ultrasonik alc ve digitale dntrlmesi Display gstergesi G kayna

imdi bu ksmlar sras ile inceleyelim 22

ekil 5 4.2.1 Ultrasonik verici Ultrasonik verici ksm ekil 6da grlmektedir. Buna gre picin PORTC.4 pininden oluturulan ultrasonik ses sinyali U5:D 4011 nand kapsnda terslenmekte Q2 transistr ile U7:A,B,E 4069 entegresi srlmekte ve C14 zerinden verici ultrasonik elamann + pinine uygulanmaktadr. Ultrasonik verici elamann pini ise ayn ekilde Q1 transistr zerinden U7:C,D,F zerinden srlmektedir. Sr tekniinin daha ayrntl aklamas ise aadaki Tablo 4den anlalmakatdr.

PORTC.4 +5V 0V

U5.11 0V +5V

Q1.C 0V +9V

Q2.C +9V 0V Tablo 4

U7.2 0V +9V

U7.12 +9V 0V

TX+ 0V +9V

TX+9V 0V

23

ekil 6

Verici sensr Resim 1 de grlen ultrasonik alc ve verici elemanlar 40Khzde hassas verici ve alcdr. nsan kulann duyma frekans snrnn ok zerindeki frekansta yaplan sinyal gnderme ve alma ilemi bu elamanlar sayesinde yaplamaktadr. zellikleri Tablo 5 verilmitir.

Resim 1Ultrasonik verici ve alc zellikleri

24

Birim Frekans(KHz) Ses Basn Seviyesi(dB) Duyarllk (dB)

Miktar 40 115 < -64