*
Wewnętrzna pamięć RAM w mikrokontrolerze 8051 liczy tylko 128 bajtów Wystarcza więc 8-bitowa magistrala adresowa. W następnym mikrokontrolerze 8052 konstruktorzy podwoili pamięć do 256 bajtów. Magistrala adresowa nie uległa zmianie. Rejestry specjalne SFR są odzwierciedleniem wszystkich wewnętrznych układów' mikrokontrolera: liczników, łącza szeregowego, przetwornika analogowo-cyfrowego itd. Wzajemne położenie obu bloków, wewmętrznej pamięci RAM i rejestrów specjalnych SFR pokazano na rysunku 6-1.
OFFh |
rejestry |
OFFh |
rejestry |
wewnętrzna |
specjalne |
specjalne |
pamięć | ||
80h |
SFR |
80 h |
SFR |
RAM |
wewmętrzna |
/hh |
wewnętrzna |
7Fh |
pamięć |
pamięć | ||
RAM |
0 |
RAM |
0 |
mikrokontroler 8051 mikrokontrolery: 8052,80515/535
Rys. 6-1 Wewnętrzna pamięć RAM i rejestry specjalne SFR w mikrokontrolerach rodziny '51.
O ile w mikrokontrolerze 8051 wewnętrzna pamięć RAM i rejestry specjalne SFR wzajemnie się uzupełniają, o tyle już w mikrokontrolerze 8052 połowa wewnętrznej pamięci RAM pokrywa się z rejestrami specjalnymi SFR (mają te same adresy: 80h .. OFFh) Rozróżnienie obu obszarów możliwe jest przez właściwe adresowanie:
• bezpośrednie przy odwołaniach do rejestrów specjalnych SFR, np.
do rejestru B przez podanie jego symbolu (B) lub adresu (OFOh):
MOV |
B,#4Eh |
;B <- 4Eh |
i MOV |
0F0h,#4Eh |
;(0F0h) 4Eh |
Wszystkie rejestry specjalne mają swoje nazwy. W trakcie asemblacji nazwom rejestrów przyporządkowane zostają właściwe adresy.
• pośrednie dla wewnętrznej pamięci RAM o adresach 80H .. OFFh: pośrednio tzn. za pośrednictwem rejestru R0 lub R1 (tak jak przy odczycie i zapisie danych z/do zewmętrznej pamięci RAM). Dla przykładu wpisanie zawartości akumulatora A do komórki wewmętrznej pamięci RAM o adresie 80h wymaga wykonania: