You are on page 1of 36

ZMT SABANCI TEKNK VE ENDSTR MESLEK LSES

MKRODENETLEYCLER LABORATUARI

MKRODENETLEYC
TEMRNLER

25

ZMT SABANCI TEKNK VE ENDSTR MESLEK LSES

MKRODENETLEYCLER LABORATUARI

TEMRN 01: MKRODENETLEYC PROGRAMLAMA KARTI YAPIMI


AMA: PIC16F877A mikrodenetleyici programlama kart hazrlamak.
GR: Mikrodenetleyici programlama kartlar, bilgisayar ortamnda yazlan kodlardan retilen
.hex uzantl dosyalar mikrodenetleyici ierisine gmmek iin kullanlr. PIC programlamak
iin seri port, paralel port ve USB portu zerinden haberleebilen devreler bulunmaktadr.
Gnmzde retilen anakartlarn birounda USB dnda port bulunmamaktadr. Ayrca dizst
bilgisayarlarda seri port ve paralel port gibi birimler ounlukla bulunmamaktadr. Bu sebeple
USB balant yoluyla programlama yapan devrelere ihtiya duyulur.
Microchip firmas kendi entegrelerini programlamak iin PICKIT ismini verdii
programlama cihazlarn retmitir. Yaplacak programlama kart MICROCHIP firmasnn rettii
PICKIT2 programlaycnn klonlanm versiyonudur. MICROCHIP firmas bu programlaycya ait
devre emalarn, programlayc kod dosyasn ve programla yazlmn cretsiz olarak
paylamaktadr. Devre, USB zerinden enerjisini alp ICSP balants zerinde mikrodenetleyici
programlayabilir. Harici beslemeye ihtiya duymaz.
Programlama kartnn zerinde programlama amacyla kullanlan ICSP balant noktas
bulunmaktadr. ICSP (In Circuit System Programmer) devre zerinde sistem programlama
anlamna gelir. PIC mikrodenetleyicisinde programlama esnasnda 5 pin kullanlr. PIC16FXXX ve
PIC18FXXX serisi 40 pinli mikrodenetleyicilerde bu pinler RB6 (CLK veya PGC), RB7(DATA veya
PGD), VDD, VSS, MCLR (VPP) pinleridir. Bu pinler ile mikrodenetleyici entegresi, devre
zerinden sklmeksizin programlama ilemi yaplabilir.

ekil 1. ICSP balant yaps


Programlama kart zerinde orijinal PICKIT2 de olduu gibi ZIF soket bulunmamaktadr.
Gerektiinde aadaki ekilde olduu gibi yardmc bir modl kullanlarak yalnz bana
mikrodenetleyici programlama ilemi yaplabilir.

ekil 2. PIC Programlayc iin 40/28 pin entegre programlama iin yardmc modl

26

ZMT SABANCI TEKNK VE ENDSTR MESLEK LSES

MKRODENETLEYCLER LABORATUARI

TEMRN 01: MKRODENETLEYC PROGRAMLAMA KARTI YAPIMI

ekil 3. PIC Programlayc iin harici entegre balant modl


Entegreyi devre zerinden skmeden yerinde programlayabilmek iin Deneme Kart
zerinde yaplan balant rnek olarak kullanlabilir.
MALZEME LSTES:
Sra No
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

Malzeme Ad
Epoxi Bakr Pertinaks
PIC18F2550 Mikrodenetleyici
28pin Entegre Soketi
LED
Buton
Diren
Diren
Diren
Diren
Diren
Diren
Diren
Diren
Diyot
Bobin
Kondansatr
Kondansatr
Kondansatr
Kondansatr
Transistr
Transistr
Kristal
USB Soket

zellii
4 x 7,5 cm
3mm Krmz-Sar
2 ayak dar mini (trnak tipi)
33 ohm
100 ohm
470 ohm
1 Kohm
2,7 Kohm
4,7 Kohm
10 Kohm
100 Kohm
1N5819
680uH (Diren tipli)
22 pF
100 nF
10 uF 25V
47 uF 25V
BC548
BC557
20 Mhz
Kare Tip PCB Montaj

27

Adet
1
1
1
2
1
3
1
2
1
1
2
3
1
1
2
2
2
1
2
3
1
1
1

ZMT SABANCI TEKNK VE ENDSTR MESLEK LSES

MKRODENETLEYCLER LABORATUARI

TEMRN 01: MKRODENETLEYC PROGRAMLAMA KARTI YAPIMI


DEVRE EMASI

ekil 4. PICKIT2 programlama kart devre emas

28

ZMT SABANCI TEKNK VE ENDSTR MESLEK LSES

MKRODENETLEYCLER LABORATUARI

TEMRN 01: MKRODENETLEYC PROGRAMLAMA KARTI YAPIMI


BASKI DEVRE EMASI

ekil 5. Bask devre emas

ekil 6. Bask devre emas malzeme yerleim plan

ekil 7. Bask devre emas bakr yol plan

ekil 8. Programlama kart tamamlanm grnm


29

ZMT SABANCI TEKNK VE ENDSTR MESLEK LSES

MKRODENETLEYCLER LABORATUARI

TEMRN 01: MKRODENETLEYC PROGRAMLAMA KARTI YAPIMI


SORULAR
1.
2.
3.
4.
5.
6.

Diyotun salamlk kontrol nasl yaplr?


Transistrn salamlk kontrol nasl yaplr?
Bilgisayarlarda kullanlan haberleme portlar nelerdir?
ICSP nedir?
PIC programlamada entegre ierisine yklenen dosyann uzants nedir?
Mikrodenetleyici seim kriterleri nelerdir?

Ad:
Soyad:

Teknoloji %30

Deerlendirme
lem Basamaklar
Alkanl %30
%30

Snf:
No:

Atlye retmenleri:

30

Toplam Not
Sre %10

Rakam ile

Yaz ile

ZMT SABANCI TEKNK VE ENDSTR MESLEK LSES

MKRODENETLEYCLER LABORATUARI

PROGRAMLAMA KARTI MONTAJ KILAVUZU


PROGRAMLAMA KARTININ MONTAJ AAMALARI
Deneme kart uzun mrl olmas iin lehimleme almasna gemeden nce lehim telinizin
kalitesinden ve lehim makinenizin salamlndan emin olunuz.
1. DRENLERN BALANTISI
Devre zerinde 3 adet 33R, 1 adet 100R, 2 adet 470R, 1 adet 1K, 1 adet 2K7, 2 adet 4K7, 3
adet 10K ve 1 adet 100K olmak zere 14 adet diren bulunmaktadr. Lehimleme almasna bu
elemanlar ile balanr.
2. DYOTLARIN BALANTISI
Devre zerinde 2 adet 1N5819 diyot bulunmaktadr. Diyotlarn balants yaplrken ynne
dikkat edilmelidir.

ekil 9. Kristal diyot sembol ve d grnm


Bu diyotlardan ICSP soketine yakn olan D4 diyotunun yerine atlama kablosu lehimlenebilir.
PIC programlayc ICSP pinleri zerinden mikrodenetleyicinin bal olduu devreye besleme
gerilimi (VDD) gnderir. Programlama kartna bal bir deneme kartnz varsa, deneme kartnz
bu besleme gerilimi ile altrabilirsiniz. Fakat deneme kartna gerilim olarak yaklak 4,3V
gider. Bu gerilim programlama iin yeterlidir. Fakat LCD gibi elemanlar iin 4,3V kontrast ayarn,
besleme gerilimi 5V olmas durumundan farkl bir ayarda yaplmasn gerektirir.
3. ENTEGRE SOKETNN BALANTISI
Entegrelerde 1 numaral ayan yerini belli olmas iin bir kenarnda iaret bulunmaktadr.
DIP klf yapsna sahip entegrelerde ukurun solundaki ilk pin 1 numaral pindir.

ekil 10. Entegre soketi (28pin) yerleimi


Entegre soketini lehimlerken ynnn doru olmasna dikkat ediniz. Aksi takdirde entegreyi
sokete yerletirirken ynn kartrabilirsiniz. Bu da entegrenin zarar grmesine sebep olabilir.
Entegre soketinin plaket yzeyine tam oturmasn salamak iin ncelikle iki apraz
kesinden birer lehimleme yapnz. Gerekirse lehimleri geveterek iyice oturmasn salaynz.
Sonra geriye kalan pinleri lehimleyiniz.
31

ZMT SABANCI TEKNK VE ENDSTR MESLEK LSES

MKRODENETLEYCLER LABORATUARI

PROGRAMLAMA KARTI MONTAJ KILAVUZU


4. BOBNN BALANTISI
Devre zerinde 1 adet 680uH bobin bulunmaktadr. Bu bobin diren tipli olduundan
dirence olduka benzerdir. Bobinler akm tama kapasitelerine gre snflandrlr. Kondansatr
tipli bobinlerin akm tama kapasiteleri daha yksektir. Her iki tipte bobin de kullanlabilir.
150mA 680uH diren tipli bobin kullanlmas tavsiye edilir.
5. KRSTAL ELEMANI VE OSLATR FLTRE KONDANSATRLERNN BALANTISI
Kart zerinde entegre soketinin hemen zerinde yer alan kristali lehimleyiniz. Daha sonra
kristal elemannn hemen yannda bulunan 2 adet 22pFlk mercimek kondansatrleri
lehimleyiniz.
6. LEDLERN BALANTISI
Devre zerinde 2 adet led bulunmaktadr. Bunlardan D1 ledi devrede enerji olup olmadn
grmek iindir. Krmz veya yeil renkte led tavsiye edilir. D2 ledi programlaycnn megul
olduunu gsterir. Led balants yaplrken ynne dikkat edilmelidir. Ledin ynn
belirlemede 3 yntem vardr. En sk kullanlan yntemde Ledin uzun baca ANOT ucunu
gsterir. Dier yntem Ledin bal zerinde dz (kesik) tarafta yer alan ayak KATOT ucunu
gsterir. Bir dier yntemde ise Ledin bal iin kalan metal ksmlardan kk olan ANOT
ucunu gster. Bu yntemler baz ledlerde farkllk gsterebilmektedir. Bu sebeple en doru
zm bulmak iin l aleti kullanlmaldr.

ekil 11. LED diyot sembol ve d grnm


7. TRANSSTRLERN BALANTISI
Devre zerinde 3 adet NPN (Q1, Q3, Q4) tr ve 1 adet PNP (Q2) tr olmak zere 4 adet
transistr bulunmaktadr. Klf yapsna dikkat ederek yerletiriniz. Plaket yzeyine sfr olacak
ekilde yerletirilmesine gerek yoktur.
8. KONDANSATRLERN BALANTISI
Devre zerinde toplam 7 adet kondansatr vardr. Bunlardan 2 tanesi osilatr filtre eleman
olarak daha nce lehimlenmiti. Geri kalan 5 kondansatrn 3 tanesi kutuplu, 2 tanesi
kutupsuzdur. Kutuplu kondansatrlerin balantsnda ynnde dikkat edilmelidir.
9. ICSP SOKETNN BALANTISI
Kart zerinde ICSP(devre zerinde entegre programlama) kullanm iin 5 pinli erkek
konnektr balants bulunur.
10. BUTONUN BALANTISI
Devre zerinde 1 adet buton bulunmaktadr. Butonun plaket zerine tam oturmasn
salamak iin kenarlarndan biraz serte bastrnz.

32

ZMT SABANCI TEKNK VE ENDSTR MESLEK LSES

MKRODENETLEYCLER LABORATUARI

PROGRAMLAMA KARTI MONTAJ KILAVUZU


11. USB SOKETNN BALANTISI
USB soketi kenarlarnda bulunan ayaklarn montaj ncesinde kargaburun araclyla
dzletiriniz. Daha sonra kartn zerine ncelikle USB pinleri oturacak ekilde yerletiriniz. USB
soketin yerleimi iin plaketin alt yzeyini eviriniz, soketin kenarnda kalan ayaklarn dibinden
biraz serte bastrarak tam oturmasn salaynz. Soketin oturmasn saladktan sonra soket
kenarnda bulunan ayaklar pcb yzeyine doru katlayarak lehimleyiniz.
12. KART YKSELTME AYAKLARININ BALANTISI
Kartn 4 kesinde M3 vida delii bulunmaktadr. Kartn zeminden yksek olarak
kullanlmas istendiinde ykseltme paras balanabilir.

33

ZMT SABANCI TEKNK VE ENDSTR MESLEK LSES

MKRODENETLEYCLER LABORATUARI

TEMRN 02: MKRODENETLEYC DENEME KARTI YAPIMI


AMA: PIC16F877A mikrodenetleyici deneme kart hazrlamak.
GR: Mikrodenetleyici deneme kart 16F877A vb 40pinli PIC16FXXX ve PIC18FXXX serisi
mikrodenetleyicilerle programlama almalarnda kullanlmak zere tasarlanmtr.
Entegrelerin programlanmas ICSP konnektr zerinden yaplabilmektedir. Deneme kart harici
olarak 9-15V gerilimle alabildii gibi ICSP programlayc zerinden ald enerji ile de
alabilmektedir.
Deneme kart zerinde PortB, PortC, PortD pinlerine bal 8li dip(sra) anahtar ve 8li
LED grubu bulunmaktadr. Entegre soketinin hemen yannda portlarn farkl almalarda
kullanm iin erkek ve dii giri/k pin konnektrleri bulunmaktadr. Deneme kart zerinde
iki adet 7 segment gsterge ve karakter tabanl LCD balant soketi bulunmaktadr. Yine devre
zerinde reset butonu, kesme butonu ve genel amal kullanlmak zere drt adet buton
bulunmaktadr. PortA pinlerinde bulunan analog zelliklerden faydalanmak iin RA0 ve RA1
pinlerine bal pcb klemens bulunmaktadr.
MALZEME LSTES
Sra No
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

Malzeme Ad
Epoxi Bakr Pertinaks
PIC16F877A Mikrodenetleyici
40pin Entegre Soketi
LED
LED
7 Segment Display
Bar Display
Buton
Dipswitch
Dipswitch
Diren
Diren
Diren
Diren
Sra Diren
Sra Diren
Trimpot
Kondansatr
Kondansatr
Kondansatr
Diyot
Transistr
7805
Kristal
PCB Klemens Gemeli
PCB Klemens Gemeli
OnOff Anahtar
Tek Sra Konnektr
Tek Sra Konnektr

zellii
10x15 cm
3mm Krmz
5mm
Ortak Katot
10'lu
4 ayak mini
4l
8li
220 ohm
1 kohm
4,7 kohm
470 ohm
4R 5pin 1kohm
8R 9pin 330ohm
10K
22 pF
100 nF
1000 uF 16V
1N4007
BC337
Pozitif Gerilim Reglatr
4 Mhz
2li
3l
PCB Montaj
40pin Dii
40pin Erkek

34

Adet
1
1
1
1
8
2
2
6
1
4
8
6
2
1
1
3
1
2
3
1
1
2
1
1
1
2
1
2
3

ZMT SABANCI TEKNK VE ENDSTR MESLEK LSES

MKRODENETLEYCLER LABORATUARI

TEMRN 02: MKRODENETLEYC DENEME KARTI YAPIMI


DEVRE EMASI:

ekil 12. Mikrodenetleyici deneme kart devre emas


35

ZMT SABANCI TEKNK VE ENDSTR MESLEK LSES

MKRODENETLEYCLER LABORATUARI

TEMRN 02: MKRODENETLEYC DENEME KARTI YAPIMI


BASKI DEVRE EMASI

ekil 13. Mikrodenetleyici deneme kart bask devre emas

ekil 14. Bask devre emas malzeme yerleim plan


36

ZMT SABANCI TEKNK VE ENDSTR MESLEK LSES

MKRODENETLEYCLER LABORATUARI

TEMRN 02: MKRODENETLEYC DENEME KARTI YAPIMI

ekil 15. Bask devre emas bak yol plan

ekil 16. Mikrodenetleyici deneme kart tamamlanm grnm

37

ZMT SABANCI TEKNK VE ENDSTR MESLEK LSES

MKRODENETLEYCLER LABORATUARI

TEMRN 02: MKRODENETLEYC DENEME KARTI YAPIMI


SORULAR
1.
2.
3.
4.
5.
6.

Sra diren ayaklar nasl belirlenir?


7 Segment gstergenin i yaps nasldr?
7805 elemannn grevi nedir?
Pull-up ve pull down nedir? Balant eklini iziniz.
Kristal osilatr ne ie yarar?
16F877 entegresi zellikleri nelerdir?

Ad:
Soyad:

Teknoloji %30

Deerlendirme
lem Basamaklar
Alkanl %30
%30

Snf:
No:

Atlye retmenleri:

38

Toplam Not
Sre %10

Rakam ile

Yaz ile

ZMT SABANCI TEKNK VE ENDSTR MESLEK LSES

MKRODENETLEYCLER LABORATUARI

DENEME KARTININ MONTAJ KILAVUZU


DENEME KARTININ MONTAJ AAMALARI
Deneme kart uzun mrl olmas iin lehimleme almasna gemeden nce lehim telinizin
kalitesinden ve lehim makinenizin salamlndan emin olunuz.
1. ATLAMA KABLOLARININ BALANTISI
Bask devre kartlarnn lehimlenmesine her zaman yzeye en yakn elemanlarn montajnn
yaplmas ile balanmaldr.
Bu sebeple lehimlemeye atlama balantlarnn yaplmas ile balaynz. Kart zerinde
aadaki ekilde verildii gibi 13 adet atlama balants bulunmaktadr.

ekil 17. Atlama kablolarnn montaj


2. DRENLERN BALANTISI
Lehimleme ilemine yzeye yakn dier malzemeler olan direnler ile devam edilmelidir.
Devre zerinde 8 adet 220R, 6 adet 0,25W 4K7, 1 adet 0,25W 470R, 2 adet 0,25W 1K olmak
zere toplam 17 adet diren bulunmaktadr.
3. DYOT BALANTISI
DC Besleme geriliminin ters balanmas durumunda koruma amacyla devre zerinde 1 adet
1N4001 diyot bulunmaktadr. Diyotun balants yaplrken ynne dikkat edilmelidir.

ekil 18. Kristal diyot sembol ve d grnm


39

ZMT SABANCI TEKNK VE ENDSTR MESLEK LSES

MKRODENETLEYCLER LABORATUARI

DENEME KARTININ MONTAJ KILAVUZU


4. ENTEGRE FLTRE KONDANSATRLERNN BALANMASI
Mikrodenetleyici besleme balantlarnn hemen yaknna 2 adet 100nF kondansatr
balanmtr. Bu kondansatrler entegre soketinin ierisinde yer alr. Filtre kondansatrleri
entegrenin altnda kalaca iin soket ierisinde lehimlerken kondansatr ayaklarn 90 derece
katlayp yere yatk olarak lehimleyiniz.
5. ENTEGRE SOKETNN LEHMLENMES
Entegrelerde 1 numaral ayan yerini belli olmas iin bir kenarnda iaret bulunmaktadr.
DIP klf yapsna sahip entegrelerde ukurun solundaki ilk pin 1 numaral pindir.

ekil 19. Entegre soketi (40pin) yerleimi


Entegre soketini lehimlerken ynnn doru olmasna dikkat ediniz. Aksi takdirde entegreyi
sokete yerletirirken ynn kartrabilirsiniz. Bu da entegrenizin zarar grmesine sebep
olabilir.
Entegre soketinin plaket yzeyine tam oturmasn salamak iin ncelikle iki apraz
kesinden birer lehimleme yapnz. Gerekirse lehimleri geveterek iyice oturmasn salaynz.
Sonra geriye kalan pinleri lehimleyiniz.
6. KRSTAL ELEMANI ve OSLATR FLTRE KONDANSATRLERNN BALANTISI
Kart zerinde entegre soketinin hemen altnda kalan kristali lehimleyiniz. Daha sonra
entegre soketi ierisinde kalan 2 adet 22pFlk mercimek kondansatrleri lehimleyiniz.
7. LEDLERN BALANTISI
Devre zerinde 1 adet g gsterge ledi ve 8 adet mikrodenetleyici portuna bal led
bulunmaktadr. Led balants yaplrken ynne dikkat edilmelidir. Ledin ynn belirlemede 3
yntem vardr. En sk kullanlan yntemde Ledin uzun baca ANOT ucunu gsterir. Dier
yntem Ledin bal zerinde dz (kesik) tarafta yer alan ayak KATOT ucunu gsterir. Bir dier
yntemde ise Ledin bal iin kalan metal ksmlardan kk olan ANOT ucunu gster. Bu
yntemler baz ledlerde farkllk gsterebilmektedir. Bu sebeple en doru zm bulmak iin
l aleti kullanlmaldr.

40

ZMT SABANCI TEKNK VE ENDSTR MESLEK LSES

MKRODENETLEYCLER LABORATUARI

DENEME KARTININ MONTAJ KILAVUZU

ekil 19. Kristal diyot sembol ve d grnm


G gsterge ledi devrede enerji olup olmadn gstermek amacyla kullanlmtr.
8. SIRA DRENLERN BALANTISI
ok sayda direncin tek bir paket altna alnmasyla elde edilen diren trdr. Bu nedenle
entegre diren veya sra diren olarak adlandrlr. Bu tr direnlerin en nemli zellii tm
direnlerin ayn deere sahip olmasdr. Paket ierisinde iki trl balant olabilir.

ekil 20. Sra diren i yaplar ve d grnm


Birinci balant ynteminde tm direnler birer ayaklarndan ortak baldr. Dier ayaklar
serbesttir. Paket ierisindeki diren says 4, 5, 6, 7, 8, 9 olabilir. kinci balant ynteminde
direnler ekilde verildii gibi yan yana dizili haldedir.
Deneme kart zerinde adet 8R+1 pin 330ohm (470ohm da balanabilir.) ve bir adet
4R+1 pin 1Kohm sra diren bulunmaktadr. Bu sra direnler ortak uca sahip sra direnler
olmaldr. Ortak u 1 numaral ayaktr. Tm sra direnlerin 1 numaral aya kartn GND hattna
baldr. Sra direnci elimize aldmzda yannn okunduu tarafta zerinde NOKTA bulunan pin
1 numaral pindir. Balantda buna dikkat edilmelidir.
adet 8R sra diren mikrodenetleyicinin PortB, PortC, PortD pinlerine bal led ve
gstergeler iin akm snrlayc direntir. Bu sra direnlerin doru balants iin st kenarda
(PortB ve PortD) kalan sra direnler kartn dna bakacaktr. Aada kalan PORTCye bal olan
diren 8R direncin yazs entegre tarafna bakmaldr.
Son olarak 4R 1Kohm sra diren PortBye bal 4l dipswitch iin Pull-Down amacyla
kullanlr. Bu direncin zerindeki yaz da plaketin kenarna bakmaldr.
Bu sra dirence bitiik olarak (direncin alt ksmnda) 2 sra 4l erkek konnektr bulunur.
PortB zerinde RB deiim kesmesi kullanlabilmesi iin planlanmtr.

41

ZMT SABANCI TEKNK VE ENDSTR MESLEK LSES

MKRODENETLEYCLER LABORATUARI

DENEME KARTININ MONTAJ KILAVUZU


9. DIPSWITCH (SIRA ANAHTAR) BALANTILARI
Dipswitch zerinde lehimleme yaparken nce iki apraz keden lehim yapnz. Dipswitch in
plaket yzeyine oturmasn salamak iin gerekirse lehimleri biraz geveterek iyice yerlemesini
salaycnz. Daha sonra geriye kalan pinleri lehimleyiniz.
Devre zerinde 4 adet 8li, 1 adet 4l dipswitch bulunmaktadr. Bunlardan 3 tanesi PORTB,
PORTC, ve PORTDye bal led ve gstergelerin almasn salar. PORTA ve PORTEye ortak
bal 8li dipswitch aadaki ekilde grld gibi 3 kullanm amac vardr.

ekil 21. PortA-E sra anahtar plan


a) RA0, ve RA1 analog pinlerinin klemens ile balantsn salar
b) Kartn sa alt ksmnda yer alan 4 adet butonun PORTA nin pinleri ile balantsn salar.
c) 7segment gstergelerin altnda yer alan iki adet transistrn beyz ularnn RE0 ve RE1
pinleri ile balantsn salar.
Son olarak kartn sol st tarafnda yer alan 4l dipswitch RB deiim kesmesi kullanm iin
planlanmtr. 4R sra diren ile birlikte kullanlr. Sra direncin hemen altnda bitiik olarak 2
adet 4l erkek konnektr bulunur. Bu dipswitch zerinde yer alan anahtarlar kullanlmak
istendiinde erkek konnektrler zerine jumper balanmaldr.
NOT: RB7 ve RB6 programlama pinleri olduu iin bu pinler dipswitch zerinden aktif
edilirse (bu pinlere 5V gerilim geldiinde) programlama yaplamayacaktr. Bu durum entegreye
veya programlaycya zarar vermez. Anahtar kapal konumundayken programlama yaplmasnda
bir sorun olumaz.
10. BAR GSTERGELERN BALANTISI
Bar gstergeler zerinde aada grld gibi 10 adet Led bulunur. balants yaplrken
ynne dikkat edilmelidir. Mikrodenetleyici tarafnda kalan ayaklar Ledlerin anot ucu olmaldr.
Yanl balant yaplmamas iin l aleti ile ncelikle anot ucunu belirleyiniz. Ynnn doru
olduuna emin olduktan sonra lehimlenmesine zen gsteriniz.

42

ZMT SABANCI TEKNK VE ENDSTR MESLEK LSES

MKRODENETLEYCLER LABORATUARI

DENEME KARTININ MONTAJ KILAVUZU

ekil 22. Bar gsterge i yaps ve d grnm


Mikrodenetleyici portlar 8bitten olutuu iin bar gstergenin en d iki kenarda yer alan
birer Ledi botadr. Bu ledlerin zerini siyah kalemle boyamanz tavsiye edilir.
Gstergelerin plaket yzeyine tam oturmasn salamak iin ncelikle iki apraz kesinden
birer lehimleme yapnz. Gerekirse lehimleri geveterek iyice oturmasn salaynz. Sonra geriye
kalan pinleri lehimleyiniz.
11. 7 SEGMENT GSTERGELERN BALANTISI
Deneme kart zerinde 2 adet Ortak Katot 7Segment gsterge bulunur. Bu gstergelerin data
pinleri deneme kart emas incelendiinde grlecei zere ortak baldr.

ekil 23. 7 segment gsterge d grnm, pin balants ve iyaps


7Segment gstergeleri plaket zerine lehimlerken st ksmda yer alan COM ucunu balant
delii bulunmamaktadr. Bu pin bota braklacaktr. Bu sebeple lehimlemeden nce 7Segment
gstergenin bu pinini darya doru katlaynz.
Gstergelerin plaket yzeyine tam oturmasn salamak iin ncelikle iki apraz kesinden
birer lehimleme yapnz. Gerekirse lehimleri geveterek iyice oturmasn salaynz. Sonra geriye
kalan pinleri lehimleyiniz.
12. TRANSSTRLERN BALANTISI
Devre zerinde 2 adet transistr bulunmaktadr. Klf yapsna dikkat ederek yerletiriniz.
Plaket yzeyine sfr olacak ekilde yerletirilmesine gerek yoktur. 7Segment gstergelerin
yzeyini gemeyecek ekilde lehimleme yapmanz tavsiye edilir.

43

ZMT SABANCI TEKNK VE ENDSTR MESLEK LSES

MKRODENETLEYCLER LABORATUARI

DENEME KARTININ MONTAJ KILAVUZU


13. BUTONLARIN BALANTISI
Devre zerinde 2 adet kartn sol ksmnda, 4 adet ise kartn sa alt ksmnda olmak zere 6
adet buton bulunmaktadr. Bunlardan 1 tanesi mikrodenetleyici RESET butonudur. 1 tanesi RB0
pinine bal olup kesme butonu olarak kullanm planlanmtr. Sa alt ksmda kalan 4 tane
buton genel amal butonlardr. Butonlarn plaket zerine tam oturmasn salamak iin
kenarlarndan biraz serte bastrnz.
14. KLEMENSLERN BALANTISI
Devre zerinde 2 adet 3l gemeli ve 1 adet 2li gemeli PCB klemens bulunmaktadr.
Gemeli yerine vidal tip PCB klemens de kullanlabilir.
2li klemens devrenin besleme balants iindir. 3l klemenslerde 1 adet VCC, 1 adet analog,
1 adet GND pinleri yer almaktadr. Dardan bir potansiyometre kolaylkla balanabilir. LM35
analog scaklk sensr dorudan klemensle balants salanabilir.
15. TRMPOT ELEMANININ BALANTISI
Devre zerinde karakter tabanl LCDnin kontrastn salamak iin 10K deerinde yatk tipte
trimpot bulunmaktadr.
16. ERKEK D SIRA KONNEKTRLER (HEADERS) BALANTILARI
Kart zerinde ICSP, VCC, GND ve mikrodenetleyicinin tm giri-k pinleri iin erkek
konnektr bulunmaktadr. Entegre kenarnda yer alana erkek ve dii konnektrler deneme kart
ile harici devre elemanlarnn balantsn kolaylkla salayabilmek iindir.
17. AMA KAPAMA (ON/OFF) ANAHTARI BALANTISI
Harici besleme kullanlmas durumunda devreye enerjinin verilmesini/kesilmesini salayan
iki konumlu anahtardr. ICSP zerinden besleme alndnda devre ddr.
18. REGLATR ELEMANININ BALANTISI
Devre zerinde giri beslemesinden ald gerilimi 5Va drmek amacyla 1 adet 7805
reglatr entegresi bulunmaktadr. Bu entegrenin balants yaplrken ynne dikkat
edilmelidir. Soutucu bulunan ksm darya bakmaldr.
19. REGLATR FLTRE KONDANSATR BALANTISI
Devre zerinde regle entegresinin hemen yannda 1 adet 1000uF, 1 adet 100nF filtre
kondansatrleri yer alr. 1000uF kutuplu kondansatr ynne dikkat edilerek lehimlenmelidir.
20. KART YKSELTME PARALARININ BALANTISI
Kartn 4 kesinde M3 vida delii bulunmaktadr. Kartn zeminden yksek olarak
kullanlmas istendiinde ykseltme paras balanabilir.

44

ZMT SABANCI TEKNK VE ENDSTR MESLEK LSES

MKRODENETLEYCLER LABORATUARI

TEMRN 03: MKRODENETLEYC PNNE BALI LEDN YANMASI SALAMA


AMA: Mikrodenetleyici pinlerine veri gnderme komutlarnn renmek.
GR: PIC16F877A Mikrodenetleyicisinde 5 adet port bulunmaktadr. Bu portlar; PORTA 6 adet
pin, PORTB 8 adet pin, PORTC 8 adet pin, PORTD 8 adet pin, PORTE ise 3 adet pinden
olumaktadr. Bu pinlerin kontrol iin iki adet kaydedici vardr.
PORTx : Portlara yazlan veya portlardan alnan verilerin sakland kaydedicidir.
o 1:
Pin k Lojik 1
o 0:
Pin k Lojik 0
TRISx: Portun giri olarak m yoksa k olarak m kullanldn gsteren kaydedicidir.
o 1:
Pin giri olarak kullanlacak
o 0:
Pin k olarak kullanlacak
Bit Tabanl Komutlar
output_float(pin_name);
output_drive(pin_name);
input_state(pin_name);

// Belirtilen pini giri olarak kullanlacan ayarlar.


// Belirtilen pini k olarak kullanlacan ayarlar.
// lgili pinin giri mi yoksa k m olarak kullanldn
gsterir.
deer = input(pin_name);
// Portta ilgili pinin durumu okur.
output_high(pin_name);
// Belirtilen pini Lojik 1 yapmak iin kullanlr.
output_low(pin_name);
// Belirtilen pini Lojik 0 yapmak iin kullanlr.
output_bit(pin_name, deer); // Belirtilen pini Lojik 1 veya Lojik 0 yapmak iin kullanlr.
output_toggle(pin_name);
// Belirtilen pini terslemek (Lojik DEL ilemi) iin kullanlr.
Uygulamada PORTDnin 0.pinine bal LEDin yanmas salanacaktr. Mikrodenetleyicinin
dier pinlerine mdahale edilmeyecektir. lk olarak ilgili pin k olarak kullanlmak zere
ayarlanr. Daha sonra bit tabanl k komutlarndan faydalanarak LEDin yanmas salanr.
DEVRE EMASI

45

ZMT SABANCI TEKNK VE ENDSTR MESLEK LSES

MKRODENETLEYCLER LABORATUARI

TEMRN 03: MKRODENETLEYC PNNE BALI LEDN YANMASI SALAMA


UYGULAMA KODLARI
#include "16F877A.h"
#fuses XT
void main(void)
{
output_drive(PIN_D0);
output_high(PIN_D0);
}

SORULAR
1. Tris kaydedicilerinin grevi nedir?
2. Verilen uygulamann output_bit komutuyla yaplmasn salayan program yaznz.
3. Mikrodenetleyicinin pinine bal ledin snmesini salayan program yaznz.

Ad:
Soyad:

Teknoloji %30

Deerlendirme
lem Basamaklar
Alkanl %30
%30

Snf:
No:

Atlye retmenleri:

46

Toplam Not
Sre %10

Rakam ile

Yaz ile

ZMT SABANCI TEKNK VE ENDSTR MESLEK LSES

MKRODENETLEYCLER LABORATUARI

TEMRN 04: MKRODENETLEYC PNNE BALI BUTONU OKUMA


AMA: Mikrodenetleyici pininden veri okunmasn salamak.
GR: Mikrodenetleyici pinlerinin giri olarak kullanlmas iin ilgili tris kaydedicisi Lojik 1
yaplmaldr. Buton, sensr vb. giri elemanlarndan veri okuma ilemi sistemde enerj olduu
srece srekli yaplmaldr. Program hafzadan komutlar srayla ilenir. Tekrar edilmezse
yalnzca okunma esnasndaki duruma gre gerekli ilemler yaplr. Okuma ileminden sonra
butona baslmas durumunda sistem tarafndan tekrar okunmad iin alglanamaz. Sonsuz
dng ilemi u ekilde yaplr:
while(1)
{
.
}
Butondan alnan bilgi bir bitlik bilgidir. Butondan alnan deer ya Lojik 1 ya da Lojik 0
olacaktr. Bu bilginin bir LEDe aktarlmas iin temelde 2 yntem kullanlabilir.
1. Dorudan bit aktarma komutu kullanmak
output_bit(LED_pini, input(buton_pini));
2. Alnan bilgini sorgulayarak ilgili pine k vermek
if(input(buton_pini) == 1)
output_high(LED_pini);
else
output_high(LED_pini);
Devre emas incelendiinde butona baslmamas durumunda PIN_B0 deeri Lojik 0
olacaktr. Butona baslmas ile PIN_B0 deeri Lojik 1 olacaktr. Buradaki buton balant yapsna
pull-down balant denir. Alnan bilgini sorgulanmas ileminde komut ierisindeki == 1 ifadesi
butondan gelen bilginin Lojik 1 olmas durumunda anlam vermektedir. Sorgulama ilemindeki
else ifadesi ise istenilen eitliin ( == 1 ) salanmamas durumunda yaplmas gereken ilemi
iaret eder.
DEVRE EMASI

47

ZMT SABANCI TEKNK VE ENDSTR MESLEK LSES

MKRODENETLEYCLER LABORATUARI

TEMRN 04: MKRODENETLEYC PNNE BALI BUTONU OKUMA


UYGULAMA KODLARI
1.YOL
#include "16F877A.h"
#fuses XT
void main(void)
{
output_float(PIN_B0);
output_drive(PIN_D0);
while(1)
{
output_bit(PIN_D0, input(PIN_B0));
}
}

2.YOL
#include "16F877A.h"
#fuses XT
void main(void)
{
output_float(PIN_B0);
output_drive(PIN_D0);
while(1)
{
if(input(PIN_B0) == 1)
output_high(PIN_D0);
else
output_high(PIN_D0);
}
}

SORULAR
1. Pull-up balant yaps nasl yaplr?
2. Butonun pull-up balants durumunda uygulamann ayn ekilde almasn salayan
komut grubunu yaznz.
3. Butonun devre emasndaki gibi pull-down balants halinde, butona baslmas durumunda
lambann snmesini, baslmamas durumunda lambann yanmasn salayan komut grubunu
yaznz.

Ad:
Soyad:

Teknoloji %30

Deerlendirme
lem Basamaklar
Alkanl %30
%30

Snf:
No:

Atlye retmenleri:

48

Toplam Not
Sre %10

Rakam ile

Yaz ile

ZMT SABANCI TEKNK VE ENDSTR MESLEK LSES

MKRODENETLEYCLER LABORATUARI

TEMRN 05: MKRODENETLEYC PNNE BALI LEDN YANIP SNMESN SALAMA


AMA: Mikrodenetleyici pinine bal Ledin 500ms aralklarla yanp snmesini salamak.
GR: Mikrodenetleyici pinine bal Ledin yanp snmesi iin ilgili pine zaman aralklar ile
Lojik1 ve Lojik 0uygulanmas gerekir. Bunu yapabilmek iin tersleme(toggle) komutu
kullanlabilir.
Mikrodenetleyici osilatr olarak 4Mhz kristal kullanlmas durumunda bir komutun
ilenmesi iin geen sre 1 mikrosaniyedir. Yakma ve sndrme komutlarnn sra ile altalta
yazlmas durumunda komutlar ok hzl ilenecei iin lambann yanp sndn gzle
gremeyiz. Bu durumda lambann yanmas ve snmesi arasnda bir gecikme sresi konulmaldr.
Gecikme komutlarnn kullanlabilmesi iin tanmlama blou ierisinde #use
delay(clock=4M) komutu kullanlmaldr. Gecikme srelerinin ayarlanmasnda 4MHzlik kristal
osilatr hzna gre ayarlanmas anlamna gelir. Devrede farkl deerde bir osilatr varsa, bu
deer komut use satr ierisinde belirtilmelidir.
Milisaniye sresi kadar gecikme salamak iin delay_ms(sure), mikrosaniye sresi
kadar gecikme salamak iin delay_us(sure) komutu kullanlr.
DEVRE EMASI

49

ZMT SABANCI TEKNK VE ENDSTR MESLEK LSES

MKRODENETLEYCLER LABORATUARI

TEMRN 05: MKRODENETLEYC PNNE BALI LEDN YANIP SNMESN SALAMA


UYGULAMA KODLARI
#include "16F877A.h"
#fuses XT
#use delay(clock=4M)
void main(void)
{
output_drive(PIN_D0);
while(1)
{
output_toggle(PIN_D0);
delay_ms(500);
}
}

SORULAR
1. output_bit komutunu kullanarak uygulamann ayn ekilde almasn salayan komut
grubunu yaznz.
2. output_high ve output_low komutlarn kullanarak uygulamann ayn ekilde almasn
salayan komut grubunu yaznz.
3. Devreye enerji verildiinde RD7 pinine bal Ledi yakan, RD0 pinine bal Ledi sndren,
500ms sonra RD7 pinine bal Ledi sndren, RD0 pinine bal Ledi yakan, 500ms sonra
balang durumuna geri dnen ve bunu sonsuz dngde tekrar etmesini salayan komut
grubunu yaznz.

Ad:
Soyad:

Teknoloji %30

Deerlendirme
lem Basamaklar
Alkanl %30
%30

Snf:
No:

Atlye retmenleri:

50

Toplam Not
Sre %10

Rakam ile

Yaz ile

ZMT SABANCI TEKNK VE ENDSTR MESLEK LSES

MKRODENETLEYCLER LABORATUARI

TEMRN 06: MKRODENETLEYC PORTUNA BALI LEDLERE BLG GNDERME


AMA: Mikrodenetleyicinin bir portuna bal olan 8 adet Lede bilgi gndermek.
GR: Mikrodenetleyicinin bir portuna veri gndermek iin output_x(veri) komutu kullanlr.
Ledlere tek tek bit tabanl komutlarla veri gnderilebilecei gibi hepsine birden tek komutla da
eriilebilir. Bu komut sonucu portun 8 biti de etkilenir. Mikrodenetleyici portunun k olarak
kullanlmasndan nce tris komutlar ile portun k olarak kullanlaca belirtilmelidir.

Yukardaki resimde verildii zere bir porttaki pinlerin bir ksm giri, bir ksm k
olarak kullanlabilecei gibi tamam k veya tamam giri olarak da kullanlabilir. Bu resme
gre set_tris_x(0b00110101) komutu kullanlmaldr.
0b00110101 ifadesi binary say sisteminde yazlm 00110101 anlamna gelir. Bu
ifade istenirse onaltlk say sistemi ile 0x35 veya onluk say sistemi ile 53 olarak yazlabilir.
Hangi say sistemine gre yazlrsa yazlsn ayn ilem gerekleir. Tercih programcya baldr.
set_tris_d(0b00110101) = set_tris_d(0x35) = set_tris_d(53)
Portun 8 pinin k olarak kullanlmas iin set_tris_x(0x00) komutu kullanlmaldr.

51

ZMT SABANCI TEKNK VE ENDSTR MESLEK LSES

MKRODENETLEYCLER LABORATUARI

TEMRN 06: MKRODENETLEYC PORTUNA BALI LEDLERE BLG GNDERME


DEVRE EMASI

UYGULAMA KODLARI
#include "16F877A.h"
#fuses XT
void main(void)
{
set_tris_d(0x00);
output_d(0xAA);
}

SORULAR
1. Uygulama kodlar sonucu elde edilen Ledlerin grntsn bit tabanl komutlar kullanarak
elde edecek program yaznz.
2. Mikrodenetleyicinin bir portunda yksek deerlikli 4 biti k, dk deerlikli 4 biti giri
olarak kullanlmasn salayan program satrn yaznz.
3. Mikrodenetleyicinin bir portunda yksek deerlikli 4 biti kn aktif, dk deerlikli 4 biti
kn pasif yaplmasn salayan program satrn yaznz.
4. Mikrodenetleyicinin bir portunda en dta yer alan ikier Ledin yanmasn, dierlerinin
snk kalmasn salayan program satrn yaznz.
Ad:
Soyad:

Teknoloji %30

Deerlendirme
lem Basamaklar
Alkanl %30
%30

Snf:
No:

Atlye retmenleri:

52

Toplam Not
Sre %10

Rakam ile

Yaz ile

ZMT SABANCI TEKNK VE ENDSTR MESLEK LSES

MKRODENETLEYCLER LABORATUARI

TEMRN 07: MKRODENETLEYC PORTUNU GR OLARAK KULLANMA


AMA: Mikrodenetleyici portuna bal anahtar grubundan bilgi okunmasn salamak.
GR: Mikrodenetleyicinin bir portundan veri okuyabilmek iin input_x( ) komutu kullanlr.
Mikrodenetleyici portunun giri olarak kullanlmasndan nce tris komutlar ile portun giri
olarak kullanlaca belirtilmelidir. Uygulama devresinde PortBye bal anahtarlardan alnan 8
bitlik veri PortDye bal 8 adet Lede aktarlacaktr.
Porttan bilgi okunduktan sonra RAM hafza alanndan bir blgeye kaydedilmitir. Bu
blge bizim tanmladmz isme sahip ve bizim belirlediimiz boyutta olacaktr. Genel amal
olarak kullanlan bu hafza alanna deiken ismi verilir.
C programlamada kullanlan eitli deiken isimleri vardr. En ok bilinenleri int1, int8,
int16, int32, floattr. int ifadesi integer kelimesinin ksaltmasdr. Tamsay anlamna gelir.
int1 1 bitlik tamsay trnde deiken
int8 8 bitlik tamsay trnde deiken
int16 16bitlik tamsay trnde deiken
int32 32 bitlik tamsay trnde deiken
float Kayar noktal (ondalkl) say trnde deiken
Bir porttan okunan veri 8bitlik olduu iin deiken olarak int8 kullanlabilir.
int8 giris = 0;
//8bitlik tamsay trnde, giris isminde, balang deeri 0 olan
deiken tanmlanmas anlamna gelir.
Bir porttan alnan bilgi zerinde eitli mantksal veya matematiksel ilemler
uygulanabilir. Gerekli durumlarda yardmc olarak daha fazla deiken tanmlamas yaplabilir.
DEVRE EMASI

53

ZMT SABANCI TEKNK VE ENDSTR MESLEK LSES

MKRODENETLEYCLER LABORATUARI

TEMRN 07: MKRODENETLEYC PORTUNU GR OLARAK KULLANMA


UYGULAMA KODLARI
#include "16F877A.h"
#fuses XT
int8 giris=0;
void main(void)
{
set_tris_b(0xFF);
set_tris_d(0x00);
output_d(0x00);
while(1)
{
giris = input_b();
output_d(giris);
}
}

SORULAR
1. giris deikenindeki bilginin terslenerek Ledlere aktarlmasn salayan komut satrn
yaznz.
2. giris deikenindeki bilginin 0x0F bilgisi ile mantksal VE ilemi uyguladktan sonra
Ledlere aktarlmasn salayan komut satrn yaznz.
3. giris deikenindeki bilginin 0xAA bilgisi ile mantksal VEYA ilemi uyguladktan sonra
Ledlere aktarlmasn salayan komut satrn yaznz.
4. Mikrodenetleyicide PortBye 8li anahtar grubu, PortCye 8li anahtar grubu, PortDye ise 8
Led balayarak oluturulan bir devrede, PortBden alnan bilgi ile PortCden alnan bilgiye
mantksal VE ilemi uyguladktan sonra Ledlere aktarlmasn salayan program yaznz.

Ad:
Soyad:

Teknoloji %30

Deerlendirme
lem Basamaklar
Alkanl %30
%30

Snf:
No:

Atlye retmenleri:

54

Toplam Not
Sre %10

Rakam ile

Yaz ile

ZMT SABANCI TEKNK VE ENDSTR MESLEK LSES

MKRODENETLEYCLER LABORATUARI

TEMRN 08: MKRODENETLEYC PORTUNA BALI LEDLERN YANIP SNMESN SALAMA


AMA: Mikrodenetleyicinin portuna bal ledlerde gnderilen bilginin zaman gecikmeli olarak
deitirilmesini salamak.
GR: Mikrodenetleyici portuna bilgi gndermek iin output_x(bilgi) komutu kullanlr. Bu
bilgi gerekli durumlarda tekrar tekrar deitirilebilir. Gnderilen bilginin grnmesi iin veri
gnderme komutundan sonra bir sre gecikme salanmaldr. Bu sre kullancnn isteine
baldr. nsan gz saniyede 24 deiimden fazlasn alglayamaz. Bilginin deime skl bu
deerin stne karsa tm ledler yanyor gibi grnr.
Bu uygulamada ledlerin grnt aadaki gibi olmas salanacaktr. Ledlere ait iki farkl
grnt vardr. Bu iki grnt sistemde enerji olduu srece 500ms aralklarla sonsuz kez
tekrar etmesi istenmektedir.
Birinci led grnts 0b11110000
kinci led grnts 0b00001111
DEVRE EMASI

55

ZMT SABANCI TEKNK VE ENDSTR MESLEK LSES

MKRODENETLEYCLER LABORATUARI

TEMRN 08: MKRODENETLEYC PORTUNA BALI LEDLERN YANIP SNMESN SALAMA


UYGULAMA KODLARI
#include "16F877A.h"
#fuses XT
#use delay(clock=4M)
void main(void)
{
set_tris_d(0x00);
output_d(0x00);
while(1)
{
output_d(0b11110000);
delay_ms(500);
output_d(0b00001111);
delay_ms(500);
}
}

SORULAR
1. Ledlere ait grntnn 250 ms aralklarla aadaki gibi olmasn salayan bunu sonsuz
dngde tekrar eden program yaznz.

2. Ledlere ait grntnn 100 ms aralklarla aadaki gibi olmasn salayan bunu sonsuz
dngde tekrar eden program yaznz.

3. Soru 2 ile verilen uygulamann for dngs ile yaplmasn salayan program yaznz.

Ad:
Soyad:

Teknoloji %30

Deerlendirme
lem Basamaklar
Alkanl %30
%30

Snf:
No:

Atlye retmenleri:

56

Toplam Not
Sre %10

Rakam ile

Yaz ile

ZMT SABANCI TEKNK VE ENDSTR MESLEK LSES

MKRODENETLEYCLER LABORATUARI

TEMRN 09: MKRODENETLEYC PORTUNA BALI LEDLERDE YRYEN IIK UYGULAMASI


AMA: Mikrodenetleyicinin portuna bal ledlerde gnderilen bilginin zaman gecikmeli olarak
deitirerek animasyon oluturmak.
GR: Gnmzde reklam panolarnda Led kullanm olduka yaygnlamtr. Bu panolarda
Ledlerden oluan eitli ekiller yazlarn animasyonu salanmaktadr. Mikrodenetleyici
klarna birer transistr veya birer MOSFET balayarak eitli boyutlarda Led grubundan
oluan reklam panolar yapmak mmkndr. Deney kart zerinde PortDye bal 8 adet Led
zerinde aadaki animasyonun 100 ms aralklarla yaplmas istenmektedir.
LED GRNTS

BNARY FORMAT

HEX FORMAT

0b00000001
0b00000010
0b00000100
0b00001000
0b00010000
0b00100000
0b01000000
0b10000000
0b01000000
0b00100000
0b00010000
0b00001000
0b00000100
0b00000010
0b00000001

0x01
0x02
0x04
0x08
0x10
0x20
0x40
0x80
0x40
0x20
0x10
0x08
0x04
0x02
0x01

DEVRE EMASI

57

ZMT SABANCI TEKNK VE ENDSTR MESLEK LSES

MKRODENETLEYCLER LABORATUARI

TEMRN 09: MKRODENETLEYC PORTUNA BALI LEDLERDE YRYEN IIK UYGULAMASI


UYGULAMA KODLARI
#include 16f877A.h
#fuses XT
#use delay(clock=4M)
void main(void)
{
set_tris_d(0x00);
output_d(0x00);
while(1)
{
output_d(0x01);
output_d(0x02);
output_d(0x04);
output_d(0x08);
output_d(0x10);
output_d(0x20);
output_d(0x40);

delay_ms(100);
delay_ms(100);
delay_ms(100);
delay_ms(100);
delay_ms(100);
delay_ms(100);
delay_ms(100);

output_d(0x80);
output_d(0x40);
output_d(0x20);
output_d(0x10);
output_d(0x08);
output_d(0x04);
output_d(0x02);

delay_ms(100);
delay_ms(100);
delay_ms(100);
delay_ms(100);
delay_ms(100);
delay_ms(100);
delay_ms(100);

}
}

SORULAR
1. Verilen uygulama grntsn for dngs kullanarak elde edilmesini salayan program
yaznz.
2. Ledlere ait grntnn tam terslenmi olarak elde edilmesini salayan (tek tek lambalar
sndren) program yaznz.
3. Ledlere ait grntnn 200 ms aralklarla yandaki gibi olmasn
salayan bunu sonsuz dngde tekrar eden program yaznz.
4. Uygulamada kullanlan animasyonu ilk seferinde 500ms aralklarla,
ikincisinde 450ms aralklarla, daha sonrasnda 400ms aralklarla ve
devamnda 50ms aralklarla olana kadar sreyi azaltarak tekrarlanacak
ekilde animasyon oluturan program yaznz.

Ad:
Soyad:

Teknoloji %30

Deerlendirme
lem Basamaklar
Alkanl %30
%30

Snf:
No:

Atlye retmenleri:

58

Toplam Not
Sre %10

Rakam ile

Yaz ile

ZMT SABANCI TEKNK VE ENDSTR MESLEK LSES

MKRODENETLEYCLER LABORATUARI

TEMRN 10: MKRODENETLEYC PORTUNA BALI LEDLERE KARIIK ANMASYON


UYGULAMASI
AMA: Mikrodenetleyicinin portuna bal ledlerde gnderilen bilginin zaman gecikmeli olarak
deitirerek animasyon oluturmak.
GR: C programlama dilinde belirli dzende tekrarlanan ilemleri dng komutlar
kullanlarak yerine getirilebilir. Bu uygulamada saa sola kayma ilemlerinin tekrarlanmas
dng komutu ile gerekletirilecektir. Led grntleri aras 100ms olacaktr.
DEVRE EMASI

UYGULAMA KODLARI
#include "16f877A.h"
#fuses XT
#use delay(clock=4M)
int8 i=0, data = 0;
void main(void)
{
set_tris_d(0x00);
output_d(0x00);
while(1)
{
data = 0x01;
output_d(data);
delay_ms(100);
///////////////////////////////////////////////////
for(i=1;i<=6;i++)
{
data = data<<1;
output_d(data);
delay_ms(100);
}
///////////////////////////////////////////////////

59

ZMT SABANCI TEKNK VE ENDSTR MESLEK LSES

MKRODENETLEYCLER LABORATUARI

TEMRN 10: MKRODENETLEYC PORTUNA BALI LEDLERE KARIIK ANMASYON


UYGULAMASI
UYGULAMA KODLARI DEVAMI
for(i=1;i<=6;i++)
{
data = data>>1;
output_d(data);
delay_ms(100);
}
///////////////////////////////////////////////////
output_d(0xFF);
delay_ms(100);
output_d(0x00);
delay_ms(100);
output_d(0xFF);
delay_ms(100);
output_d(0x00);
delay_ms(100);
///////////////////////////////////////////////////
data = 0x01;
output_d(data);
delay_ms(100);
for(i=1;i<=6;i++)
{
data = data<<1;
output_d(0xFF - data);
delay_ms(100);
}
///////////////////////////////////////////////////
for(i=1;i<=6;i++)
{
data = data>>1;
output_d(0xFF - data);
delay_ms(100);
}
///////////////////////////////////////////////////
output_d(0xAA);
delay_ms(100);
output_d(0x55);
delay_ms(100);
output_d(0xAA);
delay_ms(100);
output_d(0x55);
delay_ms(100);
}
}

SORULAR
1. Ledlerde zerinde aadaki ekilde verilen grntn elde edilmesini salayan animasyon
programn yaznz.
Yatay grnm
2. Ledlerde zerinde aadaki ekilde verilen grntn elde edilmesini salayan animasyon
programn yaznz.
Yatay grnm

Ad:
Soyad:

Teknoloji %30

Deerlendirme
lem Basamaklar
Alkanl %30
%30

Snf:
No:

Atlye retmenleri:

60

Toplam Not
Sre %10

Rakam ile

Yaz ile

You might also like