Professional Documents
Culture Documents
C ile
ile 8051
8051 Mikrodenetleyici
Mikrodenetleyici
Uygulamaları
Uygulamaları
BÖLÜM 3
8051’in Bellek Organizasyonu
www.8051turk.com
Amaçlar
8051 mikrodenetleyicisinin bellek türlerini öğrenmek
Standart 8051’de 128 bayt olan hafıza birimi bazı 8051 türevlerinde
256 bayt büyüklüğünde olabilmektedir.
Örnek
80H adresi hem üst RAM’in hem de SFR’nin başlangıç
adresleridir. her iki hafıza bölgesinin başlangıç
adresine FFH değerini yükleyelim.
SFR
MOV $80h,#0FFh ;SFR’deki 80h adresine 0FFh
değerini at
Üst RAM
MOV R0,#80h ;R0 kaydedicisine 80h değerini at
MOV @R0,#0FFh ;R0’ın gösterdiği adrese(Üst
RAM’deki 80h’a FFh değerini at)
Özel Fonksiyon Kaydedicileri (SFR)
Çip içi hafızadaki SFR kayıtçıları 80H-FFH adresleri arasında yer
alırlar.
B kaydedicisi
B kaydedicisi 8 bitlik bir kaydedicidir ve sadece çarpma ve
bölme işlemlerinde kullanılmaktadır.
Bir sayı ile başka bir sayı çarpılacaksa veya iki sayı birbirine
bölünecekse MUL AB ve DIV AB komutları kullanılır.
Zamanlayıcı/Sayıcı Kaydedicileri
TCON (Timer Control-Zamanlayıcı Kontrol) ve TMOD (Timer
Mod-Zamanlayıcı Mod) Kaydedicileri Zamanlayıcı/sayıcı birimleri
için kontrol bitlerini içerir.
TL0, TH0, TL1, TH1 kaydedicileri ise zamanlayıcı 0 ve
zamanlayıcı 1’in sayma değerlerini tutmaktadırlar.
19 39
X TA L1 P 0.0 /A D0
38
P 0.1 /A D1
37
P 0.2 /A D2
18 36
SRAM1
X TA L2 P 0.3 /A D3
35
P 0.4 /A D4
34
SRAM2
P 0.5 /A D5
33
P 0.6 /A D6
9 32
RST P 0.7 /A D7
10 11 10 11
P 2.0 /A8 21 A0 D0 A0 D0
22 9 12 9 12
P 2.1 /A9 A1 D1 A1 D1
23 8 13 8 13
P 2.2 /A10 A2 D2 A2 D2
29 24 7 15 7 15
P SE N P 2.3 /A11 A3 D3 A3 D3
30 25 6 16 6 16
A LE P 2.4 /A12 A4 D4 A4 D4
31 26 5 17 5 17
EA P 2.5 /A13 A5 D5 A5 D5
27 4 18 4 18
P 2.6 /A14 A6 D6 A6 D6
28 3 19 3 19
P 2.7 /A15 A7 D7 A7 D7
25 25
A8 A8
1 10 24 24
P 1.0 P3 .0/RX D A9 A9
2 11 21 21
P 1.1 P 3. 1/T XD A 10 A 10
3 12 23 23
P 1.2 P3 .2/IN T0 A 11 A 11
4 13 2 2
P 1.3 P3 .3/IN T1 A 12 A 12
5 14
P 1.4 P 3.4 /T0
6 15 20 20
P 1.5 P 3.5 /T1 CE CE
7 16 26 26
P 1.6 P3 .6/W R CS CS
8 17 27 27
P 1.7 P3 .7/RD WE WE
22 22
80C51 OE OE
6 264 6 264
Bellek Birimlerinin Çoklu Kullanımları
Kullanımlar
8KB kapasiteyi sahip bellek elemanları adresleyebilmek için
gerekli olan minimum adres hattı 13’dür.
Bit Sayısı 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
Bellek 64 32 16 8 4 2 1 512 256 128 64 32 16 8 4 2
Kapasitesi KB KB KB KB KB KB KB Bayt Bayt Bayt Bayt Bayt Bayt Bayt Bayt Bayt
8051
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
Adres hattı
Bellek Birimlerinin Çoklu Kullanımları
Kullanımlar
8KB’lık bir belleğinin 13 adres hattı ile adreslenebilir.
Adres
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 HEX
Hattı
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000
SRAM1 1FFF
0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2000
SRAM2 3FFF
0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Bellek Birimlerinin Çoklu Kullanımları
Kullanımlar
Mikrodenetleyici 0000-1FFF arasında bir adres ürettiğinde
SRAM1 bellek birimi
2. Herhangi bir birim için kullanılacak adres hattı o birimin adres sınırları
içerisinde değişmemelidir.
4. Kaç adet destek birimi mevcutsa ona göre adres hattı sayısı tespit edilir.
A13 ucu ‘0’ olduğunda SRAM1 seçilir, ‘1’ olduğunda ise SRAM2
seçilir.
A DRES YOLU
U1
19 39 AD0 AD0 2 19 A0 A0 10 11 AD 0 A0 10 11 AD0
XT AL1 P0 .0 /AD0 D0 Q0 A0 D0 A0 D0
38 AD1 AD1 3 18 A1 A1 9 12 AD 1 A1 9 12 AD1
P0 .1 /AD1 D1 Q1 A1 D1 A1 D1
37 AD2 AD2 4 17 A2 A2 8 13 AD 2 A2 8 13 AD2
P0 .2 /AD2 D2 Q2 A2 D2 A2 D2
18 36 AD3 AD3 5 16 A3 A3 7 15 AD 3 A3 7 15 AD3
XT AL2 P0 .3 /AD3 D3 Q3 A3 D3 A3 D3
35 AD4 AD4 6 15 A4 A4 6 16 AD 4 A4 6 16 AD4
P0 .4 /AD4 D4 Q4 A4 D4 A4 D4
34 AD5 AD5 7 14 A5 A5 5 17 AD 5 A5 5 17 AD5
P0 .5 /AD5 D5 Q5 A5 D5 A5 D5
P0 .6 /AD6 33 AD6 AD6 8 D6 Q6 13 A6 A6 4 A6 D6 18 AD 6 A6 4
A6 D6 18 AD6
9 32 AD7 AD7 9 12 A7 A7 3 19 AD 7 A7 3 19 AD7
RST P0 .7 /AD7 D7 Q7 A7 D7 A7 D7
A8 25 A8 25
A8 A8
21 A8 11 A9 24 A9 24
P2.0 /A8 LE A9 A9
P2.1 /A9 22 A9 1 OE
A10 21 A1 0
A10 21
A10
23 A10 A11 23 A11 23
P2 .2/A10 A1 1 A11
29 24 A11 74 F57 3 A12 2 A12 2
PS EN P2 .3/A11 A1 2 A12
30 25 A12
AL E P2 .4/A12
31 EA P2 .5/A13 26 A13 A1 3 20 CE 20 CE
27 A14 26 26
P2 .6/A14 CS CS
28 A15 27 27
P2 .7/A15 WE WE
22 OE 22 OE
1 10
P1 .0 P3.0 /R XD
2 11 626 4 626 4
P1 .1 P3 .1 /T XD
3
P1 .2 P3.2 /INT0
12 SRAM2 SRAM1
4 13
P1 .3 P3.3 /INT1
5 14
P1 .4 P3.4/T0
6 15
P1 .5 P3.5/T1
7 16
P1 .6 P 3.6 /W R
8 17
P1 .7 P3 .7 /RD
80 C5 1
Bellek Birimlerinin Çoklu Kullanımları
Kullanımlar
Adres çözümü için ek donanım
Harici RAM veya ROM belleği oluşturan entegreler birden fazla
ise, her bellek entegresinin kendine ait kapladığı adres
bölgesinde çalışması istenecektir.
74LS138
x 1 x x X x 1 1 1 1 1 1 1 1
0 x x x X x 1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 1 1 1 1 1 1 1
1 0 0 0 0 1 1 0 1 1 1 1 1 1
1 0 0 0 1 0 1 1 0 1 1 1 1 1
1 0 0 0 1 1 1 1 1 0 1 1 1 1
1 0 0 1 0 0 1 1 1 1 0 1 1 1
1 0 0 1 0 1 1 1 1 1 1 0 1 1
1 0 0 1 1 0 1 1 1 1 1 1 0 1
1 0 0 1 1 1 1 1 1 1 1 1 1 0
Bellek Organizasyonun Metodolojik
Tasarımı
Bellek organizasyonunu metodik bir şekilde gerçekleştirmek
için izlenmesi gereken adımlar