| Pelatihan
Mikrokontroller
Microcontroller Kits
Programmer
and Target 89s51
Simple
Mikrokontroller 89s51 Trainer
Standart
Mikrokontroller 89s51 Trainer
Super
Mikrokontroller Trainer 89s51
All Kits
+
Programmer
Serial
|
|
1.3.3 Instruksi Logika
Kelompok perintah ini dipakai untuk melakukan operasi
logika mikrokontroler MCS51, operasi logika yang bisa dilakukan adalah
operasi AND (kode operasi ANL), operasi OR (kode operasi ORL) dan operasi
Exclusive-OR (kode operasi XRL).
Data yang dipakai dalam operasi ini bisa berupa data yang berada dalam
Akumulator atau data yang berada dalam memori-data, hal ini sedikit
berlainan dengan operasi aritmatik yang harus melihatkan Akumulator
secara aktip.
Hasil operasi ditampung di sumber data yang pertama.
1. Operasi logika AND banyak dipakai untuk me-‘0’-kan
beberapa bit tertentu dari sebuah bilangan biner 8 bit, caranya dengan
membentuk sebuah bilangan biner 8 bit sebagai data konstan yang di-ANL-kan
bilangan asal. Bit yang ingin di-‘0’-kan diwakili dengan
‘0’ pada data konstan, sedangkan bit lainnya diberi nilai
‘1’, misalnya. Instruksi ANL P1,#%01111110 akan mengakibatkan
bit 0 dan bit 7 dari Port 1 (P1) bernilai ‘0’ sedangkan
bit-bit lainnya tetap tidak berubah nilai.
2. Operasi logika OR banyak dipakai untuk me-‘1’-kan
beberapa bit tertentu dari sebuah bilangan biner 8 bit, caranya dengan
membentuk sebuah bilangan biner 8 bit sebagai data konstan yang di-ORL-kan
bilangan asal. Bit yang ingin di-‘1’-kan diwakili dengan
‘1’ pada data konstan, sedangkan bit lainnya diberi nilai
‘0’, misalnya :Instruksi ORL A,#%01111110 akan mengakibatkan
bit 1 sampai dengan bit 6 dari Akumulator bernilai ‘1’ sedangkan
bit-bit lainnya tetap tidak berubah nilai.
3. Operasi logika Exclusive-OR banyak dipakai untuk membalik nilai (complement)
beberapa bit tertentu dari sebuah bilangan biner 8 bit, caranya dengan
membentuk sebuah bilangan biner 8 bit sebagai data konstan yang di-XRL-kan
bilangan asal. Bit yang ingin dibalik-nilai diwakili dengan ‘1’
pada data konstan, sedangkan bit lainnya diberi nilai ‘0’,
misalnya: Instruksi XRL A,#%01111110 akan mengakibatkan bit 1 sampai
dengan bit 6 dari Akumulator berbalik nilai, sedangkan bit-bit lainnya
tetap tidak berubah nilai.
Mnemonic
|
Operation
|
Addressing Mode |
Exect. |
Dir |
Ind |
Reg |
Imm |
Timer uS |
| Anl A,<byte> |
A=A and <byte> |
V |
V |
V |
V |
1 |
| Anl <byte>,A |
<byte>=<byte>anl A |
V |
V |
V |
V |
1 |
| Anl <byte>,#data |
<byte>=<byte>and #data |
V |
V |
V |
V |
1 |
| Orl A,<byte> |
A=A or <byte> |
Accumulator Only |
1 |
| Orl <byte>,A |
<byt>=<byt>orl A |
V |
V |
V |
|
1 |
| Orl <byte>,#data |
<byte>=<byte> or #data |
Data Pointer Only |
2 |
| Xrl A,<byte> |
A=A xor<byte> |
Accumulator Only |
1 |
| Xrl<byte>,A |
<byt>=<byt>xor A |
V |
V |
V |
|
1 |
| Xrl <byte>,#data |
<byte>=<byte>xor #data |
Accumulator and
B Only
|
4 |
| CLR A |
A=00h
|
Accumulator only |
1 |
| CPL A |
A= not A |
Accumulator only |
1 |
| RL A |
Rotate A left 1 bit |
Accumulator only |
1 |
| RLC A |
Rotate A left trough Carry |
Accumulator only |
1 |
| RR A |
Rotate A right 1 bit |
Accumulator only |
1 |
| RRC |
Rotate A right trough carry |
Accumulator only |
1 |
| SWAP A |
Swap nibbles in A |
Accumulator only |
1 |
Operasi logika pada umumnya mencakup empat hal, yaitu
operasi AND, operasi OR, operasi EX-OR dan operasi NOT. MCS51 hanya
bisa melaksanakan tiga jenis operasi logika yang ada, yakni intruksi
ANL (AND Logical) untuk operasi AND instruksi ORL (OR Logical) untuk
operasi OR, CPL (Complement bit) untuk operasi NOT.
Bit Carry pada PSW diperlakukan sebagai ‘akumulator bit’,
dengan demikian operasi AND dan operasi OR dilakukan antara bit yang
tersimpan pada bit Carry dengan salah satu dari 256 bit data yang dibahas
di atas. Contoh dari instruksi-instruksi ini adalah :
ANL C,P1.1
ANL C,/P1.2
Instruksi ANL C,P1.1 meng-AND-kan nilai pada bit Carry dengan nilai
Port 1 bit 1 (P1.1), dan hasil operasi tersebut ditampung pada bit Carry.
Instruksi ANL C,/P1.1 persis sama dengan instruksi sebelumnya, hanya
saja sebelum di-AND-kan, nilai P1.1 dibalik (complemented) lebih dulu,
jika nilai P1.1=‘0’ maka yang di-AND-kan dengan bit Carry
adalah ‘1’, demikian pula sebaliknya. Hal serupa berlaku
pada instruksi ORL.
Instruksi CPL dipakai untuk membalik (complement) nilai semua 256 bit
data yang dibahas di atas. Misalnya :
CPL C
CPL P1.0
CPL C akan membalik nilai biner dalam bit Carry (jangan
lupa bit Carry merupakan salah satu bit yang ada dalam 256 bit yang
dibahas di atas, yakni bit nomor $E7 atau PSW.7).
BACK
NEXT
|
|
PERCOBAAN 1
LED
PERCOBAAN 2
SAKLAR
PERCOBAAN 3
7 Segmen
PERCOBAAN 4
LCD Character
PERCOBAAN 5
ADC 0804
PERCOBAAN 6
DAC0808
PERCOBAAN 7
Keypad 4x4
PERCOBAAN 8
Motor Stepper
PERCOBAAN 9
Timer Counter
PERCOBAAN 10
Komunikasi Serial
PERCOBAAN 11
Interupsi
PERCOBAAN 12
Keyboard PC
PERCOBAAN 13
Printer
Dot Matr.
PERCOBAAN 14
RTC12C887
PERCOBAAN 15
P W M
PERCOBAAN
16
Motor DC
PERCOBAAN
17
EEPROM 2408
APLIKASI
|