3. Instrukcje modyfikacji bitów 91
Przykład: Ustawienie znacznika przeniesienia (C> przy spełnieniu warunków: PI.3 * I, ACC.7 = 1 i OV = 0: | ||
Test_Bit MOV ANL ANL |
CP1J C.ACC.7 C,/OV |
,Ccn,3 ,C <= C and ACC.7 ,C <= C and not(OV) |
ORL Cbit |
Logical Or for Bit | |
Działanie: |
C cz C or bit CcC or not(bit) | |
Adresowanie: |
Mnemonik: |
Struktura bajtów: Cykle Znacz- maszynowe: niki: |
bezpośrednie: ORL Cbit
2
C
adres bitu
bezpośrednie: ORL C/bit
2
C
Opis działania:
Suma logiczna znacznika przeniesienia C i:
• wybranego bitu o adresie bit,
• negacji wybranego bitu o adresie bit.
Przykład:
5uma logiczna stanu linii portu P1.0, najbardziej znaczącego bitu akumulatora A 7 i znacznika FO:
Orl JM FO:
;Cc=P1.0 ,CcC or ACC.7 ;C <= C or FO
MOV C.P1.0 ORL CACC.7 ORL C.FO
Mikrokontroler 31X05 I - proąramowame
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 M..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 8811 odpowiada najbardziej znaczącemu bitowi rejestru sterującego pracą zegara TCONJ.
0F8H |
P5 | |||||||
OFOH |
13 | |||||||
0E8H |
P4 | |||||||
OEOH |
ACC | |||||||
0D8H |
ADCON |
ADDAT |
RAPR |
P6 | ||||
ODOH |
PSW | |||||||
0C8H |
T2C0N T2CON |
CCEN |
RCAP2L CCL1 |
RCAP2H GCH1 |
TL2 CCL-2 |
TU2 CCH2 |
CCL3 |
CCH3 |
OCOH |
IRCON | |||||||
0B8H |
in IEN1 |
IP_1 | ||||||
OBOH |
P3 | |||||||
0A8H |
1E IHNO |
IPO | ||||||
OAOH |
P2 | |||||||
98H |
SCON |
SBUF | ||||||
90H |
PI | |||||||
88H |
TCON |
TMOD |
TLO |
TLI |
THO |
TH1 | ||
BOH |
1*0 |
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 $052/32. 80(0515/535
Z rysunku 2-5 widać, że nie wszystkie rejestTy są zagospodarowane, np. o adresach 0C1H..0CFH. Wolne rejestry nic mogą być jednak wykorzystane w programach jako dodatkowe komórki wewnętrznej pamięci RAM. Tylko niektóre /. rejestrów mogą pełnić laką 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 z.wiąz.anv z.
Mikiokonlrolcr 80(C)51 - programowanie