Upload
mete-torun
View
216
Download
0
Embed Size (px)
Citation preview
7/27/2019 2012_mikrodenetleyiciler
1/238
Mikrodenetleyiciler 8051 Uygulamalar
EGENVERSTESEGEMESLEKYKSEKOKULU
2012
Mikrodenetleyiciler
8051 Uygulamalar
Yrd. Do. Dr. Mustafa Engin
Z M R
7/27/2019 2012_mikrodenetleyiciler
2/238
EGE NVERSTES
EGE MESLEK YKSEKOKULU
Mikrodenetleyiciler
8051 Uygulamalar
(DERS NOTU)
Yrd. Do. Dr. MUSTAFA ENGN
zmir 2011
7/27/2019 2012_mikrodenetleyiciler
3/238
I
Mikrodenetleyiciler 8051 Uygulamalar
NDEKLER
Mikroilemciler ve Mikrobilgisayarn Geliimi _______________________ 1Giri ____________________________________________________________ 1Mikroilemcinin Geliimi____________________________________________ 2Mikrobilgisayarlar _________________________________________________ 3Merkezi lem Birimi _______________________________________________ 4Yar letken bellekler _______________________________________________ 6Adres, Veri ve Denetim Yollar _______________________________________ 7Giri/k Aygtlar ________________________________________________ 9
Veri Saklama Aygtlar __________________________________________________ 9
nsan le letiimi Salayan Cihazlar_______________________________________ 9
Denetim Ve Monitr Cihazlar ____________________________________________ 9
Yazlm _________________________________________________________ 10Bilgisayarn leyii _______________________________________________ 11Mikrodenetleyiciler _______________________________________________ 13Sorular _________________________________________________________ 15
MCS51 Ailesi Mikrodenetleyiciler ______________________________ 17Giri ___________________________________________________________ 17MCS51 Ailesi Mikrodenetleyiciler __________________________________ 188051in ekirdek Yaps ___________________________________________ 22Denetim Hatlar __________________________________________________ 23
PSEN_______________________________________________________________ 24
ALE________________________________________________________________ 24
EA (EXTERNAL ACESS) ________________________________________________ 24
RESET______________________________________________________________ 24
Osilatr Girileri______________________________________________________ 25
Gerilim Balantlar ___________________________________________________ 27
Giri k Hatlar_________________________________________________ 278051in Bellek Yaps_____________________________________________ 28
RAM Bellein Kullanm ______________________________________________ 29
Alt 128 Bayt _________________________________________________________ 29
st 128 Bayt ________________________________________________________ 30
zel lev Yazalar ___________________________________________________ 30
7/27/2019 2012_mikrodenetleyiciler
4/238
II
Mikrodenetleyiciler 8051 Uygulamalar
Akmlatr_________________________________________________________ 32
B Yazac ____________________________________________________________ 34
Durum Yazac _______________________________________________________ 34
Port Yazalar _______________________________________________________ 36
Veri Gsterici________________________________________________________ 39
Yn aretleyici _____________________________________________________ 39Zamanlayc Yazalar_________________________________________________ 39
Seri Port Yazalar____________________________________________________ 40
Kesme Yazalar _____________________________________________________ 40
G Denetim Yazac __________________________________________________ 41
Program Bellei _________________________________________________ 42D Bellek Kullanm _____________________________________________ 42D Program Bellei______________________________________________ 44D Veri Bellei__________________________________________________ 45Sorular ________________________________________________________ 47
MCS51 Ailesi Mikrodenetleyicilerin Komutlar ____________________ 49Giri __________________________________________________________ 49Adresleme Kipleri _______________________________________________ 50
Dorudan Adresleme _________________________________________________ 50
vedi Adresleme______________________________________________________ 51Yaza Adresleme_____________________________________________________ 52
Bal Adresleme _____________________________________________________ 52
Dolayl Adresleme ____________________________________________________ 53
Mutlak Adresleme____________________________________________________ 54
Uuzun Adresleme ____________________________________________________ 54
Sral Adresleme _____________________________________________________ 55
8051 Komut Kmesi_____________________________________________ 56Veri Aktarma Komutlar___________________________________________ 56
Veri Belleinde Veri Aktaran Komutlar _________________________________ 56
D Veri Belleinde Veri Aktaran Komutlar ________________________________ 59
Program Belleinden Veri Okuyan Komutlar_______________________________ 60
Aritmetik lem Komutlar _________________________________________ 62Mantk lem Buyruklar __________________________________________ 68Boolean lem Yapan Komutlar ____________________________________ 72Balanma Komutlar _____________________________________________ 77
Koullu Dallanma Komutlar ___________________________________________ 79
7/27/2019 2012_mikrodenetleyiciler
5/238
Mikroilemciler ve Mikrobilgisayarn Geliimi III
Mikrodenetleyiciler 8051 Uygulamalar
Sorular _________________________________________________________ 82Assembly Programlama _______________________________________ 85
Giri ___________________________________________________________ 85Assembly lemi__________________________________________________ 86
Birinci Aama Onay___________________________________________________ 87
kinci Aama Onay ___________________________________________________ 87
Assembly Dilinde Proram Dzeni____________________________________ 87Assembler Ynergeleri ____________________________________________ 89
Durum Denetimi Yapan Assembler Ynergeleri ____________________________ 89
Program Gelitirme _______________________________________________ 90rnek Kaynak Program Sayfas _____________________________________ 91Altprogramlar ve Ynn Ku llanm __________________________________ 93
Ynn Yaps Ve Kullanm _____________________________________________ 94
Yazlm Tabanl Zaman Geciktirme Dngleri __________________________ 95Tek Dngl Zaman Geciktirme Altprogramlar ____________________________ 96
ift Dngl Zaman Gecktirme Altprogramlar _____________________________ 99
rnek Altprogramlar _____________________________________________ 102Sorular____________________________________________________________ 110
MCS-51 Sayclar Zamanlayclar ______________________________ 113Giri __________________________________________________________ 113Zamanlayc Yazalar ____________________________________________ 115
Zamanlayc Mod Seme Yazac ________________________________________ 115
Zamanlayc Denetim Yazac ______________________________________ 116Zamanlayc alma Kipleri _______________________________________ 117
13 Bit Zamanlayc alma Kipi________________________________________ 11716 Bit Zamanlayc Kipi_______________________________________________ 118
8 Bit Yeniden Yklemeli Kip ___________________________________________ 118
Ayrk Zamanlayc Kipi________________________________________________ 119
Tetikleme Kaynaklar_________________________________________________ 119
Zamanlayclarn Kullanm________________________________________ 120Zamanlayc 2 __________________________________________________ 121
Yeniden Yklemeli Kip________________________________________________ 123
Yakalama Kipi ______________________________________________________ 125
Baud Rate reteci Olarak Kullanlmas __________________________________ 125
7/27/2019 2012_mikrodenetleyiciler
6/238
IV
Mikrodenetleyiciler 8051 Uygulamalar
AT89S52nin Artlar ____________________________________________ 127Seri Haberleme ve 8051 Seri Portu ___________________________ 139
Giri _________________________________________________________ 139Asenkron Seri Veri letimi ________________________________________ 1408051 UART ___________________________________________________ 142Seri Port alma kipleri _________________________________________ 144
Kip 0 8 Bit Kayar Yaza Kipi___________________________________________ 146
Kip 1 Deiken Hzl 8 Bit UART________________________________________ 147
Kip 2 Sabit Hzl 9-Bit UART___________________________________________ 149
Kip 3 Deiken Hzl 9-Bit UART________________________________________ 149
Yazalarn Ayarlanmas__________________________________________ 149Seri Port letiim Hznn Belirlenmesi ______________________________ 152
Baud Rate Saati Olarak T1in Kullanlmas _______________________________ 154
Sorular _______________________________________________________ 159Kesme ve MCS-51 Kesmeleri _________________________________ 161
Giri _________________________________________________________ 1618051in Kesme Yaps___________________________________________ 164D Kesme Girilerinin Denetimi___________________________________ 168Kesme Servis Altprogram _______________________________________ 168AT89S52nin Kesme Kaynaklar __________________________________ 169Aylak Ve Ksk Gte alma _____________________________________ 169
Aylak alma Kipi___________________________________________________ 170
Ksk Gte alma Kipi______________________________________________ 170
Sorular _______________________________________________________ 177MCS-51 Komut Kmesi ______________________________________ 179
KISALTMALAR _________________________________________________ 179ACALL adr 11 ______________________________________________________ 179
ADD A ________________________________________________ 180
ADDC A, ______________________________________________ 181
AJMP adr 11 _______________________________________________________ 182
ANL , _______________________________ 182
ANL C, ________________________________________________ 183
CJNE , , kayklk_____________________________ 184
7/27/2019 2012_mikrodenetleyiciler
7/238
Mikroilemciler ve Mikrobilgisayarn Geliimi V
Mikrodenetleyiciler 8051 Uygulamalar
CLR A _____________________________________________________________ 186
CLR Bit ____________________________________________________________ 186
CPL A _____________________________________________________________ 186
CPL Bit ____________________________________________________________ 187
DA A ______________________________________________________________ 187
DEC BAYT__________________________________________________________ 188
DIV AB_____________________________________________________________ 189
DJNZ , ___________________________________________ 189
INC _________________________________________________________ 190
JB , bal adres________________________________________________ 191
JBC , bal adres ______________________________________________ 191
JC bal adres ______________________________________________________ 192
JMP @A+DPTR ______________________________________________________ 192
JNB bit, rel _________________________________________________________ 193
JNC rel ____________________________________________________________ 193JNZ rel_____________________________________________________________ 193
JZ rel ______________________________________________________________ 194
LCALL 16 Bit Adres __________________________________________________ 194
LJMP 16 Bit Adres ___________________________________________________ 195
MUL AB____________________________________________________________ 195
MOV , _____________________________________ 196
MOV , ________________________________________ 198
MOV DPTR, #Veri 16 _________________________________________________ 199
MOVC A, @A+ __________________________________________ 199MOVX , ____________________________________ 200
ORL , _____________________________________ 201
ORL C, _________________________________________________ 202
POP Dorudan Adres_________________________________________________ 202
PUSH Dorudan Adres _______________________________________________ 203
RET_______________________________________________________________ 203
RETI ______________________________________________________________ 203
RL A ______________________________________________________________ 204
RLC A _____________________________________________________________ 204
RR A ______________________________________________________________ 205
RRC A _____________________________________________________________ 205
SETB _________________________________________________________ 206
SJMP Bal Adres ____________________________________________________ 206
SUBB A, ______________________________________________ 206
SWAP A____________________________________________________________ 208
XCH A, ______________________________________________________ 208
XCHD, @Ri _________________________________________________________ 208
XRL , _____________________________________ 209
Kaynaka ______________________________________________________ 211
7/27/2019 2012_mikrodenetleyiciler
8/238
VI
Mikrodenetleyiciler 8051 Uygulamalar
Dictionary_____________________________________________________ 213Szlk________________________________________________________ 222
7/27/2019 2012_mikrodenetleyiciler
9/238
Mikrodenetleyiciler 8051 Uygulamalar
MikroilemcilerveMikrobilgisayarnGeliimi
Giri
Mikroilemci (microprocessor) icat edileli ksa bir sre olmasna ramen modern
hayatn bir paras haline gelmitir. Gnlk yaamda otomobilde, televizyonda,
telefonda, kap otomatiinde, asansrde, trafik klarnda, hesap makinesinde,
mzik aletlerinde, daktilolarda, oyuncaklarda, cep telefonlarnda ve benzeri birok
cihazda farknda olmadan mikroilemcileri kullanmaktayz. Mikroilemciler daha
7/27/2019 2012_mikrodenetleyiciler
10/238
2 Blm 1
Mikrodenetleyiciler 8051 Uygulamalar
nce hayal edemeyeceimiz hzla mektuplarmz dnyann her noktasna
ulatrmakta, hi bir kimse ile karlatrlamayacak kadar ksa srede karmak
saysalilemleri yapabilmektedir.
Mikroilemcinin Geliimi
lk mikroilemci 1971 ylnda 4004 adyla Intel firmas tarafndan retilmitir. 4004
ok gl bir ilemci deildi, bir admda sadece 4 bitlik verileri ileyebiliyordu, buna
ramen birokkii iin heyecan vericiydi nk tm birimler tek bir tmdevre iinde
toplanmt. Benzer teknolojiyi kullanarak Intel 1974 ylnda 8 bitlik 8080
mikroilemcisini retti. Gerek anlamda bilgisayarn boyutunu klten
mikroilemci, 8088 ise 1979 ylnda retildi ve 1982 ylnda IBM firmas bu ilemciyi
kullanarak ilk kiisel bilgisayar (PC) pazara sundu. lerleyen yllarda kiisel bilgisayar
pazarna ynelik 80286, 80386, 80486, Pentium, Pentium II, Pentium III ve Pentium
4 ilemcileri Intel tarafndan pazara sunuldu.
Ad YlTransistor
AdediFrekans Kelime Uzunluu Hz
8080 1974 6,000 2 MHz 8 64x104
8088 1979 29,000 5 MHz 16, 8-bit Veri Yolu 33 x104
80286 1982 134,000 6 MHz 16 1 x106
80386 1985 275,000 16 MHz 32 5 x106
80486 1989 1,200,000 25 MHz 32 20 x106
Pentium 1993 3,100,000 60 MHz 32, 64-bit Veri Yolu 100 x106
Pentium II 1997 7,500,000 233 MHz 32, 64-bit Veri Yolu ~300 x106
Pentium III 1999 9,500,000 450 MHz 32, 64-bit Veri Yolu ~510 x106
Pentium 4 2000 42,000,000 1.5 GHz 64 bit ~1,700 x106
izelge1.1 Intel firmas tarafndan retilen mikroilemcilerin geliimi ve zellikleri.1
IBM firmasnn bilgisayar mimarisini kullanan birok firma bu ilemciler ile daha
ucuz kiisel bilgisayarlar rettiler. 8088den balayarak Pentium 4e kadar tm
ilemciler geriye doru tm ilevleri gerekletirebilmektedir. 8088de almak
1Kaynak:www.intel.com
7/27/2019 2012_mikrodenetleyiciler
11/238
Mikroilemciler ve Mikrobilgisayarn Geliimi 3
Mikrodenetleyiciler 8051 Uygulamalar
zere yazlm bir program ayn zamanda Pentium 4te de almaktadr. Intel
firmas tarafndan retilen ilemcilerin geliimi izelge1.1de verilmitir. Intel
firmas dnda Motorola 6800, RCA 1801, MOS Technology 6502 ve Zilog Z80
mikroilemcilerini rettiler.
ekil1.1 Intelin rettii ilk mikroilemci 4004n grnm.
Mikrobilgisayarlar
Mikroilemcinin yararl bir ite kullanlmas kalc ve geici veri saklama belleklerinin
ve insan veya makinelerle iletiim salayan evre birimlerinin (peripheral devices)
balanmas ile mmkn olur. Elde edilen bu cihaza bilgisayar(computer) ad verilir.
Birden fazla bilgisayarn standart bir iletiim a ile birbirlerine balanmas ile elde
edilen sisteme bilgisayar a (computer network) ad verilir. Bilgisayar oluturan
elemanlara donanm (hardware), bilgisayarn ne yapacan belirleyen komutlar
zinciri olan programlara da yazlm (software) ad verilir.
ekil1.2de temel bilgisayarn blok emas gsterilmitir. Yukarda bahsedilen
birimlerin yan sra adres, veri ve denetim bilgilerini birimler aras tayan hatlarn
oluturduu adres, veri ve denetim yollar da yer almaktadr. Yollardaki hat says ve
zellikleri her mikroilemcide farkldr. evre birimleri bilgisayarn kullanlaca ie
gre farkllk gsterir. Kiisel bilgisayar olarak kullanldnda en temel evre
7/27/2019 2012_mikrodenetleyiciler
12/238
4 Blm 1
Mikrodenetleyiciler 8051 Uygulamalar
birimleri veri ve program saklama cihazlar ( hard disk, floppy disk driver, CD driver
gibi), grntleyici, keyboard, fare ve yazcdr. Bu birimlerin balants iin ana kart
zerinde ara birim yongalar yerletirilmitir. Balant ular standart hale gelen
soketler ile kasa zerine veya ana kart zerine yerletirilmilerdir. Endstriyel
bilgisayarlarda genellikle ana kart zerine yerletirilen genileme soketlerikullanlarak arabirim kart taklr ve cihaza bu karttan k alnr. Baz endstriyel
cihazlar ise dorudan kasa zerinde bulunan soketlerden biri kullanlarak
bilgisayarla iletiim kurmas salanr. kinci yntem yava olan sistemlerde
kullanlabilir.
ekil1.2 Mikrobilgisayarn birimleri.
Merkezi lem BirimiAritmetik ve mantk ilemleri yapabilen, veri saklayabilen, yapt ilemlerin
sonucuna gre karar verebilen ve bellee veri yazp okuyabilen saysal elektronik
devrelerine ilemci(processor) ad verilir. lemciler ilk zamanlarda elektron tpleri
ile elde edildiklerinden, boyutlar ok bykt. 1970li yllarn banda transistrlerle
tek bir yongada elde edilen ilemciler elektron tpleri ile elde edilenlere oranla ok
kk olduundan ilemci kelimesinin bana kk anlamna gelen mikro kelimesi
eklenerek mikroilemci (microprocessor) kelimesi elde edilmitir. Baz kaynaklar
7/27/2019 2012_mikrodenetleyiciler
13/238
Mikroilemciler ve Mikrobilgisayarn Geliimi 5
Mikrodenetleyiciler 8051 Uygulamalar
ilemciyi merkezi ilem birimi ksaca MB, (central processing unit ksaca CPU)
olarak adlandrmlardr. Gnmzde her iki isim de kullanlmaktadr.
Merkezi ilem birimi bilgisayarn beynidir, bilgisayardaki aritmetik mantk ve karar
verme ilemleri ile bal birimlerin denetimi bu birim tarafndan yaplr. MB mantkdevrelerinin birleiminden oluur ve srekli yapt ilem komut getirme (fetching)
ve komut yrtmedir (executing). MB ikilik kodlar yrtme yeteneine sahiptir. Bu
kodlarn her biri basit bir ilemi temsil eder rnein toplama, karma VE, VEYA,
DEL gibi. Tm bu ikilik kod kmesine komut kmesi(instruction set) ad verilir. Her
mikroilemcinin kendine zg bir komut kmesi vardr.
ekil1.3de MBin basitletirilmi i yaps gsterilmitir. Aritmetik ve mantk ilem
birimi (arithmetic logic unit, ALU) aritmetikve mantk ilemlerin gerekletii yerdir.
Komut kod zme ve denetim birimi gelen komutun niteliini belirler ve bu komut
iin gerekli denetim iaretlerini reterek ierideki ve dardaki birimlere gnderir.
Ana yaza aritmetik ve mantk ilem yaplrken birinci sayy ve ilem sonunda
sonucun yazld yazatr. Birok mikroilemcide bu yazaca akmlatrad verilir.
Durum yazac her bitine ayr bir grev verilmi bir yazatr. rnein toplama
ilemlerin sonucunun ana yazaca smayan ksm durum yazacnda yer alan elde
bitinde saklanr. Bu yazataki dier bitlere ise mikroilemci reticisine gre farkl
grevler verilmitir, negatif biti, sfr biti, ondalk ilem biti gibi. Yardmc yaza
gurubu geici veri saklamak iin kullanlr. Yardmc yaza gurubunda yer alan yaza
says mikroilemci reticisine bal olarak deiir. Program sayac iletilecek
komutun adres bilgisinin oluturulduu bir ikili saycdr. Darda dorudan adres
yoluna baldr. Komut yazac program sayac tarafndan adresi belirlenen,
bellekten veri yolu ile getirilen komutun yazld yerdir.Bellee yazlacak veri yine
bu yaza yoluyla yanin veri yoluna yazmak iin yine bu yaza kullanlr.
Mikroilemcinin bir makine saykalnda ileyebilecei verinin uzunluu ALUnun bit
says ile snrldr. Akmlatrn bit says da ALUya eittir. Akmlatrdeki bitsaysna mikroilemcinin kelime uzunluu ad verilir. Kelime uzunluu 8 bit olan
mikroilemcilerde akmlatr 8 bittir ve bir makine saykalnda 8 bitlik iki sayy
toplar ve en fazla 9 bit olarak sonucu akmlatr ve durum yazacnda yer alan elde
bitine yazar. 32 bit olan mikroilemcilerde bir makine saykalnda iki 32 bitlik say
toplanabilir ve 33 bitlik sonucun 32 biti akmlatre yazlrken bir biti elde
bayrana yazlr.
7/27/2019 2012_mikrodenetleyiciler
14/238
6 Blm 1
Mikrodenetleyiciler 8051 Uygulamalar
ekil1.3 Merkezi ilem biriminin blok emas.
Yar letken bellekler
Bilgisayarn iletecei programlar ve ileyecei veriler ile sonu verileri bellekte
saklanr. Srekli kullanlan program paralar kalc tr belleklerde saklanr, bu
bellein ierii zel durumlar dnda bilgisayar tarafndan deitirilemez. leyecei
verilerve ilem sonucunda elde ettii veriler geici tr belleklerde saklanr. Geici ve
kalc tr belleklerin yaps MBne dorudan balanabilecek ekilde olmaldr. Bu
zellii tayan bellekler kalc tr olan ROM, geici tr olan RAM yar iletken
belleklerdir.
ROM bellek sadece okunabilen ierii zel donanm olmadka deitirilemeyen yar
iletken belleklerdir. retim srasndaprogramlanan mask ROM belleklerin, sonradan
ierii zel donanm olsa bile deitirilemez. erii snrsz adet okunabilir, kullanm
mr 50 yl olarak kataloglarda verilmektedir. zel programlayc ile bir defa
programlanabilen sadece okunur belleklere ise PROM ad verilir. Bu bellein dier
zellikleri mask ROM ile ayndr. ROMlar ayn program ile daha az sayda cihaz
retilecek ise mask ROMa gre daha ekonomik olmaktadr. Dier bir ROM eidi ise
silinebilir ve tekrar programlanabilir EPROM belleklerdir. EPROM bellekler zel
programlayc ile programlanr, kullanldktan sonra ierii deitirilmek
istendiinde zerinde bulunan pencereden 15 dakika ltraviyole k uygulanarak
7/27/2019 2012_mikrodenetleyiciler
15/238
Mikroilemciler ve Mikrobilgisayarn Geliimi 7
Mikrodenetleyiciler 8051 Uygulamalar
silinebilir. Silme ilemi sonras tm hcrelerin ierikleri mantk 1 olacaktr. Bu tr
belleklerin programlanmas ve silinmesi zel donanm ve sre gerektirmesi yeni tr
ROM retimine sebep olmutur. Flash EPROM olarak adlandrlan belleklerin
bilgisayar sistemlerinde kullanm hzla yaygnlamtr. Flash EPROMlar birka
balant deiiklii ile kullanldklar devre zerinde silinebilir ve ayn devre zerindeprogramlanabilir. Silme ilemi bellein tm hcrelerini mantk 1 yapar, silinecek
hcreyi seme sansmz yoktur. stenildiinde programn kopyalanmasn
engellemek iin ifre konabilir. Dier bir bellek tr ise elektrik ile silinebilir
EEPROMdur. EEPROM ile Flash EPROMdan zellii her satrnn zel dzenek
gerektirmeden dierlerinden bamsz siline bilmesidir. Hzl silme ilemi
kullanldnda ise Flash EPROMdan fark yoktur. Bellekler hakkndaki daha geni
bilgiyi saysal elektronik kitaplarndan elde edebilirsiniz.
Bilgisayarda ROM bellek ilk alta ilemcinin evre birimleri ile anlaabilmesi iin
gerekli altprogramlar saklamak iin kullanlr. Bu alt programlar ilk alta
ilemcinin adn, kullanlan arabirim yongalarnn numaralarn ve RAM bellein
salamlk denetimini grntleyiciye yazar. Bu ilemlerin sonunda kullancdan yeni
bir komut bekler hale gelir. RAM bellekte ise kullancnn sonradan girdii veriler ve
bu verilere ait sonular yer alr. Byk programlar ROM ve RAM bellekte
saklanamaz, bu ilem iin hard disk adn verdiimiz manyetik bellekler kullanlr.
Byk program paralar sra ile RAM bellee aktarlr ve ilemci buradan komutlargetirir ve yrtr. lemi tamamlanan program paras bir sonraki blm ile
deitirilir. MB dorudan hard diskten ilem yapamaz.
Adres, Veri ve Denetim Yollar
Yol (bus) belli bir amala veri tamak iin kullanlan iletkenler kmesine verilen
addr. MB evresindeki birimlere adres, veri ve denetim yollar ile baldr. MB
ilem yapaca birimi adres yoluna yazd adres bilgisi ile seer. Yapaca ileminne olduunu denetim yoluna yazd bilgi ile bildirirken ilemin sonucunda oluan
bilgiyi veri yolu ile sonucun yazlmas gereken birime tar.
Adres yolu adresin mikroilemci tarafndan retilmesinden dolay tek ynldr ve bu
yolda veri ak MBden bellek veya arabirim tmdevrelerine dorudur. Kk
lekli bilgisayarlar 16 veya 20 adres hattna sahiptirler. 1 hat iki bellek satrn
adresleyebilir, 16 adres hatt ise;
216=65536 adetbellek satrn adresleyebilir.
7/27/2019 2012_mikrodenetleyiciler
16/238
8 Blm 1
Mikrodenetleyiciler 8051 Uygulamalar
210=1024 Satr K ile ksaltlrsa;
216=26.210=26 K=64 K
Olarakadlandrlr. 20 adres hattna sahip ilemcilerde;
220=1048576 Bellek satr adreslenebilir. Ksalttmzda 1 Mega bellek satr olarak
syleyebiliriz. Forml ile ifade edecek olursak;
Belleme kapasitesi = 2 Adres Hatt Says
eklinde yazabiliriz.
Veri yolu mikroilemcinin ileyecei komutlar bellekten komut yazacna tar veya
akmlatrde oluan sonular geici bellee tar. Veri yolundaki bilgi ak iftynldr. Veri yolundaki hat says mikroilemcinin kelime uzunluuna eit olur.
Aratrmalar sonucuna gre, mikroilemcilerin yapt ilemlerin te ikisi kendi
yazalar ile bu birimler aras veri aktarma ilemleri olduu grlmtr.
Performans yksek ilemci elde etmek istiyorsak veri yolunun mmkn olduu
kadar hzl ve geni tutulmas gerekmektedir. Veri yolunun genilii mikroilemcinin
komut saysn belirler. Komut saysnn fazla olmas mikroilemcinin yeteneini
arttrr.
Mikroilemci komut says = 2 veri hattsays
Denetim yolu mikroilemcinin bellek ve arabirim tmdevreleri ile bilgi al veriinde
kulland eleme iaretleri ile zamanlama ve kesme iaretlerinden oluur. Veri ve
adres yolunda olduu gibi tm hatlarnn grevleri ve ynleri ayn deildir. Her
hattn grevi farkldr. Genellikle zamanlama amal olanlar MB tarafndan
retilirler. Bunlardan en nemlileri saat (clock), yazma (write), okuma (read)
hatlardr. Bunlardan oku hatt tek ynl bir hattr ve bellekten okuma ilemi
srasnda mikroilemci tarafndan retilir. Yazma hatt da ayn ynldr ve yazmasrasnda mikroilemci tarafndan yazma ilemi srasnda retilir. Kesme (interrupt)
hatt evre birimleri veya programc tarafndan retilir. Bu iaret etkin olduunda
ilemci normal program akn keser ve zel bir program iletir. Denetim yolundaki
hatlarn says ve alma ekilleri mikroilemci reticisine gre ok farkllk gsterir.
7/27/2019 2012_mikrodenetleyiciler
17/238
Mikroilemciler ve Mikrobilgisayarn Geliimi 9
Mikrodenetleyiciler 8051 Uygulamalar
Giri/k Aygtlar
Giri/k cihazlar veya dier adyla bilgisayar evre elemanlar MB ile gerek
dnya arasndaki iletiimi salayan birimlerdir. Bu birimler olmasayd byk bir
olaslkla bilgisayarlar kimse tarafndan kullanlmazd. eit giri/k cihazvardr. Bunlar, veri saklama cihazlar, insan ile iletiimi salayan cihazlar, denetim
ve gsterge cihazlardr.
Veri SaklamaAygtlar
Manyetik veri saklama cihazlar bellek teknolojisi arenasnda RAM ve ROM gibi
yariletken belleklerle birlikte anlrlar. Fakat aslnda yap olarak ok farkldr. Bu
cihazlar ok geni kapasiteye sahiptirler, fakat mekanik olduklarndan gvenirlikleri
dktr. Pazar gn getike bymesine ramen performanslarnda fazla gelimeolmamtr. RAM de olduu gibi MBe yakn balanamaz, arabirim kullanmak
zorundadr ki bu da veri iletimini yavalatr. Boyutlarnn srekli bymesine ramen
teknolojisi bu lde gelimemektedir. RAM ve ROM gibi yariletken belleklere
smayan programlarn saklanmasnda kullanlr. Bu cihazlardan MB dorudan
program iletemez, ancak paralar halinde RAM bellee tanr ve ilem bittikten
sonra tekrar bu cihazlara kaydedilir. Bu cihazlar (online) srekli hatta veya ariv
amal olmak zere iki trl kullanlabilirler. Genellikle manyetik ortamda veri
saklayan hard diskler srekli hatta alrlar. CD-ROM adn verdiimiz optikortamda veriyi saklayan bellekler ise ariv amal kullanlrlar. Bunlarn dnda teyp
kasetleri de veri saklama amal kullanlrlar.
nsan le letiimi Salayan Cihazlar
Bilgisayar ile insan kaynatrmak insan ile makineyi anlatran cihazlarn okluuna
baldr. En ok kullanlan arabirim video display terminal (VDT) olarak adlandrlan
klavye ve katot nl tpten oluan ekrandr. Gnmzde grntleme cihazlar
olduka eitlenmitir. LCD ekranlarn yksek renk kalitesi ve kapladklar az alandolaysyla kullanm yksek fiyatlarna ramen artmaktadr. Dier cihazlar ise
yazc, izici, mikrofon, hoparlr, fare, joystick, light pendir.
Denetim Ve Monitr Cihazlar
Mikroilemciler endstride de yaygn olarak kullanlmaktadr. zellikle seri retim
bantlarnda retimin hatasz ve hzl olmas iin birok ii robotlar yapmaktadr.
Robotlar ise mikroilemciler denetlemektedir. Mikroilemci denetleyecei
deikenin deerini renmek iin sensr kullanr. Deikenidenetlemekiin motor,
rle gibi elemanlar kullanr. Sensrler genellikle basn, scaklk, k, hareketi gibi
7/27/2019 2012_mikrodenetleyiciler
18/238
10 Blm 1
Mikrodenetleyiciler 8051 Uygulamalar
ltkleri parametreleri elektrik iaretine dntrrler. Bu analog elektrik iareti
ADC kullanlarak saysallatrlr. Bu bilgi ilendikten sonra tekrar kontrol elemanna
gnderilmeden DAC kullanlarak analog iarete dntrlr. Endstride yaygn
olarak mikroilemci yerine mikrodenetleyici kullanlmaktadr.
Yazlm
lk yllarda donanm yazlmdan daha nemliydi ve maliyeti yksekti. Son yllarda ise
yazlm daha nemli hale gelmitir. Maliyet olarak donanmn zerine kmtr.
ekil1.4te yazlm trleri basitletirilmi olarak gsterilmitir. Yazlm seviyeden
oluur: en dta uygulama program, onun iinde iletim sistemi program, en ite
giri/k alt programlar.
En iteki giri/k alt programlar dorudan donanm ile st grup yazlmlarn
balantsn salar. Alt programlar keyborddan karakter okur, gstergede karakter
grntler, hard diskten bir grup program parasn RAM bellee getirmek gibi
iletim sisteminin gereksinim duyduu altprogramlardr. Bu alt programlar
donanm tasarlayan kiiler tarafndan yazlr ve kalc tr bellekler ierisine yazlr.
IBM PClerde bu belleklere BIOS (Basic Input/Output System) ad verilir. BIOS bellei
programc tarafndan deitirilemez. Fakat saat, tarih, ifre gibi sonradan
deitirilmesi gerekli deikenlerin sakland bir pilli RAM veya EEPROM bellekanakart zerine yerletirilir.
ekil-1.4 Yazlmn katmanlar.
Programlaycnn donanm ile daha yakn iliki kurabilmesi MBin yazalarnn
balang deerleri giri/k alt programlar tarafndan sistem RAMine kaydedilir.
LETM SSTEM(KOMUTLAR VE
UYGULAMA YAZILIMI
GR/IKI ALTPROGRAMLARI
(DONANIMI KULLANDIRAN
DONANIM
7/27/2019 2012_mikrodenetleyiciler
19/238
Mikroilemciler ve Mikrobilgisayarn Geliimi 11
Mikrodenetleyiciler 8051 Uygulamalar
Programc bu RAMin ieriini deitirerek kendine uygun ekilde donanma
ulaabilir. BIOS giri/k alt programlarnn yan sra sistemi balatma programn
da ierir. ROMda kaytl olduu iin balatma program bal sistemlerin test
edilmesi ve bellein balang koullarna ayarlanmas gibi sabit ilemleri ierebilir.
Bunun dnda bootstrap loader alt program diskin birinci izini okur ve programparasn RAMe kaydeder. Bu program iletme sisteminin temelini oluturur.
letim sistemi birokprogramn toplamndan oluur ve bilgisayar ile birlikte gelir.
Uygulama programlarnn kullanm iin komut dili ve yardmc programlar ierir.
letim sistemi giri/k altprogramlarnn bir veya bir kan birletirerek kendine
komut oluturur. Dizin yaratma, kopyalama, silme, yeniden adlandrma gibi
komutlar buna birer rnektir. Bu komutlar uygulama programlar tarafndan komut
olarak kullanlr. Kullanc program yazan bir programc bilgisayarnmikroilemcisinin assembler dilini bilmeden giri/k altprogramlarn rahatlkla
kullanabilir. Uygulama yazlmlar bilgisayara i yaptrmak iin yazlm
programlardr. Kelime ilemcisi, programlama dilleri izim programlar, ses ve mzik
programlar gibi.
Bilgisayarn leyii
Bilgisayara g uygulandnda veya reset tuuna basldnda mikroilemci adresyoluna reset vektr ad verilen adres bilgisini yazar. Daha sonra okuma iaretini
reterek bellekten bu adreste yer alan komutu komut yazacna aktarr. Reset
vektr retici firma tarafndan BIOS ROMun ilk veya son adresi olarak belirlenir.
Birinci komut okunduktan sonra program sayac bir arttrlr ve bir sonraki komut
veya veri okunacak ilk bilgidir. Programn ak iletilen komutlara gre deiecektir.
Mikroilemcinin bellekten komut okumasna komut getirme saykl ad verilir.
ekil1.5te komut getirme sayklnn aamalar gsterilmitir. Komut getirme
sayklndaki olaylar sras ile yle geliir;
1. Program sayacn ierii adres yoluna aktarlr,
2. Denetim yolu hatlarndan okuma iareti etkin yaplr,
3. kilik bilgi RAM veya ROMdan veri yoluna aktarlr,
4. Veri yolundaki ikilik bilgi MB ierisindeki komut yazacna alnr,
5. Program sayac bir sonraki komut getirme ilemi iin artrlr.
7/27/2019 2012_mikrodenetleyiciler
20/238
12 Blm 1
Mikrodenetleyiciler 8051 Uygulamalar
Getirilen ikilik bilginin komut kodu olup olmad kod zme ve denetim birimi
tarafndan belirlenir. Eer bir komutun kodu ise bu kod geldiinde yaplmas
gereken ilemler mikroilemci ierisinde yazlrdr. Bu bilgiler mikroilemci retilirken
yazlr ve sonradan deitirilemez. Komutun kodunun zlp gerekli denetim
iaretlerinin retilmesi aamasna komut yrtme sayklad verilir. Komut yrtmesayklnda komut yazacna alnan komutun kodu zlerek retilmesi gereken i
denetim iaretleri retilir ve zamannda ilgili i birime gnderilir. rnein eer ilem
kodu bir toplama ilemi olduunu sylyorsa ilem iin saylar yazalardan
aritmetik ilem birimine alnr. Toplama en dk deerlikli bitten balar ve en
yksek deerlikli bite doru yaplr. Zamanlama ilemleri komut kod zme ve
denetim birimi tarafndan yaplr. Komut yrtme ilemleri komut getirme ilemleri
gibi sabit sreli deildirler. Yaplan ilemin karmaklna gre sre uzayabilir.
Anlaml bir ilem yaptrmak iin sralanm komut kmesine program ya da yazlmad verilir. Amalanan ilemin hatasz bir ekilde gereklenmesi yazlan programn
gln gsterir. Gl programlar girilecek tm girdileri gz nne alnarak
yazlr. ounlukla program ilettiimizde baz verilerde hatal sonular elde
ettiimizde bilgisayar sular ve bilgisayar hata yapt deriz. Aslnda bilgisayar deil
yazdmz program hatal veya eksiktir. Fakat donanm hatas var diyebiliriz. Bunu
sylemek iinde yazlmzn doruluundan emin olmalyz.
ekil1.5 Komut getirme sayklnda ilem sras.
7/27/2019 2012_mikrodenetleyiciler
21/238
Mikroilemciler ve Mikrobilgisayarn Geliimi 13
Mikrodenetleyiciler 8051 Uygulamalar
Mikrodenetleyiciler
lk yllarda endstride ve bilgisayarda ayn mikroilemciler kullanld. Daha sonraki
yllarda bilgisayarn daha hzl ve daha ok ilem yapan ilemcilere gereksinim
duymas, endstrinin ise yava fakat ierisinde ska kullanlan yardmc birimleriieren mikroilemciler istemesi nedeniyle endtrinin gereksinimi iin yeni araylara
girildi. lk denemeyi Intel irketi 1976 ylnda 8748 mikroilemcisi ile yapt. Bu
tmdevre ierisinde mikroilemciye ek olarak 1Kbayt EPROM bellek, 64 Bayt RAM,
27 I/O baca ve 8 bit zamanlayc yer almaktayd. Bu ilemciyi elde etmek iin
yaklak 17,000 transistor kullanlmtr. 8748 kontrol uygulamalarnn deimez
eleman oldu ve birok sistemin daha basit ve akll ekilde tasarlanmasn olanakl
kld. zellikle otomatik amar makineleri, trafik klar, otomobil ateleme
sistemleri gibi endstriyel cihazlarda youn olarak kullanld. Pazardan memnun
kalan Intelgelitirilmi endstri mikroilemcisini 1980 ylnda MCS51 ailesini olarak
dnyaya tantt. Bu ailenin ilk eleman 8051 olarak adlandrld. Bu tmdevre 60000
transistrden oluuyordu ve iersinde mikroilemci, 32 giri/k hatt, 2 adet 16 bit
zamanlayc, seri port, 4 Kbayt ROM bellek, 128 bayt RAM bellek barndryordu.
ekil1.6dailk retilen 8051 Mikrodenetleyicisini blok emas gsterilmitir.
ekil1.6 Mikrodenetleyicinin blok emas.
Intelden retim izni alan yaklak 20den fazla firma MCS51 ailesini gelitirdiler,
ayn yonga ierisine kendi altklar alana uygun birimler eklediler. Gnmzn en
7/27/2019 2012_mikrodenetleyiciler
22/238
14 Blm 1
Mikrodenetleyiciler 8051 Uygulamalar
ok kullanlan mikrodenetleyicisi MCS51 ailesidir. Motorola ise 68HC11 serisi
mikrodenetleyicileri retti, zellikleri 8051e benzeyen bu mikrodenetleyici daha
nce 6802 ilemcisini kullananlar tarafndan tercih edildi. Microchip firmas daha
kk uygulamalara dnk olarak daha az baca olan ve d bellek balanmasna
izin vermeyen mimaride 12XX, 14XX ve 16XX serisinde PIC (Peripheral Interface
Controller) mikrodenetleyicilerini retti. Zilog firmas da PICe benzer mimaride Z8
serisi mikrodenetleyiciler retti. Thomsonfirmas ise tek yongada ADC ve DAC ieren
ST62XX serisi mikrodenetleyiciler reterek daha baka bir boyut getirdi. Gnmzde
birok firma mikrodenetleyiciye program bellei, veri bellei, MB, seri kanal, deiik
sayda I/O portuna ek olarak denetim uygulamalarnda ska kullanlan ADC, DAC,
sayc/zamanlayc, SPI, I2C gibi ek birimler eklemektedirler. Bu devrelerin tek bir
tmdevrede (chip) birletirilmesi tketilen enerjiyi azaltrken devrelerin uyum
probleminden doacak hatalar ortadan kaldrmaktadr.
Son yllarda tasarmclar Analog Devices, Atmel, AMD, Maxim Dallas, Hynix,
Infineon, Intel, ISSI, Micronas, Oki, Philips, SST, Winbond, Silicon Laboratories,
Hyundai, ST Microelectronics, Samsung gibi 20den fazla firmann rettii 8051
ekirdekli ve bilgisayardan dorudan programlanabilen flash bellei olan
microdenetleyicileri kullanmay tercih etmektedirler.
Mikroilemci ile mikrodenetleyicileri komut kmeleri bakmndan karlatrrsak,
kullanm amalar farkl olduu iin komut kmeleri de farkldr. Mikroilemci daha
gl uygulamalarda kullanlaca iin hz ve kelime uzunluu byk olarak
tasarlanmtr. Bunun sonucu olarak byk veri gruplarn ileyebilecek ekilde bayt,
ift bayt uzunluundaki verileri bir defada ileyebilecek komutlara sahiptir. Fakat
mikrodenetleyicilerde bit ilem yapan komutlar daha nemlidir. Birokkomutu bit
adresleme kipinde kullanlr.
7/27/2019 2012_mikrodenetleyiciler
23/238
Mikroilemciler ve Mikrobilgisayarn Geliimi 15
Mikrodenetleyiciler 8051 Uygulamalar
Sorular
1. Yaygn olarak kullanlan ilk mikroilemci hangisidir? Hangi firma tarafndan
retilmitir?
2. Yariletken bellektrlerini yazn hangisinde veri kalc deildir?
3. Komut getirme evresinde adres ve veri yolunun ieriinedir?
4. 14 bit program sayac olan mikroilemcinin belleme kapasitesi ne kadardr?
5. Srekli hatta veri saklama cihaz ile ariv tr veri saklama cihazlar
arasnda ne gibi farkllklar vardr aklayn?
6.Nonvolatile RAM bellein zelliinedir?
7. Port adresli giri/k yntemi ile bellek adresli giri/k yntemi
arasndaki farklar nelerdir?
8. En yaygn kullanlan evre birimleri nelerdir?
9. Seri ve paralel portlarn farklar nelerdir?
10. Kesme ne demektir? Neden gereklidir?
11. Mikroilemci ile mikrodenetleyicinin fark nedir?
12. Mikrobilgisayarn blok emasn izip ksmlarnn grevlerini aklaynz.
7/27/2019 2012_mikrodenetleyiciler
24/238
7/27/2019 2012_mikrodenetleyiciler
25/238
Mikrodenetleyiciler 8051 Uygulamalar
MCS51 AilesiMikrodenetleyiciler
Giri
8051 mikrodenetleyicileri ilk olarak INTEL tarafndan 1980 ylnda retilmitir. MCS
51 ailesi mikrodenetleyiciler olarakta adlandrlan 8051in kullanm haklarn INTEL
30dan fazla fimaya satmtr. 1990l yllardan balayarak Intel 8051 retimini
kademeli olarak durdurmasna ramen kullanm hakkn alan 30dan fazla firma
ekirdek yapsnave komut setine sadk kalarak gnnz ihtiyalarna yant verecek
ekilde gelitirerek gnmze kadar gncel kalmasn salamtr. Ayrca KEIL, IAR,
NOHAU, TASKING, RAISONANCE gibi birok firma ise geni bir donanm ve yazlmgelitirme aralar destei sunmaktadr. Bunun sonucu olarak 8051 ailesi,
1980lerden bugne bir endstri standard olmutur.
Pek ok retici firma, orijinal 8051e eitli ek zellikler katarak trev rnler
gelitirmitir. ok deiik 8051 trev rnler bulunmasna ramen komut seti ve
ekirdekyap olarak btn rnler uyumludur. 8051 ekirdek mimarisi en basitten
en karmana kadar her trl endstriyel otomasyon uygulamalarnda kullanma
uygundur. Piyasaya ilk sunulduklar tarihte 12 MHzlik modelleri bir saniyede 1
7/27/2019 2012_mikrodenetleyiciler
26/238
18 Blm 2
Mikrodenetleyiciler 8051 Uygulamalar
milyon (1 MIPS, Mega Instruction Per Second) komut yrtyorken yeni trevlerde
24 MIPS, 50 MIPS ve 100 MIPSlik hzlara ulalmtr.
8051 Ailesi rnlerin teknik ve ticari avantajlarnn yan sra eitimde de
kullanmann birok avantaj vardr. 8051 hakknda birok ders kitab, teknikdokman, yazlm ve donanm gereleri, pek ok nternet Web Sayfas mevcuttur.
Kitabn sonunda kaynaklar ksmnda bu dkmanlar verilmitir. Dier bir kolayl
ise 8051 mikrodenetleyicisini birok elektronik para satan firmadan ucuz olarak
temin edilebilmesidir. Mikroilemci-mikrodenetleyici derslerinde her hangi bir
mimari yapnn retilmesi halinde bir baka mimari yapya sahip aileye uyum
salamak ok fazla zaman almayacaktr. Ancak olanaklar elverdiince piyasada
yaygn kullanlan bir mikrodenetleyici ailesinin seilmi olmas rencilerin i
hayatna uyumunu hzlandracaktr.
MCS51 Ailesi Mikrodenetleyiciler
MCS51 ailesi mikrodenetleyicilerin ilk yesi 8051dir. zerinde 4 Kbayt bir defa
programlanabilir (OTP) tipi ROM program bellei yer alr. Bu ilk rnn ismi ou
zaman ailenin genel ad olarak sylenir. Birok kaynak ya da kii MCS51 ailesi
mikrodenetleyiciler yerine 8051 ailesi ksaltmasn kullanmaktadr. Ailenin ilk
yesinin zelliklerini yle sralayabiliriz.
8 bitMikroilemci, Mantksal ilemler yapabilen ilemci, 4x8 biiminde dzenlenmi, 32 adet Giri/k hatt, 128 bayt RAM bellek, ROM veya baz modellerinde EPROM, FLASH bellek 128 adet bitadreslenebilen bellek hcresi, ACC ve B yazacna ek olarak8 adet yaza (R0, R1, ...., R7), Programlanabilir ift ynl (full-duplex) seri port, zerinde var olan i belleklere ek olarak d bellekler ekleyebilme zellii, ki adet 16 Bitlik zamanlayc/sayc, ki ncelik dzeyi olan be adetkesme kayna,
7/27/2019 2012_mikrodenetleyiciler
27/238
MCS-51 Ailesi Mikrodenetleyiciler 19
Mikrodenetleyiciler 8051 Uygulamalar
Tmdevre zerinde osilatr ve saat iaretleri oluturma devresi.8051in program bellei ROM belleinieriinin deitirilememesi baz kullanclarn
iini zorlatrmtr. Bu sorun program bellei EPROM olan 8751 retilerek
giderilmitir. Bu rnn ierisinde 8051den farkl olarak 4 kbayt EPROM bellekkullanlmtr. 8751in i program bellei zel programlayc ile programlanabir,
program deitirmek istediimizde EPROM silici ultraviyole k ile 15 dakidada
silinip tekrar programlanabilir. Programlama silme aygtlarnn pahal olmas
nedeniyle birok amatr kullanc 8751i kullanamamtr.Amatr kullanclar iin
fiyat ucuz i program bellei olmayan fakat dier zellikleri 8051ile ayn olan 8031
retilmitir. Daha sonraki yllarda program ve veri belleklerinin gereksinimi
karlamamas nedeniyle bellek miktarlar iki katna karlmtr. 8051in ROM
program bellei 8 Kbayta ve RAM veri bellei 256 Bayt karlm ve 8052, 8751EPROM program bellei 8 Kbayta ve RAM veri bellei 256 Bayt karlm ve 8752,
8031in ise veribellei 256bayta karlmve 8032 olarak adlandrlmtr. izelge
2.1de 8051 ailesi mikrodenetleyicilerin en temel yelerinin zellikleri gsterilmitir.
8051 8052 8751 8752 8031 8032
On-Chip ROM 4K 8K 4K 8 K 0 K 0 K
RAM (Bayt) 128 256 128 256 128 256
Zamanlayc 2 3 2 3 2 3
I/O Portlar 4 4 4 4 2 2
Seri Port 1 1 1 1 1 1
Kesme Kayna 5 6 5 6 5 6
izelge2,1 MCS51 ailesinin en temel elemanlar ve ierdikleri evrebirimleri.
1990l yllardan sonra tmdevre (on chip) zerinde yer alan program bellei nce
EEPROM bellekle deitirilmi bylece elektrik ile silinebilir hale gelmitir. Dahasonraki yllarda daha ucuz retim teknolojisine sahip FLASH EEPROM retilmi ve
program bellekleri bu tr bellek kullanlarak retilmeye balanmtr. Intel ve baz
firmalar bu tr bellee sahip MCS ailesi rnleri 89FXX olarak adlandrmlardr.
FLASH EEPROM belleklerin yama silme adedi 1000 defadr, bu adet aldktan sonra
en son yaplan program bellekte kalr yeni yazma yaplamaz. Gnmzde retilen
8051 trevlerini programlamak iin zel programlaycya gereksinim yoktur. retici
firmaya bal olarak bilgisayarn seri, paralel ve USB portunu kullanarak yaplacak
basit bir devre ile hzl bir ekilde programlama yaplabilmektedir. Hatta adm
7/27/2019 2012_mikrodenetleyiciler
28/238
20 Blm 2
Mikrodenetleyiciler 8051 Uygulamalar
modunda altrlarak yazalarn ierikleri okunarak program hatalar
belirlenebilmektedir. 8051in sat fiyatlar ierisinde yer alan birime bal olarak bir
ile 50 aralnda deimektedir.
1985 ylndan sonra Intel firmas MCS51 ailesi mikrodenetleyicilerin ekirdek yapsve komut setinin kullanm hakkn dier firmalara satmaya balam ve gnmzde
birok firma tarafndan 8051 ekirdei ve komut kmesi kullanlmaktadr. Bu
firmalar kendi kullanm alanlarna gre uygulamaya zel, her tketiciye uygun 8051
eitleri retmilerdir. Bu zelliklerin bazlarn yle yazabiliriz.
Programlanabilir sayc dizisi(PCA), Analog saysal ve Saysal analog dntrcler, SPI, USB, I2C ve Microwire gibi seri haberleme kanallar, CAN denetleyici, PWM, LCD src birimi, RAM, EEPROM veri bellekleri.
zellik 8051 PENTIUM Aklama
Hz 12- 60 Mhz 14 GHZ.
Adres Yolu 16 bit 32 bit
8051 216, veya 64 Kbyte bellek.
Pentium ise 232, veya 4 GBayt
bellei adresleyebilir.
Veri Yolu 8 bit 64 bitPentium bir defada daha fazla
veriyi aktarr.
ALU kelime
genilii8 bit 32 bit
Pentium bir defa da daha byk
saylar toplayabilir.
Uygulama
Alan
Ev gereleri,
EndstriBilgisayarlar
G Tketimi 250 mW 3060 W Pentium ok snr soutma ister.
Maliyeti 12 100200
izelge2.2 8051 ile Pentium serisi ilemcilerin karlatrlmas.
7/27/2019 2012_mikrodenetleyiciler
29/238
7/27/2019 2012_mikrodenetleyiciler
30/238
22 Blm 2
Mikrodenetleyiciler 8051 Uygulamalar
8051 mikrodenetleyici olduu iin denetim uygulamalarnda kullanlmak zere
gelitirilmitir. Dier yandan 8051 ile ayn yllarda retime balayan 8088
mikroilemcisi bilgisayarlarda kullanlmak zere gelitirilmi ve bugn Pentium ailesi
olarak devam etmektedir. 8051 ile Pentium ailesi mikroilemcilerin zelliklerinin
karlatrlmas izelge2.2de gsterilmitir.
ekil2.1de 8051in mantk simgesi ve bacak balants verilmitir. 8051in 40 bacandan
32 tanesi I/O hattdr. Geriye kalan 8 bacak ise besleme ve denetim hatlardr. 32 I/O hatt 4
adet 8 hatl port olarak adlandrlr. Bu portlarn I/O hatt dnda ikincil grevleri vardr. Eer
d veri ve program bellei tasarlanan sistemde gerekli deilse bu hatlar serbest I/O hatt
gibi kullanlabilirler.
ekil2.1 8051in mantk simgesi ve bacak balants.
8051in ekirdek Yaps
8051 MBinin ierisinde 8 bit ALU (Arithmetic Logic Unit), 8 bit A akmlatr ve 8
bit B akmlatr yer alr. Bunlarn dnda her MBde bulunmas gereken komut
yazac, kod zme birimi, port tutucular ve srcleri, zamanlama ve kesme
ncelikleme birimleri yer alr. Bu yapnn tannmas program yazm srasnda
mikrodenetleyicinin daha etkin kullanlmasn salar. ekil2.2de 8051in
basitletirilmi yaza yaps gsterilmitir.
7/27/2019 2012_mikrodenetleyiciler
31/238
MCS-51 Ailesi Mikrodenetleyiciler 23
Mikrodenetleyiciler 8051 Uygulamalar
8051de mikroilemciden farkl olarak i RAM bellek birimi ile zamanlayc ve seri
port denetim birimleride ekirdek yap ierisine alnmtr. Dier birok
mikroilemciden farkl olarak A ve B yazalarnnda adresleri vardr.
Denetim Hatlar
8051in denetim hatlar osilatr girileri, reset girii ve d bellek kullanmn
salayan PSEN, ALE, EA hatlarndan olumaktadr.D bellek kullanlmadnda baz
denetim hatlar ilevsiz kalr, bu sebeple yeni trev 8051lerde bu hatlar yer
almayabilir. Bazlarnda ise programlama srasnda yaplan seimle etkin yaplabilir.
ADRES Yolu 16 bit
I -RAM
Yaza B ankalar
Bit-adreslenebil ir
SFR
Ge ici Veri
Saklama Yazac
ALU
8-bit
VeriYo
lu
I Veri Yolu
D Bel lek Adres Yazac( P0 ve P2)
DPTR
P.C.
I Ver i Bel legi
Komut
Yazac Acc
Ak mlatrB
G eici Veri
Saklama Yazac
Komut Kod
zme ve
Denetleme
C
AC
F0
R S1
R S2
OV
P
PS W
Bayraklar
Port 1Ve digerler i .. .
Zamanlayc
Sayc 0
Zamanlay
Sayc 1UART
Denetim
Hatlar
RD/ WR/ PSEN/
AL E
ekil2.2 8051in i yaza yaps
7/27/2019 2012_mikrodenetleyiciler
32/238
24 Blm 2
Mikrodenetleyiciler 8051 Uygulamalar
PSEN
D program belleinden okuma yapan iaret kdr, program belleinin
(EPROMun) OE giriine balanr. PSEN k d bellekten program iletilirken
komutun okunmas srasnda dk seviyeli vuru verir. Bu iaret etkin olduunda
adres yolu tarafndan seilmi bellek satrnn ierii veri yoluna aktarlr.
bellekten program iletildiinde etkin olmaz.
ALE
Bu iaret PORT 0 adres ve veri yolu olarak kullanldnda veri bilgisi ile adres
bilgisinin demultiplex edilmesini salar. D bellekten ilem yapma sayklnn ilk
yarsnda adres bilgisi PORT 0a yazlr ve bu periyodun sonunda ALE iareti etkin
yaplarak Port 0n ierii D tutucu kna aktarlr. Saykln ikinci yarsnda ALE
iareti etkin olmaz ve Port 0 bellein veri giriine bal kalr. Veri aktarm bellektenilem yapma sayklnn ikinci yarsnda gerekleir. ALE iareti on-chip osilatrn
1/6s hznda vuru retir. 12 MHz ile almada 2 MHZlik bir vuru k verir. Bu
kural, sadece MOVX komutu iletilirken geerli deildir, bu komut iin ALE iareti bir
saykl sresince sfr dzeyinde kalr.
EA (EXTERNAL ACESS)
EA (external acess) giriid ya da i program bellekleri arasnda seim yapmak iin
kullanlr. Bu girie mantk 1 uygulandnda (3K3lk bir diren zerinden +5Vabalanrsa) 8051 i program belleinden komut iletir. Mantk 0 uygulanrsa (GND
hattna balanarak) ise d program belleinden komut iletir. 8031/8032de i
program bellei bulunmadndan mutlaka aseye balanmaldr. program
belleinin programlama aamasnda bu girie programlama gerilimi uygulanr.
8051in EPROMlu srmolan 8751de programlama gerilimi 21 Volt, 87C52de ise
programlama gerilimi 12 volttur. Flash EPROMlu srmlerde ise 5 volttur.
Aklama:Son yllarda retilen 8051 trevlerinde yeteri kadar i program bellei (64
Kbayt) ve i veri bellei (4 Kbayt) bulunduu iin d bellee ihtiya
duyulmamaktadr. Bu tr trevlerde (yaklak %90nda) PSEN, ALE ve EA hatlar
bulunmaz. Baz trevlerde ise programlama srasnda seim yaplr. Eer d bellek
balants seilirse giri/k hatlar bu i iin grevlendirilir.
RESET
8051 RST giriine en az 2 makine saykl sresince yksek seviye uygulandktan
sonra dk seviye uygulanrsa balang konumuna gelir (resetler). RST girii bir
basmal anahtarla veya bir RC devre ile sadece g verildiinde (Power On Reset,
7/27/2019 2012_mikrodenetleyiciler
33/238
MCS-51 Ailesi Mikrodenetleyiciler 25
Mikrodenetleyiciler 8051 Uygulamalar
POR) etkin hale getirilir. ekil2.3te her iki devre balants gsterilmitir. 8051
resetlendiinde SFR yazalarnn ierikleri deiir ve balang durumlarn alrlar.
Bunlardan en nemlisi (PC) program sayacdr. Reset sonras program sayacnn
ierii 0000H olur ve8051 program iletmeye bu adresten balar. Bu adrese reset
vektr denir. RAM bellein ierii reset ileminden etkilenmez. 8051inalmaya balayabilmesi iin mutlaka PORi almas gerekir, aksi halde almaya
balamaz.
ekil2.3 8051 reset balantlar.
Osilatr Girileri
ekil2.4te gsterildii gibi 8051in iki adet osilatr girii vardr. Bu girilere
ierideki osilatre kaynakolacakbir rezonans devresi balanr. Genellikle bir kristal
bu grevi yerine getirir. MSC51 ailesi mikrodenetleyicilerin yazl kristal frekanslar
12 MHzdir, fakat 8051 her 12 osilatr sayklnda 1 ilem gerekler. Piyasaya ilk
sunulduklar tarihte 12 MHzlik modelleri bir saniyede 1 milyon (1 MIPS, Mega
Instruction Per Second) komut yrtyorken yeni trevlerde 24 MIPS, 50 MIPS ve
100 MIPSlik hzlara ulalmtr.
ekil-2.4 8051in osilatr girileri ve kristal balants.
8051
C1
RST
C2
+5
XTAL
8.2
FOSC = XTAL =0.5-40 Mhz aralnda alr
C1=C2= 22-33 F aral nda se ilebilir
10u
8051
80C51
XTAL1
RST
XTAL2
+5V
2.2uF
Power-on ve iste e ba l Reset Power-on Reset
7/27/2019 2012_mikrodenetleyiciler
34/238
26 Blm 2
Mikrodenetleyiciler 8051 Uygulamalar
Mikroilemcilerin bir komutu yrtme sresine makine saykl denir. Her
mikroilemcinin makine saykl kendine zg formul ile hesaplanr. Osilatr
frekans bilinen 8051in makine saykl aada verilen formlle hesaplanabilir.
TMak. Say. = 12 / fOSC
Bunun anlam 8051 bir komutun ilenmesini 12 osilatr sayklnda tamamlar. Bu
durum birok kullanc tarafndan eletirilmitir. Motorola firmasnn rettii
68HC12XXailesi mikrodenetleyiciler 1 osilatr sayklnda 1 komut ilerken PIC ailesi
mikrodenetleyiciler 4 osilatr sayklnda 1 komut iler. Yeni trev 8051lerde
istenirse programlama srasnda 6 osilatr, 4 osilatr veya 1 osilatr saykllarnda
bir komut ilemesi iin seim olana tannmtr. Tm 8051 trevleri balang
olarak 12 osilatr sayklnda 1 komut ileyecek seilde programlanmtr.
rnek1:
fOSC= 11.0592 MHz olan 8051in makina saykln hesaplayn?
TMS. = 12 / 11059200 Hz
TMS. = 1.085 s
rnek 2:
fOSC= 12 MHz olan 8051in makina saykln hesaplayn?
TMS. = 12 / 12000000 Hz
TMS. = 1 s
rnek3:fOSC= 16 MHz olan 8051in makina saykln hesaplayn?
TMS. = 12 / 16000000 Hz
TMS. = 0.75 s
rnek3:
fOSC= 500 KHz olan 8051in makina saykln hesaplayn?
7/27/2019 2012_mikrodenetleyiciler
35/238
MCS-51 Ailesi Mikrodenetleyiciler 27
Mikrodenetleyiciler 8051 Uygulamalar
TMS. = 12 / 500000 Hz
TMS. = 24 s
Gerilim Balantlar
8051 mikrodenetleyicisi tek bir 5 voltluk kaynaktan beslenir. VCC40 numaral bacak,
VSS ise 20 numaral bacaktr. Kaynaktan ekilen akmn miktar retim teknolojisine
ve g denetim yazac ierisinde yer alan ksk g ve aylak kip bitlerinin deerlerine
baldr. Philips CMOS 8051 mikrodenetleyicilerin ektii akm deerleri izelge
2,3de verilmitir. Tasarm srasnda bu tabloda yer alan en byk deeri dikkate
alnz.
ICC VCC Min Max Birim
Aktif mod 16 MHZ 4.5 V-5.5 V - 25 mA
Aktif mod 12 MHZ 4.5 V-5.5 V - 20 mA
Aylak mod 16 MHZ 4.5 V-5.5 V - 6.5 mA
Aylak mod 12 MHZ 4.5 V-5.5 V - 5 mA
Ksk G 16 MHZ 4.5 V-5.5 V - 75 A
Ksk G 12 MHZ 4.5 V-5.5 V - 50 A
izelge2.3 CMOS 8051in g tketimi.3
Girik Hatlar
8051in 4 port eklinde dzenlenmi 32 adet giri ve k olarak kullanlabilen hatt vardr.
Bu hatlara giri kn yan sra baz ikincil grevler de verilmitir. P1, P2, P0n hatlarnn
srme kapasitesi 4 adet LS (low power Schottky) TTL yktr. P3n src devresi
glendirilmi olduu iin 8 LS TTL yk srebilmektedir. Bu deerler yeni retilen trev8051lerde farkldr. Kullanlan 8051 trevinin veri yapraklarnda en doru deer elde
edilebilir. Portlar SFR blgesinde yaza olarak yerletirilmitir. Portlar 8li olarak veya tek
hat olarak okuma ve yazma yapabiliriz. Portlarn okunmas ve yazmas yaplarnda kk
farkllklar olmasna ramen ayndr. Reset sonras portlarn klar mantk 1 deerini alr.
3Kaynak: Philips 8051 data book.
7/27/2019 2012_mikrodenetleyiciler
36/238
28 Blm 2
Mikrodenetleyiciler 8051 Uygulamalar
8051in Bellek Yaps
MCS51 ailesinde i RAM, d RAM ve d program bellei olmak zere tr bellek
yer alr. Baz kaynaklarda RAM belleklere veri bellei, program belleine ise kod
bellei ad verilir. Program bellei 8051 ve 8751de tmdevre zerinde yer alr. program bellei yeterli olduunda d program bellei kullanmaya gerek yoktur. D
bellek kullanldnda giri k portlarnn bir ksm adres ve veri yolu olarak
kullanlacandan giri/k hatt olarak kullanlamayacaktr. 8051in bellek yaps
ekil-2.5te gsterilmitir.
8051
D
Veri
Bellei
(RAM)
D
Program
Bellei
(ROM)
I -RAM
Ve ri Yo lu (8-bit)
Dene t im H at lar
12MHz
P1 P3
Adres Yolu (16-bit)
ekil2.5 8051in bellek yaps.
MCS51 ailesi mikrodenetleyicilerde program bellei ile veri bellekleri ayr adres
alanlarna sahiptir. Her iki bellek trnden 64 Kbayt bellek balanabilir. Bu iki belleksatr arasndaki ayrm kullanlan komut ve denetim hatt ile yaplr. 8051 komut
okurken okuma iareti olarakPSEN hattn veri okurken RD hattn etkin yaplr. Veri
yazarken ise WR iaretini etkin yaplr, program belleine ise yazma yaplmaz. Devre
tasarm srasnda EPROMun oku giriine PSEN hatt, RAM bellein oku giriine RD
hatt, yaz giriine ise WR hatt balanmaldr. Bu ayrk bellek yapsna HARVARD
mimarisi ad verilir. Bu mimaride MBe balanabilecek bellek kapasitesi iki katna
karken, denetim hatt says ve komut says artar. ekil2.6da bellek alanlar ve
her bellek trnn kuland denetim hatlar gsterilmitir.
7/27/2019 2012_mikrodenetleyiciler
37/238
MCS-51 Ailesi Mikrodenetleyiciler 29
Mikrodenetleyiciler 8051 Uygulamalar
ekil- 2.6 8052in adres alanlar.
RAM Bellein Kullanm
8051de i RAM olarak adlandrlan blgeMB yazalar, evre birimini denetleyenyazalar, bit adreslenebilen bellek satrlar ve ilem sonularn geici olarak
saklamaya yarayan bellek satrlarndan oluur. RAM MB yazalar ve evre
birimlerini denetleyen yazalarn yer ald zel amal yaza blgesi, yaza
bankalar, bit adreslenebilir ve genel kullanma ak bellek satrlarnn bulunduu alt
128 bayt blgesi ve sadece genel kullanm amal bellek satrlarnn bulunduu st
128 bayt blgesi olmak zere ana blgeye ayrlmtr. ekil-2.7da i RAM
bellein kullanm blgeleri gsterilmitir.
ekil2.7 RAM bellein ksmlar.
Alt 128 Bayt
Alt 128 baytn adres aral 00h-7Fhdir ve bu ksma dorudan ve dolayl adresleme
kiplerinin her ikisi ile de ulalabilir. Bu alanda yer alan 128 bayt farkl kullanm amalarna
gre blmlendirilmitir. Bunlardan ilk 32 bayt yaza bankalar olarak adlandrlr. Bunun
hemen zerinde yer alan 16 bayt bit adreslenebilen blgedir. Geri kalan 80 bayt ise genel
kullanma ak blgedir.
7/27/2019 2012_mikrodenetleyiciler
38/238
30 Blm 2
Mikrodenetleyiciler 8051 Uygulamalar
Bu blgelerin kullanm kat kurallara bal deildir, ayrlan grevde kullanmak
programcya kolaylk salar. Yaza bankasn kullanmak veya kullanmamak
programcya braklmtr. Reset sonras bank 0 olarak adlandrlan yaza gurubu
etkin olur. Programcsemek istedii yaza bankas numarasn yazarak etkin yaza
bankasn deitirebilir. Kullanlmayan yaza bankasn genel amal RAM bellekolarak kullanlabilir. Bit adresli blgenin bit adresleri 00hden balayarak 7Fhye
kadar devam eder. Bu adresler bayt adreslere benzer fakat bit adreslemenin
kullanld komut ile bayt adreslemenin kullanld komutlar fakl olduu iin
herhangi bir kargaaya sebep olmaz. ekil-2.8de alt 128 baytn kullanm alanlar
gsterilmitir.
st 128 Bayt
st 128 baytn adres aral 80h-FFh arasdr ve bu ksm sadece dolayl adreslemekipi ile kullanlabilir. Bu ksm 8052 ve st serilerde yer alr. Bu bellek alan st
srmlerde gerek duyulan daha byk kapasiteli yna bir zm olarak
eklenmitir. MCS51 ailesi mikrodenetleyiciler ynn d veri belleinde
oluturulmasna izin vermez. Programc balangta ynn balang adresini 80H
ayarlayarak st 128 bayt yn olarak kullanabilir.
zel lev Yazalar
zel amal yazalar (SFR) ksmnn adres aral st 128 bayta olduu gibi 80H-FFHaraldr, ayn adresi iki birimin paylamas sebebiyle karkl engellemak iin
MCS51 ailesi mikrodenetleyiciler bu bellek alanna sadece dorudan adresleme kipi
ile eriime izin vermitir. zel ilev yazalar tmdevre zerinde yer alan evre
birimleri ile merkezi ilem biriminde yer almas gereken ana, yardmc ve denetleme
yazalarndan olumaktadr. evre birimlerine erimek iin bu yazalar kullanlr.
MCS51 ailesi mikrodenetleyicilerde sonraki srmleri dnlerek bu blge iin
128 baytlk yer ayrlmtr, fakat fiziksel olarak bunlarn ok az ilk srmlerinde
kullanlmtr. 8051de bu yazalarn says 21 adettir, 8052de ise 26 adettir. 8051
ierisine evre birimi eklendike zel lev Yazalarnn says artacaktr. ekil
2.10da AT89S52nin zel ilev yazalarnn yerleimi verilmitir. zel lev
Yazalarnn tmnn assemlerda kullanlan simgeleri vardr, assembly program
yazarken simgeler kullanlabilir.
7/27/2019 2012_mikrodenetleyiciler
39/238
MCS-51 Ailesi Mikrodenetleyiciler 31
Mikrodenetleyiciler 8051 Uygulamalar
7F
GenelKullanm
Amal RAMBANK
3
1F R7
1E R6
1D R5
1C R4
1B R3
1A R2
19 R1
30 18 R0
2F 7F 7E 7D 7C 7B 7A 79 78
BTADRESLENEBLRBLGE
BANK2
17 R7
2E 77 76 75 74 73 72 71 70 16 R6
2D 6F 6E 6D 6C 6B 6A 69 68 15 R5
2C 67 66 65 64 63 62 61 60 14 R4
2B 5F 5E 5D 5C 5B 5A 59 58 13 R3
2A 57 56 55 54 53 52 51 50 12 R2
29 4F 4E 4D 4C 4B 4A 49 48 11 R1
28 47 46 45 44 43 42 41 40 10 R0
27 3F 3E 3D 3C 3B 3A 39 38
BANK1
0F R7
26 37 36 35 34 33 32 31 30 0E R6
25 2F 2E 2D 2C 2B 2A 29 28 0D R5
24 27 26 25 24 23 22 21 20 0C R4
23 1F 1E 1D 1C 1B 1A 19 18 0B R3
22 17 16 15 14 13 12 11 10 0A R2
21 0F 0E 0D 0C 0B 0A 09 08 09 R1
20 07 06 05 04 03 02 01 00 08 R0
1FBank 3
BANK0
07 R7
18 06 R6
17 Bank 2 05 R510 04 R4
0FBank 1
03 R3
08 02 R2
07Bank 0
01 R1
00 00 R0
ekil2.8 Alt 128 bayt RAMin kullanm alanlar.
7/27/2019 2012_mikrodenetleyiciler
40/238
32 Blm 2
Mikrodenetleyiciler 8051 Uygulamalar
F8 FF
F0 B F7
E8 EF
E0 ACC E7
D8 DF
D0 PSW D7
C8 T2CON RCAP2L RCAP2H TL2 TH2 CF
C0 C7
B8 IP BF
B0 P3 B7A8 IE AF
A0 P2 A7
98 SCON SBUF 9F
90 P1 97
88 TCON TMOD TL0 TL1 TH0 TH1 8F
80 P0 SP DPL DPH PCON 87
ekil2.9 SFR yazalarnn bellek alanna yerleimi.
zel amal yazalarn isimleri ve SFR blgesine yerleimleri ekil2.9da
gsterilmitir. izelge2.4te ise bu yazalarn reset sonras aldklar deerler
belirtilmitir. Akmlatr ve durum yazac da bu blgede yer alr ve birer adresleri
vardr. imdi bu yazalar daha yakndan tanyalm.
Akmlatr
Ksaca A veya Acc olarak adlandrlan bu yaza aritmetik ve mantk ilemlerde ana
yaza olarak kullanlr. D veri belleinden veri al verii ve program belleinden
veri okuma ilemleri de sadece bu yazatan yaplabilir. SFR blgesinde 0E0H
adresinde yer alr, bit adreslenebilir. Kullanld birok komutta adresi op-kod
ierisinde yer aldndan ayrca adres yazlmaz. Eer adresi op-kod ierisinde
olmayan bir komut kullanlyorsa assembler programna bildirmek iin A yerine Acc
ksaltmas kullanlmaldr.
7/27/2019 2012_mikrodenetleyiciler
41/238
MCS-51 Ailesi Mikrodenetleyiciler 33
Mikrodenetleyiciler 8051 Uygulamalar
ADRES SMGE YAZA ADI RESET
080H P0 Paralel G/ Kaps 0 FFH
081H SP Yn Gsterici 07H082H DPH Yksek deerli Bayt 00H
083H DPL Dk deerli Bayt 00H
087H PCON G Denetim (HMOS) 0XXXXXXXB
PCON G Denetim (CHMOS) 0XXX0000B
088H TCON Z/S Denetim 00H
089H TMOD Z/S Mod Denetim 00H
08AH TL0 Zamanlayc/Sayc 0 DDB 00H08BH TL1 Zamanlayc/Sayc 1 DD 00H
08CH TH0 Zamanlayc/Sayc 0 YDB 00H
08DH TH1 Zamanlayc/Sayc 1 YDB 00H
090H P1 G/ portu 1 FFH
098H SCON Seri Kap Denetim 00H
099H SBUF Seri Kap Tampon 00H
0A0H P2 G/ portu 2 FFH
0A8H IE Kesme zin 0X000000B
0B0H P3 G/ portu 3 FFH
0B8H IP Kesme ncelik XXX00000B
0C8H T2CON Z/S 2 Denetim yazac 00H
0CAH RCAP2L Z/S 2 Yakalama YDB 00H
0CBH RCAP2H Z/S 2 Yakalama DDB 00H
0CCH TL2 Zamanlayc/Sayc 2 DDB 00H
0CDH TH2 Zamanlayc/Sayc 2 YDB 00H
0D0H PSW Durum yazac 00H
0E0H ACC Akmlatr 00H
0F0H B B Yazac 00H
izelge2.4 zel amal yazalarn isimleri, adreslerive reset ile ald deerler.
7/27/2019 2012_mikrodenetleyiciler
42/238
34 Blm 2
Mikrodenetleyiciler 8051 Uygulamalar
B Yazac
B yazac veya baka syleyi ile B akmlatr 0F0H adresinde yer alr, arpma ve
blme ilemlerinde yardmc akmlatr olarak kullanlr. MUL AB komutu A
akmlatr ile B akmlatrnn ieriklerini arparak 16 bitlik sonucun dk
deerli ksmn A akmlatrne, yksek deerli ksmn B akmlatrne yazar. DIV
AB komutu, A akmlatrnn ieriini (blnen) B akmlatrnn ieriine
(blen) bler. Blm A akmlatrne, kalan ise B akmlatrne yazar. Ayrca B
akmlatr A akmlatr gibi bit adreslenebilir, zel grevleri dnda genel
amal yardmc yaza olarak kullanlabilir.
Durum Yazac
Durum yazac ilemcinin yapt en son ilem hakknda bilgiler ierir. Bo kalan
bitleri denetim amacyla kullanlmtr. Bu yazaca hem durum gstermesi hem dedenetim ditleri iermesi nedeniyle durum/denetim yazac ad da verilir. D0h
adresinde yer alan durum yazacnn her bitinin grevi izelge2.5te gsterildii gibi
farkldr. imdi bu grevlerini yakndan tanyalm.
7 0
PSW CY AC F0 RS1 RS0 OV - P
BT SEMBOL BT ADRES AIKLAMA
PSW.7 CY D7H Elde bayra
PSW.6 AC D6H Yardmc elde bayra
PSW.5 F0 D5H Bayrak 0
PSW.4 RS1 D4H Bank seme biti
PSW.3 RS0 D3H Bank seme biti
PSW.2 OV D2H Tama bayra
PSW.1 --- D1H Rezerve
PSW.0 P D0H ift elik bayra
izelge2.5 Durum yazacnn ierii (PSW) ierii.
Elde bayra (C veya CY)
Elde bayra aritmetik ilemlerde kullanlr. Toplama ileminde eer toplanan
saylarn en yksek deerli bitlerinden bir elde oluur ise elde bayra kurulur.
karma ileminde ise karlan daha byk ise elde bayra kurulur. Elde bayra
7/27/2019 2012_mikrodenetleyiciler
43/238
MCS-51 Ailesi Mikrodenetleyiciler 35
Mikrodenetleyiciler 8051 Uygulamalar
ayrca boolean akmlatrdr. Bir bitlik ilemlere birinci ilenen elde bayranda
bulunmak zorunda ve ayrca sonuta elde bayrana yazlr.
Yardmc Elde Bayra (AC)
Yardmc elde bayra KO saylarn toplanmasnda nc bitlerin toplamndan eldeolumas durumunda veya sonucun dk deerli nible 0Ah-0Fh aralnda ise
kurulur.
Yaza Bank Seme Bitleri
Bank seme bitleri (RS0, RS1) etkin yaza bankasn belirler. Reset iareti ile bu iki bit
temizlenir ve bylece bank 0 balang olarak seilir. Dier banklarn etkin
yaplabilmesi iin yazlm ile bu bitlerin ayarlanmas gerekir. izelge2.6da
banklarn seimleri iin RS0 ve RS1 bitlerinin deerleri verilmitir.
RS1 RS0 SELEN BANK
0 0 BANK 0 (Reset ile seilir)
0 1 BANK 1
1 0 BANK 2
1 1 BANK 3
izelge2.6 Bank seme bitleri ve seilen yaza bankas.
Bayrak 0
Bayrak 0 genel amal bayraktr, herhangi bir zel grevi yoktur programc kendi
istedii grevi bu bite verebilir.
Tama Bayra
Tama bayra (OV) toplama veya karma ilemi sonras eer aritmetik tama varsa
kurulur. Yazlm bu bite bakarak sonu hakknda gerekli dzenlemeyi yapar. Bu bit iaretli
saylar ile aritmetik ilemler yapldnda kullanlr. aretsiz saylarla aritmetikte bu bayrakihmal edilir. Toplama sonucu +127den byk veya 128den kk ise bu bit kurulur.
Elik Biti
Elik biti her makine sayklnda otomatik olarak akmlatrdeki ift elii denetler,
eer birlerin says tek ise bu bit kurulur. Akmlatr ile bu bitin durumu srekli ift
elik oluturur. Baka bir syleyile akmlatrn ierisindeki birlerin says tek
olduunda kurulur ve akmlatr ve bu bitin ieriindeki bir saysn ift hale getirir.
Elik biti iletiim sistemlerinde hata denetlemek amac ile kullanlr.
7/27/2019 2012_mikrodenetleyiciler
44/238
36 Blm 2
Mikrodenetleyiciler 8051 Uygulamalar
Port Yazalar
8051in portlarna SFR blgesinde yer alan yazalar kullanlarak eriilebilir.
portlarn yaplarnda kk farkllklar vardr. Bu farkllklar portlar okuma ve yazma
ileminde herhangi bir farkllkyaratmaz. Yaplarnn farkl olmasnn nedeni birok
port hattnn giri k ileminin dnda ikincil grevleri vardr.Port yazalar 80h,
90h, A0h, B0h adreslerinde yer alr. Eer d bellek kullanlyor ise port 0, 2 ve 3
genel amal giri/k hatt olarak kullanlamaz. Tm portlar bit adreslenebilir, bu
zellik denetim uygulamalarnda programcya kolaylk salayacaktr. Her hatt farkl
bir motor veya rle balanarak ok sayda deiken a-kapa denetimi yaplabilir.
PORT 0
Port 0n ikincil grevi d bellek kullanldnda zaman paylaml adres yolu dk
deerli bayt ve veri yolu olmasdr. Port 0n i yksee ekme direnleri veri/adres
yolu olarak kullanlmas dnda yoktur. Balanlan cihaza gre bu porta dardan
yksee ekme direnleri balanmaldr.
ekil- 2.10 Port 0n i yaps.
ekil2.10daport 0n iyaps verilmitir. Hatta balanacak R direncinin deeri
kullanlan 8051in veri yapraklarndan elde edilecek port hatlarnn sink akmna ve
bu hatta balanacak ykn deerine gre seilmelidir. Port 0n bir hattna veri
yazmak iin tutucu kna istenilen veri yazlr. Tutucu kta bulunan MOSFETi
srerek yazmak istediimiz veriyi hat kna ulatrr. Giri olarak kullanmak
istediimizde nce ka 1 yazlr ve ktaki MOSFETin yaltma gemesini
salarz ve daha sonra girii okuyan komut ile giriin seviyesi 8051 yazana
7/27/2019 2012_mikrodenetleyiciler
45/238
MCS-51 Ailesi Mikrodenetleyiciler 37
Mikrodenetleyiciler 8051 Uygulamalar
aktarlr. 8051 portlarn giri ve k olarak kullanlrken ynlendirme ilemi
yaplmaz. Bir anlamda otomatik giri k seimi yaplr diyebiliriz. Giri ilemi
ncesi 1 yazlmasnn nedeni nceki ilemden 0 yazl kalrsa port hatt giriine 1
uygulansada 0 uygulansa da her zaman MOSFET iletimde olaca iin srekli 0
okunur. 8051in giri k hatlar ynlendirme yaplan mikrodenetleyici giri khatlar ile karlatrldnda zayf bir yapya sahiptir ar akm ve gerilimlere kar
korumasz olduu iin kolay zarar grr. Gl k akmn gerek olduu
uygulamalarda transistr veya mantk geitleri kullanlarak akm olarak k hattar
glendirilmelidir.
PORT 1
Port 1 i yksee ekme direnleri olan 8 adet ift ynl alabilen Giri/k
hattndan oluur. Port 1in her bir hatt 4 adet LS ailesi TTL geidi srebilecekkaynak/ase kapasiteye sahiptir. 8051de port 1in ikincil bir grevi yoktur, fakat
8052de zamanlayc 2nin girileri iin P1.0a sayc tetikleme, P1.1e ise
yakalama/yeniden ykleme ilemi tetikleme girii grevleri verilmitir. Seri
programlama yaplabilen 8052nin yeni srmlerinde P1.5e MOSI, P1.6ya MOSO
ve P1.7ye SCK grevleri verilmitir. Port 1in ikincil grevlerive bit adresleriizelge
2.7deverilmitir.Port 1, 2 ve 3n i yaplar ayndr ve ekil-2.11de gsterilmitir.
PORT 2Port 2 i yksee ekme direnleri olan 8 adet ift ynl alabilen Giri/k
hattndan oluur. Port 2nin her bir hatt 4 adet LS ailesi TTL geidi srebilecek
kaynak/ase kapasiteye sahiptir. port 2nin ikincil grevi d bellek kullanmnda
adresin yksek deerli 8 bitini tamasdr. D bellek kullanlmadnda veya 256
bayt kullanldnda yksek deerli adrese gereksinim olmayacaktr ve bu hatlar
serbest I/O hatt olarak kullanlabilirler.
PORT 3
Port 3 i yksee ekme direnleri olan 8 adet ift ynl alabilen Giri/k
hattndan oluur. Port 3in her bir hatt 4 adet LS ailesi TTL geidi srebilecek
kaynak/ase kapasiteye sahiptir. Port 3n her hattnn farkl bir ikincil grevi vardr,
ikincil grevleri ve adresleri her hat iin izelge2.7de verilmitir. zel
grevlendirildii birim kullanlmad durumlarda bu hatlar serbest giri/k (I/O)
hatt olarak kullanlabilir.
7/27/2019 2012_mikrodenetleyiciler
46/238
38 Blm 2
Mikrodenetleyiciler 8051 Uygulamalar
ekil2.11 Port 1,2 ve 3n iyaps.
BT SM BT ADRES LEV
P3.0 RXD B0H Seri kanal veri girii
P3.1 TXD B1H Seri kanal veri k
P3.2 INT0 B2H D kesme 0 girii
P3.3 INT1 B3H D kesme 1 girii
P3.4 TO B4H Zamanlayc/sayc 0 d girii
P3.5 T1 B5H Zamanlayc/sayc 1 d girii
P3.6 WR B6H D bellee yazma iaret k
P3.7 RD B7H D bellekten okuma iaret k
P1.04 T2 90H Zamanlayc/sayc 2 d girii
P1.1 T2EX 91H Zamanlayc 2 yakalama/yenidenykleme
P1.55
MOSI 95H Seri programlama giriP1.6 MISO 96H Seri programlama k
P1.7 SCK 97H Seri programlama saat
izelge2.7PORT 3 ve PORT 1in ikincil grevleri.
48052de vardr.
5AT89S52de vardr.
7/27/2019 2012_mikrodenetleyiciler
47/238
MCS-51 Ailesi Mikrodenetleyiciler 39
Mikrodenetleyiciler 8051 Uygulamalar
Port 3 dier portlara gre daha gl k hatlarna sahip olduu iin ikincil
grevleri olmad durumlarda tasarmda bu porta ncelik verilmelidir. Port 0da
olduu gibi bu portta da giri olarak kullanlmadan nce mutlaka ka 1
yazlmaldr. zellikle kesme ve zamanlayc girilerinde bu kurala kesinlikle
uyulmaldr.
Veri Gsterici
Veri gsterici yaza (DPTR) d veri veya program belleine ulamak iin kullanlan
16 bitlik bir yazatr. 82H ve 83H adreslerinde yer alr, 8 bitine veya bir defada 16
bitine ulaabilen komutlar vardr. Bu yazaca bir defada 16 bit say yklenebilir veya
ierii arttrlabilir ya da azaltlabilir. Yeni trev 8051lerde ikinci bir DPTR1 yazac
eklenmitir alma ekli benzerdir.
Yn aretleyici
Yn iaretleyici 81H adresinde yer alan 8 bit bir yazatr. Yna en son atlan
verinin adresini gsterir. Yna veri atma ileminde nce yn iaretleyicinin ierii
bir arttrlr ve bilgi yna atlr. Yndan bilgi ekmede ise nce bilgi akmlatre
alnr ve sonra ierik bir azaltlr. 8051de yn alt 128 baytlk i RAM ile snrldr
8052de ise i RAM bellein tamam (256 bayt) yn olarak kullanlabilir. Reset
sonras yn iaretleyici 07H adresine ayarlanr. Bu demektir ki bank 0 dndaki
banklar ve bit adreslenen blge yn olarak kullanlaca iin zel grevlerindekullanlamayacaklardr.
Zamanlayc Yazalar
8051 iki adet 16 bit zamanlayc/saycya sahiptir. Zamanlayc 0 ve1in alma kipi
seme ilemleri iin TMOD denetim ve durum gsterme ilemleri iin TCON yazalar
grevlendirilmitir. Bu iki yaza 8 bitliktir ve her bitine ayr grev verilmitir.
Zamanlayc/Sayc 0 ve 16 bit bir saycdr. 8051in SFR yaza yaps ise 8 bitlik
olduu iin Zamanlayc/Sayc 0 TL0 ve TH0 olarak adlandrlm iki 8 bit yazacn
birleiminden oluur. Zamanlayc/Sayc 1 ise TL1 ve TH1 olarak adlandrlm iki 8
bit yazacn birleiminden oluur.
8052ye Zamanlayc/Sayc 2 olarak adlandrlan nc 16 bitlik bir
Zamanlayc/Sayc eklenmitir. Bu zamanlaycnn alma kipi seme bitleri, T2MOD
yazacnda denetim bitleri ve durum bitleri ise T2CON yazacnda yer alr.
Zamanlayc/Sayc 2 8er bitlik T2H ve T2L yazalarndan oluur. Zamanlayc/Sayc
2 dier zamanlayc/sayclardan farkl olarak 16 bit yeniden ykleme ve yakalama
alma kiplerinde kullanmak zere RCAP2L RCAP2H yazalarna sahiptir. izelge-
7/27/2019 2012_mikrodenetleyiciler
48/238
40 Blm 2
Mikrodenetleyiciler 8051 Uygulamalar
2.8de 8052nin zamanlayclarn yazalarnn isimleri, simgeleri, grevleri ve
adresleri gsterilmitir.
Adres SM LEV
88H TCON Zamanlayc 0 ve 1 denetim
89H TMOD Zamanlayc 0 ve 1 kip seme
8AH TL0 Zamanlayc 0 DDB
8BH TL1 Zamanlayc 1 DDB
8CH TH0 Zamanlayc 0 YDB
8DH TH1 Zamanlayc 1 YDB
0C8H T2CON Zamanlayc 2 denetim
0C9H T2MOD Zamanlayc 2 kip seme
0CAH RCAP2L Zamanlayc 2 yenidenykleme/yakalama DDB
0CBH RCAP2H Zamanlayc 2 yenidenykleme/yakalama YDB
0CCH TL2 Zamanlayc 0 DDB
0CDH TH2 Zamanlayc 1 YDB
izelge2.8 8052nin zamanlayc yazalar.
Seri Port Yazalar
8051 tmdevre zerinde seri iletiim yapan cihazlarla iletiim kurmak amac ile seri porta
(UART) sahiptir. Seri port tampon yazac (SBUF) 99h adresinde yer alr. Gnderilecek olan
veriyi veya gelen veriyi ierir. alma kipi ve ilem sonular ise seri port denetim yazac
(SCON) tarafndan yaplr.Yeni trev 8051 yelerinde ikinci bir UART1 birimi, SPI haberleme
birimi ve I2C seri haberleme birimleri eklenmitir ve bu birimleri kullanmak ve denetlemek
iin yeni yazalar eklenmitir.
Kesme Yazalar
8051 iki nceliklime dzeyi olan 5 adet kesme kaynana sahiptir. Sistem
resetlendiinde kesmeler etkisiz hale getirilir, yazlm ile kullanlacak kesmeler
kesme izinleme (IE) yazac ile genel ve bireysel olarak etkin hale getirilebilir. Kesme
kaynaklarnn alglanmas srasnda oluacak kargaann engellenmesi iin kesme
ncelik sralama yazac (IP) yerletirilmitir. 8052de zamanlayc 2 kesmesi en dk
ncelii sahip olarak kesme kaynaklarna eklenmitir.
7/27/2019 2012_mikrodenetleyiciler
49/238
MCS-51 Ailesi Mikrodenetleyiciler 41
Mikrodenetleyiciler 8051 Uygulamalar
GDenetim Yazac
G denetim yazacnn grevi mikroilemcinin g tketimini azaltmaktr.
Mikroilemcinin normal almas drasnda g azaltlmas mmkn deildir. Fakat
ilemini bitiren ve yeni bir i bekleyen mikroilemci uyku moduna geerek g
tketimini azaltabilir. G denetim yazac (PCON) ierisine bu amaca hizmet
etmeyen baka birimlerin denetim bitleri de yerletirilmitir, isimleri ve grevleri
izelge2.9dagsterilmitir.SMOD biti seri kanaln iletim hzn ikiye katlar. 4, 5, 6
nolu bitler kullanlmamtr. G denetim bitleri IDL ve PD sadece CMOS
tmdevrelerde kullanlmaktadr.
BIT SMGE AIKLAMA
7 SMODSeri port mod 1, 2 veya 3 modlarnda alrken iletiim
hzn iki katna karr.
6 --- Kullanlmam
5 --- Kullanlmam
4 --- Kullanlmam
3 GF1 Genel kullanma ak bayrak
2 GF0 Genel kullanma ak bayrak
1* PDMBni Ksk gte alma kipine sokar sadece reset ile
kar.
0* IDL MBi aylak alma kipine sokar reset veya kesme ile kar.
*sadece CMOS srmlerinde vardr.
izelge2.9 PCON yazacnn ierii.
Aylak alma Kipi
IDL bitini kuran komut iletilen son komut olacaktr. nk bu bit kurulduundaMBninsaat iareti kapatlr, MB en son halini korur. Seri portu ve zamanlayclarn
almasn etkilemez. Portlarn mantk seviyeleri son durumlarn korur. ALE ve
PSEN iaretleri yksek seviyede kalrlar. IDL moddan ancak kesme veya sistem reseti
ile klabilir.
Ksk Gte alma Kipi
PD bitini kuran komut en son iletilen komut olur. PD biti kurulduktan sonra
ilemcinin saati kapatlr. Reset ile ancak ksk g almadan klabilir. Tm
7/27/2019 2012_mikrodenetleyiciler
50/238
42 Blm 2
Mikrodenetleyiciler 8051 Uygulamalar
ilemler sayclar ve seri port da olmak zere durdurulur, portlar ve yazalar en son
halini korurlar. ALE ve PSEN dk seviyede kalrlar.
Program BelleiMCS51 ailesi mikrodentleyiciler program bellei olarak tmdevre zerinde yer alan
ROM, EPROM, FLASH bellek trleri kullanlr. zerinde bellek bulunmayan yelerine
EA baca aseye balanarak dardan kalc tr program bellei balanabilir.
Gnmzde retilen MCS51 yelerinin hepsi yeteri kadar i program belleine
sahiptir, yeterli olmadnda d bellek balamak yerine daha yksek bellei olan bir
rn seilmektedir. 8051 i ve d olmak zere 65536 satr program belleini
adresleyebilir. Baz reticiler kendilerine zg yntemle program belleini
kapasitesini 512 Kbayta kadar arttrmlardr. Bazreticiler ise program belleiinin
bir ksmn veri saklamak zere alrken programlanmasna olanak salamlardr.
MCS51 ailesi mikrodentleyiciler program belleinden okuma yaparken PSEN
hattn etkin yapar.Adres yolu olarakP0 ve P2yi veri yolu olarakta yine P0 kullanr.
P0n adres ve veri yolu olarak zaman paylaml kullanmn ALE iaretisalar.
D Bellek Kullanm
Mikrodenetleyicilerin sadece ierisinde bulunan birimleri ile devre tasarlamak
kullanm alanlarn kstlar. zellikle i bellein kullanm baz uygulamalarda
yetersiz kalabilir. Mikrodenetleyici reticileri devre tasarmclarn daha fazla olanak
sunmak iin i bellein yan sra dardan hem program bellei hem veri bellei
balantsnn yaplmas iin mikrodenetleyici zerinde gerekli dzenlemeleri
yapmlardr. MCS51 ailesi mikrodenetleyiciler de 64 K d program ve veri bellei
adres alanna sahiptir. bellein yetersiz kald uygulamalarda dardan 64
Kbayta kadar program bellei, 64 Kbayt veri bellei eklenebilir. Ayrca evrearabirimi (Peripheral interface) d bellek alanna eklenebilir. D bellek
kullanldnda Port 0 giri/k ilemleri iin kullanlamaz. Bu port zaman paylaml
adresin dk deerli bayt (A0-A7) ve veri yolu (D0-D7) olarak kullanlr. D bellek
ilem sayklnn birinci yarsnda ALE iareti ile adresin dk deerli bayt tutucu
klarnda tutulur. kinci yarda veri yolu olarak kullanlr. Port 2 ise kullanldnda
adresin yksek deerli bayt olarak grevlendirilir. Kullanlan d bellek 256 baytn
altnda ise adres iin 8 bit yeterli olduundan port 2 giri k ilemleri iin
kullanlabilir. Zaman paylaml ayn portun adres ve veri yolu iin kullanlmas
7/27/2019 2012_mikrodenetleyiciler
51/238
MCS-51 Ailesi Mikrodenetleyiciler 43
Mikrodenetleyiciler 8051 Uygulamalar
adres ve veri yolu iin kullanlacak hat saysn azaltr. Zaman paylaml
kullanlmayan ilemcilerde 24 bacak bu ilem iin kullanlrken zaman paylaml
kullanan sistemlerde 16 bacak kullanlr. Dier bacaklar farkl ilevler iin
kullanlabilir. Bu tr ilemcilerin DIP 40 soketinde retildiini dnrsek 8 hat
olduka deerlidir. ekil2.12de zaman paylaml ve paylamsz sistemlerinzamanlama diyagramlar verilmitir. Zaman paylaml almada ilem sayklnn
birinci yarsnda port 0 k olarak ynlendirilir ve adresin dk deerli bayt yazlr.
ALE iareti etkin yaplarak 74HHC373 veya edeer tutucuda tutulur. Port 2ye ise
adresin yksek deerli bayt yazlr. kinci yarda port 2nin ierii deimez fakat
port 0, okuma ilemi yaplyor ise giri yaplr ve veri okunur. Yazma ilemi ise k
yaplr ve veri yazlr. kinci yarda ALE iareti etkin olmaz fakat program belleinde n
ilem yaplyorsa PSEN, veri belleinden ilem yaplyor ise WR veya RD iaretleri
etkin yaplr.
ekil2.12Zaman paylamsz adres ve veri yolunun zamanlama diyagram.
ekil2.13Zaman paylaml adres ve veri yolunun zamanlama diyagram.
A0-A15
A8-A15
D0-D7
ADRES
VER
BELLEK SAYKILI
ADRES
16HAT
BELLEK SAYKILI
D0-D7
24HAT
VERADRES
7/27/2019 2012_mikrodenetleyiciler
52/238
44 Blm 2
Mikrodenetleyiciler 8051 Uygulamalar
D Program Bellei
D program bellei PSEN iareti ile etkin olan sadece okunabilir tr bellektir. D EPROM
kullanldnda port 0 ve port 2 genel amal Giri/k hatt olarak kullanlamaz. Bu tr
bellein 8051e balants ekil2.14tegsterilmitir. 8051in bir makine saykl 12 osilatrperiyodundan oluur. 12 MHzlik kristal kullanldnda bir makine saykl 1 Sdir. Bir makine
saykl sresince ALE iareti iki defa etkin olur ve d program belleinden iki bayt okunur.
Eer okunan komut tek baytlkise ikinci bayt atlr. Bu ilemin zamanlama diyagram ekil
2.15de gsterilmitir.
ekil2.14 D program bellei balants.
ekil2.15 D program belleinden okuma.
Port 0
P1
74HC373
P2
8051
S1
EA
P1
ALE
P2
PORT 2
S2
PSEN
P1
D
P2
Q
S3
G
P1
D0-D7
P2
A0-A7
S4
A8-A15
P1
EPROM
P2
OE
S5
P1 P2
S6
P1 P2
S1
P1 P2
S2
Makine saykl
Opkod PCL BAYT 2
PCHPCH
OSC.
ALE
Port 2
Port 0
PSEN
PCLPCL
7/27/2019 2012_mikrodenetleyiciler
53/238
MCS-51 Ailesi Mikrodenetleyiciler 45
Mikrodenetleyiciler 8051 Uygulamalar
D Veri Bellei
D veri bellei RD ve WR iaretleri ile etkinletirilen oku/yaztr belleklerdir. RD ve
WR iaretleri P3.7 ve P3.6 hatlarndan MOVX komutu ile retilirler. MOVX
komutunda adres gsterici olarak DPTR kullanldnda d veri belleinin adres hatt16 olur, R0 veya R1 yazalarndan biri kullanldnda adres hatt 8 bittir. D veri
bellei olarak 256 baytlk bellek kapasitesi yeterli ise ikinci seenek kullanlr.
ekil2.16da gsterildii gibi veri bellei balants adresin dk deerli ksm ile
veri yolu balants EPROMda olduu gibidir. Farkl ksm ise RD iaretinin RAM
bellein OE giriine ve WR iaretinin de W giriine balanmasdr. PSEN iareti d
veri bellei balantsnda kullanlmaz. Port 0 ve Port 2 kullanlarak 64 Kbayta kadar
d veri bellei balanabilir. rnek ekilde ise 1Kbaytlk RAM balantsgsterilmitir. P2 portunun bota kalan hatlar bilinli bir ekilde serbest G/ hatt
olarak kullanlabilir. 8051 bu hatlar bir yere balanmasa da MOVX A,@DPTR veya
MOVX @DPTR, A komutlar iletildiinde mantk seviyelerini deitirebilir.
MOVX A,@R0 veya MOVX @R0, A iletildiinde ise bu komutlarda sadece 8 bit
adres kullanlmas nedeniyleP2 portu etkilenmeyecektir. Bu yntemle eriilebilecek
bellek kapasitesi 256 bayttr. Daha byk kapasite gerekiyorsa P2 ya da dier bo
olan portlarn hatlar gerektii kadar RAM bellein A8, A9, A10 adres girilerine
balanr ve bu hatlarn mantk seviyeleri programc tarafndan okuma ve yazma
komutlar iletilmeden nce yaplr.Bu yntem 2 Kbayta kadar bellek balamak iin
ekil- 2.16 D veri belle i ba lants.
Port 0
74HC3738051
EA
ALE
D Q
GD0-D7
A0-A7
A8
RAM
A9
RD
WR
P2.0
P2.1
RD
WR
7/27/2019 2012_mikrodenetleyiciler
54/238
46 Blm 2
Mikrodenetleyiciler 8051 Uygulamalar
verimli olabilir, daha byk bellek balamak iin veri gsterici olarak DPTR kullanlr.
lem yaplacak veri belleinin adresi DPTR yazacna yklenir ve sonra okuma veya
yazma ilemi yaplr. ekil2.17de MOVX A, @DPTR komutunun ileme
zamanlamas verilmitir. Birinci makine sayklnda opkod program belleinden
okunaca iin ALE ve PSEN srasyla etkin olmutur. kinci makine sayklnda ilemd veri belleinden yapld iin PSEN etkin deildir RD iareti etkindir. D veri
belleine yazma ilemi de okuma ile ayn olacaktr, tek fark ilemci tarafndan ikinci
ma