Gömülü Sistemler - SFR Kayıtları
Bir Özel İşlev Kaydı (veya Özel Amaçlı Kayıt veya basitçe Özel Kayıt), bir mikroişlemcinin çeşitli işlevlerini kontrol eden veya izleyen bir mikroişlemci içindeki bir kayıttır. Özel yazmaçlar, işlemcinin bazı özel işlevlerine veya durumuna yakından bağlı olduğundan, normal talimatlarla (ekleme, taşıma, vb.) Doğrudan yazılamayabilir. Bunun yerine, bazı işlemci mimarilerindeki bazı özel yazmaçlar, onları değiştirmek için özel talimatlar gerektirir.
8051'de, kayıt A, B, DPTR ve PSW, genellikle SFR (özel işlev kayıtları) olarak adlandırılan kayıtlar grubunun bir parçasıdır. Bir SFR'ye adı veya adresi ile erişilebilir.
Aşağıdaki tablo, SFR'lerin bir listesini ve adreslerini gösterir.
Bayt Adresi | Bit Adresi | ||||||||
---|---|---|---|---|---|---|---|---|---|
FF | |||||||||
F0 | F7 | F6 | F5 | F4 | F3 | F2 | F1 | F0 | B |
E0 | E7 | E6 | E5 | E 4 | E3 | E2 | E1 | E0 | ACC |
D0 | D7 | D6 | D5 | D4 | D3 | D2 | - | D0 | PSW |
B8 | - | - | - | M.Ö | BB | BA | B9 | B8 | IP |
B0 | B7 | B6 | B5 | B4 | B3 | B2 | B1 | B0 | P3 |
A2 | AF | - | - | AC | AB | AA | A9 | A8 | IE |
A0 | A7 | A6 | A5 | A4 | A3 | A2 | A1 | A0 | P2 |
99 | Bit adreslenebilir değil | SBUF | |||||||
98 | 9F | 9E | 9D | 9C | 9B | 9A | 99 | 98 | SCON |
90 | 97 | 96 | 95 | 94 | 93 | 92 | 91 | 90 | P1 |
8G | Bit adreslenebilir değil | TH1 | |||||||
8C | Bit adreslenebilir değil | TH0 | |||||||
8B | Bit adreslenebilir değil | TL1 | |||||||
8A | Bit adreslenebilir değil | 0 TL | |||||||
89 | Bit adreslenebilir değil | TMOD | |||||||
88 | 8F | 8E | 8G | 8C | 8B | 8A | 89 | 88 | TCON |
87 | Bit adreslenebilir değil | PCON | |||||||
83 | Bit adreslenebilir değil | DPH | |||||||
82 | Bit adreslenebilir değil | DPL | |||||||
81 | Bit adreslenebilir değil | SP | |||||||
80 | 87 | 87 | 85 | 84 | 83 | 82 | 81 | 80 | P0 |
SFR adresleriyle ilgili aşağıdaki iki noktayı düşünün.
Özel bir fonksiyon kaydının 80H ila FFH arasında bir adresi olabilir. 00 ila 7FH arasındaki adresler 8051 içindeki RAM belleğinin adresleri olduğundan, bu adresler 80H'nin üzerindedir.
80'den FF'ye kadar olan tüm adres alanı SFR tarafından kullanılmaz. Kullanılmayan yerler, 80H ila FFH, ayrılmıştır ve 8051 programcısı tarafından kullanılmamalıdır.
CY | PSW.7 | Taşıma Bayrağı |
AC | PSW.6 | Yardımcı Taşıma Bayrağı |
F0 | PSW.5 | Genel amaçlı kullanıcı için 0 işaretleyin. |
RS1 | PSW.4 | Banka seçici bit 1'i kaydedin |
RS0 | PSW.3 | Banka seçici bit 0'ı kaydedin |
OV | PSW.2 | Taşma İşareti |
- | PSW.1 | Kullanıcı tanımlı BAYRAK |
P | PSW.0 | Parite BAYRAĞI. Akümülatördeki 1 bitin çift / tek sayısını belirtmek için komut döngüsü sırasında donanım tarafından ayarlanır / temizlenir. |
Aşağıdaki örnekte, SFR kayıtlarının adları adresleriyle değiştirilmiştir.
CY | AC | F0 | RS1 | RS0 | OV | - | P |
---|
RS0 ve RS1 bitlerini kullanarak karşılık gelen Register Bank bitini seçebiliriz.
RS1 | RS2 | Kayıt Bankası | Adres |
---|---|---|---|
0 | 0 | 0 | 00H-07H |
0 | 1 | 1 | 08H-0FH |
1 | 0 | 2 | 10H-17H |
1 | 1 | 3 | 18H-1FH |
Program Durum Sözcüğü (PSW), CPU'nun mevcut durumunu yansıtan durum bitleri içerir. 8051 varyantları, bu durum bilgisiyle birlikte PSW adlı özel bir fonksiyon kaydı sağlar. 8251, PSW1 adı verilen ikinci bir özel fonksiyon kaydında bulunan iki ek durum bayrağı, Z ve N sağlar.