63
jest bardzo uciążliwe, dlatego wszystkie narzędzia związane z programowany przeniesienia C. Należy zwrócić również uwagę, że na pojedynczych bitach mikrokontrolerów dopuszczają adresowanie bitów poprzez podanie naz\^ j^e można wykonywać operacji różnicy symetrycznej.
PO
PI
P2
P3
87h |
86h |
85h |
84h |
83h |
82h |
81h |
80h |
97h |
96h |
95h |
94h |
93h |
92h |
91h |
90h |
0A7h |
0A6h |
0A5h |
0A4h |
0A3h |
0A2h |
OAlh |
OAOh |
0B7h |
0B6h |
0B5h |
0B4h |
0B3h |
0B2h |
OBlh |
OBOh |
adres 80h rw=|
adres 90h rw=
|
adres OAOh rw=
L
adres OBOh rw-l I
kwl'
Operowanie adresami poszczególnych bitów przy pisaniu program*
portu i numeru bitu. Na przykład bit 84h (port PO) może być opisany jako P0.4J bit 0B0 jako P3.0.
We wszystkich rejestrach umieszczonych w obszarze SFR, których adres) podzielne przez 8, każdy bit tych rejestrów może być ustawiany niezależnu
Stan wyjść linii portów można ustawić rozkazami typu MOV, ale ma to! niedogodność, że rozkazem tym ustawia się jednocześnie wszystkie linie danej portu. Wygodniej jest użyć rozkazów logicznych operujących na bajtach pojedynczych bitach.
W rodzinie mikrokontrolerów '51 są wykonywane następujące oper< logiczne na bajtach:
• CPL - negacja logiczna,
• CLR - zerowanie bitów,
• ANL - iloczyn logiczny,
• ORL - suma logiczna,
• XRL - różnica symetryczna.
Pierwsze dwie operacje są wykonywane wyłącznie w akumulatorze. N* tomiast pozostałe mogą być wykonywane również poza akumulatorem wszystkich rejestrach obszaru SFR i komórkach pamięci wewnętrznej RAM.
Na pojedynczych bitach można wykonywać operacje:
• CLR - zerowanie bitu,
• SF.TB - ustawianie bitu w stan 1,
• CPL - negacja bitu,
• ANL - iloczyn logiczny,
• ORL - suma logiczna.
Dwie ostatnie operacje mogą być wykonywane tylko z udziałem znaczni-
Zestaw pochodnych operacji logicznych jest podany w poniższych tabe-
Operacje bajtowe: iloczyn logiczny
Tabela 7-2
instrukcje: |
zapis binarny instrukcji |
wykonywane operacje |
ANL A,Rn |
0101 lrrr |
A <— A and Rn |
ANL A,adr |
01010101 adr |
A <- A and (adr) |
ANL A,@Ri |
OlOlOlli |
A <- A and (Ri) |
ANL A,#dana |
01010100 dana |
A <— A and dana |
ANL a dr, A |
01010010 adr |
(adr) <- (adr) and A |
ANL adr,#dana |
01010011 adr dana |
(adr) <- (adr) and dana |
Tabela 7-3 suma logiczna | ||
instrukcje: |
zapis binarny instrukcji |
wykonywane operacje |
yKL A.Rn |
OlOOlrrr |
A <- A or Rn |
ORL A,adr |
01000101 adr |
A i- A or (adr) |
A,@Ri |
010001li |
A <- A or (Ri) |
A,#dana |
01000100 dana |
A <- A or dana |
adr,A |
01000010 adr |
(adr) <- (adr) or A |
ORr adr,#dana |
01000011 adr dana |
(adr) <- (adr) or dana |