You are on page 1of 112

T.C.

MLL ETM BAKANLII













ELEKTRK-ELEKTRONK TEKNOLOJS











MKRODENETLEYC LE DJTAL
LEMLER
523EO0021











Ankara, 2012


























Bu modl, mesleki ve teknik eitim okul/kurumlarnda uygulanan ereve
retim Programlarnda yer alan yeterlikleri kazandrmaya ynelik olarak
rencilere rehberlik etmek amacyla hazrlanm bireysel renme
materyalidir.
Mill Eitim Bakanlnca cretsiz olarak verilmitir.
PARA LE SATILMAZ.


i

AIKLAMALAR ................................................................................................................... iii
GR ....................................................................................................................................... 1
RENME FAALYET1 .................................................................................................... 3
1. TEMEL SEVYE DJTAL UYGULAMA DEVRELER .................................................. 3
1.1. Trafik Lambas Uygulama Devresi ............................................................................... 4
1.1.1. Devrenin Malzemeleri ........................................................................................... 6
1.1.2. Ak Diyagram ...................................................................................................... 6
1.1.3. Devrenin emas .................................................................................................... 8
1.1.4. Bask Devresi ......................................................................................................... 9
1.1.5. Devrenin Asm Program ........................................................................................ 9
1.1.6. Programn Simlasyonu....................................................................................... 11
1.2. Merdiven Otomatii Uygulama Devresi ..................................................................... 16
1.2.1. Devrenin Malzemeleri ......................................................................................... 17
1.2.2. Ak Diyagram .................................................................................................... 18
1.2.3. Devre emas ....................................................................................................... 19
1.2.4. Bask Devresi ....................................................................................................... 19
1.2.5. Devrenin Asm Program ...................................................................................... 20
1.3. Drt Aboneli Numaratr Uygulama Devresi .............................................................. 21
1.3.1. LCD nin Yaps ve almas ............................................................................. 21
1.3.2. Devrenin Malzemeleri ......................................................................................... 25
1.3.3. Ak Diyagram .................................................................................................... 27
1.3.4. Devrenin emas .................................................................................................. 28
1.3.5. Bask Devresi ....................................................................................................... 28
1.3.6. Devrenin Asm Program ...................................................................................... 29
1.4. Basketbol Skorbord Uygulama Devresi ...................................................................... 38
1.4.1. Ak Diyagram .................................................................................................... 39
1.4.2. Devre emas ....................................................................................................... 40
1.4.3. Bask Devresi ....................................................................................................... 40
1.4.4. Devrenin Malzemeleri ......................................................................................... 41
1.4.5. Devrenin Asm Program ...................................................................................... 41
1.5. Asenkron Motorun Yldz gen almas ............................................................... 50
1.5.1. Asenkron Motorun Yaps ve almas .............................................................. 50
1.5.2. Devrenin emas .................................................................................................. 55
1.5.3. Bask Devresi ....................................................................................................... 55
1.5.4. Devrenin Malzemeleri ......................................................................................... 56
1.5.5. Devrenin Asm Program ...................................................................................... 56
UYGULAMA FAALYET .............................................................................................. 75
LME VE DEERLENDRME .................................................................................... 76
RENME FAALYET2 .................................................................................................. 77
2. LER SEVYE DJTAL UYGULAMA DEVRELER ................................................... 77
2.1. Drt Girili Kap Pencere Alarm Devresi ................................................................... 77
2.1.1. Devrenin Malzemeleri ......................................................................................... 79
2.1.2. Ak Diyagram .................................................................................................... 80
2.1.3. Devrenin emas .................................................................................................. 81
2.1.4. Bask Devresi ....................................................................................................... 81
2.1.5. Devrenin Asm Program ...................................................................................... 82
NDEKLER

ii
2.2. Elektropnomatik Sistemin PIC ile Kumandas ........................................................... 84
2.2.1. Devrenin Malzemeleri ......................................................................................... 86
2.2.2. Devrenin emas .................................................................................................. 87
2.2.3. Bask Devresi ....................................................................................................... 87
2.2.4. Devrenin Ak Diyagram .................................................................................... 88
2.2.5. Devrenin Asm Program ...................................................................................... 89
2.3. Programlanabilir Zamanlayc ..................................................................................... 90
2.3.1. Devrenin Malzemeleri ve Ak Diyagram .......................................................... 92
2.3.2. Devrenin emas .................................................................................................. 93
2.3.3. Devrenin Asm Program ...................................................................................... 93
2.4. Proje Uygulamas ........................................................................................................ 99
2.4.1. Proje 1 .................................................................................................................. 99
2.4.2. Dijital Saat Uygulamas ..................................................................................... 100
2.4.3. Termometre Uygulamas ................................................................................... 100
2.4.4. Bipolar Adm Motor Denetimi .......................................................................... 100
2.4.5. ifreli Kilit Uygulamas ..................................................................................... 101
UYGULAMA FAALYET ............................................................................................ 102
LME VE DEERLENDRME .................................................................................. 103
MODL DEERLENDRME ............................................................................................ 104
CEVAP ANAHTARLARI ................................................................................................... 106
KAYNAKA ....................................................................................................................... 107


iii
AIKLAMALAR
KOD 523EO0021
ALAN Elektrik Elektronik Teknolojisi
DAL/MESLEK Otomasyon Sistemleri
MODLN ADI Mikrodenetleyici ile Dijital lemler
MODLN TANIMI
Dijital ilemler iin mikrodenetleyicinin programlamas ve
altrlmas ile ilgili bilgi ve becerilerin kazandrld
renme materyalidir.
SRE 40/32
N KOUL Mikrodenetleyici Programlama modln tamamlam olmak
YETERLK Mikrodenetleyici ile dijital ilemleri yapmak
MODLN AMACI
Genel Ama
renci mikrodenetleyici ve evre birimleri kullanarak dijital
ilemler yapabileceksiniz.
Amalar
1. Mikrodenetleyici ile temel seviye dijital ilemleri
gerekletirebileceksiniz.
2. Mikrodenetleyici ile ileri seviye dijital ilemleri
gerekletirebileceksiniz.
ETM RETM
ORTAMLARI VE
DONANIMLARI
Ortam: Atlye
Donanm: Mikrodenetleyici, mikrodenetleyici eitim seti
veya programlama kart, programlama yazlm, haberleme
balant kablosu
LME VE
DEERLENDRME
Modl iinde yer alan her renme faaliyetinden sonra verilen
lme aralar ile kendinizi deerlendireceksiniz.
retmen modl sonunda lme arac (oktan semeli test,
doru-yanl testi, boluk doldurma, eletirme vb.) kullanarak
modl uygulamalar ile kazandnz bilgi ve becerileri
lerek sizi deerlendirecektir.


AIKLAMALAR

1

GR

Sevgili renci,

Gnmzde pek ok i, yapsnda mikro ilemci bulunan makineler ile gerekletirilir.
Mikroilemci (CPU) ile kontrol edilen sistemlerde ilemciden baka RAM, BIOS, G/ gibi
ek birimlere ihtiya duyulur. Bu ekilde hem maliyet artar hem de ilemler zorlar. Btn bu
olumsuzluklar ortadan kaldran devre eleman mikrodenetleyicilerdir. Pek ok firma
mikrodenetleyici (MCU-Micro Controller Unit) retmektedir fakat bir chip(ip) firmasnn
PIC (Pripheral Interface Controller - evre birimlerini kontrol eden nite) adn verdii
denetleme uygulamalarnda geni yer bulmaktadr.

Bu modldeki tm uygulamalarda hem kolay bulunduu hem ucuz olduu hem de
rahat programland iin PIC16F84 kullanlmtr. Modldeki uygulamalar takip ederek
dijital devreler gelitirebilir ve programlayabilirsiniz. Her uygulamada ayr bir konu
anlatlmaktadr. Uygulamalar basitten karmaa doru sralanm ve sizin anlayabileceiniz
sadelikte ilenmitir.

Modln amac, programlama mantn renerek, elektronik devre uygulamalarn
mikrodenetleyiciyle abuk, doru ve kolayca zme yeteneini kazandrmaktr.

Bu modln sonunda program yazabilecek, bu programa ait devreyi yapabilecek
ayrca kendi program ve devrelerinizi retme yeteneine sahip olabileceksiniz.

GR

2

3

RENME FAALYET1



Mikrodenetleyiciyi ve evre elemanlarn seebilecek, dijital ilem iin gerekli
program hatasz olarak yazabilecek, program mikrodenetleyiciye ykleyebilecek ve devreyi
hatasz olarak kurup altrabileceksiniz.



Zaman gecikme dngleri hakknda bilgi edinip ve istenilen srede gecikme
program yaznz.
Kesme (Interrupt) eitlerini renmeli kesme alt programlar yaznz.
Yedi paral gsterge ve LCD gstergelerin kullanm ile ilgili bilgi edininiz.
Asenkron motorlarn yapsn ve almasn reniniz.

Aratrma ilemleri iin Mikrodenetleyici Programlama modln gzden geirirken
internet ortamlarndan da yararlanabilirsiniz.

1. TEMEL SEVYE DJTAL UYGULAMA
DEVRELER

Karmak lojik fonksiyonlar mikrodenetleyici gibi tek bir entegrede toplamtr.
Genelde denetleyiciler tek bana bir sistem olmayp baka bir sistemi ynetmek amacyla
kullanlr.

PIC serisi mikro ilemciler bir chip (ip) firmas tarafndan gelitirilmi ve PIC adyla
anlmaktadr. CMOS teknolojisiyle retilmi olan PIC16F84 ok az enerji harcar.
Programlanmas ve silinmesi kolay olan EPROM bellee sahiptir. Uygulamalarda 4 MHzlik
PIC16F84 mikrodenetleyici kullanlmtr. ekil 1.1de PICin bacak balantlar
grlmektedir.
RENME FAALYET-1

AMA
ARATIRMA

4

ekil 1.1: PIC 16F84n bacak balants
PIC 16F84 ile program gelitirmek iin aadaki donanm ve yazlmlar gereklidir.

Metin editr (Not defteri, word veya MPLAB PFE )
MPASM assembler derleyici (Assembler dilindeki programlar heksadesimal
(HEX) koda evirir.)
PIC programlayc ve yazlm (Seri port iin PICUP program, paralel port iin
PPLITE program)

1.1. Trafik Lambas Uygulama Devresi

PIC 16F84 ile yaplan trafik lambas uygulama devresinde krmz, yeil ve sar olmak
zere adet led bulunmaktadr. Krmz ve yeil ledler 1 dk., sar led ise 3 sn. yank
kalacaktr. Devre ilk altrldnda tm ledler snk durumda olacaktr. Sistem START
butonu ile harekete geirilecek ve devrenin almas istenilen anda RESET" butonu ile
kesilecektir. Ledler krmz, sar, yeil srasna gre yanacak ve tekrar baa dnecektir.

PICin A portu giri, B portu k olarak kullanlmaktadr. Portlardan hangisinin giri
ve k olaca kullancya baldr.

Bu devre, dijital entegreleri kullanlarak da basit bir ekilde yaplabilir. Fakat ledlerin
yank kalma srelerini ayarlamak iin karmak ksm oluturmaktadr. Bu durumda devreye
PIC girer. PICe yazlan programdaki kk deiikliklerle ledlerin yank kalma srelerini
artrlp azaltlabilir. Bu sreleri deitirmek iin gecikme dngleri yazlr.

Tek dng ile yaplan programn sresi ok ksa olduundan en az iki dngl
programlar kullanlr. Tablo 1.1 ve 1.2de verilen zaman gecikme dngleri farkl
uygulamalarda kullanlabilir.

5

GECKME
MOVLW D255 1
MOVWF SAYAC1 1
DNG1
MOVLW D255 255
MOVWF SAYAC2 255
DNG2
DECFSZ SAYAC2,F 255*255
GOTO DONGU2 2*255*255
DECFSZ SAYAC1,F 255
GOTO DONGU1 2*255
RETURN 2
Tablo 1.1: ki dngl zaman gecikme program
Tablo 1.1de toplam 196.608 saykl komut ilenmitir. 4 MHz PIC iin her komut 1S
gecikme saladndan toplam gecikme sresi, 196608*1S =196 ms, yani 0,196 saniye
eder. Bu da yaklak 0,2 saniyeye karlk gelir.

Tablo 1.2de toplam 50.070.529 saykl komut ilenmitir. Toplam gecikme sresi,
50.070.529*1S = 50.070.529 mikrosaniye ve yaklak 50 saniyedir. Bu sre yaklak 1
dakika kabul edilebilir. Drt dngl zaman gecikme programndan yaklak 12.767 sn.lik
bir gecikme elde edilir. Bu da 212 dakika veya 3,5 saattir.

GECKME
MOVLW D255 1 1
MOVWF SAYAC1 1 1
DNG1
MOVLW D255 255 255
MOVWF SAYAC2 255 255
DNG2
MOVLW D255 255*255 650.25
MOVWF SAYAC3 255*255 650.25
DNG3
DECFSZ SAYAC3,F 255*255*255 165.581.375
GOTO DONGU3 2*255*255*255 33.162.750
DECFSZ SAYAC2,F 255*255 650.25
GOTO DONGU2 2*255*255 130.050
DECFSZ SAYAC1,F 255 255
GOTO DONGU1 2*255 510
RETURN 2 2
50.070.529
Tablo 1.2: dngl zaman gecikme program
Sonu olarak dnglerde krmz ile gsterilen deerler deitirilirek dng sreleri
deitirilir. Dngde ilk deer olarak D '255' ile gsterilen ksma 1 ile 255 arasnda deien
bir say girildiinde her bir sayy minimum sre ile arparak gecikme sresi bulunabilir.

6

DNG EN AZ SRE EN OK SRE
2 771 mikrosaniye 196,6 mili saniye
3 0,196 saniye 50 saniye
4 50 saniye 3 saat 32 dakika

Mesela 2li dngde ilk deeri D '125' girilirse 125X 771 =96,375 mili saniye, 3l
dngde ilk deer olarak D '150' girilirse 150X0,196=29,4 saniye ve 4l dngde ilk deer
olarak D '80' girilirse 80X50 = 1 saat 6 dakika 6 sn. elde edilir.

1.1.1. Devrenin Malzemeleri

PIC16F84 4 MHz mikrodenetleyici
4 MHz kristal, buton, led
C1 = C2 = 22pf
R1 = R2 = R3 = 330 diren
R4 = R5 = 10K, R6 = 100

1.1.2. Ak Diyagram

PIC assembler ile bir program yazmadan nce PICe yazlacak program planlamamz
gerekir. Bu planlama ilemi ak diyagramlar ile yaplr. Ak diyagram ilenecek
komutlarn srasdr. Uzun ve karmak programlarda, ak diyagramlar, hangi seviyeden
programn ayrlacan ve hangi komutlar yerine getireceini, sonra tekrar nereye
dneceini gstermesi asndan faydaldr. Ak diyagramlarnn kendine has sembolleri de
vardr.

Gecikme 1 ve gecikme 2 alt programlarnda yalnzca sayalara atanan deerler farkl
olduundan ak diyagramnda GECKME adyla gsterilmitir.

7

Tablo 1.3: Trafik lambas ak diyagram

8
1.1.3. Devrenin emas

ekil 1.2teki devre, proteus programyla izilmitir. Proteus programnda devreyi
kurabilir, PICe hex program yklenip devrenin almas grlebilir. Ayrca kurulan
devrenin bask devresi ares program yardmyla direkt olarak karlabilir.
www.labcenter.co.uk adresinden proteus programn demosunu indirilebilir. Devrenin bask
devresi de ekil 1.3te grlmektedir.

ekil 1.2: Trafik lambas uygulama devresi
Devrede PICin besleme bacaklar gsterilmemitir. 14 nu.l bacak pozitif kaynak
(Vcc ya da Vdd), 5 nu.l bacak ise toprak (GND ya da Vss)tr.


9
1.1.4. Bask Devresi

ekil 1.3: Trafik lambas uygulama bask devresi
1.1.5. Devrenin Asm Program

;========TRAFK LAMBASI UYGULAMA PROGRAMI======S_2005=======

LIST p=16F84
INCLUDE "P16F84.INC"
SAYAC1 EQU H'0C' ; Gecikme alt programlarnda kullanlan deiken
SAYAC2 EQU H'0D' ; Gecikme alt programlarnda kullanlan deiken
SAYAC3 EQU H'0E' ; Gecikme alt programlarnda kullanlan deiken

; Portlar Ayarla
CLRF PORTB ; PORTB yi temizle
BSF STATUS,5 ; BANK1 e ge
CLRF TRISB ; PORTB k
MOVLW H'FF' ; W <-- H'FF'
MOVWF TRISA ; PORTA giri
BCF STATUS,5 ; BANK0 a ge

Start butonuna baslncaya kadar bekle
BUTON
BTFSC PORTA,1 ; PORTAnn 1. biti 0 m?
GOTO BUTON ; Hayr, tekrar test et

; Program krmz, sar ve yeil ledleri srasyla yakarak alr
TRAFIK
MOVLW H'01' ; W <-- B'000000001'
MOVWF PORTB ; Krmz ledi yak

10
CALL GECIKME1 ; 60sn. bekle


MOVLW H'02' ; W <-- B'00000010'
MOVWF PORTB ; Sar ledi yak
CALL GECIKME2 ; 3sn. bekle

MOVLW H'04' ; W <-- B'00000100'
MOVWF PORTB ; Yeil ledi yak
CALL GECIKME1 ; 60sn. bekle

GOTO TRAFIK ; TRAFIK etiketine git.

;=============GECKME ALT PROGRAMLARI======================

GECIKME1 ; 60 snlik gecikme alt program

MOVLW d'255' ; W<--D'255'
MOVWF SAYAC1 ; SAYAC1 <-- W

G1
MOVLW d'255' ; W<--D'255'
MOVWF SAYAC2 ; SAYAC2 <-- W
G2
MOVLW d'255' ; W<--D'255'
MOVWF SAYAC3 ; SAYAC3 <-- W
G3
DECFSZ SAYAC3,F ; Sayac3 bir azalt ve sfr m? kontrol et
GOTO G3 ; Hayr G3e git
DECFSZ SAYAC2,F ; Evet. Sayac2 bir azalt ve sfr m?
GOTO G2 ; Hayr G2ye git
DECFSZ SAYAC1,F ; Evet. Sayac1 bir azalt ve sfr m?
GOTO G1 ; Hayr G1e git
RETURN

GECIKME2 ; 3snlik gecikme alt program

MOVLW d'15' ; W<--D'15'
MOVWF SAYAC1 ; SAYAC1 <-- W

D1
MOVLW d'255' ; W<--D'15'
MOVWF SAYAC2 ; SAYAC1 <-- W
D2
MOVLW d'255' ; W<--D'15'
MOVWF SAYAC3 ; SAYAC1 <-- W

11
D3
DECFSZ SAYAC3,F ; Sayac3 bir azalt ve sfr m? bak
GOTO D3 ; Hayr D3e git
DECFSZ SAYAC2,F ; Sayac2 bir azalt ve sfr m?
GOTO D2 ; Hayr D2ye git
DECFSZ SAYAC1,F ; Sayac1 bir azalt ve sfr m?
GOTO D1 ; Hayr D1e git

RETURN
END

1.1.6. Programn Simlasyonu

Programn PICe yklenmeden nce altrlmas iin MPLAB program kullanlr.
MPLAB yazlm, ilgili firmann sitesinden veya tantm CDlerinden cretsiz bulunabilir.

Bu programda bulunan simlatrle program satr satr altrlp her bir kaydedicinin
ald deeri izlemek mmkndr. Bylece programn istenilen ekilde alp almad
kolaylkla anlalr ve hatalar giderilebilir.

1.1.6.1. Programn Kaydedilmesi ve Derlenmesi

MPLAB program aldnda konfigrasyonun ayarlanmas gerekir. lk olarak PIC
seilir.

Option mens alr.
Development Mode seenei zerine tklanr. ekil 1.4teki pencere alacaktr.
MPLAB SIMi iaretledikten sonra Processor kutusundan 16F84 seilir.
Program yazmak iin File New seenei tklanr ve alan pencrede proje ismi
yazlp OK tuuna baslr.
Program yazlp File Save As seenei ile asm uzantl olarak kaydedilir.
Programn MPLAB iine yazlmas zorunlu deildir. Herhangi bir metin
editrnde de ASM uzantl olarak kaydedilebilir ve MPLAB programnda bu
dosya alabilir.

12

ekil 1.4: Development mode
ASM uzantl dosyann derlenmesi yani hex uzantl dosyaya evrilmesi iin
nce konfigrasyonunu belirlemek gerekir.
Project mensnden Edit Project seildiinde aadaki pencere ekrana
gelir.
Project Files blmndeki Add Nodes butonuna basarak alan pencerede
trafik.asm adyla kaydedilen dosya seilir. Seilen asm dosyas
kaydedilen proje ile ayn klasrde deilse hata verir (ekil 1.5).

ekil 1.5: Proje penceresi
lemler bitince OK tuuna baslp metin editrne geri dnlr.

13
Dosyay derlemek iin Project ara ubuundan ekil 1.6da grlen simgeye
tklanr ya da Project mensnden Built All seenei seilir.

ekil 1.6: Derleme butonu
Kaynak kod dosyas ekil 1.7de gsterildii gibi derlenir. Eer hata yoksa
Built completed succesfully mesaj ile ilem tamamlanr.

ekil 1.7: Derleme admlar
1.1.6.2. MPSIM PIC Simlatr

Derleyicinin grevi, sadece program komutlarnn kuralna gre yazlp yazlmadn
denetlemek ve hexadesimal kodlara evirme ilemini yapmaktr. Eer mantksal hatalar
yapldysa bunlar derlemede ortaya kmaz ve hata olarak kabul edilmez.

MPLAB programnn en nemli zellii de mantksal hatalar aramay kolaylatrc
MPSIM programn iermesidir. MPSIMi kullanmak iin Debug ara ubuu ekrana
getirilir.

14

Run: Simlasyonu balatr.
Halt Processor: Simlasyonu durdurur. Run butonuna tklandnda program
kald yerden devam eder.
Step: Program adm adm altrr. Butona her basta bir komut ilerletir.
Reset: Simlasyonu tmyle durdurup PICi resetler.

Simlasyona balamadan nce

Windows mensnden Program Memory seilerek programn assembly ve
hex kodlarn listeleyen pencere alr.
Windows mensnden Special Function Register seerek program ierisinde
kullandmz registerleri bulunduu pencre alr.
Simlasyon sresince bize gerekli olan ve devaml ak kalmas gereken
Windows mensnden Stopwatch penceresi alr.

ekil 1.12: Simlatrn alma admlar

15
Butona her basta sonraki komutun devreye girdiini ve hangi komut
alyorsa o komutun yer ald satrn seili olduu ekil 1.12de grlebilir.
Devrede START butonuna basldktan sonra devre almaya balamaktadr.
Simlasyon STEP butonuna her basta butona baslyormu gibi ilem yapar.
Buton tanmlamak iin Debug mensnden Simulator Stimulus
seeneinden Asynchronous Stimulusu seilen ekil 1.13teki pencere alr.

ekil 1.13: Debug diyalog penceresi
Bu pencerede Stim1-12 tularna port giri/k ularna bal olan butonlar
atanabilir. Bu girileri high, low ya da toggle yapmak mmkndr.
Stim 1 butonuna RA1 butonuna atamak iin sa tua tklanr.Assign Pin
seilir ve ekil 1.14 penceresinden RA1 seilir. Bylece START butonu
simlasyona dhil edilir.

ekil 1.14: Pin seimi
Debug mensnden Run ve Animate komutu seilir. Bu komutla
program hzl bir ekilde altrlr.
Program ierisinde kullanlan tm registerlerin ierii Special Function
Register penceresinden izlenebilir.

1.1.6.3. Programn PICe Yazdrlmas

PICe program yazmak iin asm kodunun derlenip hex dosyasna evrilmesi gerekir.
Bunun iin MPLAB program ya da MPASM program kullanlr. ekil 1.15te programn
alma ekran grlmektedir.


16

ekil 1.15: MPSAM program
Radix blmnde Hexadecimal seilir.
Warning blmnde Warnings and Errors seilir.
Hex output blmnde INHX8M seilir.
Generated Files blmnde Error File , List File seilir.
Case Sensitive kutusu onaylanr.
Macro Expansions blmnde Default seilir.
Processor penceresinden 16F84 seilir.
Tab size penceresine 8 yazlr.
Browse butonuna tklanp derlenecek dosya seilir.
Program derlemek iin Assemble butonuna tklanr.
Programda hata yoksa Assemly successful mesaj alnr.
Programda hata varsa Errors Found mesaj alnr. Hatalar ERR uzantl
dosyaya kaydedilir.

Program PICe yazmak iin PIC programlaycya ve PIC programlayc yazlmna
ihtiya olacaktr. PICleri programlamak iin ok eitli elektronik devreler kullanmaktadr.
Kullanlan karta uygun olarak da yazlm kullanmak gerekmektedir.

1.2. Merdiven Otomatii Uygulama Devresi

Drt girili merdiven otomatiinde hangi giriten sinyal verilirse verilsin bir k 1
dk. sreyle aktif olacak, lambalar kumanda etmek iin transistr ve rle kullanlacak, 1 dk.
sonunda ise lambalar snecektir. Sistem drt girili olduundan drt tane buton
kullanlacaktr. Hangi butona baslrsa baslsn btn lambalar yanacak ve 1 dk. sonunda

17
snecektir. Merdiven otomatii turn off (gecikmeli snen) olarak alan zamanlayc
devresidir.

Zamanlayc devreleri bir sistemi nceden belirlenmi bir zaman sonunda, zamana
bal fonksiyonlar yerine getiren devrelerdir. Bu tip zamanlayc devreleri birok alanda
kullanlmaktadr.

En basit zaman kontrol iki transistrl bir multivibratrle yaplabilir. Zaman ayar
bir potansiyometre ile yaplr. Bu tip zamanlayclar merdiven otomatii devrelerinde
kullanlr. Bu tip bir multivibratrn en byk mahzuru zamann hassas olmamasdr. Zaman
kat says = RC baldr. Her iki eleman da sya bal olarak deitiklerinden zamanda
ortam ssyla deiir. Bir baka mahzur da, srenin uzamas iin yksek deerli kondansatr
veya diren kullanmakla akmn azalmas ve kondansatrn hi dolmamasdr.

Biraz daha kararl ve basit zamanlayc 555 entegresidir. 555, iinde opamp ve
zamanlayc iin gerekli elemanlar barndran 8 bacakl bir entegredir. ok kk zaman
birimlerinden dakika lekli zaman aralklarna kadar transistrl multivibratrden daha
gvenle kullanlabilir. Ama hassasiyet konusunda gene RC devresinin sl kararll kadar
gvenilirdir. Kararllktan anlamamz gereken her altnda, 1 dakikalk tasarlanm bir
zamanlaycnn hep bir dakika sonunda ilevini yerine getirmesidir.

Kesin bir hassasiyet gerektiren ilerde rnein, verici ve alc devrelerinde kullanlmak
zere kristal kontroll osilatrler gelitirilmitir. Quartz kristaller rezonans frekansna gre
kesilmi ve iki metal plaka arasna hapsedilmi piezoelektrik etkisiyle alan elemanlardr.
Kristale basn uygulandnda titreim yaparak gerilim retir veya deiken gerilim
uygulandnda titreim yaparak d ortama basn uygular ite bu zellie piezoelektrik
denir.

Bir kristal ile kurulmu osilatrn sl kararll bir RC osilatrne gre ok daha
fazladr. Multivibratr ve 555 osilatrlerinin salnm frekans bir potansiyometre yardmyla
deitirilebilir fakat kristalin frekansn kristalin kesildii deer dnda baka salnma
ayarlamak mmkn deildir. Kristal kontroll bir zamanlayc tasarlanmak istendiinde bu
osilatrn k dijital programlanabilir blclerle blnr. Bu blme ilemi titreimlerin
frekansn blme oran kadar azaltr, bu da darbe geniliinin zamannn uzamasna sebep
olur. Pratikte yeterli blc kullanm ile 1 saat, 1 gn, 1 yl ve tesi kadar zaman gecikmesi
veya baka bir deyile zamanlama program elde edilir.
1.2.1. Devrenin Malzemeleri

PIC16F84 4MHz mikrodenetleyici
4MHz kristal
4 x Buton
C1 = C2 = 22pf
R1 = R2 = R3 = R4 = 10K diren
R5 = 1K, R7 = 100
D1 = 1N4148
Q1 = BC548
12V RLE

18
1.2.2. Ak Diyagram

Ana programda butonlar baslp baslmad konrol edilir. Herhangi bir butona
basldnda LAMBA alt program arlr. Lambalar 1 dk. yanp sndkten sonra ana
programa dnlr ve butona baslp baslmad kontrol edilir.

Tablo 1.4: Merdiven otomatii ak diyagram

19
1.2.3. Devre emas

ekil 1.16: Merdiven otomatii devresi
1.2.4. Bask Devresi

ekil 1.17: Merdiven otomatii bask devresi

20
1.2.5. Devrenin Asm Program

;=======MERDVEN OTOMAT UYGULAMA PROGRAMI=====S_2005=====
LIST P=16F84
INCLUDE "P16F84.INC"

SAYAC1 EQU H '0C' ; Gecikme alt program deikeni
SAYAC2 EQU H'0D' ; Gecikme alt program deikeni
SAYAC3 EQU H'0E' ; Gecikme alt program deikeni

BSF STATUS, 5 ; BANK1e ge
CLRF TRISA ; PORTA k
MOVLW H'FF' ; W <-- H'FF'
MOVWF TRISB ; PORTB giri
BCF STATUS,5 ; BANK0ya ge
CLRF PORTA ; PORTA temizle

A1 ; Butonlar kontrol et.
BTFSC PORTB,0
GOTO B1 ; A butonuna basl m?
CALL LAMBA
B1
BTFSC PORTB,1
GOTO C1 ; B butonuna basl m?
CALL LAMBA
C1
BTFSC PORTB,2
GOTO D1 ; C butonuna basl m?
CALL LAMBA
D1
BTFSC PORTB,3
GOTO A1 ; D butonuna basl m?

DONGU ; Sonsuz dng
GOTO DONGU

;============LAMBA ALT PROGRAMI==============

LAMBA
BSF PORTA,1 ; PortA kn aktif yap
CALL GECIKME
BCF PORTA,1 ; PortA kn pasif yap

RETURN
;=============GECKME ALT PROGRAMI======================

21
GECKME ; 60 sn lik gecikme alt program

MOVLW d'255' ; W<--D'255'
MOVWF SAYAC1 ; SAYAC1 <-- W

G1
MOVLW d'255' ; W<--D'255'
MOVWF SAYAC2 ; SAYAC2 <-- W
G2
MOVLW d'255' ; W<--D'255'
MOVWF SAYAC3 ; SAYAC3 <-- W
G3
DECFSZ SAYAC3,F
GOTO G3
DECFSZ SAYAC2,F
GOTO G2
DECFSZ SAYAC1,F
GOTO G1
RETURN

END

1.3. Drt Aboneli Numaratr Uygulama Devresi

1.3.1. LCD nin Yaps ve almas

1.3.1.1. Yaps

7 paral gsterge ile saylarn dnda dier karakterleri, harfleri, iaretleri elde etmek
imknszdr. Bundan dolay karakterleri gsterecek yeni bir hcre yapsna yani LCDye
ihtiya vardr. LCD'ler kendi ilerinde eitlilikler gstermesine ramen temel olarak nokta
matrisli ve grafik ekranl olarak ikiye ayrlr. Kullanm olarak grafik ekran LCD'ler ile daha
fazla ilem yaplabilmesine ramen kullanmda nokta matrisli LCD'ler kolaylk
salamaktadr.

LCDye veri yazmak iin ekran kontrol eden ilemcilere ihtiya duyulur. reticiler
ounlukla HITACHI HD44780 ve bir firmann1602D entegrelerini LCD src entegresi
olarak kullanmaktadr. LCD gstergeler 1x8, 1x16, 2x16, 4x20, 1x40, 2x40 satr/karakter
olarak retilmektedir. Modldeki uygulama devrelerinde 2x16 LCD kullanlmtr.


ekil 1.18: 2x40 LCD

22

Standart LCD modllerinde 8 veri hatt, 3 kontrol hatt ve 3 g hatt ieren 14 tane
pin vardr. Baz LCD modllerinde 16 pin bulunur. Balantlar, genelde 7 pinlik iki sra, ya
da 14 pinlik tek sra eklinde yaplmtr. Her iki yerletirme ekil 1.19da grlmektedir.

ekil 1.19: LCDnin bacak yaplar
Displaylerin ounda pinler, LCD' nin bask devresi zerinde numaralandrlmtr.
Eer numaralandrlmamsa PIN 1'in yerini bulmak olduka kolaydr. Bu pinin topraa
balanmasndan dolay sklkla topraa bir balant yolu vardr ve bir yerlerden genellikle
metal ereveye balanmtr. Bu balantlardan her birinin fonksiyonu Tablo 1.5te
gsterilmitir.

LCD Pinleri levleri
1 Toprak (Vss- Ground)
2 Besleme (Vcc ya da Vdd +5 Volt)
3 Aydnlatma (VO ya da Vee- Kontrast)
4 Kaydedici Seici (RS - Register Select)
5 Oku / Yaz (R/W - Read / Write )
6 Yetki (E - Enable)
7-14 Veri Girileri ( D0-D7 - DATA )
15* LCD Panel (+5 Volt)
16* Toprak (Ground)
Tablo 1.5: LCD pin isimleri ve fonksiyonlar
VO (Kontrast): Displayin kontrastn (parlaklk) ayarlamaya yarayan bir
kontrol ucudur. 1 Klk bir diren zerinden topraa balanr. Buradaki direncin
deerini artrarak kontrast drlebilir, azaltarak ykseltilebilir. 1 Klk ayarl
diren balayarak istee bal olarak deitirilebilir.
RS (Register Select): RS girii lojik 0 olduunda LCDye gnderilen veri
komut olarak alglanr. Lojik 1 olduunda veri karakter veya say olarak
alglanr.
R/W (Read/Write): Bu giri lojik 1 olduunda LCDden veri okuma, lojik
0 olduunda LCDye veri yazma ilemi yaplr.

23
E (Enable): Bu giri aktif yaplnca mikrodenetleyiciden LCDye veri
gnderilebilir. E bacann lojik 1den lojik 0a geii ile LCDye veri transferi
yaplr. Lojik 0dan lojik 1e gemesi ile LCDden veri okunur.
D0-D7 (Data): LCDnin veri girileridir. LCDye 8 bitlik veya iki 4 bitlik veri
transferi yaplabilir. 4 bit modda sadece st 4 bit kullanlr.

1.3.1.2. LCD nin almas

Tablo 1.6da standart LCD panelin komut kaydedicisinin fonksiyonlar gsterilmitir.
Aadaki komutlar kullanabilmek iin nce komut kaydedicisi (RS=0) seilmelidir.

ID= 1 gsterge yazdktan sonra kursr 1 artr. S= 1 gsterge kayar.
ID= 0 gsterge yazdktan sonra kursr 1 azalt. S= 0 gsterge kaymaz.
BF gstergenin hazr olup olmadn gsteren bayraktr.

BF = 1 gsterge megul, komut kabul edilmez.
BF = 0 komut kabul edilir.

Standart LCD Panel Komut Kaydedicisi Fonksiyonlar
lem D7 D6 D5 D4 D3 D2 D1 D0 Aklama
Ekran Sil 0 0 0 0 0 0 0 1 Ekran siler.
Ekran seenekleri 0 0 0 0 1 D C B (D) GSTERGE A (1) / KAPA (0)
(C) Krsr A (1) / KAPA (0)
(B) Yanp Snme A (1) / KAPA (0)
Fonksiyon ayarlar 0 0 1 D N 0 X X (D) Veri girii 8-bit (1) / 4-bit (0)
(N) ift satr (1) / Tek satr (0)
CGRAM Adres
ayar (ilk satrn
adresleri)
0 1 C
5
C
4
C
3
C
2
C
1
C
0
(C5-C0) CGRAMe gidecek veriler.
DDRAM Adres
ayar (ikinci satrn
adresleri)
1 D
6
D
5
D
4
D
3
D
2
D
1
D
0
(D6-D0) DDRAMe gidecek veriler.
Busy Flag / Adres
saya okuma
BF A
C
6
A
C
5
A
C
4
A
C
3
A
C
2
A
C
1
A
C
0
Megul bayra (BF) RW=1, RS=0
iken D7 pininden okunur. D6-D0 dan
adres counter verisi okunur.
Cursor Shift 0 0 0 1 S
C
R
L
X X Shift (1) / Cursor (0) S/C kursr
hareketi ve gsterge kaymas.
Right (1) / Left (0) R/L kayma yn

24
Entry Mode Set 0 0 0 0 0 1 I
D
S Increment (1), Decrement (0)
Shift (1) on (0) off
Kursrn hareket yn (I/D) ve
gstergenin kayma yn (S)
Tablo 1.6: LCD gsterge komutlar

LCD gstergeler (display) 8-bit ve 4-bit olarak alr. 4094, 74164 gibi
kaydran kaydediciler (shift register) entegreleri kullanlarak gstergeler 1-bit
olarak da altrlr. 8-bit ile altnda 11 tane balant (8 tane veri/komut,
RS, RW, E), 4- bit ile altnda 7 tane balant ile gstergeyi denetlemek
gerekir. LCDden herhangi bir veri okunmadnda RW baca lojik 0a
balanr.
LCD gstergeye komut veya veri gnderirken her komut veya veri arasnda bir
miktar beklememiz (gecikme dngs) gerekmektedir. BF bayra kullanlrsa
bu bekleme daha kolaylkla yaplabilir.
Bu uygulama devresinde LCD 4-bit modda kullanlmtr. LCDye g kayna
balannca LCD ierisindeki elektronik devre reset yapar. Fakat baz
durumlarda bu reset devresi tam olarak almayabilir ve LCDyi programla
reset yapmak gerekir. Aada LCDyi reset yapmak iin gerekli admlar
verilmitir.

lk olarak 15 ms beklenir.
LCDye H30 komutu 8-bit olarak gnderilir.
5 ms beklenir.
Yine LCDye H30 komutu 8-bit olarak gnderilir.
160 s beklenir.
3. defa LCDye H30 komutu 8-bit olarak gnderilir.
160 s beklenir (Bu noktada BF bayra kullanlabilir).

LCD resetlendikten sonra aadaki admlar istee gre LCDyi ayarlanabilir.

RS RW D7 D6 D5 D4
Function Set ( 4-bit ile almay belirle) 0 0 0 0 1 0

Function Set ( 4-bit alma ve satr says) 0 0 0 0 1 0
0 0 N 0 * *

Display On/Off Control 0 0 0 0 0 0
(Gsterge ve Kursr a) 0 0 1 1 1 0

Entry Mode Set 0 0 0 0 0 0
(Artan kursr ve gsterge kaymaz) 0 0 0 1 1 0


25
Bu noktadan itibaren veriyi istenilen satra ve stuna yazlabilir. 1. satrn
balang adresi h80 dir. 1. satrda 1X16 LCDde 16 stun bulunur. 2.
satrn balang adresi de hC0dr. LCD resetlendiinde 1. satrn 1.
stunundan verileri yazmaya balar. Tablo 1.7de LCDnin adresleri
bulunur.

80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF
Tablo 1.7: LCD adresleri
Busy flag (Megl Bayra) test: LCD ilem yaparken BF biti lojik-1
olur. Bu durumda baka bir komut gndermek hatalara sebep olur. Bunu
engellemenin iki yolu vardr: Gecikme dngs kullanmak ya da BF
bitini test etmektir. BF bitini test etmek iin k olan pinler nce giri
yaplacak daha sonra veri gnderebilmek iin tekrar k yaplacaktr.

o RS = 0 RW = 0 E= 1 0 komut yazma
o RS = 0 RW = 1 E= 1 0 komut okuma ( BF test)
o RS = 1 RW = 0 E= 1 0 veri yazma

Numaratr devresinde 4 abone bulunmaktadr. Bu abonelerden hangisi ar yaparsa
LCDde abonenin kendisine ait olan ksmnda abonenin ismi yazlrken bir led yanar ve bir
buzzerden sesli uyar yaplr. Buzzer ve led yaklak 30 sn. aktif olur. Aboneler ayn anda
ar yaparsa ar yapan tm abonelerin ismi LCDde gsterilir. Aboneler belli bir sre
sonra ar yaparsa LCD silinir ve son ar yapan abonenin ismi gstergede kalr.

LCDnin ilk satrna ABONE 1 ve ABONE 3 yazdrlr. kinci satrna ise
ABONE 2 ve ABONE 4 yazdrlr.

1.3.2. Devrenin Malzemeleri

PIC16F84 4MHz mikrodenetleyici
4MHz kristal , 4xbuton, led
C1 = C2 = 22pf
R2 = R3 = 1K diren
R1 = R4 = R5 = R6 = R7 = 10K
RV1 = 1K potansiyometre
Q1 = BC237 , Q2 = BD135
12V Rle , D1= 1N4148

Programda ncelikle portlar ayarlanr. Port A k, Port B yksek bitler giri, dk
bitler k olarak ayarlanmtr. Ak diyagramnda kullanlan alt programlar ve grevleri
unlardr:

LCD_AYAR: LCDyi kullanmadan nce bir defa arlr.
LCD_RESET: LCD ilk altrldnda resetlenmelidir. Bunun iin H00
bilgisi LCDye 3 defa 8 bit olarak gnderilir.

26
FUNCTION_SET: LCD 4 bit olarak kullanldndan LCDye H02komutu
ardndan da H28 komutu 4 bit olarak gnderilir. Bunun iin yksek ve dk
bitler blnerek gnderilir. H02 ve H08 eklinde gnderilir.
DISPLAY_ON: Display ak, kursr ve yanp snme kapal olduundan
(Kullancya gre deiebilir). LCDye H0C bilgisi 4 bit olarak gnderilir.
ENTRY_MODE: Bir karakter yazldktan sonra adresin otomatik olarak
artmas iin ve kursrn kaymas iptal edilmesi iin LCDye H06 bilgisi 4 bit
olarak gnderilir.
LCD_KOMUT: LCDye komut yazdrlrken bu alt program arlr. Komut
yazlrken RS = 0, RW = 0 ve E = 1 0a deimelidir.
BF_TEST: Bu alt program kullanlmadnda LCDye veri ve komut
yazarken gecikme dngleri kullanlmaldr. BF (Busy Flag) LCD ilem
yaparken lojik 1 olur. BF bitini okumak iin LCDye bal olan port A
ular giri olarak deitirilir. Okuma ilemi iin RS = 0, RW = 1 ve E =
10 olmaldr. BF biti LCDnin D7 bacandan okunur. Okunan deer
1 ise LCD megul demektir ve BF tekrar test edilir. Okunan deer 0
olduunda LCD megul deildir ve program alt programn arld
yerden devam eder.

MESAJ 1: Programda drt ayr kullanc olduundan drt ayr mesaj bulunur.
Hepsi ayn olduundan yalnzca biri aklanmtr. Mesaj alt program
altndan dolay A1 butonu basl durumdadr. lk nce Buzzer ve led aktif
yaplr. (lojik 1)
LCD_SIL: LCD ye H01bilgisi gnderilerek LCD silinir ve kursr
1.satrn bana alnr.
SATIR_1W: 1.satrn balang adresi H80dir. Kursr 1. satrda
istenilen stuna gtrr.
SATIR_2W: 2.satrn balang adresi HC0 dr. Kursr 2. satrda
istenilen stuna gtrr.

LCDde mesaj yazmak iin satr ve stun belirlendikten sonra BF biti test edilir.

MESAJ_VERISI1: Ekrana yazdrlacak olan mesaj iin bu alt program
arlr. W registerindeki deer ka ise o satrdaki bilgi W register ile geri
gnderilir. Say verisi gndermek iin hexadesimal kodu yazlr. rnein,
H34 yazldnda ekranda 4 grnr.

Gnderilen deer 0 ise alt programdan klr. 0 deilse LCDye veri
gnderilmeye devam edilir.

LCD_YAZ: W registerine yklenen veri LCDye 4 bit olarak gnderilir.
(Yksek ve dk bitler SWAP komutuyla yer deitirilir. Dk bitler
sfrlanr. Yksek bitler LCDye gnderilir. Yksek ve dk bitler tekrar
yer deitirilir. Yksek bitler sfrlanr ve dk bitler LCDye
gnderilir.)
Bunun iin RS = 1 , RW=1 ve E = 1 0 olarak deitirilir.

27
1.3.3. Ak Diyagram


Tablo 1.8: Numaratr ak diyagram
BALA
PORT_KUR
LCD_AYAR
A1
basl
m?
MESAJ4
MESAJ3
MESAJ2
MESAJ1
A2
basl
m?
A3
basl
m?
A4
basl
m?
E
H
E
E
E
H
H
H
MESAJ
BUZZER aktif
LCD_SL
GECKME1
VERICNT = 0
W = 0
SATIR_1W
BF_TEST
RS= 1 VER
RW = 0 YAZMA
MESAJ_VER1
SONU
"0 MI?
LCD_YAZ
VERICNT +1
GECKME2
BUZZER pasif
RETURN
H
E
LCD_AYAR
LCD_RESET
FUNCTION_SET
DISPLAY_ON
ENTRY_MODE
RETURN

28
1.3.4. Devrenin emas

ekil 1.20: Numaratr uygulama devresi
1.3.5. Bask Devresi

ekil 1.21: Numaratr bask devresi

29
1.3.6. Devrenin Asm Program

Dier programlardan farkl olarak DEFINE komutu kullanlmtr. Bu komut bit
adreslemesini tanmlamay salar.

#DEFINE RS PORTA , 2 RS EQU 2
BSF RS BSF PORTA, 2

;=====NUMARATR DEVRES UYGULAMA PROGRAMI======S_2005=====

LIST P=16F84
INCLUDE "P16F84.INC"
#DEFINE RS PORTB,2
#DEFINE RW PORTB,1
#DEFINE EN PORTB,0
SAYAC1 EQU H'11' :Gecikme dngs deikeni
SAYAC2 EQU H'12' : Gecikme dngs deikeni
SAYAC3 EQU H'13' : Gecikme dngs deikeni
VERICNT EQU H'14'
TEMP EQU H'15'
TEMP0 EQU H'16'
TEMP1 EQU H'17'
CX EQU H'18'

BASLA;..........................................................................................................

CALL PORT_KUR : Portlar kur
CALL LCD_AYAR :LCD ilk kullanm iin ayarla
TUS_ARA
BCF PORTB,3 :Buzzer ve led lojik 0
BTFSS PORTB,7 :A1 butonuna basl m?
CALL MESAJ1 :MESAJ1e git
BTFSS PORTB,6 :A2 butonuna basl m?
CALL MESAJ2 :MESAJ2ye git
BTFSS PORTB,5 :A3 butonuna basl m?
CALL MESAJ3 :MESAJ3e git
BTFSS PORTB,4 :A4 butonuna basl m?
CALL MESAJ4 :MESAJ4e git
GOTO TUS_ARA :Butona basl m tekrar kontrol et?
TEKRAR
GOTO TEKRAR

30

PORT_KUR;......................................................................................................
MOVLW H'F0'
TRIS PORTB : PORTB RBH (Giri), RBL (k)
MOVLW H'00'
TRIS PORTA : PORTA k
CLRF VERICNT : VERICNT 0
RETURN

LCD_AYAR ;...........................................................................................
CALL LCD_RESET : LCD Resetle
CALL FUNCTION_SET : 4 bit mod ve iki satr aktif
CALL DISPLAY_ON : Ekran a ve kursr kapat
CALL ENTRY_MODE : Krsr 1 artan mod
RETURN

LCD_RESET;..............................................................................................
CALL GECIKME1
MOVLW H'03'
MOVWF CX
RESET MOVLW H'00'
MOVWF PORTA
CALL LCD_KOMUT
DECFSZ CX,1 :CX CX -1
GOTO RESET
RETURN

FUNCTION_SET;.....................................................................................
MOVLW H'02' : 4 bit mod
MOVWF PORTA
CALL LCD_KOMUT
MOVLW H'02' : 4 bit mod
MOVWF PORTA
CALL LCD_KOMUT
MOVLW H'08' : 2 satr
MOVWF PORTA
CALL LCD_KOMUT
RETURN

31

DISPLAY_ON;.............................................................................................
MOVLW H'00'
MOVWF PORTA
CALL LCD_KOMUT
MOVLW H'0C' : LCD on
MOVWF PORTA
CALL LCD_KOMUT
RETURN

ENTRY_MODE;.......................................................................................................
MOVLW H'00'
MOVWF PORTA
CALL LCD_KOMUT
MOVLW H'06' : Kursr 1 artan mod
MOVWF PORTA
CALL LCD_KOMUT
RETURN
LCD_SIL;.......................................................................................................................

MOVLW H'00'
MOVWF PORTA
CALL LCD_KOMUT
MOVLW H'01' : Ekran temizle, kursr 1. satr 1.stunda
MOVWF PORTA
CALL LCD_KOMUT
RETURN
LCD_YAZ;.....................................................................................................................
MOVWF TEMP : TEMP W
SWAPF TEMP,F : st 4 bit ile alt 4 biti yer deitir
MOVF TEMP,W : st 4 biti al
MOVWF PORTA : LCDye gnder
BSF EN : E 1
NOP : Bekle
BCF EN : E 0
CALL BF_TEST : Megul bayran test et
BSF RS : RS 1 Veri
BCF RW : RW 0 Yaz
SWAPF TEMP,F : Yazlacak verinin tekrar st 4 biti
MOVF TEMP,W : alt 4 bitini yer deitir
MOVWF PORTA : LCD ye gnder
BSF EN : E 1
NOP : Bekle
BCF EN : E 0
RETURN

32
LCD_KOMUT;................................................................................................................
CALL BF_TEST : BF test et
BCF RS : RS 0 Komut
BCF RW : RW 0 Yaz
BSF EN : E 1
NOP : Bekle
BCF EN : E 0
RETURN

BF_TEST;...................................................................................................................
BSF STATUS,5 :Bank 1e ge
MOVLW H'FF'
MOVWF TRISA : PORTA Giri
BCF STATUS,5 : Bank 0 ge
BCF RS : Veri
BSF RW : LCD Oku
BSF EN : E 1
MOVF PORTA,W : LCDden gelen bilgileri W aktar
BCF EN : E 0
ANDLW H'F0' : st 4 biti sfrla
MOVWF TEMP1 : TEMP1de sakla
SWAPF TEMP1,F : Alt 4 bit ile st 4 biti yer deitir
BSF EN : E 1
GOTO $+1 : Bir alt satra git
BCF EN : E 0
BTFSC TEMP1,7 : BF = 1 mi?
GOTO BF_TEST : Evet , BFyi tekrar test et
BSF STATUS,5 : Hayr
CLRF TRISA : PORTA k
BCF STATUS,5
RETURN

SATIR1W;.............................................................................................................................

MOVWF TEMP0 : TEMP0 W
MOVLW H'08' : LCD 1. satr aktif
MOVWF PORTA
CALL LCD_KOMUT
MOVF TEMP0,W
MOVWF PORTA : 1. satrda W stununa git
CALL LCD_KOMUT
RETURN

33
SATIR2W;.........................................................................................................................

MOVWF TEMP0 : TEMP0 W
MOVLW H'0C' : LCD 2. satr aktif
MOVWF PORTA
CALL LCD_KOMUT
MOVF TEMP0,W
MOVWF PORTA : 2. satrda W stununa git
CALL LCD_KOMUT
RETURN

MESAJ1;........................................................................................................................
BSF PORTB,3 :Buzzer aktif
CALL LCD_SIL : LCD temizle
CALL GECIKME1 : Bekle
MOVLW H '00'
MOVWF VERICNT :VERICNT 0
MOVLW H '00'
CALL SATIR1W : 1.satrn 1. stununa git
M1 CALL BF_TEST : BF test et
BSF RS : RS 1 Veri
BCF RW : RW 0 Yaz
MOVF VERICNT,W : W VERICNT
CALL MESAJ_VERISI1 : Veriyi al
IORLW 0 : 0 ile test et
BTFSC STATUS,2 : Sonu 0 m?
GOTO MESAJ1_SON : Evet MESAJ1_SON etiketine git
CALL LCD_YAZ : Hayr veriyi LCD gnder
INCF VERICNT,F : Bir sonraki veriyi adresle
GOTO M1 : Veri yazma ilemine devam et
MESAJ1_SON
CALL GECIKME2 : Buzzer ve led iin gecikme
BCF PORTB,3 : Buzzer pasif
RETURN

34
MESAJ2;........................................................................................................................
BSF PORTB,3 :Buzzer aktif
CALL LCD_SIL : LCD temizle
CALL GECIKME1 : Bekle
MOVLW H '00'
MOVWF VERICNT :VERICNT 0
MOVLW H '00'
CALL SATIR2W : 2.satrn 1. stununa git
M2 CALL BF_TEST : BF test et
BSF RS : RS 1 Veri
BCF RW : RW 0 Yaz
MOVF VERICNT,W : W VERICNT
CALL MESAJ_VERISI2 : Veriyi al
IORLW 0 : 0 ile test et
BTFSC STATUS,2 : Sonu 0 m?
GOTO MESAJ2_SON : Evet MESAJ2_SON etiketine git
CALL LCD_YAZ : Hayr veriyi LCD gnder
INCF VERICNT,F : Bir sonraki veriyi adresle
GOTO M2 : Veri yazma ilemine devam et
MESAJ2_SON
CALL GECIKME2 : Buzzer ve led iin gecikme
BCF PORTB,3 : Buzzer pasif
RETURN

MESAJ3;........................................................................................................................
BSF PORTB,3 : Buzzer aktif
CALL LCD_SIL : LCD temizle
CALL GECIKME1 : Bekle
MOVLW H '00'
MOVWF VERICNT : VERICNT 0
MOVLW H '09'
CALL SATIR1W : 1.satrn 9. stununa git
M3 CALL BF_TEST : BF test et
BSF RS : RS 1 Veri
BCF RW : RW 0 Yaz
MOVF VERICNT,W : W VERICNT
CALL MESAJ_VERISI3 : Veriyi al
IORLW 0 : 0 ile test et
BTFSC STATUS,2 : Sonu 0 m?
GOTO MESAJ3_SON : Evet MESAJ3_SON etiketine git
CALL LCD_YAZ : Hayr veriyi LCD gnder
INCF VERICNT,F : Bir sonraki veriyi adresle
GOTO M3 : Veri yazma ilemine devam et


35

MESAJ3_SON
CALL GECIKME2 : Buzzer ve led iin gecikme
BCF PORTB,3 : Buzzer pasif
RETURN
MESAJ4;........................................................................................................................
BSF PORTB,3 : Buzzer aktif
CALL LCD_SIL : LCD temizle
CALL GECIKME1 : Bekle
MOVLW H '00'
MOVWF VERICNT VERICNT 0
MOVLW H '09'
CALL SATIR2W : 2.satrn 9. stununa git
M4 CALL BF_TEST : BF test et
BSF RS : RS 1 Veri
BCF RW : RW 0 Yaz
MOVF VERICNT,W : W VERICNT
CALL MESAJ_VERISI4 : Veriyi al
IORLW 0 : 0 ile test et
BTFSC STATUS,2 : Sonu 0 m?
GOTO MESAJ4_SON : Evet MESAJ4_SON etiketine git
CALL LCD_YAZ : Hayr veriyi LCDye gnder
INCF VERICNT,F : Bir sonraki veriyi adresle
GOTO M4 : Veri yazma ilemine devam et
MESAJ4_SON
CALL GECIKME2 : Buzzer ve led iin gecikme
BCF PORTB,3 : Buzzer pasif
RETURN

MESAJ_VERISI1;.......................................................................................................
ADDWF PCL,F : PCL = PCL + W ile veriyi adresle
RETLW 'A'
RETLW 'B'
RETLW 'O'
RETLW 'N'
RETLW 'E'
RETLW ' '
RETLW H'31'
RETLW 0
MOVF PCL,W : stenilen karakteri W registerine al
RETURN

36
MESAJ_VERISI2;........................................................................................................
ADDWF PCL,F : PCL = PCL + W ile veriyi adresle
RETLW 'A'
RETLW 'B'
RETLW 'O'
RETLW 'N'
RETLW 'E'
RETLW ' '
RETLW H'32'
RETLW 0
MOVF PCL,W : stenilen karakteri W registerine al
RETURN

MESAJ_VERISI3;..........................................................................................................
ADDWF PCL,F : PCL = PCL + W ile veriyi adresle
RETLW 'A'
RETLW 'B'
RETLW 'O'
RETLW 'N'
RETLW 'E'
RETLW ' '
RETLW H'33'
RETLW 0
MOVF PCL,W : stenilen karakteri W registerine al
RETURN

MESAJ_VERISI4;.........................................................................................................
ADDWF PCL,F : PCL = PCL + W ile veriyi adresle
RETLW 'A'
RETLW 'B'
RETLW 'O'
RETLW 'N'
RETLW 'E'
RETLW ' '
RETLW H'34'
RETLW 0
MOVF PCL,W : stenilen karakteri W registerine al
RETURN

37
GECIKME1;.................................................................................................................
MOVLW D'65'
MOVWF SAYAC1 : 50 mslik gecikme alt program
G1 MOVLW D'255'
MOVWF SAYAC2
G2 DECFSZ SAYAC2,F
GOTO G2
DECFSZ SAYAC1,F
GOTO G1
RETURN


GECIKME2;...............................................................................................................
MOVLW D'155'
MOVWF SAYAC1 : 30 snlik gecikme alt program
D1 MOVLW D'255'
MOVWF SAYAC2
D2 MOVLW D'255'
MOVWF SAYAC3
D3 DECFSZ SAYAC3,F
GOTO D3
DECFSZ SAYAC2,F
GOTO D2
DECFSZ SAYAC1,F
GOTO D1
RETURN
END


38
1.4. Basketbol Skorbord Uygulama Devresi

Basketbol skorbord devresinde iki takm iin iki ayr buton grubu bulunacaktr.
Butonlarla skor artrlp azaltlabilecek ve sonular 2x16 LCDde gsterilecektir.

Takmlar A ve B olarak isimlendirilir. A LCDnin 1. satr 4. stununa, B ise 1.
satr 11. stununa yazlr. A takmnn skoru 2.satrn 3.stunundan itibaren B takmnn
skoru ise 2. satrn 10. stunundan itaberen yazdrlr.

LCDye karakter yazdrlrken karakterin onaltlk kodu kullanlr. Basketbolda skor
en fazla 3 basamakl bir saydan oluur. Bu sayy LCDye gndermek iin say
basamaklarna ayrlr ve karakterler tek tek gnderilir. rnein, 123 says 1 sol karakter,
2 orta karakter ve 3 sa karakter olarak blnr. nce sol karakter, sonra orta karakter
ve son olarak da sa karakter LCDye gnderilir. Saylar artrmak ve azaltmak iin
aadaki sra takip edilir.

Sayy artrmak iin,

Sa karakter 1 artrlr. Onluk say sisteminde en son karakter 9 (H39) dur.
Sa karakterin 9u ap amad kontrol edilir. Bunun iin sa karakter H3A
saysyla karlatrlr.
Sa karakter 9u atnda orta karakter 1 artrlr. Orta karakter en fazla 9a
kadar artrlr. 9u atnda sol karakter artrlr.
999 saysna ulalrsa say karakterleri sfrlanr.
rnein 099 says artrldnda,
Sa karakter 9u at iin 0a eitlenir ve orta karakter bir artrlr.
Orta karakter 9u at iin 0a eitlenir ve sol karakter bir artrlr.
Sol karakter=1, orta karakter=0 ve sa karakter= 0 olur.

Sayy azaltmak iin
Sa karakterin 0 olup olmad kontrol edilir ( h30). Sfr deilse say bir
azaltlr. Sfra eitse orta karakterin 0a eit olup olmad kontrol edilir.
Orta karakter sfr deilse sol karakter 1 azaltlr ve sa karakter 9a eitlenir.
Orta karakter sfr ise sol karakterin 0a eit olup olmadna baklr. Sfra
eitse sayda hibir deiiklik yaplmaz.
Sfra eit deilse sol karakter 1 azaltlr. Orta ve sa karakter 9a eitlenir.
rnein 100 says azaltldnda,
Sa karakterin 0a eit olup olmad kontrol edilir. Sfra eit orta
karaktere geilir.
Orta karakter kontrol edilir. Sfra eit olduundan sol karaktere geilir.
Sol karakter sfra eit olamadndan 1 azaltlr. Sa ve orta karakter 9
yaplr. Sonuta say 099 olur.

39
1.4.1. Ak Diyagram

Tablo 1.9: Skorbord ak diyagram
BALA
A +
?
B_AZAL
B_ART
A_AZAL
A_ART
A
?
B+
?
B-
?
E
H
E
E
E
H
H
H
PORT_KUR
LCD_AYAR
A_SIFIR
B_SIFIR
MESAJ1
MESAJ2
MESAJ3
A_ART
SA_K1 bir artr
SA_K1 = H 3A ?
Z=1
mi?
SA_K1=0
ORTA_K bir artr
ORTA_K1 = H 3A ?


Z= 1
mi?
ORTA_K1=0
SOL_K1 bir artr
SOL_K1 = H 3A ?

Z= 1
mi?
A_SIFIR
MESAJ2
RETURN
E
E
E
H
H
H

40
1.4.2. Devre emas

ekil 1.22: Basketbol skorbord devresi
1.4.3. Bask Devresi

ekil 1.23: Basketbol skorbord bask devresi

41
1.4.4. Devrenin Malzemeleri

PIC16F84 4 MHz mikrodenetleyici
4MHz kristal, 4xbuton, led
C1 = C2 = 22pf
R2 = 1K diren
R1 = R3 = R4 = R5 = R6 = 10K
RV1 = 1K potansiyometre

1.4.5. Devrenin Asm Program

Programda deiken tanmlamalar CBLOCK ENDC komutuyla yaplmtr. EQU
komutu kullanarak bir deere eitlenen herhangi bir deikenin deeri program ierisinde
deitirilemez. Bu da programn istediiniz gibi almasn engeller. CBLOCK ENDC
komutu bir grup deikene deer vermek iin kullanlr. CBLOCKtan sonra yazlan adres
deeri srasyla tm deikenlere birer artarak atanr.

;=============SKORBOARD UYGULAMA PROGRAMI======S_2005========

LIST P=16F84
INCLUDE P16F84.INC
#DEFINE RS PORTB,2
#DEFINE RW PORTB,1
#DEFINE EN PORTB,0

CBLOCK H'10' : Deikenleri tanmla
CX
TEMP
TEMP0
TEMP1
SOL_K1
ORTA_K1
SAG_K1
SOL_K2
ORTA_K2
SAG_K2
SAYAC1
SAYAC2
ENDC

42

BALA;........................................................................................................................
CALL PORT_KUR : Portlar ayarla
CALL LCD_AYAR : LCD ilk kullanm iin ayarla
CALL A_SIFIR : A takmnn deikenlerini sfrla
CALL B_SIFIR : B takmnn deikenlerini sfrla
CALL MESAJ1 : 1. satra A ve B yaz
CALL MESAJ2 : 2. satra takm Ann ilk puann yaz
CALL MESAJ3 : 2. satra takm Bnin ilk puann yaz
BUTON
BTFSS PORTB,7 : Tular kontrol et
CALL A_ART
BTFSS PORTB,6
CALL A_AZAL
BTFSS PORTB,5
CALL B_ART
BTFSS PORTB,4
CALL B_AZAL
GOTO BUTON

PORT_KUR;....................................................................................................
BSF STATUS,5
CLRF TRISA
MOVLW H'F0'
MOVWF TRISB
BCF STATUS,5
RETURN

LCD_AYAR ;...............................................................................................
CALL LCD_RESET : LCD Resetle
CALL FUNCTION_SET : 4 bit mod ve iki satr aktif
CALL DISPLAY_ON : Ekran a ve kursr kapat
CALL ENTRY_MODE : Kursr 1 artan mod
RETURN

LCD_RESET;..............................................................................................
CALL GECIKME1
MOVLW H'03'
MOVWF CX
RESET MOVLW H'00'
MOVWF PORTA
CALL LCD_KOMUT
DECFSZ CX,1 : CX CX -1
GOTO RESET
RETURN


43
FUNCTION_SET;...........................................................................................
MOVLW H'02' : 4 bit mod
MOVWF PORTA
CALL LCD_KOMUT
MOVLW H'02' : 4 bit mod
MOVWF PORTA
CALL LCD_KOMUT
MOVLW H'08' : 2 satr
MOVWF PORTA
CALL LCD_KOMUT
RETURN

DISPLAY_ON;.....................................................................................................
MOVLW H'00'
MOVWF PORTA
CALL LCD_KOMUT
MOVLW H'0C' : LCD on
MOVWF PORTA
CALL LCD_KOMUT
RETURN

ENTRY_MODE;.......................................................................................................
MOVLW H'00'
MOVWF PORTA
CALL LCD_KOMUT
MOVLW H'06' : Kursr 1 artan mod
MOVWF PORTA
CALL LCD_KOMUT
RETURN

LCD_SIL;.......................................................................................................................

MOVLW H'00'
MOVWF PORTA
CALL LCD_KOMUT
MOVLW H'01' : Ekran temizle, krsr 1.satr 1.stunda
MOVWF PORTA
CALL LCD_KOMUT
RETURN

44

LCD_YAZ;.....................................................................................................................
MOVWF TEMP : TEMP W
SWAPF TEMP,F : st 4 bit ile alt 4 biti yer deitir.
MOVF TEMP,W : st 4 biti al
MOVWF PORTA : LCDye gnder.
BSF EN : E 1
NOP : Bekle
BCF EN : E 0
CALL BF_TEST : Megul bayran test et
BSF RS : RS 1 Veri
BCF RW : RW 0 Yaz
SWAPF TEMP,F : Yazlacak verinin tekrar st 4 biti
MOVF TEMP,W : alt 4 bitini yer deitir
MOVWF PORTA : LCDye gnder
BSF EN : E 1
NOP : Bekle
BCF EN : E 0
RETURN

LCD_KOMUT;................................................................................................................
CALL BF_TEST : BF test et
BCF RS : RS 0 Komut
BCF RW : RW 0 Yaz
BSF EN : E 1
NOP : Bekle
BCF EN : E 0
RETURN

BF_TEST;...................................................................................................................
BSF STATUS,5 : Bank 1e ge
MOVLW H'FF'
MOVWF TRISA : PORTA Giri
BCF STATUS,5 : Bank 0a ge
BCF RS : Veri
BSF RW : LCD Oku
BSF EN : E 1
MOVF PORTA,W : LCDden gelen bilgileri W aktar.
BCF EN : E 0
ANDLW H'F0' : st 4 biti sfrla
MOVWF TEMP1 : TEMP1de sakla
SWAPF TEMP1,F : Alt 4 bit ile st 4 biti yer deitir.
BSF EN : E 1
GOTO $+1 : Bir alt satra git
BCF EN : E 0
BTFSC TEMP1,7 : BF = 1 mi?
GOTO BF_TEST : Evet, BFyi tekrar test et

45
BSF STATUS,5 : Hayr
CLRF TRISA : PORTA k
BCF STATUS,5
RETURN

SATIR1W;.............................................................................................................................

MOVWF TEMP0 : TEMP0 W
MOVLW H'08' : LCD 1. satr aktif
MOVWF PORTA
CALL LCD_KOMUT
MOVF TEMP0,W
MOVWF PORTA : 1. satrda W stununa git
CALL LCD_KOMUT
RETURN

SATIR2W;.........................................................................................................................

MOVWF TEMP0 : TEMP0 W
MOVLW H'0C' : LCD 2. satr aktif
MOVWF PORTA
CALL LCD_KOMUT
MOVF TEMP0,W
MOVWF PORTA : 2. satrda W stununa git
CALL LCD_KOMUT
RETURN
A_SIFIR;.....................................................................................................................
MOVLW H'30' : 1. saynn karakterlerine H30
MOVWF SOL_K1 : yani 0 ykle
MOVWF ORTA_K1
MOVWF SAG_K1
RETURN

B_SIFIR;..............................................................................................................
MOVLW H'30' : 2. saynn karakterlerine H30
MOVWF SOL_K2 : yani 0 ykle
MOVWF ORTA_K2
MOVWF SAG_K2
RETURN

46

MESAJ1.
MOVLW H'04' : LCDnin 1. satrn 4. stununa git.
CALL SATIR1W
CALL BF_TEST : BF test et
BSF RS : RS 1 Veri
BCF RW : RW 0 Yaz
MOVLW H'41' : Ekrana A yaz
CALL LCD_YAZ
MOVLW H'0B' : LCDnin 1.satr 11. stununa git.
CALL SATIR1W
CALL BF_TEST : BF test et
BSF RS : RS 1 Veri
BCF RW : RW 0 Yaz
MOVLW H'42' : Ekrana B yaz
CALL LCD_YAZ
RETURN

MESAJ2..
MOVLW H'03' : LCDnin 2. satr 3. stununa git
CALL SATIR2W
CALL BF_TEST : BF test et
BSF RS : RS 1 Veri
BCF RW : RW 0 Yaz
MOVF SOL_K1,W : W SOL_K1
CALL LCD_YAZ : ilk saynn sol karakterini ekrana yaz
CALL BF_TEST : BF test et
BSF RS : RS 1 Veri
BCF RW : RW 0 Yaz
MOVF ORTA_K1,W : lk saynn orta karakterini ekrana yaz
CALL LCD_YAZ
CALL BF_TEST : BF test et
BSF RS : RS 1 Veri
BCF RW : RW 0 Yaz
MOVF SAG_K1,W : lk saynn sa karakterini ekrana yaz
CALL LCD_YAZ
RETURN

47

MESAJ3..
MOVLW H'0A' : LCDnin 2. satr 10. stununa git.
CALL SATIR2W
CALL BF_TEST : BF test et
BSF RS : RS 1 Veri
BCF RW : RW 0 Yaz
MOVF SOL_K2,W : W SOL_K1
CALL LCD_YAZ : ikinci saynn sol karakterini ekrana yaz.
CALL BF_TEST : BF test et
BSF RS : RS 1 Veri
BCF RW : RW 0 Yaz
MOVF ORTA_K2,W : ikinci saynn orta karakterini yaz.
CALL LCD_YAZ
CALL BF_TEST : BF test et
BSF RS : RS 1 Veri
BCF RW : RW 0 Yaz
MOVF SAG_K2,W : kinci saynn sa karakterini yaz.
CALL LCD_YAZ
RETURN

A_ART;...........................................................................................................................
CALL TIMER1 : Gecikme
INCF SAG_K1 : Sa karakteri 1 artr.
MOVLW H'3A' : Sa karakter H3A saysna eit mi?
XORWF SAG_K1,W
BTFSS STATUS,2
GOTO SON1 : Hayr devam et.
MOVLW H'30' : Evet sa karakteri sfrla.
MOVWF SAG_K1
INCF ORTA_K1,F : Orta karakteri 1 artr.
MOVLW H'3A' : Orta karakter H3A saysna eit mi?
XORWF ORTA_K1,W
BTFSS STATUS,2
GOTO SON1 : Hayr devam et.
MOVLW H'30' : Evet orta karakteri sfrla.
MOVWF ORTA_K1
INCF SOL_K1,F : Sol karakteri 1 artr.
MOVLW H'3A' : Sol karakter H3A saysna eit mi?
XORWF SOL_K1,W
BTFSS STATUS,2
GOTO SON1 : Hayr devam et.
CALL A_SIFIR : Evet tm karakterleri sfrla.
SON1 CALL MESAJ2 : Karakterleri LCDye yazdr.
RETURN


48
A_AZAL;.........................................................................
CALL TIMER1 : Gecikme
MOVLW H'30' : Sa karakter sfra H30 eit mi?
XORWF SAG_K1,W
BTFSC STATUS,2
GOTO BIR : Evet BIR etiketine git
DECF SAG_K1 : Hayr sa karakteri 1 azalt
GOTO SON2 : LCDye yazdr.
BIR MOVLW H'30'
XORWF ORTA_K1,W : Orta karakter sfra eit mi?
BTFSC STATUS,2
GOTO IKI : Evet IKI etiketine git
DECF ORTA_K1 : Hayr orta karakteri 1 azalt
MOVLW H'39' : Sa karakteri 9 yap.
MOVWF SAG_K1
GOTO SON2 : LCDye yazdr.
IKI MOVLW H'30'
XORWF SOL_K1,W : Sol karakter sfra eit mi?
BTFSC STATUS,2
GOTO SON2 : Evet SON2 etiketine git
DECF SOL_K1 : Hayr sol karakteri 1 azalt
MOVLW H'39' : Sa ve orta karaktere 9
MOVWF SAG_K1 : saysn ykle
MOVWF ORTA_K1
SON2 CALL MESAJ2 : Karakterleri LCDye yazdr.
RETURN

B_ART;...........................................................................................................................
CALL TIMER1 : Gecikme
INCF SAG_K2 : Sa karakteri 1 artr
MOVLW H'3A' :Sa karakter H3A saysna eit mi?
XORWF SAG_K2,W
BTFSS STATUS,2
GOTO SON3 : Hayr devam et.
MOVLW H'30' : Evet sa karakteri sfrla.
MOVWF SAG_K2
INCF ORTA_K2,F : Orta karakteri 1 artr
MOVLW H'3A' : Orta karakter H3A saysna eit mi?
XORWF ORTA_K2,W
BTFSS STATUS,2
GOTO SON3 : Hayr devam et.
MOVLW H'30' : Evet orta karakteri sfrla.
MOVWF ORTA_K2
INCF SOL_K2,F : Sol karakteri 1 arttr.
MOVLW H'3A' : Sol karakter H3A saysna eit mi?
XORWF SOL_K2,W
BTFSS STATUS,2

49
GOTO SON3 : Hayr devam et.
CALL B_SIFIR : Evet tm karakterleri sfrla.
SON3 CALL MESAJ3 : Karakterleri LCDye yazdr.
RETURN

B_AZAL;.........................................................................
CALL TIMER1 : Gecikme
MOVLW H'30' : Sa karakter sfra H30 eit mi?
XORWF SAG_K2,W
BTFSC STATUS,2
GOTO UC : Evet UC etiketine git
DECF SAG_K2 : Hayr sa karakteri 1 azalt
GOTO SON4 : LCDye yazdr
UC MOVLW H'30'
XORWF ORTA_K2,W : Orta karakter sfra eit mi?
BTFSC STATUS,2
GOTO DORT : Evet DORT etiketine git.
DECF ORTA_K2 : Hayr orta karakteri 1 azalt.
MOVLW H'39' : Sa karakteri 9 yap.
MOVWF SAG_K2
GOTO SON4 : LCDye yazdr.
DORT MOVLW H'30'
XORWF SOL_K2,W : Sol karakter sfra eit mi?
BTFSC STATUS,2
GOTO SON4 : Evet SON4 etiketine git.
DECF SOL_K2 : Hayr sol karakteri 1 azalt.
MOVLW H'39' : Sa ve orta karaktere 9
MOVWF SAG_K2 : saysn ykle
MOVWF ORTA_K2
SON4 CALL MESAJ3 : Karakterleri LCD ye yazdr
RETURN

GECIKME1
MOVLW D'60'
MOVWF SAYAC1
A1 MOVLW D'50'
MOVWF SAYAC2
A2 DECFSZ SAYAC2,F
GOTO A2
DECFSZ SAYAC1,F
GOTO A1
RETURN

TIMER1.
MOVLW D'15'
MOVWF SAYAC1
T1 MOVLW D'25'

50
MOVWF SAYAC2
T2 DECFSZ SAYAC2,F
GOTO T2
DECFSZ SAYAC1,F
GOTO T1
RETURN
END

1.5. Asenkron Motorun Yldz gen almas

1.5.1. Asenkron Motorun Yaps ve almas

Sanayi tesislerinde elektrik enerjisini dairesel harekete evirebilmek iin motorlar
kullanlr. Endstride asenkron motorlarn (endksiyon motorlar) kullanm oran ok yksek
olup % 90'lar civarndadr.

Resim 1.1: Asenkron motor
1.5.1.1. Asenkron Motorlarn stnlkleri

Srekli bakm istemez.
Yk altnda devir saylar ok deimez.
Elektronik devreyle devir says kolayca ayarlanabilir.
Fiyatlar dier motorlara oranla ucuzdur.
alma annda ark (kvlcm) oluturmaz.
Bir ve fazl olarak retilebilir.


51
1.5.1.2. Asenkron Motor eitleri

Asenkron motorlar faz saysna gre iki eittir:

Bir fazl asenkron motorlar: Kk ve gldr. amar makinesi, pompa,
buzdolab gibi cihazlarda kullanlr.
fazl asenkron motorlar: Sanayide ok yaygn olarak kullanlan motor
eididir.

Asenkron motorlar rotorlarnn yapsna gre iki eittir:

Rotoru ksa devre ubuklu asenkron motorlar
Rotoru sargl (bilezikli) asenkron motorlar

Asenkron motorlar genel olarak stator ve rotor olmak zere iki ksmdan yaplmtr.

1.5.1.3. Stator

Asenkron motorun duran blmdr. 0,4-0,8 mm kalnlnda bir taraf yaltlm
saclarn zel kalplarda paketlenmesiyle retilir. (Resim 1.2) Stator, motorun en nemli
parasdr. Bu parann i ksmnda emaye izoleli bakr telden yaplan sarmlar bulunur.
Sarmlarn grevi AC enerji uygulandnda manyetik alan oluturarak rotorun dnmesini
salamaktr.

Resim 1.2: Stator
1.5.1.4. Rotor

Asenkron motorun dnen blmdr. Rotor, ince elik saclarn st ste
paketlenmesiyle oluturulmutur. Bu elemann stator manyetik alannn etkisiyle ikinci bir
manyetik alan oluturabilmesi iin gvdesi zerine alan oyuklara alminyum ubuklar ya
da sarglar konulmutur. Rotor eitleri unlardr:

Alminyum ubuklu (sincap kafesli) rotor
Sargl (bilezikli) rotor

52

Resim 1.3: Rotor
1.5.1.5. Gvde

Asenkron motorlarn gvdesi soutmann abuk olmas iin kntl (kanatkl)
olarak retilir. Resim 1.4' te motor gvdeleri grlmektedir.

Resim 1.4: Motor gvdeleri
1.5.1.6. Fazl Asenkron Motorlarn alma lkesi

R-S-T fazlar motorun statorunda bulunan sarglara uygulandnda dner bir
manyetik alan oluur. Statordaki manyetik alann dn says ebekenin frekans ve
sarglarn kutup saysna gre deiir. Statorda oluan dner alan rotorun ubuklarn (ya da
sarmlarn) etkiler ve bu ubuklardan akm dolamaya balar. Rotordan geen akm, ikinci
bir alan oluturur. Statorun alanyla rotorun alan birbirini itip ekerek dn balatr.

ekil 1.24: fazn stator sarglar
fazl asenkron motorlarn statoruna yaplan sarmlarn ular klemens kutusuna
(balant terminali) karlr. Klemens kutusunda bulunan harflerin anlamlar unlardr:


53
R Faz : Giri U, k X
S Faz : Giri V, k Y
T Faz : Giri W, k Z harfleriyle gsterilir.

Resim 1.5: Motor klemens kutusunda yldz gen balants
fazl asenkron motorlarn klemens kutusunda alt adet u bulunur. Bu ular
motorun gc gz nne alnarak yldz ya da gen eklinde balandktan sonra R-S-T ile
besleme yaplr. Yldz ya da gen balants yaplmam fazl asenkron motor asla
almaz.

fazl asenkron motorlarn devir ynn deitirmek son derece kolaydr. Motora
uygulanan R-S-T fazlarndan herhangi ikisinin yeri ekil 1.25'te grld gibi
deitirildiinde stator sarglarnn oluturduu manyetik alann dn yn deiir ve rotor
nceki dn ynnn tersinde hareket etmeye balar.

ekil 1.25: fazl asenkron motorun devir ynnn deitirilmesi
1.5.1.7. Fazl Asenkron Motora Yol Verme

fazl asenkron motorlar ilk hareket annda normal akmlarnn 6-10 kat fazla akm
eker. Bu ar akm kk gl bir motorda ebekeye pek bir zarar vermez. Ancak gc 4
kWtan byk olan bir motorun ilk anda 6-10 kat fazla akm ekerek almaya balamas
birok olumsuz etki (tesisisin geriliminin ksa sreli olarak anormal derecede dmesi,
hatlarn ar yklenmesi vb.) ortaya karr. te bu sebeple 4 kWtan byk gteki
motorlar ilk kalk annda az akm ekerek altrmak gerekir. Gnmzde byk gl
motorlarn ilk kalk akmn kabul edilebilir dzeye indirebilmek iin eitli yntemler
kullanlmaktadr. Dk kalknma akmyla altrmada kullanlan baz yntemler yle
sralanabilir:

54
Direnle yol verme
Oto transformatryle yol verme
Yldz / gen yol verme

Uygulamada en ok kullanlan yntem yldz / gen yol vermedir. Stator sarglar
nce yldz eklinde balanr. Bu sayede 380 volta dayanacak ekilde retilmi sarglara 220
volt uygulanm olacandan motor dk akm ekerek almaya balar. 2 4 saniye sonra
yldz balants kaldrlp gen balantya geilir.

fazl asenkron motorlarda uygulanan yldz balama U-V-W / X-Y-Z klemens
ular birbirine kprlendiinde yldz balant yaplm olunur.

ekil 1.26: Yldz balama ekil 1.27: gen balama
Yldz balanarak altrlmas gereken bir motor yanllkla gen balanarak
altrlacak olursa sarglara 380 volt uygulanm olacandan motor yanar.

gen balamada stator sarglar birbirine seri balanr. gen bal olarak alacak
ekilde retilmi motorlarn sarmlar 380 volta dayanacak ekilde retilmitir. gen
balanmas gereken motor yanllkla yldz balanarak altrlrsa motor yanmaz. Ancak
motor dk verimde alr.

Pic ile yaplan asenkron motor uygulama devresin sistem BALA butonu ile kontrol
edilecektir. k yldz gen alma tekniine gre kontrol edilecek, yldz alma ve
gen alma sresi 2x16 LCDde grntlenecektir. Motoru durdurmak iin RESET
butonuna baslacaktr. Motor nce yldz alma ile altrlacak LCD ekrannda yldz
alma yazacak bundan sonra gen almaya geilecek ve ekranda gen alma
yazs grntlenecektir.

55
1.5.2. Devrenin emas

ekil 1.28: Asenkron motor uygulama devresi
1.5.3. Bask Devresi

ekil 1.29: Asenkron motor bask devresi

56
1.5.4. Devrenin Malzemeleri

PIC16F84 4MHz mikrodenetleyici
4MHz kristal, 4xbuton, led
C1 = C2 = 22pf
R2 = R4 = 1K diren
R1 = R3 = 10K
12 V Rle X 3

1.5.5. Devrenin Asm Program

;===============ASENKRON MOTOR UYGULAMA PROGRAMI===========

LIST P = 16F84

INCLUDE P16F84.INC
RADX DEC

; Deikenler..
CBLOCK H12
S0
SYS_WSAV
SYS_SSAV
TR1
TR1_HI
ZV1
ZV1_FD
SYS_TMP1
SYS_TMP2
SYS_TMP3
SYS_TMP4
SYS_TMP5
SYS_TMP6
SYS_TMP9
SYS_TMP10
LT1_FD
S1
LT2_FD
LT3_FD
LT4_FD
MF1
MF1_HI
MF1_FD
TR2
TR2_HI
LT5_FD

57
RAM
ENDC

ORG 0

CLRF STATUS
GOTO PORT_KUR
NOP
NOP

MOVWF SYS_WSAV
SWAPF STATUS,W
CLRF STATUS : Bank 0
MOVWF SYS_SSAV
BCF INTCON,T0IF
INCFSZ TR1,F
GOTO SYS_INT_LABEL_0
INCF TR1_HI,F

SYS_INT_LABEL_0;.

INCFSZ MF1,F
GOTO SYS_INT_LABEL_1
INCF MF1_HI,F

SYS_INT_LABEL_1;

INCFSZ TR2,F
GOTO SYS_INT_LABEL_2
INCF TR2_HI,F

SYS_INT_LABEL_2;..

EXITINT

SWAPF SYS_SSAV,W
MOVWF STATUS
SWAPF SYS_WSAV,F
SWAPF SYS_WSAV,W
RETFIE

LCD_AYAR;.
BCF STATUS,RP0 : Bank 0
BCF PORTA,4 : RS 0
LCD_LB1_L1
CALL LCD_LB1_OUT4
DECFSZ SYS_TMP1,F

58
GOTO LCD_LB1_L1

BCF STATUS,RP0 : Bank 0
MOVF PORTA,W
ANDLW H'F0'
IORLW B'0011' : Function Set
MOVWF PORTA

BCF STATUS,RP0 : Bank 0
BSF PORTB,3 : Yaz
BCF PORTB,3

BSF SYS_TMP1,5 : Bekle
LCD_LB1_L2;

CALL LCD_LB1_OUT4
DECFSZ SYS_TMP1,F
GOTO LCD_LB1_L2
BCF STATUS,RP0 : Bank 0
BSF PORTB,3 : Yaz
BCF PORTB,3
CALL LCD_LB1_OUT4
BCF STATUS,RP0 : Bank 0
BSF PORTB,3 : Yaz
BCF PORTB,3
CALL LCD_LB1_OUT4
BCF STATUS,RP0 : Bank 0
BCF PORTA,0 : 4-Bit

BCF STATUS,RP0 : Bank 0
BSF PORTB,3 : Yaz
BCF PORTB,3
CALL LCD_LB1_OUT4

MOVLW B'00101000' : Function Set 4-Bit, 2 satr
CALL LCD_LB1_OUT

MOVLW B'00001100' : Display on, Cursor off, Blink off
CALL LCD_LB1_OUT

MOVLW B'00000110' : Entrymode set
CALL LCD_LB1_OUT

LCD_LB1_CLR;.
BCF STATUS,RP0 : Bank 0
BCF PORTA,4
MOVLW B'00000001' : Display temizle

59
CALL LCD_LB1_OUT

BSF SYS_TMP1,5 : Bekle
LCD_LB1_L3;
CALL LCD_LB1_OUT4
DECFSZ SYS_TMP1,F
GOTO LCD_LB1_L3
GOTO LCD_LB1_OUT4

LCD_LB1_GOTOXY;.
BCF STATUS,RP0 : Bank 0
BCF PORTA,4
MOVLW H'40'
BTFSC SYS_TMP2,0 : Ypos
ADDWF SYS_TMP1,F
BSF SYS_TMP1,7 : dd-ram se
GOTO LCD_LB1_OUT1

LCD_LB1_WRITESTR;..
BCF STATUS,RP0 : Bank 0
BSF PORTA,4 : dd-ram se
LCD_LB1_WRITESTR1;..
CALL LCD_LB1_CHAROUT
BSF INTCON,GIE
ANDLW H'FF' : last is zero
BTFSC STATUS,Z
RETURN

MOVWF SYS_TMP1
CALL LCD_LB1_OUT1
INCFSZ SYS_TMP4,F
GOTO LCD_LB1_WRITESTR1
GOTO LCD_LB1_WRITESTR1

LCD_LB1_CHAROUT;
BCF INTCON,GIE
MOVFW SYS_TMP5
MOVWF PCLATH
MOVFW SYS_TMP4
MOVWF PCL

LCD_LB1_DEZO10000;..

MOVLW LOW 10000
MOVWF SYS_TMP1
MOVLW HIGH 10000
MOVWF SYS_TMP2

60
CALL LCD_LB1_CONVERTDEZ
MOVF SYS_TMP9,F
BTFSS STATUS,Z
GOTO LCD_LB1_DEZO1000
CALL LCD_LB1_CHECKNULL

LCD_LB1_DEZO1000;.

MOVLW LOW 1000
MOVWF SYS_TMP1
MOVLW HIGH 1000
MOVWF SYS_TMP2
CALL LCD_LB1_CONVERTDEZ
MOVF SYS_TMP9,F
BTFSS STATUS,Z
GOTO LCD_LB1_DEZO100
CALL LCD_LB1_CHECKNULL

LCD_LB1_DEZO100;..

MOVLW LOW 100
MOVWF SYS_TMP1
CLRF SYS_TMP2
CALL LCD_LB1_CONVERTDEZ
MOVF SYS_TMP9,F
BTFSS STATUS,Z
GOTO LCD_LB1_DEZO10
CALL LCD_LB1_CHECKNULL

LCD_LB1_DEZO10;..
MOVLW LOW 10
MOVWF SYS_TMP1
CLRF SYS_TMP2
CALL LCD_LB1_CONVERTDEZ
MOVF SYS_TMP9,F
BTFSS STATUS,Z
GOTO LCD_LB1_DEZO1
CALL LCD_LB1_CHECKNULL

LCD_LB1_DEZO1;..
MOVLW 48
ADDWF SYS_TMP4,W
GOTO LCD_LB1_WRITECHAR

61

LCD_LB1_CONVERTDEZ;.
MOVF SYS_TMP9,F
BTFSS STATUS,Z
DECF SYS_TMP9,F
CLRF SYS_TMP6

LCD_LB1_CONVERTDEZ2;..
INCF SYS_TMP6,F
MOVFW SYS_TMP1
SUBWF SYS_TMP4,F
MOVFW SYS_TMP2
BTFSS STATUS,C
INCFSZ SYS_TMP2,W
SUBWF SYS_TMP5,F
BTFSC STATUS,C
GOTO LCD_LB1_CONVERTDEZ2
MOVFW SYS_TMP2
ADDWF SYS_TMP5,F
MOVFW SYS_TMP1
ADDWF SYS_TMP4,F
BTFSC STATUS,C
INCF SYS_TMP5,F
DECF SYS_TMP6,W
BTFSS STATUS,Z
BSF SYS_TMP10,0
RETURN


LCD_LB1_CONVERTHEX;
ANDLW 15
MOVWF SYS_TMP1
MOVLW 48
ADDWF SYS_TMP1,F
MOVLW 58
SUBWF SYS_TMP1,W
BTFSS STATUS,C
GOTO $+3
MOVLW 7
ADDWF SYS_TMP1,F
MOVFW SYS_TMP1

62

LCD_LB1_WRITECHAR;
BCF STATUS,RP0 : Bank 0
BSF PORTA,4 : dd-ram

LCD_LB1_OUT;
MOVWF SYS_TMP1 : store

LCD_LB1_OUT1;
CLRF SYS_TMP3 : LCD yaz

LCD_LB1_OUT2;.
SWAPF SYS_TMP1,W
LCD_LB1_OUT3;
ANDLW H'0F'
MOVWF SYS_TMP2
BCF STATUS,RP0 : Bank 0
MOVFW PORTA
ANDLW H'F0'
IORWF SYS_TMP2,W
BCF STATUS,RP0 : Bank 0
MOVWF PORTA : out

BCF STATUS,RP0 : Bank 0
BSF PORTB,3 : E 1
BCF PORTB,3 : E 0

BTFSC SYS_TMP3,3 : LCD hazr m ?
GOTO LCD_LB1_OUT4
BSF SYS_TMP3,3
MOVFW SYS_TMP1
GOTO LCD_LB1_OUT3
LCD_LB1_OUT4;..
LCD_LB1_OUTV;..
DECFSZ SYS_TMP3,F
GOTO LCD_LB1_OUTV
RETURN

LCD_LB1_CHECKNULL;.
BTFSS STATUS,Z
DECF SYS_TMP9,F
MOVWF SYS_TMP1
BTFSS STATUS,Z
BSF SYS_TMP10,0
MOVLW 48
BTFSC SYS_TMP10,0
ADDWF SYS_TMP1,f

63
MOVLW 32
BTFSS SYS_TMP10,0
ADDWF SYS_TMP1,F
MOVFW SYS_TMP1
GOTO LCD_LB1_WRITECHAR

PORT_KUR ;

MOVLW B'00100000' : TMR0 saycs aktif
MOVWF INTCON
BCF STATUS,RP0 : Bank 0 a ge
MOVLW B'00000000'
MOVWF PORTA : PortA temizle
MOVLW B'00000000'
MOVWF PORTB : PortB temizle
MOVLW 143
BSF STATUS,RP0 ; Bank 1
MOVWF OPTION_REG : WDT kesmesi geerli
MOVLW B'11100000' : 1 Giri, 0 k
MOVWF TRISA
MOVLW B'11110000'
MOVWF TRISB
; Deikenleri Temizle

MOVLW 12
MOVWF FSR : Say dizisinin balang adresini
CR1;
CLRF INDF : sras ile
INCF FSR,F : sfrla
MOVf FSR,W
SUBLW 80 : FSR adresi 80 mi?
BTFSS STATUS,Z
GOTO CR1 : Hayr temizlemeye devam et
MOVLW B'00010000' : Evet S1 = 10
MOVWF S1
CALL LCD_AYAR
BCF STATUS,RP0 : Bank 0
CLRF TMR0
BCF INTCON,T0IF
BSF INTCON,GIE
MAIN

64

LABEL_UG1_1;..
BTFSS S0,1
GOTO LABEL_UG1_FALSE
LABEL_UG1_2;..
BTFSC S0,2
GOTO LABEL_UG1_FALSE

LABEL_UG1_TRUE;
BSF S0,0
GOTO LABEL_UG1_ENDE
LABEL_UG1_FALSE;.
BCF S0,0
LABEL_UG1_ENDE
LABEL_UG2_1;
BTFSC S0,0
GOTO LABEL_UG2_TRUE
LABEL_UG2_2;
BCF STATUS,RP0 ; Bank 0
BTFSC PORTB,5
GOTO LABEL_UG2_TRUE

LABEL_UG2_FALSE;.
BCF S0,1
GOTO LABEL_UG2_ENDE
LABEL_UG2_TRUE;.
BSF S0,1
LABEL_UG2_ENDE
LABEL_UG3_1;
BTFSS S0,1
GOTO LABEL_UG3_FALSE

LABEL_UG3_TRUE;.
BCF STATUS,RP0 : Bank 0
BSF PORTB,0
GOTO LABEL_UG3_ENDE
LABEL_UG3_FALSE;
BCF STATUS,RP0 : Bank 0
BCF PORTB,0
LABEL_UG3_ENDE;

MOVLW 7
SUBWF TR1_HI,W
BTFSS STATUS,Z
GOTO LABEL_TR1_CHECK
MOVLW 161
SUBWF TR1,W

65
LABEL_TR1_CHECK;
BTFSS STATUS,C
GOTO LABEL_TR1_ENDE

LABEL_TR1_RESET;..
MOVLW 7
SUBWF TR1_HI,F
MOVLW 161
SUBWF TR1,F
BTFSS STATUS,C
DECF TR1_HI,F

LABEL_TR1_SET;
BTFSC S0,3
GOTO LABEL_TR1_CLR
BSF S0,3
GOTO LABEL_TR1_ENDE
LABEL_TR1_CLR;..
BCF S0,3
LABEL_TR1_ENDE;

BTFSS S0,2
GOTO LABEL_ZV1_COUNT
CLRF ZV1
GOTO LABEL_ZV1_SETOUT

LABEL_ZV1_COUNT;..

BTFSS S0,6
GOTO LABEL_ZV1_SETFD
BTFSC ZV1_FD,0
GOTO LABEL_ZV1_SETFD
BSF ZV1_FD,0
BTFSC S0,7
GOTO LABEL_ZV1_BACKWARD
INCF ZV1,F
GOTO LABEL_ZV1_SETOUT

LABEL_ZV1_BACKWARD;..
DECF ZV1,F

LABEL_ZV1_SETOUT
LABEL_ZV1_SETFD;..
BTFSC S0,6
GOTO LABEL_ZV1_EXIT
BCF ZV1_FD,0


66
LABEL_ZV1_EXIT
LABEL_UG5_1;..
BTFSS S0,1
GOTO LABEL_UG5_FALSE

LABEL_UG5_2;.
BTFSS S0,3
GOTO LABEL_UG5_FALSE

LABEL_UG5_TRUE;
BSF S0,6
GOTO LABEL_UG5_ENDE

LABEL_UG5_FALSE;.
BCF S0,6

LABEL_UG5_ENDE;..
BTFSC LT1_FD,0
GOTO LABEL_LT1_SETFD
BTFSS S1,1
GOTO LABEL_LT1_SETFD
MOVLW 13
MOVWF SYS_TMP1
MOVLW 1
MOVWF SYS_TMP2

CALL LCD_LB1_GOTOXY
MOVFW ZV1
MOVWF SYS_TMP4
CLRF SYS_TMP5
BSF SYS_TMP10,0
MOVLW 2
MOVWF SYS_TMP9
CALL LCD_LB1_DEZO100

LABEL_LT1_SETFD;..
BTFSS S1,1
GOTO LABEL_LT1_SETFD2
BSF LT1_FD,0
GOTO LABEL_LT1_END

LABEL_LT1_SETFD2;..
BCF LT1_FD,0

LABEL_LT1_END
LABEL_LG5_1;.
BTFSS S0,1

67
GOTO LABEL_LG5_FALSE

LABEL_LG5_2;
BTFSC S0,4
GOTO LABEL_LG5_FALSE

LABEL_LG5_TRUE;
BSF S1,0
GOTO LABEL_LG5_ENDE

LABEL_LG5_FALSE;..
BCF S1,0

LABEL_LG5_ENDE
LABEL_LG6_1;..
BTFSS S1,0
GOTO LABEL_LG6_FALSE

LABEL_LG6_TRUE;.
BCF STATUS,RP0 : Bank 0
BSF PORTB,1
GOTO LABEL_LG6_ENDE

LABEL_LG6_FALSE;
BCF STATUS,RP0 : Bank 0
BCF PORTB,1

LABEL_LG6_ENDE;
MOVLW 5
SUBWF ZV1,W

LABEL_IF1_CHECK;
BTFSS STATUS,C
GOTO LABEL_IF1_FALSE

LABEL_IF1_TRUE;
BSF S0,5
GOTO LABEL_IF1_EXIT

LABEL_IF1_FALSE;..
BCF S0,5

LABEL_IF1_EXIT;
BTFSC LT2_FD,0
GOTO LABEL_LT2_SETFD
BTFSS S1,4
GOTO LABEL_LT2_SETFD

68
MOVLW 0
MOVWF SYS_TMP1
MOVLW 0
MOVWF SYS_TMP2
CALL LCD_LB1_GOTOXY
MOVLW LOW TAB_LT2
MOVWF SYS_TMP4
MOVLW HIGH TAB_LT2
MOVWF SYS_TMP5
CALL LCD_LB1_WRITESTR

LABEL_LT2_SETFD;..
BTFSS S1,4
GOTO LABEL_LT2_SETFD2
BSF LT2_FD,0
GOTO LABEL_LT2_END

LABEL_LT2_SETFD2;..
BCF LT2_FD,0

LABEL_LT2_END;..

BTFSC LT3_FD,0
GOTO LABEL_LT3_SETFD
BTFSS S1,0
GOTO LABEL_LT3_SETFD
MOVLW 0
MOVWF SYS_TMP1
MOVLW 1
MOVWF SYS_TMP2
CALL LCD_LB1_GOTOXY
MOVLW LOW TAB_LT3
MOVWF SYS_TMP4
MOVLW HIGH TAB_LT3
MOVWF SYS_TMP5
CALL LCD_LB1_WRITESTR

LABEL_LT3_SETFD;
BTFSS S1,0
GOTO LABEL_LT3_SETFD2
BSF LT3_FD,0
GOTO LABEL_LT3_END

LABEL_LT3_SETFD2;
BCF LT3_FD,0

LABEL_LT3_END

69
LABEL_LG7_1;
BTFSS S1,0
GOTO LABEL_LG7_FALSE

LABEL_LG7_2;.
BTFSS S0,3
GOTO LABEL_LG7_FALSE

LABEL_LG7_TRUE;..
BSF S1,1
GOTO LABEL_LG7_ENDE

LABEL_LG7_FALSE;..
BCF S1,1

LABEL_LG7_ENDE;.
BTFSC LT4_FD,0
GOTO LABEL_LT4_SETFD
BTFSS S1,2
GOTO LABEL_LT4_SETFD
MOVLW 0
MOVWF SYS_TMP1
MOVLW 1
MOVWF SYS_TMP2
CALL LCD_LB1_GOTOXY
MOVLW LOW TAB_LT4
MOVWF SYS_TMP4
MOVLW HIGH TAB_LT4
MOVWF SYS_TMP5
CALL LCD_LB1_WRITESTR

70

LABEL_LT4_SETFD;
BTFSS S1,2
GOTO LABEL_LT4_SETFD2
BSF LT4_FD,0
GOTO LABEL_LT4_END

LABEL_LT4_SETFD2;..
BCF LT4_FD,0

LABEL_LT4_END;.
BTFSC MF1_FD,1
GOTO LABEL_MF1_CHKTIME
BTFSC MF1_FD,0
GOTO LABEL_MF1_SETFD
BTFSS S0,4
GOTO LABEL_MF1_SETFD

LABEL_MF1_RESET;.
CLRF MF1
CLRF MF1_HI
BSF MF1_FD,1
BSF S1,2

LABEL_MF1_CHKTIME;..
MOVLW 0
SUBWF MF1_HI,W
BTFSS STATUS,Z
GOTO LABEL_MF1_CHECK
MOVLW 8
SUBWF MF1,W

LABEL_MF1_CHECK;
BTFSS STATUS,C
GOTO LABEL_MF1_SETFD

LABEL_MF1_TO;..
BCF MF1_FD,1
BCF S1,2

LABEL_MF1_SETFD;
BTFSS S0,4
GOTO LABEL_MF1_CLR
BSF MF1_FD,0
GOTO LABEL_MF1_ENDE

LABEL_MF1_CLR;..

71
BCF MF1_FD,0

LABEL_MF1_ENDE;.
MOVLW 30
SUBWF TR2_HI,W
BTFSS STATUS,Z
GOTO LABEL_TR2_CHECK
MOVLW 132
SUBWF TR2,W

LABEL_TR2_CHECK;..
BTFSS STATUS,C
GOTO LABEL_TR2_ENDE

LABEL_TR2_RESET;..
MOVLW 30
SUBWF TR2_HI,F
MOVLW 132
SUBWF TR2,F
BTFSS STATUS,C
DECF TR2_HI,F

LABEL_TR2_SET;..
BTFSC S1,3
GOTO LABEL_TR2_CLR
BSF S1,3
GOTO LABEL_TR2_ENDE

LABEL_TR2_CLR;
BCF S1,3

LABEL_TR2_ENDE;.
BTFSC LT5_FD,0
GOTO LABEL_LT5_SETFD
BTFSS S1,3
GOTO LABEL_LT5_SETFD
MOVLW 0
MOVWF SYS_TMP1
MOVLW 0
MOVWF SYS_TMP2
CALL LCD_LB1_GOTOXY
MOVLW LOW TAB_LT5
MOVWF SYS_TMP4
MOVLW HIGH TAB_LT5
MOVWF SYS_TMP5
CALL LCD_LB1_WRITESTR


72
LABEL_LT5_SETFD;
BTFSS S1,3
GOTO LABEL_LT5_SETFD2
BSF LT5_FD,0
GOTO LABEL_LT5_END

LABEL_LT5_SETFD2;
BCF LT5_FD,0

LABEL_LT5_END
LABEL_LG8_1;.
BTFSS S1,3
GOTO LABEL_LG8_FALSE

LABEL_LG8_TRUE;..
BCF S1,4
GOTO LABEL_LG8_ENDE

LABEL_LG8_FALSE;
BSF S1,4

LABEL_LG8_ENDE
LABEL_LG9_1;.
BTFSS S0,4
GOTO LABEL_LG9_FALSE

LABEL_LG9_2;..
BTFSC S1,6
GOTO LABEL_LG9_FALSE

LABEL_LG9_TRUE;
BSF S1,5
GOTO LABEL_LG9_ENDE

LABEL_LG9_FALSE;..
BCF S1,5

LABEL_LG9_ENDE
LABEL_LG10_1;.
BTFSC S1,5
GOTO LABEL_LG10_TRUE
LABEL_LG10_2;..
BTFSC S0,5
GOTO LABEL_LG10_TRUE

LABEL_LG10_FALSE;.
BCF S0,4

73
GOTO LABEL_LG10_ENDE

LABEL_LG10_TRUE;..
BSF S0,4

LABEL_LG10_ENDE
LABEL_LG11_1;.
BTFSS S0,4
GOTO LABEL_LG11_FALSE

LABEL_LG11_TRUE;..
BCF STATUS,RP0 : Bank 0
BSF PORTB,2
GOTO LABEL_LG11_ENDE

LABEL_LG11_FALSE;.
BCF STATUS,RP0 : Bank 0
BCF PORTB,2

LABEL_LG11_ENDE;
GOTO MAIN
TAB_LT2;..
RETLW 65 : A
RETLW 115 : s
RETLW 101 : e
RETLW 110 : n
RETLW 107 : k
RETLW 114 : r
RETLW 111 : o
RETLW 110 : n
RETLW 32 :
RETLW 109 : m
RETLW 111 : o
RETLW 116 : t
RETLW 111 : o
RETLW 114 : r
RETLW 32 :
RETLW 32 :
RETLW 0 : end
TAB_LT3;
RETLW 89 : Y
RETLW 105 : i
RETLW 108 : l
RETLW 100 : d
RETLW 105 : i
RETLW 122 : z
RETLW 32 :

74
RETLW 67 : C
RETLW 97 : a
RETLW 108 : l
RETLW 115 : s
RETLW 58 : :
RETLW 0 : end

TAB_LT4;.
RETLW 117 : u
RETLW 99 : c
RETLW 103 : g
RETLW 101 : e
RETLW 110 : n
RETLW 32 :
RETLW 99 : c
RETLW 97 : a
RETLW 108 : l
RETLW 105 : i
RETLW 115 : s
RETLW 109 : m
RETLW 97 : a
RETLW 32 :
RETLW 32 :
RETLW 0 : end

TAB_LT5;
RETLW 121 : y
RETLW 105 : i
RETLW 108 : l
RETLW 100 : d
RETLW 105 : i
RETLW 122 : z
RETLW 32 :
RETLW 117 : u
RETLW 99 : c
RETLW 103 : g
RETLW 101 : e
RETLW 110 : n
RETLW 32 :
RETLW 99 : c
RETLW 97 : a
RETLW 108 : l
RETLW 0 : end
END



75

UYGULAMA FAALYET
Programlama ilemini yapnz.

lem Basamaklar neriler
Kurulacak sistem iin ihtiyalar (devre
elemanlarn) tespit ediniz.
htiyacnz karlayacak
mikrodenetleyiciyi seiniz.
Sisteminin almas iin gerekli
program yaznz.
Program mikrodenetleyiciye ykleyiniz.
evre elemanlar ile devreyi kurunuz.
Mikrodenetleyici olarak PIC 16F84
kullannz.
Program yazdktan sonra MPLAB ile
deneyiniz.
Program mikrodenetleyiciye yklerken
kullanlan PIC programlaycya uygun
yazlm kullannz.
Devreyi Proteus programnda altrarak
deneyiniz.
Devre iin gerekli giri elemanlar ve
zelliklerini belirleyiniz.
Devre iin gerekli k elemanlar ve
zelliklerini tespit ediniz.
Devrenin bask devre emasn kartnz.
Devre elemanlarnn ve
mikrodenetleyicinin montajn yapnz.
Kullandnz devre elemanlarnn
zelliklerini internetten aratrnz.
Bask devreyi, devre emasn proteus
programndan ares programna aktrarak
karnz.
Devrenin montajn yapmadan nce
bredboard zerinde kurarak deneyiniz.

KONTROL LSTES

Bu faaliyet kapsamnda aada listelenen davranlardan kazandnz beceriler iin
Evet, kazanamadklarnz iin Hayr kutucuklarna ( X ) iareti koyarak rendiklerinizi
kontrol ediniz.

Deerlendirme ltleri Evet Hayr
1. Kurulacak sistem iin ihtiyalar tespit ettiniz mi?

2. htiyac karlayacak mikrodenetleyiciyi setiniz mi?

3. Sistemin mikrodenetleyici programn yazdnz m?

4. Program mikrodenetleyiciye yklediniz mi?

5. evre elemanlar ile devreyi kurdunuz mu?


DEERLENDRME

Deerlendirme sonunda Hayr eklindeki cevaplarnz bir daha gzden geiriniz.
Kendinizi yeterli grmyorsanz renme faaliyetini tekrar ediniz. Btn cevaplarnz
Evet ise lme ve Deerlendirmeye geiniz.
UYGULAMA FAALYET

76

LME VE DEERLENDRME
Aadaki cmlede bo braklan yere getirilecek bilgilerin bulunduu seenei
iaretleyiniz.

1. INTCON kaydedicisi uygulamalarnda kullanlr. Bolua
aadakilerden hangisi gelmelidir?
A) Giri
B) k
C) Kesme
D) Reset

Aadaki sorular dikkatlice okuyunuz ve doru seenei iaretleyiniz.

2. Status registerinde bulunan RP0 ve RP1 bitlerinin grevi aadakilerden hangisidir?
A) Kesmenin geerli olmas iin kullanlr.
B) lemlerde tama meydana geldiinde kullanlr.
C) lemlerin sonucu sfr olduunda kullanlr.
D) Bank deitirmek iin kullanlr.

3. PIC16F84te kesme meydana geldiinde program hangi adrese atlamaktadr?
A) H00
B) H02
C) H04
D) H06

4. Aadaki seeneklerden hangisi PICi programlamak iin gerekli deildir?
A) MPSAM ASM derleyici
B) PIC programlayc
C) MPLAB PFE
D) PROTEUS program

5. LCDye veri yazmak iin E giriine hangi kenar tetiklemeli sinyal uygulanmaldr?
A) Den kenar
B) Ykselen kenar
C) Pozitif seviye
D) Negatif seviye


DEERLENDRME

Cevaplarnz cevap anahtaryla karlatrnz. Yanl cevap verdiiniz ya da cevap
verirken tereddt ettiiniz sorularla ilgili konular faaliyete geri dnerek tekrarlaynz.
Cevaplarnzn tm doru ise bir sonraki renme faaliyetine geiniz.
LME VE DEERLENDRME

77

RENME FAALYET2



Mikrodenetleyiciyi ve evre elemanlarn seebilecek, dijital ilem iin gerekli
program hatasz olarak yazabilecek, program mikrodenetleyiciye ykleyebilecek ve devreyi
hatasz olarak kurup altrabileceksiniz.




Red rleler hakknda bilgi edinin.
Kesme (Interrupt) eitlerini renmeli kesme alt programlar yaznz.
Asenkron motorlarn yapsn ve almasn reniniz.

Aratrma ilemleri iin Mikrodenetleyici Programlama modln gzden geirirken
internet ortamlarndan da yararlanabilirsiniz.

2. LER SEVYE DJTAL UYGULAMA
DEVRELER

2.1. Drt Girili Kap Pencere Alarm Devresi

Drt girili olan sistemde kap ve pencerelere yerletirilen anahtarlar kapal (OFF)
konumunda kabul edilecektir. Anahtarlardan biri konum deitirdiinde (kap veya pencere
aldnda) sistem bir led ve buzer ile k verecek, DUR butonuna baslncaya kadar
sesli ve kl ikaz devam edecektir.

Devreye enerji uygulandktan 1 dk. sonra alarm aktif olmaktadr. Bu srede ieride
bulananlar dar kabilir. Dardan ieriye girebilmek iin kapnn dna bir reed rle
yerletirilir. Bu anahtar kapandnda alarm 1 dk. pasif olur ve bu sre iinde sistem
kapatlr. 1 dk. sre kullancya gre deitirilebilir.

Reed (Dil Kontakl) Rleler

Cam gvde iine konmu minik kontaklara sahip elemanlara reed rle denir. Reed
rlelerde havas alnm effaf cam ya da baka bir maddeden yaplm olan muhafaza iinde
bulunan demir-nikel alam mini kontaklarn konumu sabit mknats ya da elektromknatsla
deitirilir. Resim 2.1de cam gvdeli reed rlelerin yaps verilmitir.
RENME FAALYET-2

AMA
ARATIRMA

78

Resim 2.1: Reed rle
Reed rlelerde kontaklarn konumu Resim 2.2de grld gibi doal mknatsla ya
da elektromknats ile deitirilebilmektedir. Reed rlelerin kontaklarnn ekme ve brakma
zaman 0,5 mili saniye, alma says ise 1-2 milyon adet dolayndadr.

Resim 2.2: Reed rlenin konum deitirmesi
Kesmeler (Interrupt)

Kesme bir mikrokontrolrn darda olan herhangi bir olaya annda mdahele
etmesini salamaktadr. Kesme olunca mikrokontrolr yapmakta olduu ii brakr ve H04
adresindeki kesme alt programna gider. Kesmeden RETFIE (RETurn From IntErrupt)
komutu ile dnlr ve program kald yerden devam eder. Kesme dardan veya ieriden
olabilir. Dardan gelen kesmelerin zaman bilinmemektedir. eriden gelen kesmeler ise
genellikle mikrokontrolrn saya devrelerine bal gelmektedir.

PIC 16F84 mikrokontrolrde drt eit kesme bulunur.
RBO / INT bacandan gelen d (haric) kesme
Port B (4,5,6,7) bacaklarnda lojik seviye deiikliinden oluan d
kesme
TMR0 saycsnda oluan zaman am i kesmesi
EEPROM bellee yazldktan sonra oluan i kesme

Herhangi bir kesmenin geerli olmas iin

INTCON registeri GIE = lojik 1 yaplnca tm kesmeler aktif olur.
Hangi kesmenin geerli olmas isteniyorsa o kesme biti lojik 1
yaplmaldr. Kesmeler INTCON registerinin aadaki bitleri ile kontrol
edilir.
o INTE: RBO / INT d kesmesini aktif yapma bayra
o RBIE: RB4 RB7 bacaklarnda deiiklik kesmesini aktif yapma
bayra
o T0IE: TMR0 sayc kesmesini aktif yapma bayra
o EEIE: EPROM bellee yazma ilemi tamamlama kesmesi

79

Kesme meydana gelince o kesmeye ait INTCON registerinde bulunan bayrak aktif
olur.
o INTF: Lojik 1 ise RBO / INT kesmesi var.
o RBIF: Lojik 1 ise RB4 RB7 kesmesi var.
o T0IF: Lojik 1 ise TMR0 sayc kesmesi var.
o EEIF: Lojik 1 ise EEPROM kesmesi var.

Alarm devresinde drt giri RB4 RB7 bacaklarna balanmtr. Alarm aktif
olduktan sonra bu girilerden birinde herhangi bir deiiklik olduunda KESME alt
program altrlr ve buzzer alr. Kesme olutuktan sonra ana programa geri dnlmez.
Ana programa dnmek iin DUR butonuna baslmas gerekir.

RB4 RB7 deiiklik kesmesinin olumas iin aadakiler srasyla yaplr.

INTCON GIE bayra lojik 1
INTCON - RBIE bayra lojik 1
OPTION registerin 6. biti (INTEDG) ile dardan gelen sinyalin kenar
tetiklemesi ayarlanr. ( Lojik 1 ykselen kenar, Lojik 0 den
kenar)
Kesme olutuunda RBIF bayra lojik 1 olur. Kesmelerin geerli
olmas iin kesme alt programnda lojik 0 yaplr.

2.1.1. Devrenin Malzemeleri

PIC16F84 4MHz mikrodenetleyici
4MHz kristal, 2xbuton, led
U2= 7407 veya 4050, Reed Rle
C6 = C7 = 22pf
C1= C2= C3= C4= 100nF
R8= 330, R9= 1 K diren
R5= R6= R7= 10 K
R1 = R2 = R2 = R4 = 100 K
Q1 = BC237 , Q2 = BD135
12V Rle , D1= 1N4148


80
2.1.2. Ak Diyagram

Tablo 2.1: Alarm devresi ak diyagram
BASLA
YESL LED
YANIK
PORT_KUR
GIE 1
RBIE 1
GECKME1
PORTA,
2 = 0
MI?
GECKME1
GIE 0
E
H
KESME
BUZZER 1
L1 = 0 , L2= 1
PORTA,
1 = 0 MI?
BUZZER 0
RBIF 0
RETFIE
E
H

81
2.1.3. Devrenin emas

ekil 2.1: Alarm devresi
2.1.4. Bask Devresi

ekil 2.2: Alarm bask devresi

82
2.1.5. Devrenin Asm Program

Devreye enerji uygulandnda, yaklak 60 sn. sonra alarm aktif olur. Alarmn aktif
olduu yeil ledin (L1) yanmasyla anlalr. Kap ya da pencerelerden biri aldnda RB4-
RB7 port girilerinde deilik meydana geldiinden kesme aktif olur. Bu durumda yeil led
sner, buzzer alr ve krmz led (L2) yanar.

Alarm kapatmamak iin DUR butonuna baslr ve program almasna ILK
etiketinden itibaren devam eder.

;=========ALARM DEVRES UYGULAMA PROGRAMI======S_2005========

LIST P=16F84
INCLUDE "P16F84.INC"
SAYAC1 EQU H'0C'
SAYAC2 EQU H'0D' : Gecikme alt program iin saya
SAYAC3 EQU H'0E'

ORG H'00'
GOTO BASLA
ORG H'04'
GOTO KESME

BASLA;.

CALL PORT_KUR : Portlar ayarla
ILK CALL GECIKME1
BSF INTCON , RBIE : RBIE 1
BSF INTCON, GIE : GIE 1
BSF PORTA,2 : L1 (yeil led) yank, alarm aktif
BUTON BTFSC PORTA,0 : KAPAT butonuna basl m?
GOTO BUTON : Hayr , kesme bekle
BCF INTCON,GIE : Evet GIE 0 kesmeler pasif
CALL GECIKME1 : 1dk. gecikme
GOTO ILK

PORT_KUR;.

BSF STATUS,5 : Bank 1e ge
MOVLW H'FF'
MOVWF TRISB : PortB giri
MOVLW H'03'
MOVWF TRISA
BCF STATUS,5 : Bank 0a ge
RETURN

83
GECIKME1 ;..
:60 snlik gecikme salar.
MOVLW D'255'
MOVWF SAYAC1
G1 MOVLW D'255' : W D'255'
MOVWF SAYAC2 : SAYAC2 W
G2
MOVLW D'255' : W D'255'
MOVWF SAYAC3 : SAYAC3 W
G3
DECFSZ SAYAC3,F : SAYAC3= SAYAC3 - 1
GOTO G3
DECFSZ SAYAC2,F : SAYAC2= SAYAC2 - 1
GOTO G2
DECFSZ SAYAC1,F : SAYAC1= SAYAC1 - 1
GOTO G1
RETURN

KESME;..

BSF PORTA,3 : Buzzer ve krmz led (L2) aktif
BCF PORTA,2 : Yeil ledi sndr.
DON BTFSC PORTA,1 : DUR butonuna basl m?
GOTO DON : Hayr, kesme programnda kal
BCF PORTA,3 : Evet
BCF INTCON,RBIF : RBIF 0 bayran sfrla
RETFIE : kesmeden geri dn
END


84
2.2. Elektropnomatik Sistemin PIC ile Kumandas

Pnmatik ve elektrik-teknolojisinin bir arada kullanlmas endstriyel otomasyon
uygulamalarnda nemli rol oynar. Sanayide hzl, ucuz ve kaliteli retim salar.

Pic ile uygulanacak olan sistemde, iki silindir, paralar besleme stunundan tayc
bir sisteme nakleder. Bir dmeye basldnda 1.0 silindiri ileri doru hareket eder. Besleme
stunundan bir paray iter. Bu paray 2.0 silindiri iin konumlandrr. 2.0 silindiri paray
tayc sisteme iter. Bundan sonra ilk olarak birinci, ardndan ikinci silindir geri gelir. ki
silindirin de ileri ve geri geli hzlarnn ayarlanabilir olmas gerekir. Ayrca iki silindirin de
ndeki ve arkadaki son konumlarnn alglanmas gerekir.

Silindirin hareket ak manyetik anahtarla kontrol edilir. Sistem altrldnda
aadaki sra ile silindirler hareket eder.

1.0 silindiri geride - S1 anahtar kapal, 2.0 silindiri geride ve S3 anahtar
kapaldr.
S anahtarna basldnda 1.0 silindiri ileri hareket eder. S2 anahtar kapanr.
S2 kapandnda 2.0 silindiri ileri doru hareket eder. S4 silindiri kapanr.
S4 kapandnda 1.0 silindiri geriye doru hareket eder. S1 anahtar kapanr.
S1 kapandnda 2.0 silindiri geriye doru hareket eder. S3 anahtar kapanr.
Sistem tekrar baa dner. lem srasnn her adm yol adm emasnda
gsterilir.


Tablo 2.2: Yol adm emas
1- 2 aralnda Y1 rlesi enerjilenir. 1.0 ileri hareket eder.
2 - 3 aralnda Y3 enerjilenir 2.0 ileri hareket eder. Y1 enerjili ve 1.0 ileridedir.
3 - 4 aralnda Y2 enerjilenir. 1.0 geri hareket eder. Y3 enerjili ve 2.0
ileridedir.
4 5 aralnda Y4 enerjilenir. 2.0 geri hareket eder.

1 2 3 4 5
1.0





2.0

85

ekil 2.3: Elektropnmatik devre emas
Manyetik alglayclar ( hatl alglayclar) dorudan silindir gvdesi zerine
yerletirilir. Silindir anahtar getiinde manyetik alan oluur ve anahtarn knda bir
sinyal elde edilir.

ekil 2.4: Manyetik alglayclar
Devrede S1, S2, S3 ve S4 ile gsterilen girilere sisteme yerletirilen manyetik
anahtarlarn klar balanr. k gerilimi yksek olduundan 5V seviyesine
drlmelidir. Y1 ve Y2 rleleri 1. silindiri, Y3 ve Y4 rleleri 2. silindiri kontrol eder.

Port A giri, Port B k olarak ynlendirilmitir. Silindirleri kontrol etmek iin PortB
klarna Tablo 2.3teki deerler uygulanr.



86
GER2 LER2 GER1 LER1 HAREKET
Y4 Y3 Y2 Y1
RB7 RB6 RB5 RB4
1 0 1 0 1.0 ve 2.0 silindirleri geride (hA0)
1 0 0 1 1.0 ileriye , 2.0 geride ( h90)
0 1 0 1 1.0 ileride, 2.0 ileriye (h50)
0 1 1 0 1.0 geriye, 2.0 ileride (h60)
1 0 1 0 1.0 geride, 2.0 geriye ( hA0)
Tablo 2.3: Port B klarna uygulanan deerler

ekil 2.5: Sistemin elektriksel balant emas
2.2.1. Devrenin Malzemeleri

PIC16F84 4MHz mikrodenetleyici
4MHz kristal, 2xbuton
C1 = C2 = 22pf
R5= R6= R7= R8= 1 K
R9 = R10 = 10 K
Q1= Q2 = Q3 = Q4 = BD135


87
2.2.2. Devrenin emas

ekil 2.6: Elektropnomatik sistemin PC ile uygulama devresi
2.2.3. Bask Devresi

Resim 2.7: Elektropnomatik sistemin bask devresi

88
2.2.4. Devrenin Ak Diyagram


Tablo 2.4: Elektropnomatik sistemin ak diyagram
BALA
PORT_AYAR
Y2 , Y4 ENERJL
BALA
basl m?
1.0 ileri
S2
kapand
m?
E
H
E
H
S4
kapand
m?
1.0 geri
S1
kapand
m?
2.0 geri
S1
kapand
m?
2.0 ileri
E
E
BUTON etiketine
git
E
H
H
H
E

89
2.2.5. Devrenin Asm Program

;=========ELEKTROPNOMATIK SISTEM PROGRAMI======S_2005========

LIST P=16F84
INCLUDE "P16F84.INC"

ORG H'00'
GOTO BASLA
BASLA
CALL PORT_AYAR
MOVL W H'A0' : 1.0 ve 2.0 silindirleri geride
MOVWF PORTB
BUTON BTFSC PORTA,0
GOTO BUTON : START butonuna basl m?

S2 MOVLW H'90' : 1.0 silindirini ileri hareket ettir.
MOVWF PORTB
BTFSS PORTA,2 : 1.0 silindiri ileride mi?
GOTO S2 : HAYIR 1.0 ileri- Y1 enerjili
S4 MOVLW H'50'
MOVWF PORTB : 2.0 silindirini ileri hareket ettir.
BTFSS PORTA,4 : 2.0 silindiri ileride mi?
GOTO S4 : HAYIR Y1 ve Y4 enerjili
S1 MOVLW H'60' : 1.0 silindirini geri hareket ettir
MOVWF PORTB : 2.0 silindiri ileride

BTFSS PORTA,1 : 1.0 silindiri geride mi?
GOTO S1 : HAYIR Y2 ve Y4 enerjili
S3 MOVLW H'A0'
MOVWF PORTB

BTFSS PORTA,3
GOTO S3
GOTO BUTON

PORT_AYAR
BSF STATUS,5
MOVLW H'FF'
MOVWF TRISA
CLRF TRISB
BCF STATUS,5
RETURN
END

90
2.3. Programlanabilir Zamanlayc

Bu programlanabilir sayc ev ii, ticar ve endstriyel uygulamalar iin kullanlldr.
Ayarlanan zaman sonunda ama-kapama yapmaktadr. Devrenin zaman periyodu programla
deitirildiinden olduka ilevseldir.

Devre saat, dakika ve saniye olarak ayarlanr, ardndan BALA butonuna baslr ve
1sn. aralkla geriye doru saymaya balar. Sayma ilemi bittiinde bir k aktif olur ve led
yanar. Led yerine bir transistr ve rle balanarak herhangi bir kontrol yaplabilir. Devrede
gsterge olarak 6 X 7 segment ortak anotlu display kullanlmtr. ekil 2.8de 7 paral
gstergenin yaps gsterilmitir.

ekil 2.8: 7 paral gsterge
7 paral gstergeler ortak anot ve ortak katot olmak zere iki eittir. PIC ile
dorudan denetlendiinde, 7 bacak PortBye balanr. Port Bden gelen bilgilerin,
gstergede oluturduu ekil, Port Bye aktrlan bilgiye baldr. rnein, segmentte 0
olmas iin, A, B, C, D, E, F girilerinin ortak anot iin 0 , ortak katot iin 1 olmas
gerekir. Gsterge ortak katotlu olduunda Port B klar 00111111 olmaldr. Bu atama
ikilik olarak yaplabilecei gibi onluk veya onaltlk olarak da yaplabilir. Yukardaki ikilik
saynn karl D "63" , H "3F" tir. Yani onluk 63 says ikilik olarak ifade edildiinde,
karl B "00111111"dir. Bu da Port Bde "0" gsterir. Sonuta Port Bye atanan onaltlk
veya onluk saysnn ikilik karldr.

Onluk Onaltlk kilik 7 Paral Gsterim
63 3F 00111111 0
6 06 00000110 1
91 5B 01011011 2
79 4F 01001111 3
102 66 01100110 4
109 6D 01101101 5
125 7D 01111101 6
7 07 00000111 7
127 7F 01111111 8
111 6F 01101111 9
Tablo 2.5: 7 paral ortak katotlu gsterge evrim tablosu

91
Tablo 2.5te evrim tablosuna onaltlk veya onluk olarak yazdmz say, ikilik
karlna evrilerek PIC portlarndan gstergeye aktarlr ve bir grnt oluur.

Gstergeye veri gndermek iin programda CALL RETLW komut ikilisi kullanlr.
RETLW komutu RETURN komutu gibi bu da alt programdan ana programa dn iin
kullanlr. Bu komut ana programa dnte karsnda yazlan deeri Write kaydedciye
yazar. Bunun iin program counter (PC) kullanlr.

PCler PIClerde kullanlan bir kaydedicidir. PIC belleinin deerine gre 10 ila 14
bitlik olabilir. 10 bit yani 210 = 1024 byte olduundan ve PIC16F84n de 1 Kbytelk bir
program bellei olduundan bunu adreslemek iin saycya 10-bit yeterlidir.

PIC16F84in PCsi 13 bittir. lk 8 biti PCL'dir ve bununla 256 byte adreslenir. Dier 5
biti PCH'tir ve bunun dorudan okunup yazlmas mmkn deildir, bu taraf ancak
PLATCH kaydedicisi ile kullanlr. Programda PC olarak tm kaydedici bitleri
kullanlrsa PLATCH kaydedicisinin st 2 bitini sfrlamak gerekir. Bu sebeple dar
kapasiteli kullanmlarda PC yerine PCL yazlarak bunun nne geilir. (ADDWF PCL, F)

Devrede kullanlan gstergeyi srmek iin 7447 entegresi kullanlmtr. 7447 BCD
kodunu 7 paral gstergeye dntrr. 7447 aktif sfrdr ve ortak anotlu gstergede
kullanlr kullanlr. rnein, displayde 0 yazdrmak iin giriine 0000 uygulanrken
knda 0000001 elde edilir. Bu ekilde G ledi dnda tm ledler yanar.

Gnderdiimiz veri 6 gstergenin sadece birinde grntlenir. Bunun iin gsterge
semek gerekir. Ortak anotlu gstergede 1, ortak katotlu displayde ise 0 uygulanarak
seme yaplr. Gstergenin 6 giriinden hangisi 1 olursa o gsterge seilir. Gsterge
semek iin

Seme ileminde 6 giriin tamam PICin portlarna balanr. 1 bilgisi tm
girilere kaydrlarak gnderilir. Tarama sresi ok ksa olduundan
gstergedeki tm ledlerde ayn anda k elde edilir.
Port says yeterli deilse seme ileminde sayc ya da kaydran kaydedici
entegreleri kullanlr. Devremizde 4017nin 10lu sayc entegresi kullanlmtr.
Saycya saat sinyali uygulandnda kndaki veriyi kaydrr ve sayma
ilemini gerekletirir. Entegrenin aktif olmas iin Enable girii 0 olmaldr.
Gstergeye veri yazma ileminde sayc entegresi resetlenmelidir. nk
entegrenin tm klar kullanlmamtr.

Devrede ayr ayar butonu bulunmaktadr. Bunlar:

H butonu saati ayarlamak iin kullanlr. Saat 0 24 olarak ayarlanmtr.
M butonu dakikay ayarlamak iin kullanlr.
S butonu ise saniyeyi ayarlamak iin kullanlr.

92
2.3.1. Devrenin Malzemeleri ve Ak Diyagram

PIC16F84 4MHz mikrodenetleyici
4MHz kristal, 5xbuton , C1 = C2 = 22pf
6x 7-paral gsterge, LED
R1 = R2 = R3 = R4 = R5= R6 = R7 = R13 = 330
R8 = R9 = R10 = R11= R12 = 10 K
7447 ve 4017 entegreleri


Tablo 2.6: Sayc ak diyagram
BALA
PORT_KUR
TEMZLE
RESET
GSTER
SAAT H, M ,
S
BUTONLARIY
LA SAAT
KUR
BALA
BASILI
MI?
SAYMAYI
BALAT VE
GSTER

93
2.3.2. Devrenin emas

ekil 2.9: Zamanlayc devresi
2.3.3. Devrenin Asm Program

LIST P=16F84
INCLUDE "P16F84.INC"
I EQU H'0C'
STATUS_Y EQU H'0D'
W_Y EQU H'0E'
SAYI EQU H'10'
SN EQU H'1A'
COUNT EQU H'1C'
SAYAC1 EQU H'20'
SAYAC2 EQU H'21'
ORG H'00'
GOTO BASLA
ORG H'04'
GOTO KESME
BASLA;................................................................................................................................
BCF PORTB,3
CLRWDT

94
CALL PORT_KUR : Portlar kur.
CALL TEMIZLE : Register ieriklerini sfrla.
CALL RESET : Entegreyi sfrla.
CALL GOSTER : Display'lere yaz.

TUS_ARA BTFSS PORTB,4
CALL SANIYE
BTFSS PORTB,5
CALL DAKIKA
BTFSS PORTB,6
CALL SAAT
BTFSS PORTB,0
GOTO SAY
CALL GOSTER
GOTO TUS_ARA
SAY
BSF STATUS,5 : Bank 1 se.
MOVLW B'10000100' : TMR0 seili
MOVWF OPTION_REG : Prescaler d <-- 32
BCF STATUS, 5 : Bank 0 se.
CALL GOSTER
GOTO SAY

PORT_KUR;..........................................................................................................................
BSF STATUS,5 : Bank 1 se.
MOVLW H'00' : Port A k
MOVWF TRISA
MOVLW H'F8'
MOVWF TRISB
MOVLW B'10100000' : GIE --> 1, T0IE -->1
MOVWF INTCON
BCF STATUS,5 : Bank 0 se.
RETURN

TEMIZLE;...........................................................................................................................
MOVLW SAYI : lk register adresini tut.
MOVWF FSR
MOVLW H'0F' : 15 adet deikeni
MOVWF I : sra ile
SIFIR CLRF INDF : sfrla
INCF FSR
DECFSZ I
GOTO SIFIR
RETURN


95
GOSTER;............................................................................................................................
CALL RESET : Display reset
MOVLW 6 : say dizisinin boyutu
MOVWF I ;i <-- 4
MOVLW SAYI : say dizisinin balang adresini
MOVWF FSR : FSR'e yaz.
TARA MOVF INDF ,W : dizi elemann W'e yaz.
MOVWF PORTA : Port Adan gnder.
CALL GECIKME : Bir sre bekle.
INCF FSR : Dizinin bir sonraki elemanna ula.
CALL PALS : Bir sonraki dijiti se.
DECFSZ I : Dizinin son elemanna ulald m?
GOTO TARA : Hayr taramaya devam et.
RETURN : Evet alt programdan k.

GECIKME;................................................................................................................
MOVLW H'FF' : COUNT <-- H'FF'
MOVWF COUNT
DON DECFSZ COUNT,F : COUNT=COUNT-1, C=0 MI?
GOTO DON : Hayr. DON etiketine git.
RETURN : Evet. Alt programdan k.

PALS;..........................................................................................................................

BSF PORTB,2 : CLK -->1
BCF PORTB,2 : CLK -->0
RETURN : Den kenar tetikleme.

RESET;..........................................................................................................................
BSF PORTB, 1 : RESET --> 1 aktif
BCF PORTB, 1 : RESET --> 0
CLRWDT
RETURN

SANIYE;.........................................................................................................................

CALL GECIKME1 : Bir sre bekle.
INCF SAYI : SAYI = SAYI+1
MOVLW D'10' : W --> D'10'
SUBWF SAYI,W
BTFSS STATUS,2 : SAYI[0]= 10?
GOTO SANIYE_SON : Hayr. Saniye_sona git.
CLRF SAYI : Evet. SAYI[0]=0
INCF SAYI+1 : SAYI[1]= SAYI[1]+1
MOVLW D'6' : W-->6
SUBWF SAYI+1,W
BTFSS STATUS,2 : SAYI[1] = 6?

96
GOTO SANIYE_SON : Hayr. Saniye_sona git
CLRF SAYI+1 : Evet. SAYI[1]=0
SANIYE_SON
RETURN

DAKIKA;..

CALL GECIKME1 : Bir sre bekle
INCF SAYI+2 : SAYI[2] = SAYI[2]+1
MOVLW D'10' : W --> D'10'
SUBWF SAYI+2,W
BTFSS STATUS,2 : SAYI[2]= 10?
GOTO DAKIKA_SON : Hayr. Dakika_sona git
CLRF SAYI+2 : Evet. SAYI[2]=0
INCF SAYI+3 : SAYI[3]= SAYI[3]+1
MOVLW D'6' : W-->6
SUBWF SAYI+3,W
BTFSS STATUS,2 : SAYI[3] = 6?
GOTO DAKIKA_SON : Hayr.Dakika_sona git
CLRF SAYI+3 : Evet. SAYI[3]=0
DAKIKA_SON
RETURN

SAAT;..
CALL GECIKME1 : Bir sre bekle
INCF SAYI+4 : SAYI[4] = SAYI[4]+1
MOVLW D'2' : W --> D'2'
SUBWF SAYI+5,W
BTFSC STATUS,2 : SAYI[5]= 2?
GOTO S2 : Evet. S2ye git
MOVLW D'10' : W --> D'10'
SUBWF SAYI+4,W
BTFSS STATUS,2 : SAYI[4]= 10?
GOTO SAAT_SON : Hayr Saat_sona git
CLRF SAYI+4 : Evet. SAYI[4]=0
INCF SAYI+5 : SAYI[5] = SAYI[5]+1
GOTO SAAT_SON
S2 MOVLW D'4' : W --> D'4'
SUBWF SAYI+4,W
BTFSS STATUS,2 : SAYI[4]= 4?
GOTO SAAT_SON : Hayr Saat_sona git.
CLRF SAYI+4 : Evet. SAYI[4]=0
CLRF SAYI+5 : Evet. SAYI[5]=0
SAAT_SON
RETURN


97
GECIKME1;...................................................................................................................
MOVLW H'50'
MOVWF SAYAC1
NEXT2 MOVLW H'FF'
MOVWF SAYAC2
NEXT1 DECFSZ SAYAC2,F
GOTO NEXT1
DECFSZ SAYAC1,F
GOTO NEXT2
RETURN

KESME;...............................................................................................................................
MOVWF W_Y : W_Y <-- W
MOVF STATUS,W
MOVWF STATUS_Y :_STATUS <--- STATUS
CALL TIMER : TIMER alt programn ar.
MOVF STATUS_Y,W
MOVWF STATUS : STATUS deerini geri ykle.
MOVF W_Y,W : W deerini geri ykle.
RETFIE

TIMER;....................................................................................................................................
BCF INTCON,T0IF : T0IF bayran sfrla.
INCF SN : SN= SN + 1
MOVLW D'125'
SUBWF SN,W : 1sn ayar
BTFSS STATUS,2 : Z= 1 mi?
GOTO TIMER_SON : Hayr
CLRF SN : Evet sn=0
CALL AZALT : Displaydeki sayy azalt.
TIMER_SON
RETURN

AZALT;...................................................................................................................................
MOVLW D'0' : W D'0'
SUBWF SAYI,W
BTFSC STATUS,2 : SAYI[0]= 0?

GOTO BIR : Evet BIR etiketine git.
DECF SAYI : SAYI[0]=SAYI[0]-1
GOTO AZALT_SON
BIR MOVLW D'0' : WD 0
SUBWF SAYI+1,W
BTFSC STATUS,2 : SAYI[1]= 0?
GOTO IKI : Evet IKI etiketine git
DECF SAYI+1 : SAYI[1]=SAYI[1]-1
MOVLW D'9' : W --> D'9'

98
MOVWF SAYI : SAYI[0]=9
GOTO AZALT_SON

IKI MOVLW D'0' : W D0
SUBWF SAYI+2,W
BTFSC STATUS,2 : SAYI[2]= 0?
GOTO UC
DECF SAYI+2 : SAYI[2]=SAYI[2]-1
MOVLW D'5'
MOVWF SAYI+1 : SAYI[1]=5
MOVLW D'9' : SAYI[0]=9
MOVWF SAYI
GOTO AZALT_SON

UC MOVLW D'0' : W D0
SUBWF SAYI+3,W
BTFSC STATUS,2 : SAYI[3]= 0?
GOTO DORT
DECF SAYI+3 : SAYI[3]=SAYI[3]-1
MOVLW D'9'
MOVWF SAYI+2 : SAYI[2]=9
MOVLW D'5' : SAYI[1]=5
MOVWF SAYI+1 : SAYI[0]=9
MOVLW D'9'
MOVWF SAYI
GOTO AZALT_SON

DORT MOVLW D'0' : W D0
SUBWF SAYI+4,W
BTFSC STATUS,2 : SAYI[4]= 0?
GOTO BES
DECF SAYI+4 : SAYI[4]=SAYI[4]-1
MOVLW D'9'
MOVWF SAYI+2
MOVWF SAYI
MOVLW D'5'
MOVWF SAYI+1
MOVWF SAYI+3
GOTO AZALT_SON

BES MOVLW D'0'
SUBWF SAYI+5,W
BTFSC STATUS,2
GOTO ALTI
DECF SAYI+5
MOVLW D'9'
MOVWF SAYI+4

99
MOVWF SAYI+2
MOVWF SAYI
MOVLW D'5'
MOVWF SAYI+1
MOVWF SAYI+3
GOTO AZALT_SON
ALTI
BSF PORTB,3
BCF INTCON,T0IE
GOTO BASLA
AZALT_SON
RETURN
END

2.4. Proje Uygulamas

Proje uygulamasnda grup almas yaplacak ve her bir grup farkl bir proje konusu
tespit edecektir. Aada rnek projeler verilmitir.

2.4.1. Proje 1

Drt Kavakl Yolun Trafik Lamba Uygulamas



stteki ekilde grld gibi 4 ayr lamba grubu bulunmaktadr. L1- L2 - L3 ve L4
gruplarnda sar, krmz ve yeil lambalar bulunmaktadr. Lambalarn yank kalma sreleri
ve hangi yolun nce balayaca programcya braklmtr. Sistem BASLA butonu ile
balayacaktr.


L1
L2
L3
L4

100
Devrenin ak diyagram karlr.
ASM program yazlr.
Devre iin gerekli malzemeler ayarlanr.
Devre emas izilir.
Bask devresi karlr.
PIC programlanr.
Devre elemanlarnn montaj yaplarak devre altrlr.

2.4.2. Dijital Saat Uygulamas

Saat 7 paral gsterge ve LCD gsterge ile yaplacaktr. Saat ayarlanabilir olacak.
Saat, dakika ve saniye ayar iin ayr butonlar bulunacak. Ayar yapldktan sonra saatin
almas BALA butonu ile balatlacaktr.

Devrenin ak diyagram karlr.
ASM program yazlr.
Devre iin gerekli malzemeler ayarlanr.
Devre emas izilir.
Bask devresi karlr.
PIC programlanr.
Devre elemanlarnn montaj yaplarak devre altrlr.

2.4.3. Termometre Uygulamas

Scaklk LM35DZ sensr ile llecek, analog sinyal dijital sinyale dntrlecek
ve LCD ekrannda gsterilecektir. LCDnin ilk satrnda SICAKLIK yazdrlacak ve ikinci
satrnda ise llen scakln deeri yazdrlacaktr.

Devrenin ak diyagram karlr.
ASM program yazlr.
Devre iin gerekli malzemeler ayarlanr.
Devre emas izilir.
Bask devresi karlr.
PIC programlanr.
Devre elemanlarnn montaj yaplarak devre altrlr.

2.4.4. Bipolar Adm Motor Denetimi

Mikrodenetleyici ile bipolar adm motorunu dndrmektedir. Sistemde 2 buton
kullanlmtr. Butonlardan biri motorun hzn artrmakta dieri ise motorun hzn
azaltmaktadr.

Devrenin ak diyagram karlr.

101
ASM program yazlr.
Devre iin gerekli malzemeler ayarlane.
Devre emas izilir.
Bask devresi karlr.
PIC programlanr.
Devre elemanlarnn montaj yaplarak devre altrlr.

2.4.5. ifreli Kilit Uygulamas

ifrenin yazm iin devrede 16 ve 12lik tu takm kullanlacaktr. ifre programc
tarafndan programda belirlenecektir. ifre yanl girildiinde tekrar ifre girilebilecektir.
ifre doru girildiinde kapya bal olan elektronik kilit alacaktr. Bu kilit bir transistr ve
role ile kontrol edilebilir.

Devrenin ak diyagram karlr.
ASM program yazlr.
Devre iin gerekli malzemeler ayarlanr.
Devre emas izilir.
Bask devresi karlr.
PIC programlanr.
Devre elemanlarnn montaj yaplarak devre altrlr.

102

UYGULAMA FAALYET
Sistemin yazlmn programlayp mikrodenetleyici ile altrnz.

lem Basamaklar neriler
Kurulacak sistem iin ihtiyalar (devre
elemanlarn) tespit ediniz.
htiyacnz karlayacak
mikrodenetleyiciyi seiniz.
Sisteminin almas iin gerekli
program yaznz.
Program mikrodenetleyiciye ykleyiniz.
evre elemanlar ile devreyi kurunuz.
Mikrodenetleyici olarak PIC 16F84
kullannz.
Program yazdktan sonra MPLAB ile
deneyiniz.
Program mikrodenetleyiciye yklerken
kullanlan PIC programlaycya uygun
yazlm kullannz.
Devreyi Proteus programnda altrarak
deneyiniz.
Devre iin gerekli giri elemanlar ve
zelliklerini belirleyiniz.
Devre iin gerekli k elemanlar ve
zelliklerini tespit ediniz.
Devrenin bask devre emasn kartnz.
Devre elemanlarnn ve
mikrodenetleyicinin montajn yapnz.
Kullandnz devre elemanlarnn
zelliklerini internetten aratrnz.
Bask devreyi, devre emasn Proteus
programndan Ares programna
aktrarak karnz.
Devrenin montajn yapmadan nce
bredboard zerinde kurarak deneyiniz.

KONTROL LSTES

Bu faaliyet kapsamnda aada listelenen davranlardan kazandnz beceriler iin
Evet, kazanamadklarnz iin Hayr kutucuklarna ( X ) iareti koyarak rendiklerinizi
kontrol ediniz.

Deerlendirme ltleri Evet Hayr
1. Kurulacak sistem iin ihtiyalar tespit ettiniz mi?

2. htiyac karlayacak mikrodenetleyiciyi setiniz mi?

3. Sistemin mikrodenetleyici programn yazdnz m?

4. Program mikrodenetleyiciye yklediniz mi?

5. evre elemanlar ile devreyi kurdunuz mu?


DEERLENDRME

Deerlendirme sonunda Hayr eklindeki cevaplarnz bir daha gzden geiriniz.
Kendinizi yeterli grmyorsanz renme faaliyetini tekrar ediniz. Btn cevaplarnz
Evet ise lme ve Deerlendirmeye geiniz.
UYGULAMA FAALYET

103

LME VE DEERLENDRME
Aadaki cmlelerde bo braklan yerlere getirilecek bilgilerin bulunduu
seenei iaretleyiniz.

1. LCDye veri yazmak iin E giriine hangi kenar tetiklemeli sinyal uygulanmaldr?
A) Den kenar
B) Ykselen kenar
C) Pozitif seviye
D) Negatif seviye

2. DECFSZ, CX komutunun grevi nedir?
A) CX deikenini bir artr, eer sfrsa bir alt komuta git.
B) CX deikenini bir artr.
C) CX deikenini bir azalt, eer sfrsa bir alt komuta git.
D) CX deikenini bir azalt.

3. MPSAM programnn grevi nedir?
A) HEX uzantl dosyay, ASM uzantl dosyaya evirir.
B) ASM uzantl dosyay, HEX uzantl dosyaya evirir.
C) HEX uzantl dosyay PICe yazdrr.
D) ASM uzantl dosyay PICe yazdrr.

4. LCDye komut yazdrmak iin RW, RS, E komutlarnn deeri aadakilerden
hangisidir?
RW RS E
A) 0 0 10
B) 1 1 10
C) 0 0 01
D) 1 0 10

5. PORTBnin bacaklarn giri k giri k k giri giri k olarak
ayarlamak iin aadaki girilerden hangisi uygulanmaldr?
RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0
A) 1 0 1 0 0 0 0 1
B) 1 1 1 1 0 0 0 1
C) 0 1 0 1 0 1 1 0
D) 1 0 1 0 0 1 1 0


DEERLENDRME

Cevaplarnz cevap anahtaryla karlatrnz. Yanl cevap verdiiniz ya da cevap
verirken tereddt ettiiniz sorularla ilgili konular faaliyete geri dnerek tekrarlaynz.
Cevaplarnzn tm doru ise Modl Deerlendirmeye geiniz.
LME VE DEERLENDRME

104

MODL DEERLENDRME
Aadaki cmlede bo braklan yere getirilecek bilgilerin bulunduu seenei
iaretleyiniz.

1. INTCON kaydedicisi uygulamalarnda kullanlr. Bolua
aadakilerden hangisi gelmelidir?
A) Giri
B) k
C) Kesme
D) Reset

2. Bit test etmek iin kullanlan komut.. dir. Bolua aadakilerden
hangisi gelmelidir?
A) BTFSS
B) IORLW
C) DECFSZ
D) SUBWF

Aadaki sorular dikkatlice okuyunuz ve doru seenei iaretleyiniz.

3. STATUS registerinde bulunan RP0 ve RP1 bitlerinin grevi aadakilerden
hangisidir?
A) Kesmenin geerli olmas iin kullanlr.
B) lemlerde tama meydana geldiinde kullanlr.
C) lemlerin sonucu sfr olduunda kullanlr.
D) Bank deitirmek iin kullanlr.

4. PIC16F84te kesme meydana geldiinde program hangi adrese atlamaktadr?
A) H00
B) H02
C) H04
D) H06

5. Aadaki seeneklerden hangisi PICi programlamak iin gerekli deildir?
A) MPSAM ASM derleyici
B) PIC programlayc
C) MPLAB PFE
D) PROTEUS program

6. LCDye veri yazmak iin E giriine hangi kenar tetiklemeli sinyal uygulanmaldr?
A) Den kenar
B) Ykselen kenar
C) Pozitif seviye
D) Negatif seviye

MODL DEERLENDRME


105
7. DECFSZ, CX komutunun grevi nedir?
A) CX deikenini bir artr, eer sfrsa bir alt komuta git.
B) CX deikenini bir artr.
C) CX deikenini bir azalt, eer sfrsa bir alt komuta git.
D) CX deikenini bir azalt.

8. MPSAM programnn grevi nedir?
A) HEX uzantl dosyay, ASM uzantl dosyaya evirir.
B) ASM uzantl dosyay, HEX uzantl dosyaya evirir.
C) HEX uzantl dosyay PICe yazdrr.
D) ASM uzantl dosyay PICe yazdrr.

9. LCDye komut yazdrmak iin RW, RS, E komutlarnn deeri aadakilerden
hangisidir?
RW RS E
A) 0 0 10
B) 1 1 10
C) 0 0 01
D) 1 0 10

10. PORTBnin bacaklarn giri k giri k k giri giri k olarak
ayarlamak iin aadaki girilerden hangisi uygulanmaldr?
RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0
A) 1 0 1 0 0 0 0 1
B) 1 1 1 1 0 0 0 1
C) 0 1 0 1 0 1 1 0
D) 1 0 1 0 0 1 1 0



DEERLENDRME

Cevaplarnz cevap anahtaryla karlatrnz. Yanl cevap verdiiniz ya da cevap
verirken tereddt ettiiniz sorularla ilgili konular faaliyetlere geri dnerek tekrarlaynz.
Cevaplarnzn tm doru ise bir sonraki modle gemek iin retmeninize bavurunuz.

106

CEVAP ANAHTARLARI
RENME FAALYET-1N CEVAP ANAHTARI

1 C
2 D
3 C
4 D
5 A

RENME FAALYET-2NN CEVAP ANAHTARI

1 A
2 C
3 B
4 B
5 D

MODL DEERLENDRMENN CEVAP ANAHTARI
1 C
2 A
3 D
4 C
5 D
6 A
7 C
8 B
9 B
10 D

CEVAP ANAHTARLARI

107

KAYNAKA

ALTINBAAK Orhan, Mikrodenetleyiciler ve PIC Programlama, stanbul,
2000.

Doan BRAHIM, Hamit I. MUSTAFA, PIC Programlama ve leri PIC
Projeleri, stanbul, 2004.

KARAKA Hakan, leri PIC 16F84 Uygulamalar 1, stanbul ,2002.

TOPALOLU Nurettin, Salih GRGNOLU, Mikroilemciler ve
Mikrodenetleyiciler, Ankara 2003.

KAYNAKA

You might also like