sponsor blogku

Rabu, 26 Mei 2010

Set Instruksi pada mikrokontroler AT89C51

Ada beberapa instruksi yang dikenal oleh mikrokontroler AT89C51 yaitu:
Instruksi aritmetika
Intruksi aritmetika mencakup penambahan (ADD), pengurangan (SUBB), perkalian (MUL),  dan pembagian (DIV).
1. Penambahan (ADD)
Instruksi ini menjumlahkan suatu data dengan isi akumulator dan hasilnya disimpan dalam  akumulator.
Operasi ADD : A←A+data
2. Pengurangan (SUBB)
Instruksi ini mengurangkan isi akumulator dengan isi carry flag dan isi data.
Operasi SUBB : A←A-C-data
3. Perkalian (MUL)
Instruksi ini mengalikan isi akumulator dengan isi register B.
Operasi MUL : AB←A*B
4. Pembagian (DIV)
Instruksi ini akan membagi isi register akumulator dengan isi register B.
Operasi DIV : AB←A/B
5. Penambahan satu (INC)
Proses ini menambahkan satu pada isi suatu register atau memori.
Operasi INC A : AB←A+B
6. Pengurangan Satu (DEC)
Proses ini kebalikan dari proses pengurangan satu.
Instruksi Logika Dengan Manipulasi Bit
1. Logika AND (ANL)
Instruksi ini melakukan proses logika AND antara suatu register dengan register, register dengan data, carry flag dengan suatu alamat, dan lain- lain.
format instruksi AND :
ANL A, @Rr
ANL A, #data
ANL alamat data, A
ANL alamat, #data
2. Logika OR (ORL)
Instruksi ini melakukan logika OR antara suatu register dengan register, register dengan data, carry flag dengan isi suatu alamat bit.
Format instruksi OR:
ORL A, @Rr
ORL A, #data
ORL alamat data, A
ORL A, alamat data
3. Logika NOT (CPL)
Instruksi ini melakukan proses logika NOT pada suatu register, carry flag, atau isi suatu alamat bit.
Format instruksi NOT:
CPL A
CPL alamat bit
4. Logika EXOR (XRL)
Instruksi ini melakukan proses logika exlusive-OR antara register dengan register, register dengan data, dan lain-lain.
5. Manipulasi Pengesetan (CLR)
Instruksi ini menyebabkan suatu bit menjadi reset atau nol
Format instruksi CLR :
CLR A
CLR alamat bit
6. Manipulasi Bit Pengesetan (SETB)
Instruksi ini akan mengeset bit yang dimaksud (atau 1)
Format instruksi SETB :
SETB C
SETB bit
7. Manipulasi Bit Pengisian (MOV)
Instruksi ini akan mengisi suatu data dalam bentuk byte
Format instruksi MOV :
MOV @Rr, A
MOV A, @Rr
MOV @Rr, #data
MOV @Rr, alamat data
MOV A, alamat data
8. Manipulasi Lompat
Program counter akan meloncat ke alamat yang dikehendaki
Format instruksinya :
JC alamat kode
JNC alamat kode
Instruksi Transfer Data
Kelompok instruksi ini digunakan untuk memindahkan data antara:
1. register-memori
2. antarmuka-register
3. antarmuka-memori
Contoh :
MOV A, R0 : Pindahkan isi register R0 ke akumulator.
MOV A, @R0 : Pindahkan isi memori yang alamatnya ditunjukkan oleh register R0 ke akumulator.
MOV A, P3 : Pindahkan isi port 3 ke akumulator.
Instruksi Percabangan
Instruksi percabangan ini dibagi dua yaitu percabangan dengan syarat dan percabangan tanpa syarat. 
Percabangan dengan syarat terdiri atas :
CJNE
Instruksi ini akan membandingkan isi register atau isi memori dengan suatu data. Bila hasil perbandingan itu sama, instruksi selanjutnya yang akan dituju. Bila tidak sama, instruksi yang ditunjuk oleh label yang akan dilaksanakan.
Format instruksi CJNE :
CJNE A, @Rr
DJNZ
Instruksi ini akan mengurangi isi register atau memori dengan satu. Bila sudah 0, instruksi selanjutnya akan dilaksanakan dan bila belum 0 instruksi dilanjutkan ke label.
Format instruksi DJNZ :
DJNZ Rr, alamat kode
DJNZ alamat data, alamat kode
JBC
Instruksi ini akan menguji suatu alamat bit. Apabila alamat bit berisi 1 (set) bit tersebut akan diclear dan selanjutnya program menuju tabel. Bila alamat bit berisi 0, instruksi selanjutnya yang akan dieksekusi.
Format instruksi JBC :
JBC alamat bit, alamat kode
Percabangan tanpa syarat meliputi :
Long Jump (LJMP) 
Format instruksi Long Jump :
LJMP alamat kode
Short Jump (SJMP)
Format instruksi Short Jump :
SJMP alamat kode

Tidak ada komentar:

Posting Komentar

click here