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

dokumen-dokumen yang mirip
Ringkasan Set Instruksi Dan Mode pengalamatan ( Addressing Mode )

PETUNJUK PEMROGRAMAN DAN SET INSTRUKSI

BAHASA PEMOGRAMAN AT89S/Cxx (assembly)

Sistem Antrian Banyak Loket Berbasis AT89C51

TAKARIR. Akumulator Register yang digunakan untuk menyimpan semua proses aritmatika

Lab Elektronika Industri Mikrokontroler - 1 AT89C1051

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

KBK 635 MIKROKONTROLER PENDAHULUAN

Menggunakan Bahasa Pemrograman Assembly

PERTEMUAN SET INSTRUKSI MIKROKONTROLER AT 89C51

MIKROKONTROLER Yoyo Somantri dan Egi Jul Kurnia

DESKRIPSI SINGKAT INSTRUKSI-INSTRUKSI PADA AT89S51

ABSTRAK. rumah pelanggan listrik. Fungsi dari alat ini adalah menghitung seberapa besar

Mengenal bahasa assembly

INTRUKSI-INTRUKSI BAHASA PEMROGRAMAN ASSEMBLY

Bahasa Pemrograman Assembler 8051

INSTRUKSI DAN BAHASA PEMOGRAMAN MIKROKONTROLER

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

LAMPIRAN D DATA SHEET

MIKROKONTROLER AT89S52

BAB II LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

PORT PARALEL MIKROKONTROLER ATMEL AT89C51

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

Konsep Dasar Mikrokontroler

SATUAN ACARA PERKULIAHAN

BAB 3 MODE AKSES MEMORI, PENGGUNAAN VARIABEL DAN STACK

DAFTAR ISI. ABSTRAK... i KATA PENGANTAR... ii DAFTAR ISI... iv DAFTAR GAMBAR... vii DAFTAR TABEL... x DAFTAR LAMPIRAN... xi

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

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

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA

Memprogram Interupsi AT89S51

BAB 2 TINJAUAN TEORITIS. Mikrokontroller, sebagai suatu terobosan teknologi mikrokontroler dan microkomputer,

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

PORT SERIAL MIKROKONTROLER ATMEL AT89C51

SATUAN ACARA PERKULIAHAN. Proses Pembelajaran (kegiatan mahasiswa)

BAB II. PENJELASAN MENGENAI System-on-a-Chip (SoC) C8051F Pengenalan Mikrokontroler

MIKROKONTROLER Arsitektur Mikrokontroler AT89S51

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

ARSITEKTUR MIKROKONTROLER AT89C51/52/55

Tabel 1. Karakteristik IC TTL dan CMOS

Mikrokontroller Berbasiskan RISC 8 bits

BAB II LANDASAN TEORI

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

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

Bidang Information Technology and Communication 336 PERANCANGAN DAN REALISASI AUTOMATIC TIME SWITCH BERBASIS REAL TIME CLOCK DS1307 UNTUK SAKLAR LAMPU

BAB VI MIKROKONTROLER

Mikrokontroler 89C51 Bagian II :

BAB 2 TINJAUAN TEORITIS

PERTEMUAN SET INSTRUKSI MIKROKONTROLER AT 89C51

SISTEM PENGENDALIAN LAMPU PADA PENYEWAAN LAPANGAN BULUTANGKIS INDOOR

PERTEMUAN MEMORY DAN REGISTER MIKROKONTROLER

Alarm Pintu, Harap Pintu Tutup Kembali, Jangan Buka Pintu Lama-lama versi 2

Tabel Perbandingan ROM dan RAM pada beberapa seri ATMEL

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

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

BAB II TINJAUAN PUSTAKA. Mikrokontroler, sebagai suatu terobosan teknologi mikrokontroler dan

TKC210 - Teknik Interface dan Peripheral. Eko Didik Widianto

CONTOH-CONTOH PROGRAM MIKROKONTROLER

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

PERANCANGAN APLIKASI RFID (RADIO FREQUENCY IDENTIFICATION) DAN MCS-51 UNTUK ADMINISTRASI KESISWAAN (HARDWARE)

PERTEMUAN BAHASA PEMOGRAMAN ASSEMBLER

BAB II TINJAUAN PUSTAKA

Gambar 1.1. Diagram blok mikrokontroller 8051

Arsitektur dan Organisasi Komputer. Set instruksi dan Pengalamatan

BAB II LANDASAN TEORI

TIMER DAN COUNTER MIKROKONTROLER ATMEL

CABLE LAN TESTER DENGAN TAMPILAN LCD TUGAS AKHIR DEMI SYAPUTRI

PANDUAN DASAR MIKROKONTROLER KELUARGA MCS-51

Pendahuluan Mikrokontroler 8051

Organisasi & Arsitektur Komputer

BAB II LANDASAN TEORI

3. MODE PENGALAMATAN CHAERUL UMAM, S.KOM

Sistem Keamanan Pintu Gerbang Berbasis AT89C51 Teroptimasi Basisdata Melalui Antarmuka Port Serial

MODUL 5 SISTEM PENGENDALIAN BERBASIS MIKROKONTROLER

PEMBUATAN ALAT PRAKTIKUM MIKROKONTROLER (AT89S51)

Perancangan Serial Stepper

BAB 3 PERANCANGAN ALAT DAN PROGRAM

BAB II KONSEP DASAR SISTEM PENGONTROL PARTITUR OTOMATIS

Aplikasi Mikrokontroler sebagai Pemroses Depan Pengambilan Data pada Sensor Jamak Berbasis Komputer

BAB III DESKRIPSI DAN PERANCANGAN SISTEM

TEORI DASAR MIKROKONTROLER

Memprogram Port sebagai Output dan Input Sederhana

BAB 3 PERANCANGAN SISTEM

2. Unit Praktikum Perhitungan Aritmatika

4. Port Input/Output Mikrokontroler MCS-51

BAB III PERANCANGAN DAN PEMBUATAN ALAT

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM I MODEL PEMROGRAMAN 1

BAB I PENDAHULUAN 1.1 Latar Belakang 1.2 Rumusan Masalah

BAB III PERENCANAAN DAN REALISASI

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

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

SET INSTRUKSI. Organisasi dan Arsitektur Komputer

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

BAB III RANCANGAN DAN CARA KERJA ALAT

RENCANA PEMBELAJARAN SEMESTER (RPS) Tahun Akademik 2016/2017

GARIS-GARIS BESAR PROGRAM PEMBELAJARAN (GBPP)

MIKROKONTROLLER AT89S51

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

Transkripsi:

Judul : BELAJAR MIKROKONTOLER AT89C51/52/55 (Teori dan aplikasi) Back Cover: Agfianto Eko Putra Buku ini ditujukan bagi mereka yang ingin memanfaatkan mikrokontroler tipe CISC yaitu AT89C51/52/55 (seri AT89 dari Atmel, Inc.) dalam aplikasi pengontrolan elektronik. Selain itu juga dalam rangka memperkaya pustaka nasional dalam bidang elektronika maupun sistem elektronika. Buku yang terdiri dari 7 bagian ini mengupas tuntas AT89C51/52/55 mulai dari awal tentang arsitektur dasar keluarga AT89 atau seri MCS-51, set instruksi (termasuk cara pengeditan program hingga siap untuk disimpan ke dalam Flash PEROM AT89C), kanal paralel (termasuk karakteristik dari masing-masing port dan aplikasinya), karakteristik timer dan counter, kanal serial dan penanganan sistem interupsi. Program mikrokontroler disimpan ke dalam Flash PEROM-nya AT89, sekaligus bisa juga dihapus, keunggulan ini dapat dimanfaatkan sebagai sarana belajar mikrokontroler, karena tidak memerlukan memori program luar seperti EPROM, EEPROM dan lain sebagainya yang membutuhkan peralatan pengisian dan penghapusan yang merepotkan (dan mahal). Sehingga pada bagian terakhir dibahas secara singkat pembuatan alat untuk mengisi (sekaligus menghapus) program dari mikrokontroler AT89C51/52/55 menggunakan Pemrogram Easy Downloader 2.2, selain itu buku ini dilengkapi dengan CDROM yang berisi dokumentasi lengkap Pemrogram Easy Downloader 2.2 dan program pendukung untuk kompilasi dan informasi lainnya. Kata Pengantar Edisi 2 Segala puja dan puji hanya saya haturkan kepada Alloh aza wa jalla yang telah memberikan karunia-nya, sehingga Buku Edisi 2 ini dapat diselesaikan dengan baik. Sebelumnya perkenankan saya mengucapkan terima kasih secara pribadi kepada segenap pembaca Edisi 1 dimana saja berada, atas saran, kritikan dan diskusi selama ini. Juga kepada penerbit yang telah menerbitkan buku ini. Pada Edisi 2 ini tidak terlalu banyak berubah dari Edisi 1, kecuali lampiran yang pada Edisi 1 diisi dengan Datasheet Mikrokontroler AT89C51 dan 55, maka pada Edisi 2 ini dihilangkan seluruhnya, diganti dengan 4 Lampiran, yaitu: Keterangan CDROM pelengkap buku, Referensi Cepat Instruksi AT89, Referensi Detil Instruksi AT89 dan Register-register khusus AT89. Bagi para pembaca yang ingin tetap memiliki Datasheet tersebut dapat mencetak sendiri, karena di dalam CDROM telah diberikan secara lebih lengkap (bahkan jauh lebih lengkap). Selain itu rangkaian Easy Downloader pada Bagian VII telah diganti dengan yang lebih jelas. Keterangan-keterangan program juga diperjelas dengan menambahkan beberapa penjelasan singkat. Mungkin perlu diklarifikasikan bahwa produk Atmel keluarga seri AT89 terdiri dari AT89C51, AT89C52, AT89C55, AT89S8252, AT89S53, AT89C1051 dan AT89C2051.

Sehingga sangat dimungkinkan dengan belajar melalui buku ini, Anda dapat mencoba dan menggunakan mikrokontroler seri AT89 lainnya (selain AT89C51/52/55) dengan cara yang sama, hanyasaja beberapa tipe memiliki beberapa fasilitas tambahan lainnya (Anda bisa melihat pada Datasheet di CDROM atau Lampiran E) yang bisa dimanfaatkan seoptimal mungkin. Selanjutnya kami persilahkan para Pembaca untuk mengunjungi website saya di http://www.geocities.com/agfianto untuk mendapatkan infromasi lebih lanjut, khususnya tentang workshop dan Easy Downloader. Akhir Desember 2003 Agfianto Eko Putra DAFTAR ISI BAGIAN I : ARSITEKTUR MIKROKONTROLER AT89C51/52/55 I.1. Pendahuluan... I.2. Organisasi Memori... I.2.1. Pemisahan Memori Program Dan Data... I.2.2. Memori Program... I.2.3. Memori Data... I.3. Set Instruksi Secara Sekilas... I.3.1. Program Status Word... I.3.2. Mode-Mode Pengalamatan... I.3.2.1. Pengalamatan Langsung (Direct Addressing)... I.3.2.2. Pengalamatan Tak-Langsung (Indirect Addressing)... I.3.2.3. Instruksi-instruksi Register... I.3.2.4. Instruksi-instruksi Register-Khusus... I.3.2.5. Konstanta Langsung (Immediate Constants)... I.3.2.6. Pengalamatan Terindeks (Indexed Addressing)... I.3.3. Instruksi-Instruksi Aritmetika... I.3.4. Instruksi-Instruksi Logik... I.3.5. Instruksi-Instruksi Transfer Data... I.3.5.1. RAM Internal... I.3.5.2. RAM Eksternal... I.3.5.3. Tabel-tengok (Lookup Table)... I.3.6. Instruksi-Instruksi Boolean... I.3.7. Offset Relatif... I.3.8. Instruksi-Instruksi Lompat (Jump)... I.4. Pemberian Clock Pada Mikrokontroler 51... I.5. Siklus-Siklus Mesin (Machine Cycles)... I.6. Struktur Interupsi... I.6.1. Pengaktifan Interupsi... I.6.2. Prioritas Interupsi... I.6.3. Simulasi Tingkat Prioritas Ketiga Dalam Perangkat Lunak... I.7. Sekilas Mikrokontroler Atmel Keluarga 51... I.8. SFR (Register Fungsi Khusus) Pada Keluarga 51...

I.9. Pengenalan Perangkat Lunak Pemrograman Mikrokontroler... I.9.1. Tata-Cara Membuat Program Mikrokontroler AT89C51... I.9.2. Menggunakan TS Control Emulator 8051... I.9.3. Langkah-langkah Percobaan... BAGIAN II: SET INSTRUKSI DAN PEMROGRAMAN ASSEMBLY MCS51 II.1. Operan Dan Set Instruksi MCS51... II.1.1. Mode Pengalamatan Dalam MCS51... II.1.2. Set Instruksi Dalam MCS51... II.1.2.1. Kelompok Penyalinan Data... II.1.2.2. Kelompok Instruksi Arimetik... A. Instruksi ADD dan ADDC... B. Instruksi SUBB... C. Instruksi DA A... D. Instruksi MUL AB... E. Instruksi DIV AB... F. Instruksi DEC dan INC... G. Instruksi INC DPTR... II.1.2.3. Kelompok Instruksi Logika... II.2. Operasi Bit Dengan MCS51... II.2.1. Pemberian Nilai Data Biner... II.2.2. Pemindahan Data Biner... II.2.3. Operasi Logika... II.2.4. Pengujian Nilai Boolean... II.2.5. Pemakaian Instruksi Operasi Bit... II.3. Mengatur Aliran Program MCS51... II.3.1. Kelompok Instruksi Jump... II.3.1.1. Instruksi LJMP... II.3.1.2. Instruksi AJMP... II.3.1.3. Instruksi SJMP... II.3.2. Kelompok Instruksi Untuk Sub-Rutin... II.3.3. Kelompok Instruksi Lompatan Bersyarat... II.3.3.1. Instruksi JZ / JNZ... II.3.3.2. Instruksi JC / JNC... II.3.3.3. Instruksi JB / JNB / JBC... II.3.4. Kelompok Instruksi Proses Dan Test... II.3.4.1. Instruksi DJNZ... II.3.4.2. Instruksi CJNE... II.4. Pemrograman Bahasa Assembly MCS... II.5. Operasi Assembler... II.6. Format Program Bahasa Assembly... II.6.1. Label... II.6.2. Mnemonik... II.6.3. Operan... II.6.4. Komentar... II.6.5. Simbol-Simbol Assembler Khusus... II.6.6. Pengalamatan Tak-Langsung... II.6.7. Data Langsung... II.6.8. Alamat Data... II.6.9. Alamat Bit...

II.6.10. Alamat Kode... II.6.11. Jump Dan Call Umum... II.7. Ekspresi-Ekspresi Assembler... II.7.1. Basis Bilangan... II.7.2. String Karakter... II.7.3. Operator-Operator Aritmetik... II.7.4. Operator-Operator Logika... II.7.5. Operator-Operator Khusus... II.7.6. Operator-Operator Relasional... II.7.7. Operator-Operator Ekspresi... II.7.8. Prioritas Operator... II.8. Pengarah Assembler (Assembler Directive)... II.8.1. Kontrol Kondisi Assembler... II.8.2. Definisi Simbol... II.8.3. Pemesanan/ Inisialisasi Penyimpan... II.8.4. Penggabungan Program (Program Linkage)... II.8.5. Pemilihan Segmen... II.9. Operasi Penggabungan (Program Linkage)... BAGIAN III: PORT PARALEL MIKROKONTROLER ATMEL KELUARGA 51 III.1. Pendahuluan... III.2. Fungsi-Fungs Kaki (Pin)... III.3. Struktur Port Dan Cara-Kerja... III.3.1. Konfigurasi-Konfigurasi Port I/O... III.3.2. Ringkasan Spesifikasi Masing-Masing Port... III.3.2.1. Port 0... III.3.2.2. Port 1... III.3.2.3. Port 2... III.3.2.4. Port 3... III.4. Contoh-Contoh Aplikasi Penggunaan Port... III.4.1. Menghidupkan LED Melalui Kanal Paralel... III.4.1.1. Tujuan... III.4.1.2. Rangkaian Apilkasi... III.4.1.3. Program Pertama... III.4.1.4. Langkah-langkah Menyimpan Program ke Flash Memori Menggunakan Easy-Programer... III.4.1.5. Program Kedua... III.4.1.6. Program Ketiga... III.4.1.7. Program Keempat... III.4.1.8. Program Kelima... III.4.2. Aplikasi Port Untuk Penggerak 7-Segmen... III.4.2.1. Tujuan... III.4.2.2. Rangkaian Aplikasi... III.4.2.3. Program Pertama... III.4.2.4. Program Kedua... III.4.2.5. Program Ketiga... III.4.3. Aplikasi Port Untuk Masukan/Keluaran Penggerak LED... III.4.3.1. Tujuan... III.4.3.2. Rangkaian Aplikasi...

III.4.3.3. Program Pertama... III.4.3.4. Program Kedua... III.4.3.5. Program Ketiga... III.4.4. Aplikasi Port Untuk Masukan/Keluaran Penggerak 7-Segmen... III.4.4.1. Tujuan... III.4.4.2. Rangkaian Aplikasi... III.4.4.3. Program Pertama... III.4.4.4. Program Kedua... III.4.5. Membaca Tombol Keypad Matriks Serta Penampil 7 Segmen... III.4.5.1. Tujuan... III.4.5.2. Rangkaian Aplikasi... III.4.5.3. Program Pertama... III.4.5.4. Program Kedua... III.4.6. Apilikasi Port 0 Menjadi Penggerak Penampil 8 X 7-Segmen... III.4.6.1. Tujuan... III.4.6.2. Rangkaian Aplikasi... III.4.6.3. Program Pertama... III.4.6.4. Program Kedua... III.4.6.5. Program Ketiga... BAGIAN IV: TIMER DAN COUNTER DALAM AT89C51/52 IV.1. Pendahuluan... IV.2. Sarana Timer/Counter AT89C51/52/55... IV.2.1. Ringkasan Mode Kerja Timer 0 Dan Timer 1... IV.2.2. Register Pengatur Timer... IV.2.3. Mode Kerja Timer 2 (Khusus AT89C52/55)... IV.3. Mengatur Timer... IV.4. Contoh Pemakaian Timer/Counter... IV.4.1. Menghidupkan/Mematikan LED Selama 1 Detik... IV.4.1.1. Tujuan... IV.4.1.2. Rangkaian Apilkasi... IV.4.1.3. Program... IV.4.2. Menghidupkan/Mematikan LED Menggunakan Timer Sebagai Pencacah.. IV.4.2.1. Tujuan... IV.4.2.2. Rangkaian Apilkasi... IV.4.2.3. Program... IV.4.3. Membunyikan Speaker Dengan Frekuensi 500 Hertz... IV.4.3.1. Tujuan... IV.4.3.2. Rangkaian Aplikasi... IV.4.3.3. Program... IV.4.4. Membunyikan Speaker Untuk Alarm Dan LED Flip-Flop... IV.4.4.1. Tujuan... IV.4.4.2. Rangkaian Aplikasi... IV.4.4.3. Program... BAGIAN V: PORT SERIAL PADA AT89C51/52/55 V.1. Pendahuluan... V.2. Antarmuka Serial... V.3. Register Kontrol Port Serial...

V.4. Baudrate... V.4.1. Menggunakan Timer 1 Untuk Menghasilkan Baud Rate... V.4.2. Menggunakan Timer 2 Untuk Menghasilkan Baud Rate... V.5. Detil Mode Kerja Port Serial... V.5.1. Lebih Lanjut Tentang Mode 0... V.5.2. Lebih Lanjut Tentang Mode 1... V.5.3. Lebih Lanjut Tentang Mode 2 Dan 3... V.6. Contoh Aplikasi Port Serial... V.6.1. Inisialisasi Port Serial... V.6.2. Subrutin Pengirim Karakter... V.6.3. Subrutin Penerima Karakter... V.6.4. Komunikasi Serial Dengan Komputer... V.6.4.1. Tujuan... V.6.4.2. Rangkaian Aplikasi... V.6.4.3. Program Pertama... V.6.4.4. Program Kedua... BAGIAN VI: SISTEM INTERUPSI PADA AT89C51/52/55 VI.1. Pendahuluan... VI.2. Struktur Interupsi... VI.3. Mengaktifkan Dan Menon-Aktifkan Interupsi... VI.4. Tingkat Prioritas Interupsi... VI.5. Teknik Polling... VI.6. Pemrosesan Interupsi... VI.7. Vektor-Vektor Interupsi... VI.8. Perancangan Program Interupsi... VI.8.1. Rutin Layanan Interupsi Pendek... VI.8.2. Vektor-Vektor Interupsi... VI.9. Pewaktuan Interupsi... VI.10. Contoh-Contoh Aplikasi Menggunakan Interupsi... VI.10.1. Aplikasi Mematikan Dan Menghidupkan Tungku... VI.10.2. Sistem Alarm... BAGIAN VII: PEMBUATAN PEMROGRAM AT89C51/52/55 EASY DOWNLOADER 2.2 VII.1. Pendahuluan... VII.2. Keterangan Perakitan... LAMPIRAN A: Tentang CDROM Pelengkap Buku... LAMPIRAN B: Referensi Cepat Instruksi AT89C51/52/55... LAMPIRAN C: Referensi Detil Instruksi AT89C51/52/55... LAMPIRAN D: Register-register Khusus AT89C51/52/55... LAMPIRAN E: Mikrokontroler Atmel s Flash Seri AT89... Daftar Pustaka Atmel, 1997, Flash Microcontroller: Architectural Overview, Atmel Inc., USA Atmel, 1997, AT89 Series Hardware Description, Atmel Inc., USA MacKenzie, L. Scott, 1995, The 8051 Microcontroller, 2 nd edition, Prentice Hall, Inc., USA