Struktur Bahasa Assembler Mikrokontroller MCS51

dokumen-dokumen yang mirip
Bahasa Pemrograman Assembler 8051

Microcontroller: Bahasa Pemrograman Assembly 8051

INTRUKSI-INTRUKSI BAHASA PEMROGRAMAN ASSEMBLY

Secara fisik, kerja dari sebuah mikrokontroler dapat dijelaskan sebagai siklus

PERCOBAAN 11 PULSE WIDHT MODULATION

Bekerja Dengan MIDE-51

BAB III RANCANGAN DAN CARA KERJA ALAT

Percobaan 5 PENGENALAN MIKROKONTROLER 8051

Mengenal bahasa assembly

PERTEMUAN BAHASA PEMOGRAMAN DAN FORMAT BILANGAN MIKROKONTROLER

Pencipta bahasa C adalah Brian W. Kernighan dan Dennis M. Ritchie pada. sekitar tahun C adalah bahasa pemrograman terstruktur, yang membagi

PERTEMUAN TEKNIK PEMOGRAMAN MIKROKONTROLER 89C51

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM I MODEL PEMROGRAMAN 1

PERCOBAAN 2 SAKLAR PUSH BUTTON

Tabel Perbandingan ROM dan RAM pada beberapa seri ATMEL

PERCOBAAN 9 T I M E R/ COUNTER

Menggunakan Bahasa Pemrograman Assembly

BAHASA PEMOGRAMAN AT89S/Cxx (assembly)

BAB 13 INTERFACE KE PRINTER DOT MATRIKS

PETUNJUK PEMROGRAMAN DAN SET INSTRUKSI

PERTEMUAN. SET INSTRUKSI MIKROKONTROLER AT 89C51 (Lanjutan)

BAHASA PEMROGRAMAN MIKROKOMPUTER

RUNNING TEXT. Gambar 1. Susunan Running Text

BAB 2 TINJAUAN PUSTAKA

Operasi Transfer Data

Gambar 1. Rangkaian interface ke LCD Karakter 2 x16

LAB SHEET 5 PEMROGRAMAN DENGAN STACK POINTER (INSTRUKSI PUSH DAN POP)

Arsitektur Set Instruksi. Abdul Syukur

PERCOBAAN 15 I N T E R U P S I

BAB 2 LANDASAN TEORI. bisa digunakan untuk memindahkan program yang ber-ekstention.hex ke Flash,

DASAR INPUT/OUTPUT (2) (PORT PPI DAN PORT 1 SEBAGAI INPUT/OUTPUT)

Web Site :

PERCOBAAN 8 MOTOR STEPPER

AKSES MEMORI Menggunakan DT-51 MinSys

LAB SHEET 2 MODUS PENGALAMATAN DAN ISI MEMORI DATA

PANDUAN PRAKTIKUM DASAR MIKROKONTROLER KELUARGA MCS-51 MENGGUNAKAN DT-51 MINIMUM SYSTEM VER 3.0 DAN DT-51 TRAINER BOARD

BAB II LANDASAN TEORI

MAKALAH. Timer atau Counter 0 dan 1. Oleh : Rizky Dwi N ( ) Satrio Teguh Yulianto ( ) D3 TEKNIK ELEKTRO JURUSAN TEKNIK ELEKTRO

BAB III PERANCANGAN ALAT. dimmer atau terang redup lampu dan pengendalian pada on-off lampu. Remote

BAB 2 Pemrograman Zilog Z80

Instruktur : Ferry Wahyu Wibowo, S.Si., M.Cs.

Percobaan 4. Mengakses built-in routine LCD pada DT-51 Minimum sistem. Membuat program untuk menampilkan karakter ASCII pada LCD.

CONTOH-CONTOH PROGRAM MIKROKONTROLER

PERCOBAAN 1 DISPLAY LED

Memprogram Interface Motor

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

BAB III PERANCANGANALAT

BAB III ANALISA DAN CARA KERJA RANGKAIAN

BAB 2 TINJAUAN TEORITIS

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

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

Bab 1. Pemrograman dan Bahasa Rakitan. 1.1 Pendahuluan

PERCOBAAN 3 DISPLAY 7 SEGMEN

BAB V MEMULAI DENGAN ASSEMBLY

BAB II LANDASAN TEORI. Dalam merancang sebuah peralatan yang cerdas, diperlukan suatu

DT-51 Application Note

JOBSHEET I ANTARMUKA MIKROKONTROLER DENGAN LED

Mikrokontroller Berbasiskan RISC 8 bits

BAB IV UJI COBA DAN ANALISA

BAB III PERENCANAAN DAN PEMBUATAN PERANGKAT LUNAK

DESKRIPSI SINGKAT INSTRUKSI-INSTRUKSI PADA AT89S51

TKC210 - Teknik Interface dan Peripheral. Eko Didik Widianto

AD Channel AD Conversion

Register-register MT8888

Praktikum Dasar Pemrograman

BAB II LANDASAN TEORI

MODUL PELATIHAN MIKROKONTROLLER UNTUK PEMULA DI SMK N I BANTUL OLEH: TIM PENGABDIAN MASYARAKAT JURUSAN TEKNIK ELEKTRO

Percobaan 5. TIMER/COUNTER Menggunakan DT-51 MinSys

BAB 3 MODE AKSES MEMORI, PENGGUNAAN VARIABEL DAN STACK

DASAR INPUT/OUTPUT (1) (PORT PPI DAN PORT 1 SEBAGAI OUTPUT)

Ringkasan Set Instruksi Dan Mode pengalamatan ( Addressing Mode )

TIMER DAN COUNTER MIKROKONTROLER ATMEL

Kuis : Bahasa Rakitan (UAS)

BAB 2 LANDASAN TEORI

USER MANUAL TRAINER TOMBOL & LED 8 BIT MENGGUNAKAN AT89S51 MATA PELAJARAN:ELEKTRONIKA KENDALI

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

ANTAR MUKA DST-51 DENGAN MODUL AD-0809

DAFTAR ISI HALAMAN JUDUL... HALAMAN PENGESAHAN P EMBIMBING... HALAMAN PENGESAHAN P ENGUJI... HALAMAN PERSEMBAHAN... HALAMAN MOTTO... KATA PENGANTAR...

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

BAB II TINJAUAN PUSTAKA

Arsitektur dan Organisasi

TAKARIR. Akumulator Register yang digunakan untuk menyimpan semua proses aritmatika. Assembler Bahasa pemrograman mikrokontroler MCS-51

Arsitektur dan Organisasi Komputer. Set instruksi dan Pengalamatan

Memprogram Port sebagai Output dan Input Sederhana

Smart Peripheral Controller ALPHANUMERIC DISPLAY

MODUL V STACK dan PENGENALAN PROCEDURE

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

Organisasi & Arsitektur Komputer

DT-51 Application Note

PEMROGRAMAN BAHASA RAKITAN

BAB 3 PERANCANGAN ALAT DAN PROGRAM

TAKARIR. Akumulator Register yang digunakan untuk menyimpan semua proses aritmatika

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

PERTEMUAN SET INSTRUKSI MIKROKONTROLER AT 89C51

Materi 4: Assembly Language Programming

DT-51 Application Note

MIKROKONTROLER Arsitektur Mikrokontroler AT89S51

LAMPIRAN A PERANGKAT LUNAK

2. Unit Praktikum Perhitungan Aritmatika

BAB 2 LANDASAN TEORI. Mikrokontroler AT89S52 termasuk kedalam keluarga MCS-51 merupakan suatu. dua macam memori yang sifatnya berbeda yaitu:

Transkripsi:

Struktur Bahasa Assembler Mikrokontroller MCS51 1 Pendahuluan Bahasa assembler atau bahasa mesin adalah bahasa tingkat low level atau tingkat rendah. Disebut bahasa mesin karena bahasa assembler mendekati bahasa mesin yaitu suatu mnemonic-mnemonic yang jika diolah oleh compiler langsung dikonversikan menjadi kode-kode heksadesimal yang dikenali oleh mesin (dalam hal ini adalah mikrokontroller). Berbeda dengan bahasa C yang mendekati bahasa manusia, apabila diolah oleh compiler maka bahasa pemrograman tersebut akan diubah terlebih dahulu menjadi bahasa assembler kemudian diubah lagi menjadi kode heksadesimal. Bahkan pemrograman yang lebih mutakhir yaitu memprogram menggunakan Flowchart (nama programnya FlowCode) yaitu programmer cukup memprogram menggunakan diagram alir yang menunjukkan suatu siklus / tahapan proses. Oleh compiler flowcode ini dikonversi terlebih dahulu menjadi bahasa C (atau sejenisnya) lalu diubah lagi menjadi bahasa Assembler dan terakhir dikonversi menjadi kode-kode heksadesimal. Semakin panjang suatu program maka semakin panjang juga proses yang terjadi pada mikrokontroller tersebut dan juga memperlambat eksekusi program secara keseluruhan. Oleh sebab itu mengapa program yang ditulis dalam bahasa assembler lebih cepat dieksekusi oleh mikrokontroller dibanding jika ditulis dengan menggunakan bahasa C atau bahasa pemrograman lainnya. Akan tetapi menulis program dalam bahasa assembler membutuhkan pengetahuan yang lebih dalam dan luas seperti mengetahui alamat-alamat register mikrokontroller, register fungsi khusus, nilai-nilai register, inisialisasi register, mnemonic assembler, siklus program, waktu eksekusi suatu mnemonic, penggunaan ram, dll.

Setiap mikrokontroller yang dibuat oleh perusahaan yang berbeda memiliki bahasa pemrograman yang berbeda. Misalnya mikrokontroller yang dibuat oleh Atmel, PIC, Motorolla, dan Dallas memiliki jenis mikrokontroller sendiri dan memiliki bahasa pemrograman sendiri. Selain itu mikrokontroller yang dibuat perusahaan yang sama tetapi jenis / keluarga mikrokontrollernya berbeda juga memiliki bahasa pemrograman yang berbeda. Misalnya mikrokontroller keluaran Atmel untuk keluarga MCS51 dan AVR memiliki bahasa pemrograman assembler yang berbeda. 2 Struktur Bahasa Assembler MCS51 Salah satu jenis mikrokontroller buatan Atmel yang sempat popular adalah mikrokontroller keluarga MCS51 yaitu mikrokontroller CMOS 8 bit. Mnemonicmnemonic dalam bahasa assembler yang dapat digunakan untuk memprogram mikrokontroller MCS51 dapat dibaca pada file MCS51 Instruction Set.pdf. Mnemonic atau program yang ditulis dalam bahasa assembler selanjutnya diubah menjadi kodekode heksadesimal oleh compiler. Compiler yang digunakan adalah compiler ASM51 yang dibuat oleh Metalink Corp. ASM51.exe adalah compiler yang akan mengubah program dalam bahasa assembler menjadi kode-kode heksadesimal oleh sebab itu programmer harus mengikuti aturan-aturan penulisan program yang telah ditentukan oleh compiler ASM51, apabila tidak sesuai dengan aturan-aturan yang ditentukan oleh compiler maka akan menyebabkan kesalahan / error pada program tersebut. Aturan-aturan penulisan program menggunakan compiler ASM51 dicantumkan pada file ASM_MAN.doc, ASM_REV.doc, sedangkan contoh program yang dituliskan dalam bahasa assembler pada file BMULB.asm. Baca dulu file-file tersebut untuk memahami cara-cara penulisan program bahasa assembler menggunakan compiler ASM51.

Percobaan 1 : Struktur Dasar Jalankan aplikasi text editor seperti NOTEPAD.exe yang tersedia. 3 Pada NotePad kemudian File > Save dan simpan dengan nama Struktur.asm dengan Save as type adalah All Files. Akan muncul file dengan tipe assembler source file pada folder Assembler MCS51. Program sebagai berikut : $DATE(Maret 2011) $NOPAGING PORT_led EQU P0 ;definisi PORT0 INIT_uC: MAIN: Org 00H ; alamat awal pada 0000H MOV PORT_led,#00H ;setelah titik koma MOV P1,#0 ;adalah komentar MOV P2,#00000000B MOV P3,#00

Percobaan 2 : Struktur Dasar dan Fungsi. Program sebagai berikut : ; Program struktur Assembler MCS51 ; Xtall 11,059200 MHz 4 ;Assembler Control PORT_led EQU P0 ;Assembler Directive INIT_uC: WHILE_1: Org 00H ;alamat awal pada 0000H ;Label ;Inisialisasi Awal CALL FUNGSI1 ; program utama ACALL FUNGSI2 LCALL FUNGSI3 SJMP WHILE_1 ;Loop forever FUNGSI1: ;program rutin fungsi 1 ; isi program fungsi 1 FUNGSI2: ;program rutin fungsi 2 ; isi program fungsi 2 FUNGSI3: ;program rutin fungsi 3 ; isi program fungsi 3 ;End of Program

Percobaan 3 : Program Counter dan Data Transfer Program sebagai berikut : ; Program struktur Assembler MCS51 ; Xtall 11,059200 MHz 5 ;Assembler Control WHILE_1: Org 00H ;alamat awal pada 0000H MOV R0,#0AH MOV R1,#0EFH MOV 3FH,#01010101B MOV A,R0 MOV A,#30H MOV B,A MOV 3FH,A MOV DPTR,#65535 PUSH 3FH MOV 3FH,#00001111H POP 3FH XCH A,R1 SJMP WHILE_1 ;Loop forever ;End of Program Simulasikan coding tersebut menggunakan simulator yang ada untuk melihat perubahan nilai register-register dan program counter yang terjadi pada mikrokontroller MCS51.