8. Instrukcje modyfikacji bitów 91
Przykład:
Ustawienie znacznika przeniesienia (O przy spełnieniu warunków: IM .3 1 2 I,
ACC.7 = 1 i 0V = 0:
Tcst_Bifc
MOV CPU ANL C.ACC.7 ANL C,/OV
,C PI .3
.•C <= C and ACC.7 ,C <= C and not(OV)
2. Struktura pamięci mikrokontrolaa
12
Wszystkie rejestry specjalne (SFR) adresowane są bajtowo, a rejestr}' wyróżnione na ry sunku 2-5 mogą być również adresowane bitowo. Adresy łych rejestrów są wielokrotnością 8 tzn. 80H, 88H, 90H, 98H, - , OFOH. 0F8H. Taki sposób adresowania zwiększa efektywność programu, zwłaszcza w wykorzystaniu niektórych rejestrów takich jak: porty 1*0..P3 , akumulator (ACC), rejest statusowy (PSW), rejestry kontrolujące pracę liczników i modułu transmisji szeregowej oraz rejestry struktury przerwań. Przykładowo bitowy adres 80H odpowiada najmniej znaczącemu bitowi portu PO. bitowy adres 88H odpowiada najbardziej znaczącemu bitowi rejestru sterującego pracą zegara TCONJ.
UF8H | ||||||||
OFOH |
B | |||||||
0F8H |
P4 | |||||||
OEOH |
ACC | |||||||
0D8H |
ADCON |
ADDAT |
PAPR |
P6 | ||||
ODOH |
PSW | |||||||
0C8H |
T2C0N T2CON |
CCEN |
RCAP2L CCL1 |
RCAP2H CCH1 |
TL2 CCL-2 |
77/2 CCH2 |
CCL3 |
CCH3 |
OCOH |
IRCON | |||||||
OBSH ■ |
in lENl |
IP1 | ||||||
OBOH |
P3 | |||||||
0A8H |
1E IF.NO |
IPO | ||||||
OAOH |
ń | |||||||
98H |
SCON |
SBUF | ||||||
90H |
P1 | |||||||
88H |
TCON |
TMOD |
TLO |
TL1 |
THO |
TH1 | ||
BOH |
PO |
SP |
DPL |
DPH |
PCON | |
J rejestry adresowane bitowo i bajtowo
Rys. 2-5 Rejestry specjalne (SFR) dla mikroprocesorów 8051/31 oraz zmienione lub dodatkowe rejestry dla SUS2/32. 80(0515/535
Z rysunku 2-5 widać, źc nie wszystkie rejestry są zagospodarowane, np. o adresach OCIH..OCFH. Wolne rejestry nic mogą być jednak wykorzystane w programach jako dodatkowe komórki wewnętrznej pamięci RAM. Tylko niektóre z rejestrów mogą pełnić taką funkcję. O tym decyduje producent mikrokontrolera oraz programista. Analizując program wiadomo jakie jest wykorzystanie układów peryferyjnych, które mogą zmieniać w trakcie swojej pracy zawartość tych rejestrów. Dla przykładu rejestr SBUF związany z
Mikiokonlrolcr 80(C)51 - programowanie
ORL Cbit |
Logical Or |
for Bit | |
Działanie: |
CcC or bit |
CcC or not(bit) | |
Adresowanie: |
Mnemonik: Struktura bajtów: |
Cykle |
Znacz- |
maszynowe: |
niki: |
bezpośrednie: |
ORL |
Cbit |
| 1 1 1 1 0 0 1 0 | 2 adres bitu |
C |
bezpośrednie: |
ORL |
C/bit |
1 0 1 0 | 0 0 0 0 | 2 adres bitu |
C |
Orl JM FO: MOV ORL ORL
C.P1.0
C.ACC.7
C.FO
Opis działania:
Suma logiczna znacznika przeniesienia C i:
• wybranego bitu o adresie bit,
negacji wybranego bitu o adresie bit
Przykład :
Suma logiczna stanu linii portu P1.0, najbardziej znaczącego bitu akumulatora A7 i znacznika FO:
;C crIM.O ,-CcC or ACC.7 ;C <= C iw FO
Mikrokontroler 81X05 I - programowanie