Mikroi¸slemciler-IMikrodenetleyiciler
Mikroi¸slemciler-I
Mikrodenetleyiciler
Alper Bayrak
¨
Abant ˙Izzet Baysal Universitesi
Bolu
2014
Mikroi¸slemciler-IMikrodenetleyiciler
Sunuma Genel Bakı¸s
Sunuma Genel Bakı¸s I
1 Mikrodenetleyiciler
8051 Mikrodenetleyici Ailesi
8051 Mikrodenetleyicisinin Genel Yapısı
80C52 U¸c Fonksiyonları
Mikrodenetleyici Se¸cimi
2 80C52 Mimarisi
80C52 Kaydedicileri
CPU Zamanlaması
Port Yapısı
80C52 Bellek Yapısı
Mikroi¸slemciler-IMikrodenetleyiciler
Mikrodenetleyiciler
Mikrodenetleyiciler
Daha ¨
once bahsedildi˘
gi gibi bir bilgisayar sistemi merkezi i¸slem
birimi (CPU), bellek ve G/C
¸ birimlerinin bir araya gelmesi ile olu¸sur.
Bu birimler birbirlerine adres, veri ve kontrol yolları adı verilen
iletken hatlar vasıtası ile ba˘
glanırlar.
CPU bellek, G/C
¸ birimleri arasındaki veri akı¸sını kontrol etmek ve
¸ce¸sitli aritmetik ve mantık i¸slemleri yapmaktan sorumludur.
E˘
ger CPU, bellek ve G/C
¸ birimleri tek bir yonga i¸cine yerle¸stirilirse,
olu¸sturulan bu yeni yongaya mikrodenetleyici denilmektedir.
Bu u
¨¸c ¨
ozelli˘
gin bir anda bulunması mikrodenetleyiciyi ¨ozellikle
end¨
ustriyel kontrol uygulamalarında g¨
u¸cl¨
u bir dijital i¸slemci haline
getirmektedir.
G¨
un¨
um¨
uzde yonga teknolojisindeki hızlı geli¸smeler ile beraber
mikrodenetleyicilere her ge¸cen g¨
un yeni o
¨zellikler eklenmektedir
Mikroi¸slemciler-IMikrodenetleyiciler
Mikrodenetleyiciler
Bir mikrodenetleyici a¸sa˘
gıdaki birimleri i¸cermektedir.
CPU
Program ve veri belle˘
gi
Giri¸s-¸cıkı¸s portları
Zamanlayıcı ve sayıcılar
Analog dijital ¸cevirici (ADC)
Dijital analog ¸cevirici (DAC)
Pals geni¸slik u
¨reteci (PWM)
Seri port
Kesme (interrupt) devresi
G¨
u¸c y¨
onetim birimi
Mikroi¸slemciler-IMikrodenetleyiciler
Mikrodenetleyiciler
Bu birimlerin bazıları se¸cimliktir.
Bu ¨ozellikler mikrodenetleyici u
¨reten firmalara ve
mikrodenetleyicilerin tipine g¨
ore de˘
gi¸smektedir.
Bu ¨ozellikleri sayesinde mikrodenetleyiciler, elektrikli ev
aletleri, oyuncaklar, m¨
uzik setleri ve televizyonlarda, cd ¸calar
ve fotokopi makinelerinde, motor kontrol sistemleri, hırsız
alarm ve g¨
uvenlik sistemlerinde, otomobillerde vb. bir¸cok
sistemde kontrol elemanı olarak kullanılmaktadır.
Bu sebeple mikroi¸slemcilerle birlikte mikrodenetleyicilerin
¨o˘grenilmesi son derece ¨
onem arz etmektedir.
G¨
un¨
um¨
uzde yaygın olarak 8051 ve PIC adı verilen
mikrodenetleyiciler kullanılmaktadır. Kitabın bu b¨ol¨
um¨
unde
8051 mikrodenetleyici ailesi anlatılmaktadır.
Mikroi¸slemciler-IMikrodenetleyiciler
Mikrodenetleyiciler
8051 Mikrodenetleyici Ailesi
8051 Mikrodenetleyici Ailesi
8051 mikrodenetleyicisi ilk olarak 1980’li yılların ba¸sında intel
firması tarafından u
¨retilen 8-bitlik bir mikrodenetleyicidir.
Daha sonraki yılarda 16, 32-bitlik mikrodenetleyiciler de
u
¨retilmi¸stir.
G¨
un¨
um¨
uzde bir¸cok firma intel firmasının u
¨retmi¸s oldu˘gu
mikrodenetleyici ile uyumlu kendi mikrodenetleyicilerini de
u
¨retmektedir.
Bu y¨
uzden 8051 veya MCS-51 ifadeleri mikrodenetleyicilerin
genel adı olarak kullanılmaktadır.
8051 ailesi d¨
unyada ¸cok yaygın kullanıma sahip, bug¨
un bir
end¨
ustri standardı haline gelmi¸s mikrodenetleyicidir.
Mikroi¸slemciler-IMikrodenetleyiciler
Mikrodenetleyiciler
8051 Mikrodenetleyici Ailesi
8051 Mikrodenetleyici Ailesi
Kolayca temin edilebilmesi, istenen uygulamalara uygun ¸cok
¸ce¸sitli ¨ozelliklere sahip u
¨r¨
un yelpazesi, ucuz olması, g¨
uc¸l¨
u
mimari ¨ozelli˘gi, c¸ok c¸e¸sitli firmalar tarafından u
¨retilmesi ve
desteklenmesi, kitap, uygulama notu ve internet
dok¨
umanlarının bollu˘
gu bu mikrodenetleyicinin kullanımını
yaygınla¸stırmı¸stır.
Tabloda g¨or¨
ulenlerin haricinde ba¸ska bir¸cok firmanın u
¨retmi¸s
oldu˘gu 8051 uyumlu mikrodenetleyiciler de bulunmaktadır.
Mikroi¸slemciler-IMikrodenetleyiciler
Mikrodenetleyiciler
8051 Mikrodenetleyici Ailesi
8051 Mikrodenetleyici Ailesi
Figure: Bazı firmaların u
¨retmi¸s oldukları 8051 ailesi mikrodenetleyiciler ve
¨ozellikleri
Mikroi¸slemciler-IMikrodenetleyiciler
Mikrodenetleyiciler
8051 Mikrodenetleyicisinin Genel Yapısı
8051 Mikrodenetleyicisinin Genel Yapısı
8051 ailesi g¨
un¨
um¨
uzde CMOS teknolojisi ile 8-bitlik olarak
u
¨retilmektedir.
Ba¸ska bir ifade ile veri yolu ve i¸slemci kaydedicileri 8-bit
geni¸sli˘gindedir. CMOS teknolojisi ile u
¨retilen 8051
mikrodenetleyicisi 80C51 olarak isimlendirilmektedir.
CMOS olarak u
¨retilen yongalar daha az akım ¸cekmektedir.
80C51’in dahili ROM belle˘
gi olmayan versiyonu 80C31’dir.
80C52 yongası 80C51 yongasının 256 bayt dahili RAM belle˘gi
ve 8K ROM belle˘
gi olan geli¸smi¸s versiyonudur.
Mikroi¸slemciler-IMikrodenetleyiciler
Mikrodenetleyiciler
8051 Mikrodenetleyicisinin Genel Yapısı
8051 Mikrodenetleyicisinin Genel Yapısı
Figure: 80C52 mikrodenetleyicisinin blok ¸seması
Mikroi¸slemciler-IMikrodenetleyiciler
Mikrodenetleyiciler
8051 Mikrodenetleyicisinin Genel Yapısı
8051 Mikrodenetleyicisinin Genel Yapısı
80C52’nin 8KB EPROM belle˘
ge sahip versiyonu 87C52’dir.
Mesela, Atmel firmasının AT89C52 mikrodenetleyicisi
EPROM/ROM bellek yerine 8KB FLASH bellek
kullanmaktadır.
80C52 mikrodenetleyicisi 256 Bayt dahili (on chip) RAM
belle˘ge, 2 adet harici, 4 adet dahili kesme giri¸sine, 3 adet
16-bitlik zamanlayıcı ve sayıcıya, 4 adet (P0, P1, P2-P3) 8bitlik G/C
¸ portuna, 1 adet full duplex olarak c¸alı¸sabilen seri
haberle¸sme arabirimine sahiptir.
Ayrıca istenirse 64KB harici ROM/EPROM ve 64K harici
RAM belle˘gi adresleyerek kullanabilir.
80C52; 12, 24 ve 33Mhz kristal ba˘
glanarak
¸calı¸stırılabilmektedir.
Mikroi¸slemciler-IMikrodenetleyiciler
Mikrodenetleyiciler
80C52 U¸c Fonksiyonları
80C52 U¸c Fonksiyonları
80C52 40 u¸clu DIP sokete uygun olarak u
¨retilmektedir.
Ancak QFP (y¨
uzey montaj) ve PLCC (elemanın soket i¸cine
g¨om¨
ulerek takıldı˘
gı, genelde kare ¸seklinde) soketlere uygun
olarak u
¨retim ¸sekilleri de bulunmaktadır.
Mikrodenetleyicinin 1-8 no’lu pinleri P1 portu i¸cin G/C
¸ ama¸clı
kullanılır.
1 ve 2 no’lu u¸clar zamanlayıcı-2 i¸cin harici giri¸s u¸cları olarak
da kullanılabilir.
Bu taktirde 1-2 no’lu u¸clar port olarak G/C
¸ i¸cin kullanılmazlar.
P1 portu c¸alı¸sması i¸cin harici pull up (mantık 1 seviyesine
¸cekebilmek i¸cin kullanılır) direnci gerektirmez.
Mikroi¸slemciler-IMikrodenetleyiciler
Mikrodenetleyiciler
80C52 U¸c Fonksiyonları
80C52 U¸c Fonksiyonları
Figure: 80C52 mikrodenetleyicisinin dı¸s g¨
or¨
un¨
u¸su
¨
Mikroi¸slemciler-IMikrodenetleyiciler
Mikrodenetleyiciler
80C52 U¸c Fonksiyonları
80C52 U¸c Fonksiyonları
Mikrodenetleyicinin 9 no.lu ucu (RST) mikrodenetleyiciyi
resetlemek i¸cin kullanılır.
E˘ger bu uca kısa bir s¨
ure mantık 1 sinyali (+ 5V) uygulanırsa
mikrodenetleyici resetlenir.
Mikrodenetleyici resetlendi˘
ginde 0000H adresine dalınarak t¨
um
ROM bellekteki programı ba¸stan yeniden ¸calı¸stırır.
Mikroi¸slemciler-IMikrodenetleyiciler
Mikrodenetleyiciler
80C52 U¸c Fonksiyonları
80C52 U¸c Fonksiyonları
Mikrodenetleyicinin 10-17 no.lu u¸clan P3 portu i¸cin G/C
¸ ama¸clı
kullanılır.
10-17 no’lu u¸clar port olarak G/C
¸ i¸cin kullanılmadıklarında alternatif
fonksiyonlar i¸cinde kullanılabilir.
10-11 no.lu u¸clar (TX, RX) seri haberle¸sme (UART) i¸cin kullanılır.
12-13 no.lu u¸clar (INTO-INTI) harici kesme giri¸sleri i¸cin
kullanılabilir.
14-15 no.lu u¸clar (TO, Tl) zamanlayıcı-O ve zamanlayıcı-1 i¸cin
harici giri¸s ucu olarak kullanılabilir.
16-17 no.lu u¸clar e˘
ger harici RAM bellek kullanılmı¸s ise, harici RAM
bellekten okuma ve yazma yapmak i¸cin kullanılır.
P3 portu c¸alı¸sması i¸cin harici pull up direnci gerektirmez.
Mikroi¸slemciler-IMikrodenetleyiciler
Mikrodenetleyiciler
80C52 U¸c Fonksiyonları
80C52 U¸c Fonksiyonları
18-19 no.lu u¸clar (XTAL1, XTAL2) mikrodenetleyicinin c¸alı¸sması
i¸cin gerekli saat frekansını sa˘
glayan kristal elemanın ba˘glandı˘gı
u¸clardır.
20 no’lu u¸c (GND) toprak ve 40 no’lu u¸c ise besleme (+5V) g¨
u¸c
kayna˘
gı u¸clarıdır.
Mikrodenetleyicinin 21-18 no’lu u¸clan P2 portu i¸cin GIC
¸ ama¸clı
olarak kullanılır.
E˘
ger harici RAM veya ROM bellek kullanılmı¸s ise bu bellekleri
adreslemek i¸cin adresin y¨
uksek de˘
gerlikli kısmi (A8...A15) yine bu
porttan g¨
onderilir.
29 no’lu u¸c (PSEN) harici program belle˘
gini se¸cmek i¸cin kullanılır.
30 no’lu u¸c (ALE) harici bellek kullanıldı˘
gında, adres/veri hatlarını
ayırmak i¸cin kullanılan yongayı yetkilendirmek i¸cin kullanılır.
Mikroi¸slemciler-IMikrodenetleyiciler
Mikrodenetleyiciler
80C52 U¸c Fonksiyonları
80C52 U¸c Fonksiyonları
31 no’lu u¸c (EA) dahili veya harici ROM belleklerden
hangisinin kullanılaca˘
gını se¸cmek i¸cin kullanılır.
E˘ger EA ucu GND hattına ba˘
glanırsa harici ROM, VCC
hattına (+5 V) ba˘
glanırsa dahili ROM kullanılır.
Mikrodenetleyicinin 32-39 no’lu pinleri P0 portu i¸cin G/C
¸
ama¸clı olarak kullanır.
Aynı zamanda harici belle˘
gi adreslemek i¸cin adres verisinin
d¨
u¸su
¨k de˘gerlikli (A0...A7) kısmını g¨
ondermede de
kullanılmaktadır.
Mikroi¸slemciler-IMikrodenetleyiciler
Mikrodenetleyiciler
Mikrodenetleyici Se¸cimi
Mikrodenetleyici Se¸cimi
Herhangi bir uygulama da mikrodenetleyici kullanılmak
istendi˘ginde a¸sa˘gıdaki unsurlar g¨
oz ¨
on¨
unde bulundurulmalıdır.
Mikrodenetleyicinin ¸calı¸sma hızı
G/C
¸ port sayısı.
Bellek b¨
uy¨
ukl¨
u˘
gu
¨
Analog dijital d¨
on¨
u¸st¨
ur¨
uc¨
u
Kesme sayısı
Zamanlayıcı veya sayıcı adedi
Yukarıda belirtilen unsurlar a¸sa˘
gıda kısaca a¸cıklanmaktadır.
Mikroi¸slemciler-IMikrodenetleyiciler
Mikrodenetleyiciler
Mikrodenetleyici Se¸cimi
Mikrodenetleyicinin C
¸ alı¸sma Hızı
Kesintisiz g¨
u¸c kayna˘
gı (UPS), statik reg¨
ulat¨
orler, motor hız
kontrol uygulamaları gibi yerlerde bir kontrol sinyalinin
ba¸slama ve biti¸s s¨
uresi belirli bir zaman zarfında
ger¸cekle¸stirilmesi gerekir.
E˘ger b¨oyle bir zaman sınırlaması s¨
oz konusu ise
mikrodenetleyicinin ¸calı¸sma hızı ¨
onem arz etmektedir.
Mikrodenetleyicinin ¸calı¸sma hızı, mikrodenetleyicinin ¸calı¸sma
frekansına (kullanılan XTAL frekansı), mikrodenetleyicinin
makine ¸cevrimine (tek bir komutu i¸sleme s¨
uresi), kaydedici
b¨
uy¨
ukl¨
uklerine ba˘
glı olmaktadır.
Mikroi¸slemciler-IMikrodenetleyiciler
Mikrodenetleyiciler
Mikrodenetleyici Se¸cimi
Mikrodenetleyici G/C
¸ Port Sayısı
Uygulama i¸cinde giri¸s i¸cin butonlar (anahtarlar), ¸cıkı¸s i¸cin LCD
veya LED g¨or¨
unt¨
u elemanları ve ¸ce¸sitli kontrol sinyalleri
g¨ondermek i¸cin gerekli olan G/C
¸ u¸c sayısı ¨
onem arz eder.
Mesela, az sayıda giri¸s yapılacak ve ekranda herhangi bir
g¨osterge elemanı kullanılmayacak ise az u¸clu bir denetleyici
uygulama i¸cin se¸cilebilir.
Atmel firmasının AT89C2051 mikrodenetleyicisi 20-u¸c DIP,
AT89C52 mikrodenetleyicisi 40-u¸c DIP ¸seklinde u
¨retilmektedir.
E˘ger port sayısı uygun ve di˘
ger ¨
ozellikleri yeterli ise
AT89C2051 kullanıldı˘
gında uygulama i¸cin geli¸stirilecek baskılı
devre kartı daha k¨
u¸cu
¨k boyutlu ve dolayısı ile d¨
u¸su
¨k maliyetli
olacaktır.
Mikroi¸slemciler-IMikrodenetleyiciler
Mikrodenetleyiciler
Mikrodenetleyici Se¸cimi
Bellek B¨uy¨ukl¨ug˘u¨
Mikrodenetleyici i¸cinde program ve veri saklamak i¸cin
kullanılan bellek b¨
uy¨
ukl¨
u˘
gu
¨ bazı uygulamalarda ¨onem arz
etmektedir.
Uygulama programı i¸cin de b¨
uy¨
uk boyutlu bakı¸s tabloları
kullanılıyor ise program belle˘
ginin b¨
uy¨
uk olması gerekmektedir.
C
¸u
¨nk¨
u bakı¸s tabloları de˘
gi¸smeyen sabit bilgiler i¸cermektedirler.
Uygulama i¸cin yazılan assembly programları da fazla yer
kaplayabilir.
Uygulama programlan da program belle˘
ginde
saklandıklarından se¸cilen mikrodenetleyicinin ne kadarlık bir
program belle˘gine sahip oldu˘
gu ¨
onem arz etmektedir.
Mikroi¸slemciler-IMikrodenetleyiciler
Mikrodenetleyiciler
Mikrodenetleyici Se¸cimi
Bellek B¨uy¨ukl¨ug˘u¨
Program belle˘
gi olarak EPROM, FLASH, OTP ROM belleklerinden
yalnız biri kullanılmaktadır.
Program yazma veya geli¸stirme a¸samasında EPROM veya FLASH
program belle˘
gine sahip mikrodenetleyiciler se¸cilirken, Program
geli¸stirildikten ve test edildikten sonra aynı mikrodenetleyicinin OTP
ROM (One times programmable ROM- Bir kez programlanabilen
ROM) olanı kullanılmaktadır.
C
¸u
¨nk¨
u OTP ROM, EPROM ve FLASH belle˘
ge sahip olanlara g¨ore
daha ucuzdur.
Son zamanlarda geli¸stirme a¸samasında kullanılan
Mikrodenetleyicilerin FLASH belle˘
ge sahip olanları tercih
edilmektedir.
Bunun sebebi FLASH belle˘
gin programlama cihazlan vasıtası ile ¸cok
kısa bir zamanda silinmesi ve tekrar programlanabilmeleridir.
Tekrar programlanabilme sayıları yakla¸sık 1000 defadır.
Mikroi¸slemciler-IMikrodenetleyiciler
Mikrodenetleyiciler
Mikrodenetleyici Se¸cimi
Bellek B¨uy¨ukl¨ug˘u¨
EPROM olanlar ise silinmek i¸cin ultraviyole ı¸sık veren silici cihazlara
ihtiya¸c duyarlar ve silinmesi i¸cin ge¸cen s¨
ure yakla¸sık 10 dakikadır.
RAM bellek program belle˘
gindeki uygulama programının
¸calı¸stırılması sırasında ge¸cici de˘
gerlerin ve program i¸cinde
tanımlanan de˘
gi¸skenlerin saklanması i¸cin kullanılmaktadır.
B¨
uy¨
uk boyutlu programlarda, ¸cok sayıda de˘
gi¸sken kullanıldı˘gında ve
program i¸cinde dinamik diziler tanımlandı˘
gında RAM bellek boyutu
onem arz eder.
¨
Standart olarak 256 KB ile u
¨retilen 8051 mikrodenetleyicilerinin bazı
tiplerinde extra RAM (XDATA) bulunmaktadır.
Mikroi¸slemciler-IMikrodenetleyiciler
Mikrodenetleyiciler
Mikrodenetleyici Se¸cimi
Bellek B¨uy¨ukl¨ug˘u¨
C
¸ alı¸sma anında RAM belle˘
ge atılan veriler sistem kapatıldı˘gında
otomatik olarak silinmektedir.
Ayrıca Mikrodenetleyici ¸calı¸sırken bazı kurulum de˘gerlerinin
kaydedildi˘
gi EEPROM belleklerde bulunmaktadır.
EEPROM belleklerin ¨
ozelli˘
gi c¸alı¸sma esnasında veri yazma/silme
yapılabilmesi ve sistem kapatıldı˘
gında verilerin silinmeden
kalabilmesidir.
Mikroi¸slemciler-IMikrodenetleyiciler
Mikrodenetleyiciler
Mikrodenetleyici Se¸cimi
Analog Dijital D¨on¨u¸st¨ur¨uc¨u
Bir¸cok uygulamada Analog-dijital d¨
on¨
u¸st¨
ur¨
uc¨
u eleman
kullanılması gerekmektedir.
Mesela, oda sıcaklı˘
gı, basın¸c, nem, akım, gerilim gibi analog
de˘gerler anlık olarak mikrodenetleyici ile kontrol edilmek
istenebilir.
Bu durumda, ya harici bir ADC ya da ADC’ye sahip olan bir
mikrodenetleyici kullanılmalıdır.
Burada kullanılacak ADC’nin ka¸c bitlik ve ka¸c kanallı oldu˘gu
¨onemlidir. ADC’nin bit sayısı ¨
ol¸cu
¨m hassasiyetini
belirlemektedir.
E˘ger 5 farklı analog de˘
ger ¨
ol¸cu
¨lecek ise kullanılan ADC’nin en
az 5 veya daha fazla kanalı olmalıdır.
Mikroi¸slemciler-IMikrodenetleyiciler
Mikrodenetleyiciler
Mikrodenetleyici Se¸cimi
Kesme Sayısı
Daha ¨
once anlatıldı˘
gı gibi kesme, mikrodenetleyici bir i¸s ile
u˘
gra¸sırken (bir komutu i¸slerken) gelen uyancı bir sinyal ile (bu sinyal
harici veya dahili olabilir) o an yapmakta oldu˘
gu i¸si bırakıp kesme
sinyalinin gerektirdi˘
gi i¸se dallanması ve bu i¸si bitirdikten sonra tekrar
kaldı˘
gı i¸se devam etmesi olarak tanımlanır.
Kesme yapısı ile mikrodenetleyicinin anlık olarak cevap vermesi veya
yapması gereken i¸sler yaptırılır.
B¨
oylece mikrodenetleyicinin ger¸cek zamanlı olarak ¸cevre birimlerden
gelen isteklere cevap vermesi sa˘
glanırken mikrodenetleyicinin daha
az me¸sgul olması farklı t¨
urden isteklere cevap vermesi i¸cin zaman
kazanması sa˘
glanır.
Bu y¨
uzden bir mikrodenetleyicinin ne kadar kesme u
¨reten kayna˘ga
(birime) sahip oldu˘
gu ¨
onem arz etmektedir. Harici kaynaklar, dahili
olarak zamanlayıcı ve sayıcılar, seri port, birimleri kesme u
¨retebilir.
Mikroi¸slemciler-IMikrodenetleyiciler
Mikrodenetleyiciler
Mikrodenetleyici Se¸cimi
Zamanlayıcı ve Sayıcı
Mikrodenetleyici i¸cin de belki de en ¸cok kullanılan birimler
zamanlayıcı ve sayıcılardır.
Belirli aralıklarla yaptırılması gereken i¸sler, haricen gelen bir
sinyalin saydırılması, seri port haberle¸smesinde baud rate
ayarlamak, ve bazen de PWM (Pulse Width Modulation-Pals
geni¸slik mod¨
ulasyonu) sinyalleri u
¨retmek i¸cin kullanılırlar.
Mikroi¸slemciler-IMikrodenetleyiciler
80C52 Mimarisi
80C52 Mimarisi
80C52 ailesi i¸cerisinde 8-bitlik bir i¸slemci vardır.
Bu i¸slemci de di˘gerleri gibi ALU, zamanlama ve kontrol birimi
ve kaydedicilerden meydana gelmi¸stir.
ALU, mikroi¸slemciler konusunda anlatıldı˘
gı gibi aritmetik
i¸slemlerden sorumludur.
Zamanlama ve kontrol birimi CPU ya gelen ve giden veri
akı¸sının senkronizasyonundan sorumludur.
Verilerin, veri yoluna yerle¸stirilmesi veya veri yolundan
okunması i¸slemlerini koordine eder.
PSEN, ALE, WR kontrol sinyallerini u
¨retir.
Mikroi¸slemciler-IMikrodenetleyiciler
80C52 Mimarisi
80C52 Mimarisi
Mikroi¸slemciler-IMikrodenetleyiciler
80C52 Mimarisi
80C52 Kaydedicileri
80C52 Kaydedicileri
Programcı mikrodenetleyici ile bir i¸s yaptırmak istedi˘ginde bunu
program yazarak ger¸cekle¸stirir.
Program yazabilmek i¸cin mikroi¸slemcide oldu˘
gu gibi
mikrodenetleyicinin mimari yapısını, ¸calı¸sma ilkelerini, kaydedici
sayısını ve bunların hangi ama¸clar i¸cin kullanıldı˘
gının bilinmesi
gerekmektedir.
C
¸u
¨nk¨
u kaydediciler programcının denetimi altındadır. Programa
kaydedicilere istedi˘
gi veriler yazabilir veya okuyabilir.
Kaydedicilere yazılan veriler ile programcı, mikrodenetleyici i¸cindeki
zamanlayıcı, sayıcı, seri haberle¸sme birimi, kesmeler varsa ADC
birimi vb. di˘
ger birimleri kontrol edebilir. Yalnızca IR ve PC
kaydedicileri programcının direkt denetimi altında de˘gildir.
Bu iki kaydedicinin dı¸sında kalan di˘
ger kaydediciler ¨ozel fonksiyon
kaydedicileri (SFR-Special function register) olarak ifade edilirler.
Mikroi¸slemciler-IMikrodenetleyiciler
80C52 Mimarisi
80C52 Kaydedicileri
¨
Ozel
Fonksiyon Kaydedicileri
A, B, PSW, DPTR, P0, P1, P2, P3, SBUF, TH0, TL0, TH1,
TL1, IP, TMOD, TCON, SCON, PCON kaydedicileri birer
¨ozel fonksiyon kaydedicileridir.
Bu kaydedicilerin her birinin RAM belle˘
gin 80H-FFH arası
adres b¨olgesinde bir adresi vardır, Bu adres b¨
olgesine
do˘grudan adresleme modu kullanılarak eri¸silebilir.
Bu kaydedicilerden birine bir veri yazıldı˘
gında, kaydedicinin
RAM bellek adresine veri yazılmı¸s olur.
Kaydedicilerden birine ait RAM adresine bir veri yazıldı˘gında
ise o kaydediciye veri yazılmı¸s olur.
Mikroi¸slemciler-IMikrodenetleyiciler
80C52 Mimarisi
80C52 Kaydedicileri
¨
Ozel
Fonksiyon Kaydedicileri
Figure: 80C52 ¨
ozel fonksiyon kaydedicileri ve RAM bellek adresleri
Mikroi¸slemciler-IMikrodenetleyiciler
80C52 Mimarisi
80C52 Kaydedicileri
¨
Ozel
Fonksiyon Kaydedicileri
Yukarıdaki ¸sekilde kenarında ’*’ i¸sareti olan kaydediciler bit
adresleme ile kullanılabilmektedirler.
Ba¸ska bir deyi¸sle bu kaydedicilerin her hangi bir biri
di˘gerlerinden ba˘gımsız olarak 1 veya 0 yapılabilir.
Di˘ger taraftan mikroi¸slemciye RESET atıldı˘
gında SFR’lerin
aldıkları de˘gerler ¨
onemlidir.
Mesela P0 portu RESET’den sonra FFH veya 1111111 1B
de˘gerini almaktadır.
Bu port ile bir LED s¨
ur¨
ul¨
uyor ise, RESET’den hemen sonra
LED’ler yanacaktır.
Mikroi¸slemciler-IMikrodenetleyiciler
80C52 Mimarisi
80C52 Kaydedicileri
¨
Ozel
Fonksiyon Kaydedicileri
Ak¨
um¨
ulat¨
or kaydedicisi:
Kısaca A veya ACC olarak g¨
osterilen bu kaydedici 8 bitliktir ve
veri transfer i¸slemleri, aritmetik ve mantık i¸slemleri, harici veri,
program belle˘gine eri¸sim i¸slemlerinde kullanılır.
RAM bellekte E0H adresinde yer alır.
B Kaydedicisi:
8 bitlik bir kaydedicidir ve c¸arpma ve b¨
olme i¸slemlerinde
kullanılır.
Mikroi¸slemciler-IMikrodenetleyiciler
80C52 Mimarisi
80C52 Kaydedicileri
¨
Ozel
Fonksiyon Kaydedicileri
Bayrak Kaydedicisi (PSW-Processor Status Word):
˙I¸slemci durum kaydedicisi olarak da bilinen bu kaydedici
programcıya i¸slenmi¸s komutun sonu¸cları hakkında bilgi vermek
ve RO...R7 kaydedicileri kullanabilmek i¸cin bank se¸cimi
yapmayı sa˘glar.
Bayrak kaydedicisinde elde (C) biri, ta¸sma (0V) biri, e¸slik
(P-Parity) biti, yardımcı elde (AC-Auxilary carry) biri ve RSO,
RS 1 bank se¸cim bitleri yer almaktadır.
Aritmetik i¸slemlerde, mesela toplama i¸sleminde sonu¸c 8- biri
a¸sarsa elde biri 1 olur.
Programcı ¸sartlı dallanma komutlarından birini kullanarak,
e˘ger elde varsa ¸su etikete git gibi bir komutla programı
y¨onlendirebilir.
Mikroi¸slemciler-IMikrodenetleyiciler
80C52 Mimarisi
80C52 Kaydedicileri
¨
Ozel
Fonksiyon Kaydedicileri
Figure: PSW kaydedicisi
Mikroi¸slemciler-IMikrodenetleyiciler
80C52 Mimarisi
80C52 Kaydedicileri
¨
Ozel
Fonksiyon Kaydedicileri
Yı˘
gın bellek g¨
osterici (SP-Stack Pointer):
Yı˘gın belle˘ge atılacak verilerin adresini tutan 8 bitlik bir
kaydedicidir.
Ba¸slangı¸cta 07H adresine varsayılan de˘
ger olarak ayarlanır.
Altyordam c¸a˘grılarında ve kesme hizmet altyordamlarına
dallanmadan ¨once programın kaldı˘
gı noktaya d¨onebilmesi i¸cin
d¨on¨
u¸s adresleri otomatik olarak SP’nin g¨
osterdi˘gi bellek
alanına atılır.
SP’ye de˘ger atılmadan ¨
once de˘
geri iki artırılır.
PUSH komutu ile bir kaydedici i¸ceri˘
gi yı˘
gın belle˘ge atılmadan
¨once SP 1 artırılır. Daha sonra SP’nin g¨
osterdi˘gi bu adrese
veri yazılır.
SP kaydedicisi RAM bellekte 81H adresinde yer alır.
Mikroi¸slemciler-IMikrodenetleyiciler
80C52 Mimarisi
80C52 Kaydedicileri
¨
Ozel
Fonksiyon Kaydedicileri
Veri g¨
osterici (DPTR-Data Pointer):
16 bitlik bir kaydedicidir. DPH, DPL olmak u
¨zere iki
b¨ol¨
umden olu¸sur.
Harici program ve veri belle˘
gine eri¸sirken ak¨
um¨
ulat¨orle birlikte
bellek adresini g¨ostermek i¸cin ve JMP komutunda uzun
dallanmalarda kullanılır.
RAM bellekte 82H ve 83H adresinde yer alır.
P0, P1, P2, P3 Port kaydedicileri:
8-bitlik kaydedicilerdir. RAM bellekte sırası ile 80H, 90H,
AOH, BOH adreslerinde yer alırlar.
Port kaydedicileri mikrodenetleyicinin dı¸s d¨
unyaya a¸cılan
kapılarıdır.
Mikrodenetleyiciye harici bir birimden gelen bilgileri almak
veya mikrodenetleyiciden harici bir birime c¸ıkı¸s verisi
g¨ondermek i¸cin kullanılırlar.
Mikroi¸slemciler-IMikrodenetleyiciler
80C52 Mimarisi
80C52 Kaydedicileri
¨
Ozel
Fonksiyon Kaydedicileri
Seri haberle¸sme veri tamponu (SBUF-Serial Data Buffer):
8 bitlik bir kaydedicidir.
Bir ba¸ska birimle mesela bir bilgisayar veya bir ba¸ska
mikrodenetleyici ile seri veri haberle¸smesi yaparken, seri olarak
gelen veya giden verilerin tutulması i¸cin kullanılır.
Zamanlayıcı kaydedicileri (TH0, TL0, TH1, TL1, TH2, TL2):
Zamanlama ve sayıcı i¸slemlerinde zaman bilgisini tutarlar ve 8
bitlik kaydedicilerdir.
Zamanlayıcı-0 i¸cin TH0 ve TL1 birlikte 16 bit olarak zaman
de˘gerini saklarlar.
Di˘ger iki zamanlayıcı i¸cin de aynı kullanım ge¸cerlidir.
Mikroi¸slemciler-IMikrodenetleyiciler
80C52 Mimarisi
80C52 Kaydedicileri
¨
Ozel
Fonksiyon Kaydedicileri
Kontrol kaydedicileri:
IP, lE, TMOD, TCON, T2CON, SCON, ve PCON ¸ce¸sitli
i¸slemleri kontrol etmek i¸cin kullanılır.
Mesela TCON kaydedicisinde her bir bitin farklı bir g¨orevi
vardır.
Bu kontrol kaydedicisindeki 4. bit 1 yapıldı˘
gında zamanlayıcı
¸calı¸smaya ba¸slar, 0 yapıldı˘
gında zamanlayıcı ¸calı¸smasını
durdurur.
Mikroi¸slemciler-IMikrodenetleyiciler
80C52 Mimarisi
80C52 Kaydedicileri
Di˘ger Kaydediciler
Komut kaydedicisi (IR-Instruction Register):
Komut kaydedicisi program belle˘
ginden (ROM/EPROM/FLASH) okunan
komut kodlarının tutuldu˘
gu 8-bitlik kaydedicidir.
Program sayacı (PC-Program counter):
Program sayacı bir komut i¸slenirken bir sonraki i¸slenecek olan komutun
adresini g¨
osterir. PC kaydedicisi 16-bitliktir ve PCH, PCL olarak ikiye
aynlmı¸stır.
PCH adresin y¨
uksek de˘
gerlikli 8 birlik kısmını, PCL ise adresin d¨
u¸su
¨k
de˘
gerlikli 8 bit kısmını tutmaktadır.
˙
Ikisi
birle¸serek 16 bit PC yi olu¸sturur.
R0...R7 kaydedicileri:
Bu kaydediciler RAM belle˘
gin 00-IFH adresleri arasında kalan bellek
b¨
olgesini kullanırlar.
Veri transfer i¸slemleri, aritmetik i¸slemler ve dolaylı adresleme de
kullanılırlar.
Bu kaydedicilerin kullanım ¸sekli, veri belle˘
ginin yapısı konusunda daha
detaylı anlatılmaktadır.
Mikroi¸slemciler-IMikrodenetleyiciler
80C52 Mimarisi
CPU Zamanlaması
CPU Zamanlaması
Zamanlama ve kontrol birimi, i¸slemciye gelen ve giden veri
akı¸sının senkronizasyonundan sorumludur.
Verilerin, veri yoluna yerle¸stirilmesi veya veri yolundan
okunması i¸slemlerini koordine eder. PSEN, ALE, WR kontrol
sinyallerini u
¨retir.
Bu i¸slemler i¸cin gerekli saat sinyalini mikrodenetleyicinin
XTAL1 ve XTAL2 u¸clarına ba˘
glanan kristal elemandan alır.
Kullanılan kristal ¸co˘
gu 8051 ailesi mikrodenetleyici i¸cin
0-24MHz arasındadır. Bazıları daha y¨
uksek kristal de˘gerinde
de ¸calı¸sabilir.
Mikrodenetleyicinin maksimum hangi frekansta ¸calı¸stı˘gı
katalog de˘gerlerinden ¨
o˘
grenilebilir.
Mikroi¸slemciler-IMikrodenetleyiciler
80C52 Mimarisi
CPU Zamanlaması
CPU Zamanlaması
Daha ¨oncede a¸cıklandı˘
gı gibi bir komutun ¸calı¸sması komut
kodunu algetir (fetch), kodu ¸c¨
oz (decode) ve c¸alı¸stır (execute)
olmak u
¨zere u
¨c¸ a¸samada tamamlanır.
80C52 mikrodenetleyicisi minimum 12 saat periyodunda bir
komutu i¸sleyebilir.
Buna i¸slemcinin makine ¸cevrimi denmektedir.
Standart olarak 8051 ailesi mikrodenetleyicilerinin makine
¸cevrimi 12’dir.
12Mhz bir kristal kullanıldı˘
gında bir komutun minimum 1
mikro saniyede c¸alı¸sması birer.
Mesela MOV A, Wl0 komutu 1 makine c¸evrimi, MUL AB
komutu 4 makine ¸cevrimi ¸ceker.
12 MHz Kristal kullanıldı˘
gında bu iki komutun ¸calı¸sması sırası
ile 1 ve 4 mikro saniye, 24Mhz kristal kullanıldı˘gında sırası ile
0,5 ve 2 mikro saniye zaman alacaktır.
Mikroi¸slemciler-IMikrodenetleyiciler
80C52 Mimarisi
CPU Zamanlaması
CPU Zamanlaması
Cygnal firmasının 8051 ailesi mikrodenetleyicileri makine
¸cevrimleri 1, Dallas firmasının 4’d¨
ur.
Cygnal firmasını u
¨retmi¸s oldu˘
gu mikrodenetleyiciler aynı
frekansta 12 kat daha hızlı c¸alı¸sabilir.
Dallasın mikrodenetleyicileri ise 3 kat daha hızlı ¸calı¸sabilir.
MIPS ifadesi kristal frekansının makine c¸evrimine b¨ol¨
um¨
u ile
bulunabilir.
Mesela Dallas firmasının mikrodenetleyicisinin makine ¸cevrimi
4 oldu˘guna g¨ore, 12Mhz kristal kullanıldı˘
gında (12/4)=3
olarak MIPS cinsinden hızı hesaplanabilir.
Bu y¨
uzden mikrodenetleyicinin se¸ciminde makine ¸cevrimi
¨onemli bir fakt¨or olu¸sturmaktadır.
Mikroi¸slemciler-IMikrodenetleyiciler
80C52 Mimarisi
CPU Zamanlaması
Figure: 80C52’nin kristal ba˘
glantı ¸sekli
Mikroi¸slemciler-IMikrodenetleyiciler
80C52 Mimarisi
Port Yapısı
Port Yapısı
P0, P1, P2, P3 portları c¸ift y¨
onl¨
u olarak giri¸s ve c¸ıkı¸s olarak
kullanılabilir.
Her bir port D tipi flip floptan olu¸san bir tutucu (Lanch-),
¸cıkı¸s s¨
ur¨
uc¨
us¨
u (FET) ve giri¸s tamponlarından olu¸smaktadır.
P0 ve P2 harici belle˘
ge eri¸smede kullanılmaktadır. Bu y¨
uzden
P0 ve P2 portunda bilgi se¸cici eleman (multiplexer)
kullanılmaktadır.
Bu bilgi se¸cici eleman harici belle˘
ge adres veya veri
g¨onderilirken P0 ve P2 portlarının adres/veri hattını, aksi
takdirde D flip flop ¸cıkı¸sını se¸cmektedir.
Mikroi¸slemciler-IMikrodenetleyiciler
80C52 Mimarisi
Port Yapısı
Port Yapısı
Figure: 80C52 port yapısı
Mikroi¸slemciler-IMikrodenetleyiciler
80C52 Mimarisi
Port Yapısı
Port Yapısı
P1, P2, P3 portları ¸cıkı¸sında dahili pull-up diren¸cleri vardır.
Bu portlar giri¸s olarak kullanıldı˘
gında D flip flop’larına
¨oncelikle 1 yazılarak port giri¸s olarak ayarlanır.
¯ ¸cıkı¸sı mantıksal 0 olacak ve s¨
Bu durumda Q
ur¨
uc¨
u FET
yalıtım durumunda olacaktır.
Bu takdirde port ucuna gelen veri 1 veya 0 olarak okunacaktır.
E˘ger port giri¸s olarak ayarlanmadan porttan okuma yapılmak
istenirse, FET iletim durumunda olabilece˘
ginden port ucuna
gelen mantıksal 1 verisi algılanamaz.
Mikroi¸slemciler-IMikrodenetleyiciler
80C52 Mimarisi
Port Yapısı
Port Yapısı
P0 portu di˘gerlerinden farklı olarak dahili pull-up direncine
sahip de˘gildir.
Bunun yerine u
¨stte ikinci bir FET bulunmaktadır. Bu FET
yukarıda bahsedildi˘
gi gibi sadece harici belle˘
ge eri¸sim i¸sleminde
iletim durumundadır.
MOVC ve MOVX komutlarının dı¸sında porttan bilgi okumak
m¨
umk¨
un de˘gildir.
Harici bellekten veri okumanın dı¸sında P0 portunu c¸ift y¨onl¨
u
giri¸s ve ¸cıkı¸s olarak kullanabilmek i¸cin port c¸ıkı¸sına 4.7K gibi
harici bir pull up direnci ba˘
glanmalıdır.
P1.1 ve P1.2 port u¸cları ile P3.0 - P3.7 port u¸cları alternatif
ama¸clarlarla kullanılabilir.
Mikroi¸slemciler-IMikrodenetleyiciler
80C52 Mimarisi
Port Yapısı
Port Yapısı
Figure: P1 ve P3 portlarının alternatif fonksiyonları
Mikroi¸slemciler-IMikrodenetleyiciler
80C52 Mimarisi
80C52 Bellek Yapısı
80C52 mikrodenetleyicisi program belle˘
gi ve veri belle˘gi olmak
u
¨zere iki ayrı bellek d¨
uzene˘
gine sahiptir.
Program belle˘gi program kodlarını saklamak i¸cin, veri belle˘gi
ise programın i¸sleyi¸si sırasında u
¨retilen veya kullanılan ge¸cici
de˘gerlerin saklanması i¸cin kullanılır.
Program belle˘gi i¸cin ROM, EPROM veya FLASH bellek
t¨
urlerinden biri kullanılırken, veri belle˘
gi i¸cin ise RAM bellek
kullanılmaktadır.
Mikroi¸slemciler-IMikrodenetleyiciler
80C52 Mimarisi
80C52 Bellek Yapısı
Program Belle˘gi
80C52’nin program belle˘
gi 8KB ROM, 87C52 i¸cin 8KB
EPROM ve AT89C52 i¸cin 8KB FLASH olarak tasarlanmı¸stır.
Program belle˘ginde program kodlarının yanı sıra programın
i¸sleyi¸si sırasında kullanılacak sabit de˘
gerler ve veri tabloları
(bakı¸s tablosu) da bulunabilir.
C
¸ o˘gu zaman 8KB bellek yeterli olmaktadır. Ancak sabit
de˘gerlerin veya bakı¸s tablosunun boyutu b¨
uy¨
uk ise, daha
b¨
uy¨
uk dahili program belle˘
gine sahip bir mikrodenetleyici
se¸cilmeli veya harici bir ROM bellek kullanılmalıdır.
Aynı durum RAM bellek i¸cinde ge¸cerlidir. Mikrodenetleyiciye
ba˘glanacak harici ROM veya RAM belle˘
gin b¨
uy¨
ukl¨
u˘gu
¨ 64KB
olabilir.
Mikroi¸slemciler-IMikrodenetleyiciler
80C52 Mimarisi
80C52 Bellek Yapısı
Program Belle˘gi
Figure: 80C52 program belle˘
ginin kullanımı
Mikroi¸slemciler-IMikrodenetleyiciler
80C52 Mimarisi
80C52 Bellek Yapısı
Program Belle˘gi
E˘
ger harici ROM kullanılmı¸s ise mikrodenetleyicinin EA pini 0 yapılmalıdır.
E˘
ger EA ucu 1 (+5V) yapılmı¸s ise bu durumda 0000-IFFF adresleri
arasındaki dahili 8KB ROM bellek ile 2000-FFFF arasındaki 56KB harici
ROM birlikte kullanılabilir.
E˘
ger EA ucu 0 yapılmı¸s ise bu durumda sadece 0000-FFFFH adres
aralı˘
gındaki harici ROM program belle˘
gi olarak kullanılabilir.
Mikrodenetleyici reset edildi˘
ginde veya ilk defa c¸alı¸stırıldı˘
gında program
belle˘
ginin 0000H adresine dallanır. Ve buradaki program kodunu
c¸alı¸stırmaya ba¸slar.
E˘
ger EA=0 ise harici ROM belle˘
gin 0000H adresi reset anında ba¸slangı¸c
adresi olarak se¸cilir.
E˘
ger EA= 1 ise dahili ROM belle˘
gin 0000H adresi ba¸slangı¸c adresi olarak
se¸cilir ve buradaki komut kodu ilk olarak c¸alı¸smaya alınır.
Mikroi¸slemciler-IMikrodenetleyiciler
80C52 Mimarisi
80C52 Bellek Yapısı
Veri Belle˘gi
Veri belle˘gi 128 Bayt veya 256 Bayt olabilir. Standart olarak
8051 ailesinde 128 bayt yerle¸siktir.
80C52 ve u
¨zeri geli¸smi¸s versiyonların hepsinde 256 Bayı veri
belle˘gi bulunmaktadır.
Ayrıca 64 KB istenirse harici bir veri belle˘
gi kullanılabilir.
RAM bellek program i¸cinde kullanılan ge¸cici de˘gerlerin
saklanmasında kullanılır.
Dahili veri belle˘gi her biri 128 baytdan olu¸san 3 adet sayfadan
olu¸suyormu¸s gibi d¨
u¸su
¨n¨
ulebilir.
Her sayfadaki veriye eri¸sim y¨
ontemi farklıdır.
Mikroi¸slemciler-IMikrodenetleyiciler
80C52 Mimarisi
80C52 Bellek Yapısı
Veri Belle˘gi
00-7FH adresleri arasındaki ilk 128 baytlık b¨
ol¨
um¨
une do˘grudan
veya dolaylı adresleme t¨
urlerinden biri kullanılarak eri¸silebilir.
80H-FFH adreslerini kullanan iki sayfa vardır.
80H-FFH adreslerine do˘
grudan adresle y¨
ontemi ile eri¸sildi˘ginde
mikrodenetleyicinin kaydedicilerinin yer aldı˘
gı sayfaya eri¸silmi¸s
olur.
Mikrodenetleyici kaydedicilerine ¨
ozel fonksiyon kaydedicileri
denilmektedir.
80H- FFH adreslerine dolaylı adresleme y¨
ontemi ile
eri¸sildi˘ginde ba¸ska bir sayfaya eri¸silmi¸s olunur.
Mikrodenetleyici de dahili ve harici RAM bellek aynı anda
birlikte kullanılabilir.
Mikroi¸slemciler-IMikrodenetleyiciler
80C52 Mimarisi
80C52 Bellek Yapısı
Veri Belle˘gi
Figure: 80C52 mikrodenetleyicisinin veri belle˘gi
Mikroi¸slemciler-IMikrodenetleyiciler
80C52 Mimarisi
80C52 Bellek Yapısı
Veri Belle˘gi
00H-7FH adresleri arasındaki 128 bayt RAM b¨olgesi u
¨¸c ¸sekilde
kullanılmaktadır.
00H ile 1FH adresleri arasında 32 baytlık kısım 8 baytlık 4
banka b¨ol¨
unm¨
u¸st¨
ur.
Her bank i¸cinde R0 dan R7 ye kadar 8 adet kaydedici yer alır.
Bu bank ve kaydediciler dolaylı adreslemede veya kaydedici
adresleme modunda kullanılır.
Hangi bankın kullanılaca˘
gı bayrak kaydedicisi i¸cindeki (PSW)
RS1 ve RS0 bitleri set edilerek belirlenir.
Belle˘gin bu ¸sekilde kullanımı kaydedici adresleme modunda
mikrodenetleyiciye daha hızlı i¸slem yapma imkanı sunar.
Mesela PSW i¸cindeki RS1=1 ve RS=0 yapılmı¸s ise Bank2
se¸cilmi¸s olur. Bu durumda R0 kaydedicisine bir de˘ger
y¨
uklendi˘ginde Bank2 i¸cindeki R0 kaydedicisine veya belle˘gin
10H adresine bu de˘
ger yazılmı¸s olur.
Mikroi¸slemciler-IMikrodenetleyiciler
80C52 Mimarisi
80C52 Bellek Yapısı
Veri Belle˘gi
Figure: 80C52’nin 128 baytlık b¨
ol¨
um¨
u
Mikroi¸slemciler-IMikrodenetleyiciler
80C52 Mimarisi
80C52 Bellek Yapısı
Veri Belle˘gi
Belle˘gin 20H-2FH adresleri arası bit veya Bayt eri¸simli olarak
kullanılabilir.
30H-7FH adresleri arası ise sadece bayı olarak kullanılabilir.
Bu kullanım ¸sekilleri mikrodenetleyicilerin adresleme modları
ile ilgili olup bu konu daha sonra ayrıntılı bir ¸sekilde
anlatılmaktadır.
Mikroi¸slemciler-IMikrodenetleyiciler
80C52 Mimarisi
80C52 Bellek Yapısı
Yol Kontrol Sinyalleri ve Zamanlama
Adres ve veri yolu u
¨zerindeki sinyal akı¸sını ve zamanlamayı o
¨g
˘renmek
80C52 mikrodenetleyicisinin harici program ve veri belle˘
gini kullanırken
o
¨nem arz eder.
Harici program belle˘
gini okumak i¸cin P0, P2 portları, ALE ve PSEN
kontrol sinyalleri kullanılır.
P0, P2 birlikte 16-bit bellek adresini olu¸sturur.
P0 portu hem adres hem de veri yolu olarak kullanıldı˘
gından adres ve veri
yolunu ayırmak i¸cin ¸cıkı¸sta bu port u
¨zerine 74LS373 tutucusu (latch)
kullanılır.
ALE tutucuyu yetkilendirerek adresin d¨
u¸su
¨k de˘
gerlikli kısmının
saklanmasını sa˘
glar.
PSEN sinyali ise ROM belle˘
gi yetkilendirerek giri¸steki 1 6-birlik adresin
g¨
osterdi˘
gi bellek h¨
ucresindeki yerinin bellek c¸ıkı¸sına konulmasını sa˘
glar.
Harici program belle˘
ginden bir veriyi okumak i¸cin MOVC A,@A+DPTR
komutu kullanılır.
Mikroi¸slemciler-IMikrodenetleyiciler
80C52 Mimarisi
80C52 Bellek Yapısı
Yol Kontrol Sinyalleri ve Zamanlama
Figure: Program ve veri belle˘
gine eri¸smek i¸cin kullanılan kontrol sinyalleri
ve zamanlama diyagramı
Mikroi¸slemciler-IMikrodenetleyiciler
80C52 Mimarisi
80C52 Bellek Yapısı
¨
TES
¸ EKKURLER
Download

4. Ders - Alper BAYRAK - Abant İzzet Baysal Üniversitesi