2012_mikrodenetleyiciler

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