INSTRUKSI DAN BAHASA PEMOGRAMAN MIKROKONTROLER

dokumen-dokumen yang mirip
DESKRIPSI SINGKAT INSTRUKSI-INSTRUKSI PADA AT89S51

Ringkasan Set Instruksi Dan Mode pengalamatan ( Addressing Mode )

Mengenal bahasa assembly

LAMPIRAN D DATA SHEET

Program Studi Fisika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Lambung Mangkurat

Instruction Set Mikrokontroler

BAHASA PEMOGRAMAN AT89S/Cxx (assembly)

PERTEMUAN BAHASA PEMOGRAMAN ASSEMBLER

PERTEMUAN. SET INSTRUKSI MIKROKONTROLER AT 89C51 (Lanjutan)

PETUNJUK PEMROGRAMAN DAN SET INSTRUKSI

Menggunakan Bahasa Pemrograman Assembly

PERTEMUAN SET INSTRUKSI MIKROKONTROLER AT 89C51

LM124/LM224/LM324/LM2902

BAB 2 LANDASAN TEORI. Dalam bab ini penulis akan membahas tentang komponen-komponen yang

PEMBUATAN ALAT PRAKTIKUM MIKROKONTROLER (AT89S51)

BAB 2 LANDASAN TEORI. Agar kendaraan lebih teratur dan tidak terlalu padat, biasanya tempat perparkiran ini dibagi

Daftar Isi Daftar Isi. I. Pendahuluan A. Pengenalan DT51 Debugger. B. Istilah pada Instruksi MCS-51 1) Program Status Word (PSW).

INTRUKSI-INTRUKSI BAHASA PEMROGRAMAN ASSEMBLY

PERTEMUAN SET INSTRUKSI MIKROKONTROLER AT 89C51

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

CONTOH-CONTOH PROGRAM MIKROKONTROLER

BAB 2 LANDASAN TEORI. Dalam bidang elektronika, perlahan-lahan peralatan-peralatan manual mulai digantikan

BAB I P E N D A H U L U A N. Man-Machine Interface (MMI) adalah kebutuhan standar di dunia industri

PETUNJUK PRAKTIKUM MIKROKONTROLER. (AT89Sxx) Disusun oleh : Sumarna.

PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR

Pengendalian 8 buah Motor oleh DST-51

PERCOBAAN 2 SAKLAR PUSH BUTTON

BAB 3 SET ARAHAN. Bahasa Tahap Rendah. Bahasa yang memudahkan pengaturcaraan tanpa memikirkan bagaimana data diolah (pindahmemindah)

PENGATURAN KECEPATAN MOTOR DENGAN PC OLEH DST-5 2

BAB II DASAR TEORI. Laporan Tugas Akhir Controller Aktuator Plant/Process. Gambar 2.1 Sistem Kontrol Closed Loop


Memprogram Port sebagai Output dan Input Sederhana

Pendahuluan (1) D E F

TUGAS AKHIR JAM DIGITAL BERBASIS MIKROKONTROLER AT89S51. Disusun oleh : MUHAMAD YUSUF PARDEDE NIM:

Akses I2C dengan menggunakan Delta I2C System

APLIKASI MODUL DST -52 SEBAGAI JAM DIGITAL DENGAN INPUT DARI PC KEYBOARD DAN M1632 LCD SEBAGAI PENAMPIL

DT-51 Application Note

PENGENALAN DASAR MIKROKONTROLER MCS-51 AT89S51/52. DI SUSUN OLEH: RENI NURAENI,ST M.Pd

BELAJAR MIKROKONTOLER AT89C51/52/55 (Teori dan aplikasi)

MIKROKONTROLLER AT89S51

PENAMPIL TOMBOL-TOMBOL REMOTE CONTROL SONY PADA M1632 LCD OLEH MODUL DST-52

BAB 2 DASAR TEORI. Dalam bab ini penulis akan membahas tentang komponen komponen yang digunakan

ORGANISASI MEMORI MIKROKONTROLER MCS-51. Yoyo Somantri dan Erik Haritman Dosen Jurusan Pendidikan Teknik Elektro FPTK Universitas Pendidikan Indonesia

BAB II LANDASAN TEORI

Oleh : Hendawan Soebhakti, ST. Program Studi Teknik Elektro Politeknik Batam Juni 2007

BAB 2 LANDASAN TEORI

Memprogram Interface Motor

MODUL 5 SISTEM PENGENDALIAN BERBASIS MIKROKONTROLER

PERCOBAAN 3 INSTRUKSI ARITMATIK DAN LOGIK. Oleh : Sumarna, Jurdik Fisika, FMIPA, UNY

Lab Elektronika Industri Mikrokontroler - 1 AT89C1051

BAB II LANDASAN TEORI

BAB VII KOMPUTER SEDERHANA SAP-3 (SIMPLE AS POSSIBLE-3)

Laporan Modul 2, EL3006 Timer/Counter dan Interrupt Jongguran Sondang DN ( )/ Kelompok 48/ Jumat, 14 Maret 2008 Asisten: Virgilius

4. Port Input/Output Mikrokontroler MCS-51

Simple As Possible (SAP) - 2. Abdul Syukur

BAB 2 LANDASAN TEORI

Memprogram Interupsi AT89S51

Tahun Akademik 2015/2016 Semester I DIG1B3 Konfigurasi Perangkat Keras Komputer

BAB II LANDASAN TEORI

PERINTAH-PERINTAH DASAR (UMUM)

DCH1B3 Konfigurasi Perangkat Keras Komputer SAP-2

ARSITEKTUR MIKROPROSESOR Z80. Yoyo somantri Dosen Jurusan Pendidikan Teknik Elektro FPTK Universitas Pendidikan Indonesia

MODUL ROBOTIK. Disusun Oleh : SUYATNO BUDIHARJO

Simple As Possible (SAP) - 2. Abdul Syukur

Tahun Akademik 2015/2016 Semester I DIG1B3 Konfigurasi Perangkat Keras Komputer

Aplikasi Pengukur Ketinggian Air Mengunakan Modul Sensor InfraRed Object Detector

PENULISAN KARAKTER DENGAN MENGGUNAKAN TEKNIK PENULISAN PADA KEYPAD HANDPHONE OLEH MODUL DST-51, KEYPAD 4X3 DAN M1632 LCD

DOT MATRIK SEBAGAI ALAT UNTUK KEAMANAN. Minarwati Program Studi Manajemen Informatika STMIK EL RAHMA YOGYAKARTA Jl. Sisingamangaraja 76 Yogyakarta

PERCOBAAN 1 DISPLAY LED

LAMPIRAN A PERANGKAT LUNAK

7.Lokasi hasil pemrosesan

MIKROKONTROLER ATMEL AT89C51

Lampiran 2 Rangkaian Lengkap

BAB 2 DASAR TEORI. membantu perkembangan didunia elektronika. Arsitektur mikrocontroler banyak

PENGGUNAAN KEYPAD 4X3 DAN PC KEYBOARD PADA MODUL DST-52 DENGAN TAMPILAN M1632 LCD

MESIN KETIK ELEKTRONIK DENGAN TAMPILAN M1632 LCD OLEH MODUL DST-52

Universitas Sumatera Utara

INSTRUKSI DASAR Salahuddin, SST.

Mata Kuliah : Bahasa Rakitan

TEORI DASAR MIKROKONTROLER

PERCOBAAN 9 T I M E R/ COUNTER

Modul Mikrokontroler AT89S51/52

2. Unit Praktikum Perhitungan Aritmatika

Arsitektur SAP-2 W BUS ACKNOWLEDGE HEXADECIMAL KEYBOARD ENCODER ACCUMULATOR INPUT PORT 1 ALU FLAGS READY INPUT PORT 2 SERIAL IN PROGRAM COUNTER TMP

Percobaan 7 INTERFACE MIKROKONTROLER DAN MOTOR STEPPER

BAB 2 LANDASAN TEORI. Pada subbab ini akan dibahas perangkat perangkat keras yang digunakan pada

PERCOBAAN 5 STACK DAN SUBROUTINE. Oleh : Sumarna, Jurdik Fisika, FMIPA, UNY

BAB 2 LANDASAN TEORI

PERANCANGAN ALAT PEMBERI MAKAN IKAN SECARA OTOMATIS BERBASIS MIKROKONTROLER AT89C51

de KITS Application Note AN24 - How 2 Use de KITS Phone Interface with DT-51 MinSys ver 3.0

LAMPIRAN 1 PROGRAM PADA MIKROKONTROLER ATMEGA 89S52

Register-register MT8888

PERCOBAAN 2 TRANSFER DATA. Oleh : Sumarna, Jurdik Fisika, FMIPA, UNY

INSTRUKSI-INSTRUKSI MIKROPROSESOR Z80. Yoyo somantri Dosen Jurusan Pendidikan Teknik Elektro FPTK Universitas Pendidikan Indonesia

KBK 635 MIKROKONTROLER PENDAHULUAN

BAB I TUGAS MATA KULIAH SISTEM MIKROPROSESOR DOSEN PEMBERI TUGAS : FATAH YASIN, ST, MT.

LAPORAN PRAKTIKUM SISTEM MIKROPROSESSOR STACK DAN SUBROUTINE

BAB II LANDASAN TEORI

AD Channel AD Conversion

BAB II DASAR TEORI. Mikrokontroler berbeda dari mikroprosesor serba guna yang digunakan di dalam

Transkripsi:

INSTRUKSI DAN BAHASA PEMOGRAMAN MIKROKONTROLER Yoyo Somantri dan Erik Haritman Dosen Jurusan Pendidikan Teknik Elektro FPTK Universitas Pendidikan Indonesia Pendahuluan Dalam bab ini akan dibahas tujuan perkuliahan, tentang instruksi-instruksi pada mikrokontroler AT 89S51 dan bahasa pemograman mikrokontroler. Tujuan Perkuliahan Setelah mempelajari bab ini, diharapkan mahasiswa mampu untuk : 1. Memahami instruksi-instruksi mikrokontroler 2. Memahami bahasa pemograman Instruksi instruksi dan bahasa pemograman Instruksi-instruksi pada keluarga MCS-51 dibagi dalam 5 kelompok, yaitu : ( Sumber dari : Atmel, (2005) Data Book Microcontroller dan Intel, (1994). MCS 51 Microcontroller Family User Manual.) 1. Instruksi operasi Arithmetic Operasi penjumlahan tanpa Carry : ADD A, (src-byte) Operasi : A A + (src-byte) ADD A, Rn 1 1 0010 1rrr ADD A, Direct 2 1 0010 0101 (direct address) ADD A, @ Ri 1 1 0010 011I ADD A, #data 2 1 0010 0100 (immediate data)

Operasi Penjumlahan dengan Carry : ADDC A, (src-byte) Operasi : A A + C + (src-byte) ADDC A, Rn 1 1 0011 1rrr ADDC A, Direct 2 1 0011 0101 (direct address) ADDC A, @ Ri 1 1 0011 011I ADDC A, #data 2 1 0011 0100 (immediate data) Operasi Pengurangan dengan Borrow : SUBB A, (src-byte) Operasi : A A - C - (src-byte) SUBB A, Rn 1 1 1001 1rrr SUBB A, Direct 2 1 1001 0101 (direct address) SUBB A, @ Ri 1 1 1001 011i SUBB A, #data 2 1 1001 0100 (immediate data) Operasi Increment : INC (byte) Operasi : (byte) (byte) + 1 INC A 1 1 0000 0100 INC Rn 2 1 0000 1rrr INC direct 1 1 0011 011I (direct address) INC @Ri 2 1 0011 0100 INC DPTR 1 2 1010 0011 Operasi Decrement : DEC (byte) Operasi : (byte) (byte) - 1

DEC A 1 1 0001 0100 DEC Rn 1 1 0001 1rrr DEC direct 2 1 0001 010I (direct address) DEC @Ri 1 1 0001 011i Operasi Perkalian : MUL AB Operasi : A 7-0 A x B B 15-8 MUL AB 1 4 1010 0100 Operasi Pembagian : DIV AB Operasi : A 15-8 A / B B 7-0 DIV AB 1 1 1101 0100 2. Instruksi Operasi Logical Operasi AND : ANL (dest-byte) (src-byte) Operasi : (dest byte) (dest byte) (src-byte) ANL A, Rn 1 1 0101 1rrr ANL A, Direct 2 1 0101 0101 (direct address) ANL A, @ Ri 1 1 0101 011i ANL A, #data 2 1 0101 0100 (immediate data) ANL direct, A 2 1 0101 0010 (direct address) ANL direct, #data 3 2 0101 0011 (direct addres) (immediate data)

Operasi OR : ORL (dest-byte) (src-byte) Operasi : (dest byte) (dest byte) (src-byte) ORL A, Rn 1 1 0100 1rrr ORL A, Direct 2 1 0100 0101 (direct address) ORL A, @ Ri 1 1 0100 011i ORL A, #data 2 1 0100 0100 (immediate data) ORL direct, A 2 1 0100 0010 (direct address) ORL direct, #data 3 2 01000011(direct address) (immediate data) Operasi XOR : ORL (dest-byte) (src-byte) Operasi : (dest byte) (dest byte) (src-byte) XRL A, Rn 1 1 0110 1rrr XRL A, Direct 2 1 0110 0101 (direct address) XRL A, @ Ri 1 1 0110 011i XRL A, #data 2 1 0110 0100 (immediate data) XRL direct, A 2 1 0110 0010 (direct address) XRL direct, #data 3 2 01100011(direct addres) (immediate data) Operasi CLEAR : CLR A Operasi : A 0 CLR A 1 1 1110 0100

Operasi Complement : CPL A Operasi : A A CPL A 1 1 1111 0100 Operasi Rotasi tanpa Carry PUTAR KIRI : RL A Operasi : An + 1 An n = 0 6 A0 A7 RL A 1 1 0010 0011 PUTAR KANAN : RR A Operasi : An + 1 An n = 0 6 A7 A0 RR A 1 1 0000 0011 Operasi Rotasi dengan Carry PUTAR KIRI : RL A Operasi : An + 1 An n = 0 6 A0 C C A7 RLC A 1 1 0011 0011

PUTAR KANAN : RRC A Operasi : An + 1 An n = 0 6 A7 C C A7 RLC A 1 1 0001 0011 Operasi PERTUKARAN NIBLE (4bit) : SWAP A Operasi : A3-0 A7-4 SWAP A 1 1 1100 0100 1. Instruksi Transfer Data Instruksi Transfer Data pada Memori Data Internal : MOV (dest-byte) (src-byte) Operasi : (dest byte) (src-byte) MOV A, Rn 1 1 1110 1rrr MOV A, Direct 2 1 1110 0101 (direct address) MOV A, @ Ri 1 1 1110 011i MOV A, #data 2 1 0111 0100 (immediate data) MOV Rn, A 1 1 1111 1rrr MOV Rn, Direct 2 2 1010 1rrr (direct address) MOV Rn, #data 2 1 0111 1rrr (immediate data) MOV Direct, A 2 1 1111 0101 (direct address) MOV Direct, Rn 2 2 1000 1rrr (direct address) MOV Direct, Direct 3 2 1000 0101 (dir.addr.(src)) (dir.addr.(dest)) MOV Direct, @Ri 2 2 1000 011I (direct address)

MOV Direct, #data 3 2 01110101 (direct address) (immediate data) MOV @Ri, A 1 1 1111 011I MOV @Ri, Direct 2 2 1010 011I MOV @Ri, #data 2 1 0111 011I (immediate data) MOV DPTR, data16 3 2 1001 0000 (immd.data 15-8) (immd.data 7-0) Operasi Transfer Data pada Memori Data external : MOVX (dest-byte) (src-byte) Operasi : (dest byte) (src-byte) MOVX A, @Ri 1 2 1110 001I MOVX A, @DPTR 1 2 1110 0000 MOVX @Ri, A 1 2 1111 001I MOVX @DPTR, A 1 2 1111 0000 Operasi Transfer Data pada Memori Program : MOVC A, @A + (base-reg) Operasi : A (A + (base-reg) MOVC A, @Ri 1 2 1001 0011 MOVC A, @DPTR 1 2 1000 0011 Operasi Transfer data pada stack Simpan ke stack : PUSH Direct Operasi : SP SP + 1 (SP) (direct)

PUSH direct address 2 2 1100 0000 (direct address) Ambil dari stack : POP Direct Operasi : Direct (SP) SP SP 1 PUSH direct address 2 2 1100 0000 (direct address) Operasi Pertukaran Data Pertukaran Byte : XCH A, (byte) Operasi : A (byte) XCH A, Rn 1 1 1100 1rrr XCH A, direct 2 1 1100 0101 (direct address) XCH A, @Ri 1 1 1100 011I Pertukaran Nible : XCHD A, A, @Ri Operasi : A 3-0 (Ri 3-0 ) XCHD A, @Ri 1 1 1101 011I 2. Instruksi Manipulasi Variabel Boolean Operasi Clear Bit : CLR Bit

Operasi : Bit 0 CLR C 1 1 1100 001I CLR Bit 2 1 1100 0010 (bit address) Operasi Set Bit : SETB Bit Operasi : Bit 1 SETB C 1 1 1101 001I SETB Bit 2 1 1101 0010 (bit address) Operasi Complement Bit : CPL Bit Operasi : Bit Bit CPL C 1 1 1011 001I CPL Bit 2 1 1011 0010 (bit address) Operasi AND bit : ANL C, (src-bit) Operasi : C C ^ bit atau C C ^ bit ANL C, bit 2 2 1000 0010 (bit address) ANL C,/bit 2 2 1011 0000 (bit address) Operasi OR bit : ORL C, (src-bit) Operasi : C C V bit atau C C V bit

ORL C, bit 2 2 0111 0010 (bit address) ORL C,/bit 2 2 1010 0000 (bit address) Operasi Transfer Bit : MOV (dest-bit), (src-bit) Operasi : (dest-bit) (src-bit) MOV C, bit 2 1 1010 0010 (bit address) MOV bit, C 2 2 1001 0010 (bit address) Operasi JUMP oleh Bit JUMP Jika Bit Set : JB C, rel Operasi : Jika bit = 1, maka PC PC + rel JB bit, rel 3 2 0010 0000 (bit address)(rel.address) JUMP Jika Bit Set dan Bit tersebut di Clear - kan : JBC Bit, rel Operasi : Jika bit = 1, maka Bit = 0 dan PC PC + rel JBC bit, rel 3 2 0001 0000 (bit address)(rel.address) JUMP Jika Carry Set : JC rel Operasi : Jika C = 1, maka PC PC + rel JC rel 2 2 0010 0000 (rel.address) JUMP Jika Bit Not Set : JNB Bit, rel Operasi : Jika bit = 0, maka PC PC + rel

JNB bit, rel 3 2 0011 0000 (bit address)(rel.address) JUMP Jika Carry Not Set : JNC rel Operasi : Jika C = 0, maka PC PC + rel JNB rel 2 2 0101 0000 (rel.address) 3. Instruksi Percabangan (Program Branching) Operasi Pemanggilan Sub Routine Absolute Call : ACALL addr11 Operasi : PC PC + 2 SP SP + 1 (SP) PC 7 0 SP SP + 1 (SP) PC 15 8 PC 10-0 Page Address ACALL addr11 2 2 a 10 a 9 a 8 1 0001 a 7 a 6 a 5 a 4 a 3 a 2 a 1 a 0 Long Call : LCALL addr 16 Operasi : PC PC +3 SP SP + 1 (SP) PC 7 0 SP SP + 1 (SP) PC 15 8 PC 10-0 Addr 15-0

ACALL addr11 3 2 0001 0010 a 15-8 a 7-0 Operasi Kembali Sub routine Return dari Subroutine : RET Operasi : PC 15 8 (SP) SP SP 1 PC 15 8 (SP) SP SP 1 RET 1 2 0010 0010 Return dari Interupt (Subroutine) : RETI Operasi : PC 15 8 (SP) SP SP 1 PC 15 8 (SP) SP SP 1 RETI 1 2 0011 0010 Operasi JUMP tanpa Kondisi Absolute Jump : AJMP Operasi : PC PC + 2 PC 10 0 page address AJMP addr16 3 2 a 10 a 9 a 8 00001 a 7 a 6 a 5 a 4 a 3 a 2 a 1 a 0 Long Jump : LJMP Operasi : PC PC + 2 PC 15 0 addr 15-0 LJMP addr16 3 2 0000 0001 a 15-8 a 7-0

Short Jump : SJMP relative addr. Operasi : PC PC + 2 PC PC + rel SJMP rel 2 2 1000 0000 (rel address) Relative DPTR Jump : JMP @A + DPTR Operasi : PC A + DPTR PC A + DPTR JMP @A + DPTR 1 2 0111 0011 Operasi Jump dengan Kondisi Jump jika ACC sama dengan nol : JZ relative Operasi : PC PC + 2 jika A = 0, maka PC PC + rel JZ rel 2 2 0110 0000 (relative address) Jump jika ACC tidak sama dengan nol : JNZ relative Operasi : PC PC + 2 jika A = 0, maka PC PC + rel JNZ rel 2 2 0111 0000 (relative address) Jump jika perbandingan dest byte tidak sama dengan src byte : CJNE (dest-byte), (src-byte), rel

Operasi : PC PC + 3 jika (dest-byte) (src-byte) maka PC PC + rel jika (dest-byte) = (src-byte) maka C 1, selain itu C 0 CJNE A, direct, rel 3 2 10110101 (directa.addr)(rel addr) CJNE A, # data, rel 3 2 10110100 (immediate data)(rel addr) CJNE Rn, # data, rel 3 2 10111rrr (immediate data)(rel addr) CJNE @Ri, #data, rel 3 2 1011011r (immediate)(rel addr) Jump jika hasil DEC byte data tidak sama dengan nol : DJNZ (byte), rel Operasi : PC PC + 2 (byte Byte - 1 jika (byte) > 0, atau (byte) < 0, maka PC PC + rel DJNZ Rn, rel 2 2 1101 1rrr (relative address) DJNZ direct, rel 3 2 1101 0101 (direct addr) (rel. addr) 4. Tanpa Fungsi : NOP Operasi : PC PC + 1 NOP 1 1 0000 0000 Referensi : 1. Myke Predko, (1995). Programming and Custumizing The 8051 Microcontroller. Mc Graw Hill. 2. Atmel, (2005). Data Book Microcontroller. 3. Sencer, (1997). Programming Interfacing 8051 Microcontroller. Mc Graw Hill. 4. Intel, (1994). MCS 51 Microcontroller Family User Manual.