You are on page 1of 46

C.

Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl

T.C. NDE NVERSTES MHENDSLK-MMARLIK FAKLTES ELEKTRK-ELEKTRONK MHENDSL BLM

BTRME DEV

ODA BR SALON BR EV N HIRSIZ ALARMININ GEREKLETRLMES

HAZIRLAYAN Cevdet Seluk KAHYALAR

DANIMAN Yrd. Do. Dr. Murat UZAM

HAZRAN 2002 NDE

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl

TRKYE CUMHURYET NDE NVERSTES MHENDSLK-MMARLIK FAKLTES ELEKTRK-ELEKTRONK MHENDSL BLM

BTRME DEV DERS SINAV TUTANAI

RENCNN: Ad ve Soyad Snf ve Numaras Bitirme devinin Ad : Cevdet Seluk KAHYALAR : EEM 4 (.) 2980603011 : ODA BR SALON BR EV N HIRSIZ

ALARMININ GEREKLETRLMES

Bitirme devini Yrten retim Elemann Ad ve Soyad : Yrd. Do. Dr. Murat UZAM

BTRME DEV SINAV JURS

Bakan ye ye ye

: : : :

Bu alma ------/-----/ 2002 tarihinde yaplan snav sonucunda jurimiz tarafndan oy birlii / okluu ile baarl / baarsz bulunmutur.

UYGUNDUR -------/-------/---------Elektrik Elektronik Mhendislii Blm Bakan Do. Dr. Saadetdin HERDEM

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl

ZET

3 () ODA 1 (BR) SALON BR EV N HIRSIZ ALARMININ GEREKLETRLMES

KAHYALAR, Cevdet Seluk

Danman: Yrd. Do. Dr. Murat UZAM

Haziran 2002

Bu almada PIC 16F877 mikrodenetleyicisi kullanlarak oda bir salon evin gvenlik sistemi gerekletirilmitir ve hrsz alarm sistemi uygulamas iin maket ev yaplmtr. Bu uygulamada sistem kontrolnde PIC 16F877 kullanlmas nedeniyle tasarm kolay, kullanm kolay ve maliyeti dk bir hrsz alarm sistemi gerekletirilmitir. Bir hrsz alarm sisteminde bulunmas gereken zellikler gz nne alnarak program gelitirilmi olup bu program PIC 16F877 mikrodenetleyicisi ierisine yklenmitir.

iii

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl

TEEKKR

Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blmnde 2001-2002 eitim-retim ylnda bitirme devi olarak hazrlanan bu alma da hibir yardmn esirgemeyen danman hocam Yrd. Do. Dr. Murat UZAMa, bana verdii manevi destekten dolay r. Gr. brahim YCELe, proje almalarma verdikleri destekten dolay Ar. Gr. Krat YALINa ve Durmu GKEBAYa teekkrlerimi sunarm.

Hayatm boyunca bana maddi ve manevi her trl destei veren, btn dnce ve eylemlerimi byk bir zveri ve fedakarlkla karlayan, benim iin her eyden fazla nem tayan aileme teekkr ve kranlarm sunarm.

iv

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl NDEKLER

Sayfa ZET......iii TEEKKR....iv NDEKLER DZN...........v TABLOLAR DZN.....vii EKLLER DZN......viii ZELGELER DZN...ix BLM I GR .......1 BLM II ELEMANLAR VE YNTEM....2 2.1. Pic Mikrodenetleyicisi......2 2.2. Program Gelitirme Yazlm (PIC BASIC PRO).....2 2.2.1 PIC BASIC PRO Komut Seti.....3 2.2.2 Deikenler ( VARIABLES ).4 2.2.3 Etiketler ( LABELS )..4 2.2.4 Nmerik Sabitler ( NUMERIC CONSTANTS )....4 2.2.5 Portlar..4 2.2.6 Zaman Gecikmesi ( PAUSE ).5 2.2.7 Dng Dzenlemek ( FORNEXT )....6 2.2.8 Kontrol Komutlar (IFTHEN)................6 2.2.9 Kesmeler ( INTERRUPTS )...7 2.2.9.1 INTCON Register .....8 2.2.9.2 Kesme Kaynaklar.9 2.2.9.3 TMR0 Sayc/Zamanlaycs......9 2.2.9.4 OPTION Register..9 2.2.9.5 Prescaler Kullanlmas.10 2.2.10 Microcode Studio...12 2.3. Programlama Yazlm....12 2.4. Programlama Devresi......13 2.5. Kiisel Bilgisayar....14 2.6. Uygulama Devresi...14

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl Sayfa 2.7. Gvenlik Sisteminin Kurulaca Maket Ev....14 BLM III PIC 16F877 MKRODENETLEYCSNE AT TEMEL BLGLER....17 3.1. PIC 16F877.17 3.2. PIC 16F877 Mikrodenetleyicisinin I/O (Giri/k) Portlar..17 3.3. PIC 16F877 Mikrodenetleyicisinin Besleme ve Genel alma Balants...18 BLM IV HIRSIZ ALARM SSTEMNN ALIMA PRENSB....20 BLM V HIRSIZ ALARM SSTEM N PROGRAM DEVRE

UYGULAMALARI......22 5.1. Uygulama Devresi...22 5.2. Program Ak emas......23 BLM 6 SONU ve NERLER.....25 EKLER.....26 EK-A. Bu Uygulama in Hazrlanm .BAS Dosyalar.......26 KAYNAKLAR.....37

vi

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl TABLOLAR DZN

Sayfa Tablo 1. KONNEKTR BACAK BALANTI NUMARALARI...16 Tablo 2. PIC 16F877 ve PIC 16F84 MKRODENETLEYCLERN ZELLKLER...17 Tablo 3. OSLATR ETLER ve ZELLKLER.19

vii

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl EKLLER DZN

Sayfa ekil 1. KESME LEMNN SEMBOLK OLARAK GSTERM...7 ekil 2. MCROCODE STUDO ANA SAYFASI...12 ekil 3. PROPIC MENS..13 ekil 4. PIC PROGRAMLAMA DEVRES..13 ekil 5. 12 V DC G KAYNAI DEVRE EMASI.14 ekil 6. 3*4 MATRS TU TAKIMI EMAT ve PICe BALANTISI....15 ekil 7. BUZZER BALANTI EMASI..15 ekil 8. HIRSIZ ALARM SSTEM N YAPILAN MAKET EV15 ekil 9. PIC 16F877 PN EMAT...18 ekil 10. PIC 16F877 GENEL ALIMA DEVRES..19 ekil 11. UYGULAMA DEVRES...22 ekil 12. PROGRAM AKI EMASI..24

viii

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl ZELGELER DZN

Sayfa izelge 1. PIC BASIC PRO KOMUT SET..3 izelge 2. NTCON REGSTER.8 izelge 3. OPTON REGSTER10 izelge 4. PRESCALER DEERLER11

ix

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl

BLM I

GR

Yaplan son aratrmalar ve istatistikler, hrszlk ve soygunlarn her geen gn hzla arttn ortaya koymaktadr. Gnmzde sadece lks evler ve villalar deil, btn evler ve iyerleri soyulma riski altndadr. Eviniz ve eyalarnz sigortal da olsa bir hrszn evinize ya da iyerinize verecei hasar, hele siz evinizdeyken banza gelebilecek bir hrszlk giriimi, sigortadan karlanamayacak zararlara neden olabilmektedir.

Evinizi ve iyerinizi hrszla kar korumann en etkili yolu bir hrsz alarm sistemi kurdurmaktr. Ama bu sistemlerin fiyatlarndan dolay bir hrsz alarm sistemi kurdurmak klfetlidir. Bu nedenle hrsz alarm sistemini daha az maliyetle ve daha az elemanla uygun olarak gerekletirebilmek iin bu uygulama yaplmtr.

Bu tez almasnda, mikrodenetleyici kullanarak sistem kontrol gerekletirilmitir. Mikrodenetleyici olarak PIC 16F877 kullanlmtr. PIC, mikrodenetleyicisinin bu uygulamada kullanlmas ile, piyasadaki e sistemlere gre daha ucuz ve daha az yer kaplayan kullanm kolay ve az elemanla gerekletirilen bir hrsz alarm sistemi meydana gelmektedir. Bu almada bir PIC (Peripheral Interface Controller) mikrodenetleyicisi iin program yazmak ve gelitirmek zere, PIC BASIC gibi yksek seviyeli program kullanlmtr.

Blm IIde bu uygulamay gerekletirmek iin gerekli eleman ve yntemlerden bahsedilmitir. Blm IIIde bu uygulamada kullanlan PIC 16F877 ye ait temel bilgiler ve balant emalar verilmitir. Blm IVde hrsz alarm sisteminin ve sensrlerin alma prensibinden ve zelliklerinden bahsedilmitir. Blm Vde ise bu uygulamada PICe yklenerek hrsz alarm sisteminin alma eklini belirleyen ana program verilmitir. Blm VIda ise sonu ve neriler bulunmaktadr. 1

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl

BLM II

ELEMANLAR VE YNTEM Bu tez almasnda bir gvenlik sistemi iin kullanlm olan tm elemanlar u ekilde sralayabiliriz.

1) PIC mikrodenetleyicisi (PIC 16F877), 2) Program gelitirme yazlm (PIC BASIC PRO), 3) Programlama yazlm (PROPIC), 4) Programlama devresi, 5) Kiisel bilgisayar, 6) Uygulama devresi, 7) Gvenlik sisteminin kurulaca maket ev. Bu elemanlar inceleyecek olursak;

2.1. PIC Mikrodenetleyicisi Gvenlik sisteminin kontroln salamak amacyla PIC 16F877 mikrodenetleyici kullanlmtr. Bu mikrodenetleyici;

Gvenlik sistemi iin yeterli sayda I/O (giri/k) ucuna sahiptir. 1000 defa programlanp silinebilen EEPROM (Flash) bellee sahiptir. TMR0, TMR1, TMR2 yazlm kesmesine sahiptir. 4-20 Mhz aras yksek bir alma frekansna sahiptir.

2.2. Program gelitirme yazlm (PIC BASIC PRO) Bu tezde PIC mikrodenetleyicisinin programlanmasnda BASIC dili kullanlmtr. Bu dilde program gelitirmek iin PIC BASIC PRO program kullanlmtr. st seviyeli programlama dilleri (rn: PIC BASIC PRO) sayesinde ok daha rahat ve hzl bir ekilde programlama yaplabilmektedir. Ancak bu programlar ok karmak 2

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl sistemlerin zmnde yetersiz kalabilmektedir. Bu durumda yksek seviyeli bir PIC programlama dili ve PIC assembly dili birlikte kullanldnda bu sorun ortadan kalkmaktadr. Yksek seviyeli bu programlama dilinin (PIC BASIC PRO) yararlar bu uygulamada grlmtr.

2.2.1 PIC BASIC PRO Komut Seti PIC BASICin komut seti BASIC programlama dilinin komut setinden alnmtr. BASIC programlama dilinde olmayan komutlar da mevcuttur. izelge 1.de PIC BASIC PRO komutlar bulunmaktadr.

izelge 1. PIC BASIC PRO komut seti @ ADCIN ASMENDASM BRANCH BRANCHL BUTTON CALL CLEAR CLEARWDT COUNT DATA DEBUG DEBUGIN DISABLE DESABLE DEBUG DISABLE INTERRUPT DTMFOUT EEPROM ENABLE ENABLE DEBUG END FORNEXT FREQOUT GOSUB GOTO HIGH HPWM HSERIN HSEROUT I2CREAD I2CWRITE IFTHEN INPUT LCDIN LCDOUT LET LOOKDOWN LOOKDOWN2 LOOKUP LOOKUP2 NAP ON DEBUG ON INTERRUPT OUTPUT OWIN OWOUT PAUSE PAUSEUS PEEK POKE POT PULSIN PULSOUT PWM RANDOM RCTIME READ READCODE RESUME RETURN SELECT CASE SERIN SERIN2 SEROUT SEROUT2 SHIFTIN SHIFTOUT SLEEP SOUND STOP SWAP TOGGLE USBIN USBINIT USBOUT WHILEWEND WRITE WRITECODE XIN XOUT

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl PIC BASIC PRO programlama dilinin tm ynleriyle aklanmas bir kitap konusu olacandan burada sadece bu alma iin gerekli olan komutlar ve bunlarn zelliklerinden bahsedilmitir.

2.2.2 Deikenler ( Variables ) PIC BASIC PRO programlama dilinde tip deiken tipi kullanlmaktadr. Deikenler BT, BYTE veya WORD byklnde olabilmektedir. rnein: K VAR BYTE (Byte byklnde K deikeni)

2.2.3 Etiketler ( Labels ) Etiketler GOTO veya GOSUB gibi komutlara referans tekil etmektedirler. Bu komutlarn icrasndan sonra program etiketle belirtilen satra dallanmaktadr. Etiketler herhangi bir kelime olabilir ve sonuna iki nokta st ste (:) konulmaldr. rnein: Etiket: HIGH PORTB.5

2.2.4 Nmerik sabitler ( Numeric constants ) Nmerik sabitler ekilde tanmlanabilmektedir. Bunlar decimal, binary ve hexadecimaldr. Binary deer tanmlanrken deerin bana % ve hexadecimal deerin bana $iareti konulmaktadr. Decimal deer tanmlanrken herhangi bir iaret kullanlmamaktadr.rnein:

100

: Decimal deer .

%100 : Decimal 4 iin binary deer. $100 : Decimal 256 iin hexadecimal deer.

2.2.5 Portlar PICin herhangi bir portunun istenilen pini giri yada k olarak tanmlanabilmektedir. Daha sonra istenilen deer ilgili porta yklenilebilir. Deerin portaya yklenmesi iin farkl yollar vardr. rnein: TRISB = 0 TRISA=1 : Portbnin tm pinleri k olarak tanmlanmaktadr. : Portbnin tm pinleri giri olarak tanmlanmaktadr.

TRISC = %11110000 : Portbnin ilk drt biti k, son drt biti giri olarak tanmlanmaktadr. 4

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl Ynlendirilen port pinlerine bilgilerin gnderilmesi iin birka yol vardr. rnein:

PORTB =%11110000

: Portbnin ilk drt pinine lojik-0 son drt pinine ise lojik-1 deeri gnderilmektedir .

PORTB = 1

: Portbnin btn pinlerine lojik-1 deeri gnderilmektedir.

HIGH PORTB.4

:PORTBnin

drdnc

pinine

lojik-1

deeri

gnderilmektedir. LOW PORTB.6 : PORTBnin altnc pinine lojik-0 deeri gnderilmektedir.

2.2.6 Zaman gecikmesi ( Pause ) PAUSE, program istenilen bir sre beklemeye almaktadr. En fazla 65535 milisaniyelik bir gecikme salanabilmektedir. Bu da bir dakikann biraz stnde bir deerdir. PAUSE komutundaki deer milisaniye byklndedir. rnein, PAUSE 49000 (49 saniyelik gecikme). Eer 49 saniyelik gecikmeyi assembly kodunda yazmak gerekseydi, u ekilde yazlmalyd.

LIST = P16F877 INCLUDE P16F877.INC SAYI EQU H20 SAYI1 EQU H21 SAYI2 EQU H22 GECIKME MOVLW HFF MOVWF SAYI DONGU MOVLW HFF MOVWF SAYI1 DONGU1

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl MOVLW HFF MOVWF SAYI2 DONGU2 DECFSZ SAYI2,F GOTO DONGU2 DECFSZ SAYI1,F GOTO DONGU1 DECFSZ SAYI GOTO DONGU RETURN Oysa bunu PIC BASIC PRO programlama dilinde PAUSE 49000 eklinde tek satrda gerekletirmek mmkn olmaktadr. Grld zere PIC BASIC PRO ile program yazmak hem ok rahat hem de ok basit olmaktadr.

2.2.7 Dng dzenlemek ( ForNext ) Baz ilemlerin nceden belirlenen sayda tekrarlanmas gerekmektedir. PIC BASIC PRO programlama dilinde bu ii FORNEXT dngs bir saya gibi alarak gerekletirmektedir. FOR komutundan sonra bir deikene ilk deer atanp, bu deikenin sayaca son deer de belirtilmelidir. Ayrca deikenin kaar kaar artaca STEP komutuyla kontrol edilebilmektedir. Son olarak NEXT dngsne gelen program eer son deere ulalmam ise dngsne devam edecektir. rnein:

FOR K=2 to 10 STEP 2 PAUSE 1000 NEXT

Burada k deikeni 2den 10a kadar ikier ikier saymaktadr. Her bir dngde bir saniyelik bir gecikme salanmaktadr. Dng toplam be tur atacandan 5 saniyelik bir gecikme salanm olacaktr.

2.2.8 Kontrol komutlar (IfThen) Baz ilemlerde bir durumun kontrol edilmesi gerekebilir. PIC BASIC PRO programlama dilinde bu ii IFTHEN komutu salar. Bu kontrol deyimi bir veya 6

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl birden ok karlatrmay icra edebilir. IFTHEN kontrolr bir durumun doru (true) veya yanl (false) olmasn karlatrarak deerlendirir. Eer deerlendirme doru ise THEN komutundan sonraki ifade ilenir. Eer deerlendirme yanl ise program bir sonraki satra geecektir. rnein:

IF PORTB.2 = 0 THEN HIGH PORTA.1 ELSE HIGH PORTB.3

Bu program parasnda eer portbnin ikinci pini lojik-0 olmusa portann birinci pini lojik-1 yaplr aksi taktirde portbnin nc pini lojik-1 olacaktr.

2.2.9 Kesmeler ( Interrupts ) PICin port girilerinden veya donanm ierisindeki bir saycdan gelen sinyal nedeniyle belleinde almakta olan programn kesilmesi olayna kesme denilmektedir. Programn kesildii andan itibaren nceden hazrlanan bir alt program almaktadr. Alt program ilevini bitirdikten sonra ana program kald yerden itibaren almasna devam etmektedir. Netice olarak bir kesme, ana program almasn sadece duraklatr, ama hibir zaman ilevinin devam ettirmesini engellememektedir. nterrupt alt programlar kullanarak, program ierisinde kullanlacak komut says azaltlp bir sr mantksal karklklar nlenmektedir. Kesme ilemi ekil 1.de sembolik olarak gsterilmitir.

ekil 1. Kesme ileminin sembolik olarak gsterimi

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl 2.2.9.1 INTCON Register INTCON (nterrupt Control) registeri RAM bellekte h18B adresinde bulunan zel registerden bir tanesidir. Bu register ierisinde her bir kesme kayna iin bir flag ve bir de global kesme bulunmaktadr..izelge 2.de intcon registerin her bir bitinin ne ie yarad gsterilmitir. izelge 2. ntcon register GIE EEIE TOIE INTE RBIE TOIF INTF RBIF

GIE

: Tm kesme ilemlerini iptal etme bayra 0: Tm kesmeler geersiz 1: Aktif yaplm olan tm kesmeler geerli

EEIE

: EEPROM bellee yazma ilemi tamamlama kesmesi 0: Geersiz 1: Geerli

TOIE

: TMR0 sayc kesmesini aktif yapma bayra 0: Geersiz 1: Geerli

INTE

: Harici kesmeyi aktif yapma bayra 0: Geersiz 1: Geerli

RBIE

: PORTB(4, 5, 6, 7.bitleri) deiiklik kesmesini aktif yapma bayra 0: Geersiz 1: Geerli

TOIF

: TMR0 saycs zaman am bayra 0: Zaman am yok 1: Zaman am var

INTF : Harici kesme bayra 0: Harici kesme olumadnda RBIF : PORTB deiiklik bayra 0: RB4~RB7 ularnda deiiklik yok 1: RB4~RB7 ularndan en az birisinde deiiklik var. 8

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl 2.2.9.2 Kesme Kaynaklar Kesme birka yoldan yaplabilir. Bunlardan bazlar: Harici(external) kesme. TMR0 saycsnda oluan zaman am kesmesi. PORTBdeki (4, 5, 6, 7 bitler) lojik seviye deiikliinden. EEPROM bellee yazma ileminin tamamlanmasnda meydana gelen kesme.

Bu almada kullanlan kesme TMR0 saycsndan oluan zaman am kesmesidir.

2.2.9.3 TMR0 Saycs/Zamanlaycs PIC 16F877nin RAM belleinin h101 adresinde TMR0 ad verilen zel bir register vardr. TMR0 programlanabilen bir saycdr. Yani saymaya istenilen bir deerden veya batan balatlabilir. Herhangi bir anda ierii sfrlanabilir. Belli bal zellikleri unlardr. 8-bit bir saycdr. Yazlabilir/okunabilir. Programlanabilen frekans blme deeri ( prescaler value ) vardr. Say art harici veya dahili clock saykl ile yaplabilir. Den ve ykselen kenar tetiklemesi ( harici olarak ) Sayc deeri artan yndedir. TMR0n deeri hFFden h00a geldiinde ilgili flagi 1 yaparak kesme oluturur. TMR0 saycsnn nemli zelliklerinden biri de ana program veya kesme alt

programlar alrken sayma ilemini durdurmamasdr.

2.2.9.4 OPTION Register OPTION register, RAM bellein h81adresinde bulunan zel bir registerdir. TMR0 saycsnn kontrolnde kullanlmaktadr. izelge 3.de bu registerin her bir bitinin ne grevler yapt aklanmtr.

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl

izelge 3. Option register

RBPU 7

INTEDG 6

TOCS 5

TOSE 4

PSA 3

PS2 2

PS1 1

PS0 0

PS0, PS1, PS2 :Frekans blme says

PSA

:Frekans blc seme biti 0:Frekans blme says TMR0 iin geerli 1:Frekans blme says WDT iin geerli

TOSE

:TMR0 sinyal kayna kenar seme biti 0:RA4/TOCKI ucundan den kenar tetiklemesi 1: RA4/TOCKI ucundan ykselen kenar tetiklemesi

TOCS

:TMR0 sinyal kayna seme biti 0:Dahili komut saykl seilir 1:Harici dijital sinyal(RA4/TOCKI ucu)

INTEDG

:Harici kesme sinyali kenar seme biti 0:RB0/INT ucundan den kenarda tetikleme 1: RB0/INT ucundan ykselen kenarda tetikleme

RBPU

:PORTB pull up geerli yapma biti 0:PORTB ularndaki pull-uplar iptal edilir. 1: PORTB ularndaki pull-uplar geerli yaplr

2.2.9.5 Prescaler Kullanlmas Option registerin 0, 1, 2. bitleri (PS0~PS2) ierisine yerletirilen saylar, TMR0 veya WDTye uygulanan sinyali bler. Bylece sayma hzlar deitirilebilir. bitlik bu say TMR0 veya WDTde birbirinden farkl 8 farkl oran seme olana oluturur. 10

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl izelge 4.de prescaler deerleri grlmektedir.

izelge 4. Prescaler deerleri Frekans blme says 000 001 010 011 100 101 110 111 TMR0 Oran 1/2 1/4 1/8 1/16 1/32 1/64 1/128 1/256 WDT oran 1/1 1/2 1/4 1/8 1/16 1/32 1/64 1/128

TMR0 veya WDT sayclarnn ka dahili komut sayklnda bir defa bir st sayya geeceini belirleyen orandr. rnein:

TMR0 oran 1/2 ise, 2 komut sayklnda bir defa st sayya gei olur. TMR0 oran 1/8 ise, 8 komut sayklnda bir defa st sayya gei olur.

Program belleine yerletirilen komutlarn alabilmesi iin harici bir osilatrden clock sinyali ( fosc ) uygulanmas gerekmektedir. Bu frekans PIC tarafndan 4e blnerek OSC2 ucundan darya verilmektedir. te 4e blnen bu frekansn bir saykl bir komutun icras iin geen sreyi belirlemektedir. Bu almada 4 MHzlik bir kristal osilatr kullanlmtr. Bu frekanstaki dahili komut saykl 1MHzdir. Periyodu ise 1sdir. Yani dahili komut saykl 1 sdir. Bir komut 1 slik bir srede icra edilmektedir. Prescaler deeri ile TMR0 saycsnn ka s aralklarla saydn veya ka s aralklarla kesme verdii belirlenmektedir.

rnein, bu almada prescaler deeri b111 seilmitir. Prescaler b111 olduunda TMR0 oran 1/256 olur. (fosc) deeri 4MHz olduundan, komut saykl 1s olmaktadr. Buradan TMR0 saycsnn ierii 256 dahili komut sayklnda bir artt anlalmaktadr. TIMER0 sayma aral bu alma iin 256 sdir. TMR0 saymaya 11

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl baladnda ilk say h00 olduundan TIMER0; 256 s x 256 = 65536 s(65.5ms) aralklarla kesme sinyali verecektir.

2.2.10 Microcode Studio PIC BASIC PRO programlama dilinde yazlan bir program Microcode Studio programnda derlenmektedir (compile). Herhangi bir editrde yazlan PIC BASIC PRO kodlar Microcode Studio programnda derlenebildii gibi, bu programn kendine has editr de bulunmaktadr. ekil 2.de grlmektedir. Microcode Studio programnn ana sayfas

ekil 2. Microcode Studio ana sayfas

2.3. Programlama yazlm (PROPIC) PRO PIC, PIC BASIC ile hazrlanp derlenen Programn PIC mikrodenetleyicisine yklenmesi iin gereken yazlmdr. PICin belleine yklenmek zere, Microcode Studio programnda yazlan program derlenmitir. Hexadecimal kodlar ( derlenmi program ) bilgisayarn paralel portuna balanan programlayc ( PROTOPIC ) aracl ile PICin program belleine yazlmtr. PROTOPIC programlaycsnn PROPIC adnda bir program bulunmaktadr. ekil 3.de PROPICin mens grlmektedir. 12

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl

ekil 3. PROPIC mens

2.4. Programlama devresi PROPIC yazlm ile uyumlu alan ve yazlan programn PIC mikrodenetleyicisine paralel porttan yklemek iin gerekli ekil 4.de gsterilen devredir.

ekil 4. PIC programlama devresi 13

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl 2.5. Kiisel bilgisayar Btn bu ilemleri yapabilmek iin hi de yabanc olmadmz gnmzde hemen hemen her evde, ofiste bulunan bir kiisel bilgisayar kullanlmtr. Yukarda belirtilen ilemleri yapabilmek iin bilgisayarn minimum, Pentium 166 MMX ilemciye ve 10 MB bo hard disk alanna sahip olmas gerekmektedir.

2.6. Uygulama devresi Uygulama devresi, enerji ve osilatr girileri vs. gibi PIC in almas iin gerekli olan gereksinimleri zerinde bulunduran ve PIC ile sensrler, tu takm gibi maket zerindeki elemanlar arasnda iletiimi salayan tarafmdan gerekletirilmi olan ekil 11.de

grlen devredir.

2.7. Gvenlik sisteminin kurulaca maket ev Hrsz alarm kurulacak maket ev ekil 8.de gsterilmi olup Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm

Mikroilemci laboratuarnda bulunmaktadr. ekil 8.de gsterilen maket, kap sensrlerinden, pencere sensrlerinden ve hareket sensrlerinden PICe bilgi aktarmak amacyla yaplmtr. Maketde ekil 8.den de grlecei gibi 5 (be) adet pencere sensr, 1 (bir) adet kap sensr, 2 (iki) adet hareket sensr, ifre girii iin ekil 6.da balantlaryla birlikte grlen 1 (bir) adet tu takm, elemanlarn balantlarnn yapld ve bacak balantlar Tablo 1.de verilmi olan 25 (yirmi be) pinli konnektr, alarm iin ekil 7. da grlen buzzer, uygulama devresi ve sensr enerji beslemeleri iin ekil 5.de grlen 12 V g kayna bulunmaktadr.

ekil 5. 12 V DC g kayna devre emas 14

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl

ekil 6. 3*4 Matris tu takm ematii ve PICe balants

ekil 7. Buzzer balant emas

ekil 8. Hrsz Alarm Sistemi in Yaplan Maket Ev 15

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl Tablo 1. Konnektr bacak balant numaralar Konnektr bacak balant numaras 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Maket elemanlar balant numaras Tu takm Tu takm Tu takm Tu takm Tu takm Tu takm Tu takm Pencere sensr 1 Pencere sensr 1 Hareket sensr 1 Hareket sensr 1 Pencere sensr 2 Pencere sensr 2 Kap sensr 1 Kap sensr 1 Alarm (Buzzer) Alarm (Buzzer) Pencere sensr 5 Pencere sensr 5 Pencere sensr 4 Pencere sensr 4 Hareket sensr 2 Hareket sensr 2 Pencere sensr 3 Pencere sensr 3 PIC 16F877 bacak

balant numaras 22 (D3) 30 (D7) 21 (D2) 29 (D6) 20 (D1) 28 (D5) 19 (D0) 0V -------------------------5V 0V 0V 35 (B2) -----------------------------------5V

16

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl

BLM III

PIC 16F877 MKRODENETLEYCSNE AT TEMEL BLGLER

3.1. PIC 16F877 PIC 16F877 mikrodenetleyicisi motor kontrol uygulamalarndan, gnmz aralar, uzaktan alan sensrler gibi bir ok alanda kullanlmaktadr. zellikle I/O (giri/k) saysnn fazlal, EEPROM (flash) bellee sahip olmalar, geni hafza, alma frekans, TMR yazlm kesmeleri gibi geni zelliklere sahip olmalarndan dolay tercih edilmektedir.

PIC16F877, belki de en popler PIC ilemcisi olan 16F84den sonra kullanclara yeni ve gelimi olanaklar sunmasyla hemen gze arpmaktadr. Program bellei FLASH ROM olan 16F877de yklenen program 16F84de olduu gibi elektriksel olarak silinip yeniden yklenebilmektedir. Aadaki Tablo 2.de 16F877 ve 16F84 ilemcileri arasnda zellik karlatrmas yer almaktadr.

Tablo 2. PIC 16F877 ve PIC 16F84 mikrodenetleyicilerin zellikleri ZELLKLER alma hz Program bellei EEPROM Veri bellei Kullanc RAM Giri/k port says Timer A/D evirici Capture/Comp/PWM Seri evresel arayz Paralel slave port PIC16F877 DC - 20 MHz 8Kx14 word Flash ROM 256 byte 368x8 byte 33 Timer0, Timer1, Timer2 8 kanal 10 bit 16 bit Compare 10 bit PWM znrlk SPI(Master) ve I2C(Master/Slave) modunda SPI portu 8 bit, harici RD,WR ve CS kontrollu 17 PIC 16F84 DC - 10 MHz 1Kx14 word Flash ROM 64 byte 68x8 byte 13 Timer0 YOK YOK YOK YOK

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl 3.2. PIC 16F877 Mikrodenetleyicisinin I/O (giri/k) portlar PIC 16F877 mikrodenetleyicisinde 40 (krk) adet pin bulunmaktadr. Bu pinlerden 29 (yirmi dokuz) tanesi I/O olarak kullanlabilmektedir. Bu I/O portundan 8 tanesi B portunu, 8 tanesi D portunu, 6 tanesi A portunu, 4 tanesi C portunu, 3 tanesi E portunu oluturur. ekil 9.da PIC 16F877 nin pin grn verilmitir.

ekil 9. PIC 16F877 Pin ematii

3.3. PIC 16F877 mikrodenetleyicisinin besleme ve genel alma balantlar PIC 16F877 nin besleme gerilimi 11, 12, 31, 32 numaral pinlerden olumaktadr. 11 ve 32 numaral pinler Vdd ular olup bu ulara 5 V luk gerilim uygulanr. 12 ve 31 numaral pinler Vss ular olup bu ulara topraa balanr. PICe ilk enerji verildii anda gerilim dalgalanmasn nlemek amacyla 100 nF kondansatr Vss ile Vdd arasna balanr. Kullancnn istedii anda program kesip baa dndrmesi iin PICin 1 nolu baca (MCLR) kullanlr. Programn baa dnmesi iin MCLR ucunun 0 V olmas gerekmektedir ve dolaysyla programn normal olarak almas iin MCLR ucunun 5 V olmas gerekir. PICin almas iin PICe clock girii olmaldr. Bu giriler 13 numaral (OSC1) ve 14 numaral (OSC2) ulardr. Bu girilere 4 eit osilatr tipinden biri seilerek balant yaplabilmektedir. Osilatr eitleri Tablo 3.de verilmitir. 18

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl Tablo 3. Osilatr eitleri ve zellikleri Osilatr Tipi LP XT HS RC Tanm Kristal osilatr, seramik rezonatr Kristal osilatr, seramik rezonatr Kristal osilatr, seramik rezonatr Diren/Kapasitr zaman sabiti zellii Asgari akm Genel amal Yksek hz Dk maliyet Frekans 40 Khz 4 Mhz 20 Mhz 4 Mhz

PIC 16F877 iin yukarda bahsettiimiz balantlar kristal osilatr kullanlarak ekil 10. de verilmitir.

ekil 10. PIC 16F877 nin genel alma devresi

19

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl

BLM IV

HIRSIZ ALARM SSTEMNN ALIMA PRENSB

Maket zerinde bulunan kap ve pencere sensrleri kap ve pencereler kapalyken ksa devre, kap ve pencereler akken ise ak devre olurlar. Yani bu sensrlere 5 V luk bir gerilim uygulandnda bir utan uygulanan gerilimi olduu gibi dier uca iletirler fakat kap veya pencerelerden herhangi biri aldnda sensr konta alacandan 5 V luk gerilimi iletmeyecektir. Hareket sensrleri de ayn mantkla almaktadrlar: hareket algland zaman kapal kontak alarak enerjiyi kemektedir. Bu mantkla bu uygulamada PIC mikrodenetleyicisinin komut almas ve program akna gre alarm verme ya da alt programlara dallanma ilemi gerekletirilmektedir. Bu hrsz alarm sisteminin basite alma ekli yledir; Maket zerinde bulunan tu takmndan 5 (be) haneli ifre girilerek enter (#) tuuna baslarak alarm kurulacak (Set), ayn ifre tekrar girildiinde ve enter (#) tuuna basld zaman alarm Reset olacak. nce yldz (*) tuuna basldnda eski ifre doru olarak girildikten sonra 5 haneli yeniifre girilip enter tuuna (#) baslrsa ifre deiir yani ematik olarak (*) , 5 Haneli eski ifre , (#) , 5 Haneli yeni ifre , (#)

Yldz (*) tuuna basldktan sonra yanl ifre girildiinde ifre deiimi gereklemeyecek ve 5 (be) defa hatal ifre girilmesinden sonra alarm alacak.

Alarm set durumundayken pencere sensrlerinden veya hareket sensrlerinden hareket alglandnda alarm alacak. 20

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl Alarm Set durumundayken kap sensrnden kap ald bilgisi geldiinde ieri giren kiinin doru ifreyi girerek alarm Reset etmesi iin 3 () dakika sresi vardr. Kii bu sre ierisinde ifreyi doru olarak giremediyse alarm alacaktr. Kii ifreyi doru girerse alarm Reset olacaktr.

Bu 3 () dakika ierisinde dier sensrlerden alarm al bilgisi gelirse alarm 3 () dakikalk srenin dolmasn beklemeden alarm alar.

Hangi durumda olursa olsun kiinin ifreyi 5 (be) defa yanl girme hakk vardr. Eer kii ifreyi 5 (be) defa yanl girerse hemen alarm alar.

Alarm alarken ifre doru girilirse alarm susacaktr.

21

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl

BLM V.

HIRSIZ ALARM SSTEM N PROGRAM ve DEVRE UYGULAMALARI

5.1. Uygulama Devresi Hrsz alarm sistemi uygulamas iin gerekletirilen maket ev zerinde bulunan sensrler, tu takm, ve buzzer arasndaki iletiimi salamak ve uygun program yazlmn gerekletirebilmek iin yaplan ve ekil 11.de grlen devredir.

Devrede grlen L7805CV voltaj reglatr g kaynandan gelen 12 V luk gerilimi 5 Va drp sabitlemek iin kullanlmtr. Ayrca 4 MHz kristal ve 22 pF kondansatr PICin clock darbesi iin, krmz ve yeil led ise ara ilem sinyal ledleri olarak kullanlmtr. Maket ierisinde bulunan elemanlar ile balant 25 (yirmi be) pinli bir konnektrle yaplmaktadr Tablo 1.de pin balant numaralar verilmitir.

ekil 11. Uygulama devresi 22

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl 5.2. Program Ak emas Bu ak emas bu uygulamadaki alarm sistemi iin istenilen zelliklere gre hazrlanm olup bu ak emasna gre yazlm olan program EK-A da verilmitir. Programlamaya balamadan nce yaplmas istenen programn ak emas karlarak daha rahat program yazm salanmtr.

Bu uygulamada program yazmaya balarken PIC 16F877 tantlmtr. Daha sonra giri/k atamalar register tanmlamalar yaplmtr. Programn icras srasnda herhangi bir hata ile karlamamak iin btn registerler, tm klar balang olarak sfrlanmtr. Bu ilemlerden sonra esas program yazlmtr. Maket zerinde bulunan tu takmndan herhangi bir tua baslmadysa program tua baslana kadar tu tarama ilemine devem etmektedir. Eer tua basldysa baslan tuun kodunu kaydetme ilemi gereklemektedir. Daha sonra baslan tularn kodlar kontrol edilmektedir. Eer kodlar doruysa alarm set/reset olmaktadr. Alarm set olduysa pencere ve kap sensrlerinden bilgi okumaktadr. Sensrlerden alarm bilgisi geldiinde alarm almaktadr. Bu srada tu takm okunmaktadr. Doru ifrenin girilmesiyle alarm susup sistem reset olmaktadr ve tu okumaya devam etmektedir. . ifre doru girilmediyse alarm almaya devam etmektedir. Bu ilemlerin ematik gsterimi ekil 12.de verilmitir.

23

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl

ekil 12. Program ak emas

24

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl

BLM VI

SONU VE NERLER

Bu almada PIC 16F877 mikrodenetleyicisi ile maket bir eve hrsz alarm sistemi tasarlanp gerekletirilmitir. Kontrol ileminin yaplabilmesi iin ilgili blmlerde akland gibi, program gelitirme yazlm, programlama yazlm, programlama devresi ve uygulama devresi gibi baz donanm ve yazlmlarn kullanlmas gerekmektedir.

PIC mikrodenetleyicilerinin, ok geni rn ailesine sahip olmalar, ucuz fiyatlar, EEPROM bellee sahip olmalar, kelime kapasitelerinin yksek olmas vs. gibi zelliklerden dolay gn getike poplerlikleri artmaktadr.

Bu tez almasnda PIC 16F877 kullanlmasndan dolay uzun program yazlmlarna olanak salanmakla birlikte giri/k adetinin fazla olmas da ayr bir rahatlktr. Bu tez almasnda PIC programlama dili olarak PIC BASIC kullanld iin program gelitirmek daha kolay ve daha hzl olmaktadr.

Bu hrsz alarm sistemi uygulamas iin yazlan programn .HEX uzantl dosyasnn bykl 2064x14 bit olduundan ve de sonradan programn gelitirilmesine olanak salamak amacyla PIC 16F877 tercih edilmitir.

Sonu olarak, gnmz koullarnda can ve mal gvenliimizi korumak iin ev veya iyerimize alarm sistemi kurdurma gereksinimi artmaktadr. Ama hrsz alarm sistemlerinin fiyat pahal olduundan bu uygulama oda bir salon ev iin hrsz alarm sistemini ucuz ve gvenilir ekilde gerekletirmek amac ile yaplmtr.

25

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl

EKLER

EK-A. BU UYGULAMA N HAZIRLANMI .BAS DOSYASI


'**************************************************************** '* '* '* '* '* '* '* '* Date Name Author Notice : selcuk.BAS : [set under view...options] : Copyright (c) 2002 [set under view...options] : All Rights Reserved : 22.05.2002 * * * * * * * *

Version : 1.0 Notes : :

'**************************************************************** include "modedefs.bas" trisb = %00000010 trisd = %00011111 i var byte ii var byte iii var byte iiii var byte ikur var byte hane1 var byte hane2 var byte hane3 var byte hane4 var byte hane5 var byte hane6 var byte hane7 var byte hane8 var byte kur var byte hane11 var byte hane22 var byte hane33 var byte hane44 var byte hane55 var byte

26

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl
d var word beskur var byte timerset VAR BYTE timerset = 0 low portb.2 low portb.3 low portb.0 low portb.4 beskur = 0 i = 0 ikur = 0 ii = 0 iii = 0 iiii = 0 kur = 0 ON INTERRUPT GOTO timer1 OPTION_REG = %00000111 INTCON = %10100000 ENABLE interrupt basla1: if kur = 30 then alarmkur1 basla: portd.7 = 0 portd.6 = 0 portd.5 = 0 if portd.3 = 0 then if portd.2 = 0 then if portd.1 = 0 then if portd.0 = 0 then goto basla1 ucuncu_sutun: pause 30 if hane1 = 11 then sifreyaz portd.7 = 1 portd.6 = 1 portd.5 = 0 if portd.3 = 0 then ucuncu_tus portd.7 = 1 portd.6 = 1 portd.5 = 0 if portd.2 = 0 then altinci_tus portd.7 = 1 ucuncu_sutun ucuncu_sutun ucuncu_sutun ucuncu_sutun

27

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl
portd.6 = 1 portd.5 = 0 if portd.1 = 0 then dokuzuncu_tus portd.7 = 1 portd.6 = 1 portd.5 = 0 if portd.0 = 0 then enter_tusu ikinci_sutun: portd.7 = 1 portd.6 = 0 portd.5 = 1 if portd.3 = 0 then ikinci_tus portd.7 = 1 portd.6 = 0 portd.5 = 1 if portd.2 = 0 then besinci_tus portd.7 = 1 portd.6 = 0 portd.5 = 1 if portd.1 = 0 then sekizinci_tus portd.7 = 1 portd.6 = 0 portd.5 = 1 if portd.0 = 0 then sifir_tusu birinci_sutun: portd.7 = 0 portd.6 = 1 portd.5 = 1 if portd.3 = 0 then birinci_tus portd.7 = 0 portd.6 = 1 portd.5 = 1 if portd.2 = 0 then dorduncu_tus portd.7 = 0 portd.6 = 1 portd.5 = 1 if portd.1 = 0 then yedinci_tus portd.7 = 0 portd.6 = 1 portd.5 = 1 if portd.0 = 0 then yildiz_tusu goto basla

28

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl
'************************************************************* ucuncu_tus: i = i + 1 if i = 1 then hane1 = 3 if i = 2 then hane2 = 3 if i = 3 then hane3 = 3 if i = 4 then hane4 = 3 if i = 5 then hane5 = 3 if i = 6 then hane6 = 3 if i = 6 then kontrol bas: if portd.3 = 0 then bas

goto basla altinci_tus: i = i + 1 if i = 1 then hane1 = 6 if i = 2 then hane2 = 6 if i = 3 then hane3 = 6 if i = 4 then hane4 = 6 if i = 5 then hane5 = 6 if i = 6 then hane6 = 6 if i = 6 then kontrol bas1: if portd.2 = 0 then bas1

goto basla dokuzuncu_tus: i = i + 1 if i = 1 then hane1 = 9 if i = 2 then hane2 = 9 if i = 3 then hane3 = 9 if i = 4 then hane4 = 9 if i = 5 then hane5 = 9 if i = 6 then hane6 = 9 if i = 6 then kontrol bas2: if portd.1 = 0 then bas2

goto basla enter_tusu: i = i + 1 if i = 1 then hane1 = 10 if i = 2 then hane2 = 10 if i = 3 then hane3 = 10

29

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl
if i = 4 then hane4 = 10 if i = 5 then hane5 = 10 if i = 6 then hane6 = 10 if i = 6 then kontrol bas4: if portd.0 = 0 then bas4 goto basla ikinci_tus: i = i + 1 if i = 1 then hane1 = 2 if i = 2 then hane2 = 2 if i = 3 then hane3 = 2 if i = 4 then hane4 = 2 if i = 5 then hane5 = 2 if i = 6 then hane6 = 2 if i = 6 then kontrol bas5: if portd.3 = 0 then bas5 goto basla besinci_tus: i = i + 1 if i = 1 then hane1 = 5 if i = 2 then hane2 = 5 if i = 3 then hane3 = 5 if i = 4 then hane4 = 5 if i = 5 then hane5 = 5 if i = 6 then hane6 = 5 if i = 6 then kontrol bas6: if portd.2 = 0 then bas6 goto basla sekizinci_tus: i = i + 1 if i = 1 then hane1 = 8 if i = 2 then hane2 = 8 if i = 3 then hane3 = 8 if i = 4 then hane4 = 8 if i = 5 then hane5 = 8 if i = 6 then hane6 = 8 if i = 6 then kontrol bas7: if portd.1 = 0 then bas7

30

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl
goto basla sifir_tusu: i = i + 1

if i = 1 then hane1 = 0 if i = 2 then hane2 = 0 if i = 3 then hane3 = 0 if i = 4 then hane4 = 0 if i = 5 then hane5 = 0 if i = 6 then hane6 = 0 if i = 6 then kontrol bas8: if portd.0 = 0 then bas8 goto basla birinci_tus: i = i + 1 if i = 1 then hane1 = 1 if i = 2 then hane2 = 1 if i = 3 then hane3 = 1 if i = 4 then hane4 = 1 if i = 5 then hane5 = 1 if i = 6 then hane6 = 1 if i = 6 then kontrol bas9: if portd.3 = 0 then bas9 goto basla dorduncu_tus: i = i + 1 if i = 1 then hane1 = 4 if i = 2 then hane2 = 4 if i = 3 then hane3 = 4 if i = 4 then hane4 = 4 if i = 5 then hane5 = 4 if i = 6 then hane6 = 4 if i = 6 then kontrol bas10: if portd.2 = 0 then bas10 goto basla yedinci_tus: i = i + 1 if i = 1 then hane1 = 7 if i = 2 then hane2 = 7 if i = 3 then hane3 = 7

31

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl
if i = 4 then hane4 = 7 if i = 5 then hane5 = 7 if i = 6 then hane6 = 7 if i = 6 then kontrol bas11: if portd.1 = 0 then bas11 goto basla yildiz_tusu: i = i + 1 if i = 1 then hane1 = 11 if i = 2 then hane2 = 11 if i = 3 then hane3 = 11 if i = 4 then hane4 = 11 if i = 5 then hane5 = 11 if i = 6 then hane6 = 11 if i = 6 then kontrol bas12: if portd.0 = 0 then bas12 goto basla kontrol: i = 0 if hane6 = 10 then karsilastir goto tekrarhak karsilastir: if hane8 = 16 then yenisifregir1

karsilastir0: read 0,hane11 if hane11 = hane1 then karsilastir1 goto tekrarhak karsilastir1: read 1,hane22 if hane22 = hane2 then karsilastir2 goto tekrarhak karsilastir2: read 2,hane33 if hane33 = hane3 then karsilastir3 goto tekrarhak karsilastir3: read 3,hane44 if hane44 = hane4 then karsilastir4 goto tekrarhak

32

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl
karsilastir4: read 4,hane55 if hane55 = hane5 then setreset goto tekrarhak setreset: if hane7 = 15 then yenisifregir if kur = 30 then reset if beskur = 10 then reset alarmkur: i = -1 kur = 30 alarmkur1: high portb.0 pause 25 low portb.0 pause 35 if portb.1 = 1 then alarm goto basla sifreyaz: i = 0 hane1 = 30 hane7 = 15 goto basla yenisifregir: hane8 = 16 high portb.3 pause 700 i = 0 goto basla yenisifregir1: low portb.3 write 0,hane1 pause 10 write 1,hane2 pause 10 write 2,hane3 pause 10 write 3,hane4 pause 10 write 4,hane5 pause 10 high portb.3

33

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl
pause 500 low portb.3 hane8 = 25 i = 0 hane7 = 25 goto basla tekrarhak: hane7 = 25 i = -1 ii = ii + 1 if ii = 5 then alarm high portb.3 pause 60 low portb.3 goto basla alarm: iiii = iiii + 1 if iiii > 1 then cik if ii = 5 then ikur1 i = 0 goto ikur2 ikur1: i = -1 ikur2: ii = 0 iii = 0 beskur = 10 timerset = 10 hane7 = 25 d = 0 high portb.2 low portb.0 pause 10 cik: enable interrupt goto basla reset: i = -1 iii= 0 ii = 0 iiii = 0 kur = 19

34

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl
beskur = 0 low portb.0 pause 10 low portb.2 pause 10 timerset = 10 hane7 = 25 d = 0 goto basla

DISABLE INTERRUPT timer1: if kur <> 30 then CIKIS

if timerset = 80 then cikis3 if portd.4 = 1 then cikis1 goto CIKIS cikis1: timerset = 80 cikis3: asm bcf status,2 bcf status,0 endasm if portd.3 = 0 then if portd.2 = 0 then if portd.1 = 0 then if portd.0 = 0 then asm bcf status,2 bcf status,0 endasm d = d + 1 if d > 35000 then say GOTO CIKIS say: d = 0 CIKIS CIKIS CIKIS CIKIS

timerset = 10 iii = iii + 1 if iii = 1 then CIKIS i = 0 ii = 0 iii = 0

35

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl
hane7 = 25 high portb.2 pause 10 CIKIS: RESUME ENABLE INTERRUPT END

36

C. Seluk KAHYALAR, Bitirme devi, Nide niversitesi, Mhendislik-Mimarlk Fakltesi, Elektrik-Elektronik Mhendislii Blm, 2001-2002 Eitim- retim Yl KAYNAKLAR

1. Altnbaak O., 2000, Mikrodenetleyiciler ve Pic Programlama, Atla Yaynevi, stanbul

2. Turgutlu H.F., 2002, Pic Mikrodenetleyicisi Kullanarak Deneysel Bir Endstriyel Sistemin kontrol edilmesi. Yksek Lisans Tezi, Nide

3. Microchip, 2000, Microchip Tecnical Library CD-ROM, Microchip Tecnology Inc.

4. Antrak Gazetesi, Pic Uygulamalar, http://www.antrak.org.tr

37

You might also like