KBK 635 MIKROKONTROLER PENDAHULUAN

dokumen-dokumen yang mirip
MIKROKONTROLER Arsitektur Mikrokontroler AT89S51

MIKROKONTROLER AT89S52

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

ARSITEKTUR MIKROKONTROLER AT89C51/52/55

TKC210 - Teknik Interface dan Peripheral. Eko Didik Widianto

Blok sistem mikrokontroler MCS-51 adalah sebagai berikut.

Pendahuluan Mikrokontroler 8051

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

I/O dan Struktur Memori

BAHASA PEMOGRAMAN AT89S/Cxx (assembly)

BAB 2 LANDASAN TEORI

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

Memprogram Port sebagai Output dan Input Sederhana

Lab Elektronika Industri Mikrokontroler - 1 AT89C1051

BAB 2 TINJAUAN TEORITIS

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

AKSES MEMORI Menggunakan DT-51 MinSys

PETUNJUK PEMROGRAMAN DAN SET INSTRUKSI

Sumber Clock, Reset dan Antarmuka RAM

BAB II TINJAUAN PUSTAKA

Percobaan 5 PENGENALAN MIKROKONTROLER 8051

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

BAB III RANCANGAN DAN CARA KERJA ALAT

Tabel Perbandingan ROM dan RAM pada beberapa seri ATMEL

BAB II LANDASAN TEORI

ANTAR MUKA DST-51 DENGAN MODUL AD-0809

Ringkasan Set Instruksi Dan Mode pengalamatan ( Addressing Mode )

TAKARIR. Akumulator Register yang digunakan untuk menyimpan semua proses aritmatika

Bahasa Pemrograman Assembler 8051

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

Mikrokontroler 89C51 Bagian II :

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

AD Channel AD Conversion

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

Gambar 1.1. Diagram blok mikrokontroller 8051

PERTEMUAN PERANGKAT KERAS MIKROKONTROLER

PERTEMUAN MEMORY DAN REGISTER MIKROKONTROLER

Microcontroller: Bahasa Pemrograman Assembly 8051

Mikroprosesor Z80 Suryanto Sutikno

INTRUKSI-INTRUKSI BAHASA PEMROGRAMAN ASSEMBLY

Tabel 1. Karakteristik IC TTL dan CMOS

BAB 2 TINJAUAN PUSTAKA

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

Sistem Mikroprosessor

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

BAB II LANDASAN TEORI. Definisi PLC menurut National Electrical Manufacturing Association (NEMA)

4. Port Input/Output Mikrokontroler MCS-51

PERTEMUAN SET INSTRUKSI MIKROKONTROLER AT 89C51

BAB III PERENCANAAN DAN REALISASI

APLIKASI MIKROKONTROLER

BAB II TEORI DASAR. peralatan input / output ( I / O ) pendukung di dalamnya. Suatu sistem mikroprosesor

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

BAB 2 TINJAUAN TEORITIS. Sensor TGS 2610 merupakan sensor yang umum digunakan untuk mendeteksi adanya

AT89S52 8kByte In-System Programmable Mikrokontroler

DESKRIPSI SINGKAT INSTRUKSI-INSTRUKSI PADA AT89S51

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

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

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

Replika Sistem Atap Otomatis Untuk Pelindung Benda Terhadap Hujan Berbasis Mikrokontroler AT89S52

BAB 2 TINJAUAN PUSTAKA

BAB VI MIKROKONTROLER

BAB II TEORI DASAR 2.1 Pendahuluan 2.2 Sensor Clamp Putaran Mesin

BAB 2 LANDASAN TEORI. Mikrokontroler, sebagai suatu terobosan teknologi mikrokontroler dan

BAB I PENDAHULUAN 1.1 Latar Belakang 1.2 Rumusan Masalah

Mikrokontroler AVR. Hendawan Soebhakti 2009

PORT PARALEL MIKROKONTROLER ATMEL AT89C51

Pengendalian 8 buah Motor oleh DST-51

BAB III RANCANG BANGUN SISTEM KARAKTERISASI LED. Rancangan sistem karakterisasi LED diperlihatkan pada blok diagram Gambar

MIKROKONTROLER Yoyo Somantri dan Egi Jul Kurnia

BAB II LANDASAN TEORI

CPU tersebut sama-sama menjalankan program dari suatu lokasi atau tempat, biasanya dari ROM (Read Only Memory) atau RAM (Random Access Memory);

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

LAMPIRAN D DATA SHEET

MICROCONTROLER AVR AT MEGA 8535

BAB III ANALISA DAN CARA KERJA RANGKAIAN

BAB 2 TINJAUAN TEORITIS

BAB II DASAR TEORI MIKROKONTROLER II (PENERIMA DATA) MEDIA PENGIRIMAN DATA. Gambar 2.1 Blok Pengiriman Data Mikrokontroler I ke Mikrokontroler II

Simple As Possible (SAP) - 2. Abdul Syukur

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

Arsitektur Mikrokontroler

MIKROPENGENDALI C TEMU 2b AVR ARCHITECTURE. Oleh : Danny Kurnianto,S.T.,M.Eng Sekolah Tinggi Teknologi Telematika Telkom

BAB III PERANCANGAN. Perancangan tersebut mulai dari: spesifikasi alat, blok diagram sampai dengan

Arsitektur Komputer, Mikroprosesor dan Mikrokontroller. TTH2D3 Mikroprosesor

BAB 2 LANDASAN TEORI

Memprogram Interupsi AT89S51

BAB III TEORI PENUNJANG. Microcontroller adalah sebuah sistem fungsional dalam sebuah chip. Di

Secara fisik, kerja dari sebuah mikrokontroler dapat dijelaskan sebagai siklus

BAB III PERANCANGAN DAN PEMBUATAN PERANGKAT KERAS

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

BAB II TEORI DASAR DAN PENUNJANG. tersebut. Berikut ini penulis akan membahas tentang prinsip-prinsip dasar dari

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

Mengenal bahasa assembly

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

BAB II LANDASAN TEORI. Perkembangan robot sangat berkaitan erat dengan adanya kebutuhan

MICROCONTROLER AVR AT MEGA 8535

Sistem Minimum Mikrokontroler. TTH2D3 Mikroprosesor

BAB II TINJAUAN PUSTAKA. Jantung dalam terminologi sederhana, merupakan sebuah pompa yang terbuat

THERMOMETER DIGITAL DENGAN MODUL DST-51, ADC-0809 DAN LCD 2X16

PERTEMUAN SET INSTRUKSI MIKROKONTROLER AT 89C51

PANDUAN DASAR MIKROKONTROLER KELUARGA MCS-51

Transkripsi:

KBK 635 MIKROKONTROLER PENDAHULUAN PERTEMUAN 1 Program Studi Sistem Komputer - Fakultas Ilmu Komputer UNIVERSITAS NAROTAMA SURABAYA

Informasi Kuliah HP : 08123313678 Email : gembong@gembong.web.id Website : http://www.kuliah.gembong.web.id Kantor : Fasilkom Unnar, Ruang Dosen II Hari Kerja: Selasa, Rabu, Kamis Jam : 09.00 14.00 WIB Email & Website adalah jalan berkomunikasi / berkonsultasi yang terbaik dengan saya

Perkuliahan 1 Penjelasan Kontrak Pembelajaran Pengenalan Mikrokontroler Mikroprosesor Vs Mikrokontroler Penggunaan Mikrokontroler

Deskripsi Mata Kuliah Arsitektur Mikrokontroler AT89S51 Organisasi Memori Pemrograman Assembly MCS51 Sistem Interupsi Port Pararel Timer dan Counter Port Serial Aplikasi

Metode Pembelajaran Tutorial di kelas Tugas aplikasi (di demokan di akhir perkuliahan) Diskusi (Tanya Jawab) Keaktifan di dalam kelas Keaktifan secara mandiri

Metode Evaluasi Kehadiran : 20% Tugas : 40% Nilai Kuis : 10% Nilai UTS/UAS : 30%

Buku Referensi Gembong Edhi Setyawan. 2008. Aplikasi Mikrokontroler AT89S51. Universitas Narotama, Surabaya Kenneth J Ayala. 1991. The 8051 Microcontroller: Architecture, Programming and Applications. Wesh Publishing Company. USA Atmel. Datasheet AT89S51

Materi Kuliah Ke Pokok Bahasan 1 Pendahuluan 1.1 Penjelasan Kontrak Pembelajaran 1.2 Pengenalan Mikrokontroler 1.3 Mikroprosesor Vs Mikrokontoler 1.4 Penggunaan Mikrokontroler 2 Arsitektur Mikrokontroler AT89S51 2.1 Diagram Blok 2.2 Deskripsi Pin 2.3 Port I/O Mikrokontroler AT89S51

Materi Kuliah Ke Pokok Bahasan 3 Organisasi Memori AT89S51 3.1 Memori Data 3.2 Memori Program 3.3 SFR (Special Function Register) UJIAN TDK TERJADWAL (QUIS)

Materi Kuliah Ke Pokok Bahasan 4-5 Pemrograman Assembly MCS51 4.1 Instruksi-instruksi MCS51 4.2 Operasi Assembler 4.3 Struktur pemrograman Assembly MCS51 4.4 Perangkat lunak yang digunakan untuk MCS51 4.5 Ekspresi-Ekspresi Assembler 4.6 Pengarah Assembler

Materi Kuliah Ke Pokok Bahasan 6 Sistem Interupsi 5.1 Struktur Interupsi 5.2 Mengaktifkan dan menonaktifkan interupsi 5.3 Tingkat prioritas interupsi 5.4 Teknik Polling 5.5 Pemrosesan interupsi 5.6 Vektor-vektor interupsi 5.7 Perancangan program interupsi 5.8 Pewaktuan interupsi 5.9 Latihan aplikasi menggunakan interupsi

Materi Kuliah Ke Pokok Bahasan 7 Penggunaan Port Pararel 6.1 Fungsi-fungsi kaki pin 6.2 Struktur port dan cara kerja 6.2.1 Konfigurasi port I/O 6.2.2 Spesifikasi port (port 0, port 1, port 2, port 3) 8 Latihan Aplikasi Penggunaan Port Pararel

Materi Kuliah Ke Pokok Bahasan 9 Timer dan Counter 8.1 Timer/Counter AT89S51 8.1.1 Mode kerja Timer 0 dan Timer 8.1.2 Register pengatur timer 8.2 Mengatur timer 10 Latihan Aplikasi Penggunaan Timer / Counter

Materi Kuliah Ke Pokok Bahasan 11 Port Serial 10.1 Antarmuka Serial 10.2 Register Kontrol Port Serial 10.3 Baudrate 10.4 Mode Kerja Port Serial 12 Latihan Aplikasi Penggunaan Port Serial 13-14 Studi Kasus

Komputer - Mikroprosesor - Mikrokontroler Komputer : Suatu perangkat yang dapat digunakan untuk menyimpan data, mengolah data dan dapat menjalankan program yg disimpan tanpa intervensi manusia Mikroprosesor : CPU (Central Processing Unit) dari komputer Mikrokontroler : mikroprosesor yang tergabung dengan beberapa peripheral dalam 1 chips, dan mempunyai fungsi khusus sbg alat kontrol

Pengenalan Mikrokontroler (Definisi) Mikrokontroler adalah chip tunggal (IC) yang mempunyai beberapa bagian yang sama dengan komputer dekstop, seperti µp, Memori, I/O port, dll. Tidak termasuk monitor, keyboard dan mouse Mikrokontroler = µp + Memori (RAM & ROM) + I/O Port + Programmable IC Mikrokontroler didesain sebagai mesin pengendali menggantikan manusia Mikro = Kecil; Kontroler = pengendali

Mikroprosesor Vs Mikrokontroler Mikroprosesor CPU untuk komputer dan berdiri sendiri; RAM, ROM, I/O terpisah. Desainer dapat menentukan besarnya RAM, ROM, I/O Bisa digunakan untuk tujuan berbagai macam (general purpose) Mikrokontroler CPU dimana RAM, ROM, I/O, Timer tergabung menjadi 1 IC. Besarnya RAM, ROM sudah ditentukan dalam 1 chip IC 1 aplikasi = 1 tujuan (single purpose)

Mikroprosesor Vs Mikrokontroler CPU Data Bus Many chips on mother s board General- Purpose Microprocessor RAM ROM I/O Port Timer Serial COM Port Address Bus General-Purpose Microprocessor System CPU I/O Port RAM ROM Timer Serial COM Port Microcontroller A single chip Mikrokontroler - Fasilkom - Unnar

Penggunaan Mikrokontroler Mikrokontroler banyak digunakan di dunia industri, control proses, instrumentasi, peralatan rumah tangga, dll Contoh : Robot, Tulisan Banner, Pengendali Temperatur, dll

Penggunaan Mikrokontroler Mikrokontroler - Fasilkom - Unnar

Penggunaan Mikrokontroler Lego Mindstorms

Penggunaan Mikrokontroler Lego Mindstorms

Penggunaan Mikrokontroler Sony AIBO

Penggunaan Mikrokontroler Volvo S80 I8 ECUs

Studi Kasus Mikrokontroler MCS51 / 8051 Mempelajari Atmel 89S51

Mengapa Mikrokontroler 8051/MCS51? Sangat terkenal / Sering digunakan Banyak peripheral dan tool pengembangannya Lebih dari 150 variasi yang ditawarkan oleh lebih dari 20 vendor Kita akan mempelajari apa yang ada didalamnya, bagaimana memprogram, dan bagaimana mendesain untuk mengembangkan 8051 Dasarnya adalah Sistem Digital

Untuk Pertemuan Minggu Depan Baca dan pahami kontrak pembelajaran Mengulang sekilas pelajaran hari ini Email nama, foto Anda,website : bonus 5% nilai Email daftar nama kelompok untuk pengerjaan tugas besar Tugas Besar: Membuat Aplikasi Menggunakan Mikrokontroler Baca dan pahami mengenai Arsitektur mikrokontroler AT89S51

KBK 635 MIKROKONTROLER Arsitektur Mikrokontroler AT89S51 PERTEMUAN 2 Program Studi Sistem Komputer - Fakultas Ilmu Komputer UNIVERSITAS NAROTAMA SURABAYA

Informasi Kuliah HP : 08123313678 Email : gembong@gembong.web.id Website : http://www.kuliah.gembong.web.id Kantor : Fasilkom Unnar, Ruang Dosen II Hari Kerja: Selasa, Rabu, Kamis Jam : 09.00 14.00 WIB Email & Website adalah jalan berkomunikasi / berkonsultasi yang terbaik dengan saya

Materi Kuliah Ke Pokok Bahasan 1 Pendahuluan 1.1 Penjelasan Kontrak Pembelajaran 1.2 Pengenalan Mikrokontroler 1.3 Mikroprosesor Vs Mikrokontoler 1.4 Penggunaan Mikrokontroler 2 Arsitektur Mikrokontroler AT89S51 2.1 Diagram Blok 2.2 Deskripsi Pin 2.3 Port I/O Mikrokontroler AT89S51 RINGKASAN

Materi Kuliah Ke Pokok Bahasan 3 Organisasi Memori AT89S51 3.1 Memori Data 3.2 Memori Program 3.3 SFR (Special Function Register) UJIAN TDK TERJADWAL (QUIS)

Materi Kuliah Ke Pokok Bahasan 4-5 Pemrograman Assembly MCS51 4.1 Instruksi-instruksi MCS51 4.2 Operasi Assembler 4.3 Struktur pemrograman Assembly MCS51 4.4 Perangkat lunak yang digunakan untuk MCS51 4.5 Ekspresi-Ekspresi Assembler 4.6 Pengarah Assembler

Materi Kuliah Ke Pokok Bahasan 6 Sistem Interupsi 5.1 Struktur Interupsi 5.2 Mengaktifkan dan menonaktifkan interupsi 5.3 Tingkat prioritas interupsi 5.4 Teknik Polling 5.5 Pemrosesan interupsi 5.6 Vektor-vektor interupsi 5.7 Perancangan program interupsi 5.8 Pewaktuan interupsi 5.9 Latihan aplikasi menggunakan interupsi

Materi Kuliah Ke Pokok Bahasan 7 Penggunaan Port Pararel 6.1 Fungsi-fungsi kaki pin 6.2 Struktur port dan cara kerja 6.2.1 Konfigurasi port I/O 6.2.2 Spesifikasi port (port 0, port 1, port 2, port 3) 8 Latihan Aplikasi Penggunaan Port Pararel

Materi Kuliah Ke Pokok Bahasan 9 Timer dan Counter 8.1 Timer/Counter AT89S51 8.1.1 Mode kerja Timer 0 dan Timer 8.1.2 Register pengatur timer 8.2 Mengatur timer 10 Latihan Aplikasi Penggunaan Timer / Counter

Materi Kuliah Ke Pokok Bahasan 11 Port Serial 10.1 Antarmuka Serial 10.2 Register Kontrol Port Serial 10.3 Baudrate 10.4 Mode Kerja Port Serial 12 Latihan Aplikasi Penggunaan Port Serial 13-14 Studi Kasus

Ringkasan Pendahuluan Mikrokontroler Mikrokontroler = µp + Memori (RAM & ROM) + I/O Port + Programmable IC Mikrokontroler digunakan sebagai komponen pengendali Mikrokontroler digunakan untuk 1 tujuan (single purpose) Aplikasi mikrokontroler: dunia industri, kontrol proses, instrumentasi, home applications, robotika, dll Materi Mikrokontroler 8051 Atmel 89S51 SAP Mikrokontroler - Fasilkom - Unnar

Perkuliahan 2 Spesifikasi Mikrokontroler AT89S51 Diagram Blok Deskripsi Pin Port I/O

Spesifikasi Mikrokontroler AT89S51 Kompatibel dengan produk MCS-51. 4K Byte flash memori yang dapat diprogram dan dihapus. Catu tegangan sebesar 4V 5,5V. Frekuensi operasi dari 0 Hz 33 MHz. 128 Byte RAM internal. 32 jalur I/O yang dapat diprogram (P0-P3). Dua buah Timer/Counter 16 bit. Lima vektor interupsi. Port serial (UART) full duplex.

Diagram Blok Mikrokontroler - Fasilkom - Unnar

Diagram Pin VCC Port 1 Reset Port 3 Oscillator Ground Port 0 Control Bus Port 2

Control Bus PSEN ALE/PROG EA / VPP RST Program Store Enable, digunakan untuk mengakses program memori eksternal. Biasanya pin ini dikoneksikan dengan pin OE pada EPROM. Pin ini berfungsi untuk me-latch low byte alamat pada saat mengakses memori eksternal. Sedang saat flash programming (PROG) berfungsi sebagai pulsa input. Jika EA=1 maka mikrokontroler akan melaksanakan instruksi dari ROM internal Jika EA=0 maka mikrokontroler akan melaksanakan instruksi dari ROM eksternal Merupakan pin untuk memberikan sinyal reset pada mikrokontroler. Pulsa dari low ke high akan mereset mikrokontroler

Port I/O Port 0 Port 1 Port 2 Port 3 Port 0 merupakan port paralel 8 bit dua arah (bi-directional) yang dapat digunakan untuk berbagai keperluan. Port 0 juga memultipleks alamat dan data jika digunakan untuk mengakses memori eksternal Port 1 merupakan port paralel 8 bit bi-directional dengan internal pull-up. Port 1 juga digunakan dalam proses pemrograman (In System Programming) P1.5 MOSI; P1.6 MISO ; P1.7 SCK Port 2 merupakan port paralel 8 bit bi-directional dengan internal pull-up. Port 2 akan mengirim byte alamat jika digunakan untuk mengakses memori eksternal. Port 3 merupakan port paralel 8 bit bi-directional dengan internal pull-up. Port 3 juga bisa difungsikan untuk keperluan khusus

Fungsi Khusus Port 3 PIN P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 FUNGSI ALTERNATIF RXD (port input serial) TXD (port output serial) INT0 (interrupt eksternal 0) INT1 (interrupt eksternal 1) T0 (input eksternal timer 0) T1 (input eksternal timer 1) WR (strobe penulisan data eksternal) RD (strobe pembacaan data eksternal)

Fungsi Pin Lain VCC GND XTAL1 RST Sumber tegangan, dapat menggunakan sumber tegangan dari +2,5 V 6 V, biasanya menggunakan sumber tegangan +5 V Ground Merupakan input untuk amplifier osilator inverting dan input untuk rangkaian clock internal Merupakan keluaran dari amplifier osilator inverting.

Perancangan Rangkaian Minimum Rangkaian minimal yang harus ada agar mikrokontroler dpt bekerja. Komponen Yg Harus Ada CPU Memori Program (ROM) Memori Data (RAM) Port I/O Pewaktuan CPU (Crystal 4-24 MHz) Reset Power Supply (5 Volt) EA, VPP dihubungkan ke VCC Internal (Sudah Ada Dalam Mikrokontroler) Eksternal

Pewaktuan CPU (Crystal) Mikrokontroler 8951 memiliki osilator internal bagi sumber clock CPU. Untuk menggunakan osilator internal diperlukan kristal antara XTAL1 dan XTAL 2 dan sebuah kapasitor ground. Untuk kristalnya dapat digunakan frekuensi dari 4 sampai 24 MHZ. Sedang untuk kapasitor dapat bernilai 20 pf sampai 40 pf. Bila menggunakan clock eksternal rangkaian dihubungkan seperti berikut :

Rangkaian Oscilator Mikrokontroler - Fasilkom - Unnar

Siklus Mesin Dalam mikrokontroler dikenal istilah Machine Cycle (MC) / Siklus Mesin, dimana : 1 MC = 6 state = 12 periode clock Jika frekuensi crystal yang digunakan adalah 12 MHz maka 1 MC = 12/frekuensi crystal = 12/12 MHz =1uS

Waktu Eksekusi Waktu eksekusi sebuah instruksi oleh mikrokontroler tergantung dari jenis instruksi dan frekuensi clock yang digunakan. Setiap instruksi memiliki panjang byte dan jumlah siklus yang berbeda. Byte instruksi (Byte) menandakan jumlah lokasi memori yang dipakai Siklus instruksi (Cycle) menandakan jumlah machine cycle yang dibutuhkan. Waktu eksekusi dapat dihitung dengan rumus :

Waktu Eksekusi Dimana : Tinst : Waktu yang dibutuhkan untuk mengeksekusi 1 instruksi (Secon) C : Jumlah machine cycle

Waktu Eksekusi Contoh : Diketahui sebuah mikrokontroler dengan frekuensi crystal 12 MHz. Berapakah waktu yang diperlukan untuk mengeksekusi perintah berikut ini? Mov A,#30h Jawab : Dari lembaran data 8051 Operational Code Mnemonics diketahui bahwa instruksi dengan format Mov A,#n adalah instruksi dengan Byte = 1 dan Cycle = 1 Maka : Tinst = (1x12)/12MHz=1uS

Contoh Opcode (Operational Code Mnemonics) Mikrokontroler - Fasilkom - Unnar

Reset Mengapa Perlu Reset? Saat power dinyalakan, instruksi yang pertamakali dieksekusi oleh mikrokontroler adalah instruksi yang tersimpan pada address 0000h. Agar Program Counter (PC) dapat menunjuk address 0000h pada saat awal maka mikrokontroler perlu di-reset. Caranya adalah dengan memberikan pulsa high pada pin Reset selama minimal 2 machine cycle ( jika f crystal = 12 MHz maka 2MC = 2uS). Setelah itu baru diberikan pulsa low. Kondisi ini dapat dipenuhi dengan memasang rangkaian RC yang akan mensuplai tegangan Vcc ke pin 9 selama kapasitor mengisi muatan / charging. Konstanta waktu pengisian dapat dihitung dengan mengalikan nilai R dan C. Pada rangkaian dibawah adalah : T=R.C = (8K2).(10uF) = 82mS. Setelah kapasitor terisi, maka pin 9 akan low.

Rangkaian Reset Mikrokontroler - Fasilkom - Unnar

Rangkaian Minimum Tombol push button dipasang agar pada saat running Mikrokontroler dapat juga di-reset. Pin EA / External Access harus dihubungkan ke +5V agar mikrokontroler dapat mengambil byte instruksi dari ROM internal mikrokontroler.

Untuk Pertemuan Minggu Depan Baca dan pahami Arsitektur Mikrokontroler AT89S51 Mengulang sekilas pelajaran hari ini Mempunyai Modul Rangkaian AT89S51 Baca dan pahami mengenai Organisasi Memori Mikrokontroler AT89S51

KBK 635 MIKROKONTROLER Organisasi Memori PERTEMUAN 3 Program Studi Sistem Komputer - Fakultas Ilmu Komputer UNIVERSITAS NAROTAMA SURABAYA

Informasi Kuliah HP : 08123313678 Email : gembong@gembong.web.id Website : http://www.gembong.web.id Kantor : Fasilkom Unnar, Ruang Dosen II Hari Kerja: Selasa, Rabu, Kamis Jam : 09.00 14.00 WIB Email & Website adalah jalan berkomunikasi / berkonsultasi yang terbaik dengan saya

Materi Kuliah Ke Pokok Bahasan 1 Pendahuluan 1.1 Penjelasan Kontrak Pembelajaran 1.2 Pengenalan Mikrokontroler 1.3 Mikroprosesor Vs Mikrokontoler 1.4 Penggunaan Mikrokontroler 2 Arsitektur Mikrokontroler AT89S51 2.1 Diagram Blok 2.2 Deskripsi Pin 2.3 Port I/O Mikrokontroler AT89S51 RINGKASAN

Materi Kuliah Ke Pokok Bahasan 3 Organisasi Memori AT89S51 3.1 Memori Data 3.2 Memori Program 3.3 SFR (Special Function Register) UJIAN TDK TERJADWAL (QUIS)

Materi Kuliah Ke Pokok Bahasan 4-5 Pemrograman Assembly MCS51 4.1 Instruksi-instruksi MCS51 4.2 Operasi Assembler 4.3 Struktur pemrograman Assembly MCS51 4.4 Perangkat lunak yang digunakan untuk MCS51 4.5 Ekspresi-Ekspresi Assembler 4.6 Pengarah Assembler

Materi Kuliah Ke Pokok Bahasan 6 Sistem Interupsi 5.1 Struktur Interupsi 5.2 Mengaktifkan dan menonaktifkan interupsi 5.3 Tingkat prioritas interupsi 5.4 Teknik Polling 5.5 Pemrosesan interupsi 5.6 Vektor-vektor interupsi 5.7 Perancangan program interupsi 5.8 Pewaktuan interupsi 5.9 Latihan aplikasi menggunakan interupsi

Materi Kuliah Ke Pokok Bahasan 7 Penggunaan Port Pararel 6.1 Fungsi-fungsi kaki pin 6.2 Struktur port dan cara kerja 6.2.1 Konfigurasi port I/O 6.2.2 Spesifikasi port (port 0, port 1, port 2, port 3) 8 Latihan Aplikasi Penggunaan Port Pararel

Materi Kuliah Ke Pokok Bahasan 9 Timer dan Counter 8.1 Timer/Counter AT89S51 8.1.1 Mode kerja Timer 0 dan Timer 8.1.2 Register pengatur timer 8.2 Mengatur timer 10 Latihan Aplikasi Penggunaan Timer / Counter

Materi Kuliah Ke Pokok Bahasan 11 Port Serial 10.1 Antarmuka Serial 10.2 Register Kontrol Port Serial 10.3 Baudrate 10.4 Mode Kerja Port Serial 12 Latihan Aplikasi Penggunaan Port Serial 13-14 Studi Kasus

Ringkasan Arsitektur Mikrokontroler SAP Mikrokontroler - Fasilkom - Unnar

Memori AT89S51 MEMORI AT89S51 ROM / Read Only Memory (Memori Program) RAM / Read Access Memory (Memori Data)

ROM (Memori Program) AT89S51 ROM (Read Only Memory) : Tempat menyimpan program / source code Sifat ROM : Non Volatile (data/program tidak akan hilang walaupun tegangan supply tidak ada) Kapasitas ROM AT89S51 : 4 KByte Alamat : 0000 H 0FFF H Diakses Bila pin EA/VPP berlogika High

RAM (Memori Data) / AT89S51 RAM (Read Access Memory) : Tempat menyimpan data Sifat RAM : Volatile (data akan hilang jika tegangan supply tidak ada) RAM AT89S51, ada 3 blok: Lower 128 byte (00 H 7F H) : Dpt diakses dengan pengalamatan langsung maupun tidak langsung Upper 128 byte (80 H FF H) : Dpt diakses dengan pengalamatan tak langsung saja SFR/Special Function Register (80 H FFH) : Register yg mempunyai fungsi tertentu. Walaupun pny alamat sama dengan upper 128 byte tp secara fisik berbeda

Peta Memori Data Internal Mikrokontroler - Fasilkom - Unnar

Peta Memori Internal AT89S51 Catatan: Gambar disamping adalah peta memori internal 89S51 yang terdiri dari RAM, SFR dan ROM. Tampak bahwa ada kesamaan address antara RAM, SFR dan ROM yaitu pada address 00 s/d FF. Atas pertimbangan inilah maka biasanya source code ditulis setelah address 00FF yaitu 0100 pada ROM Hal ini dimaksudkan agar data RAM dan SFR tidak terisi oleh byte source code.

Organisasi RAM Internal (Lower Byte) Mikrokontroler - Fasilkom - Unnar

SFR (Special Function Register) Mikrokontroler - Fasilkom - Unnar

SFR Mikrokontroler - Fasilkom - Unnar

SFR Mikrokontroler - Fasilkom - Unnar

Immediate Adressing Mode Mikrokontroler - Fasilkom - Unnar

Akses Memori Program (ROM) Eksternal Mikrokontroler - Fasilkom - Unnar

Membaca Program Dari ROM Eksternal PSEN ALE P0.0 P0.7 1. Send address to ROM G 2. 74373 latches the address and send to ROM 74LS373 D OE OC A0 A7 EA Address D0 D7 P2.0 P2.7 A8 A12 8051 ROM

Membaca Program Dari ROM Eksternal PSEN ALE P0.0 P0.7 G D 74LS373 OE OC A0 A7 D0 EA D7 P2.0 P2.7 A8 A12 8051 ROM Mikrokontroler - Fasilkom - Unnar

Akses RAM/ROM Eksternal Lebih Dari 1 Mikrokontroler - Fasilkom - Unnar

Akses Memori Data (RAM) Eksternal Mikrokontroler - Fasilkom - Unnar

Immediate Adressing Mode Mikrokontroler - Fasilkom - Unnar

Register Addressing Mode Mikrokontroler - Fasilkom - Unnar

Direct Addressing Mode Mikrokontroler - Fasilkom - Unnar

Indirect Addressing Mode Mikrokontroler - Fasilkom - Unnar

KBK 635 MIKROKONTROLER Organisasi Memori PERTEMUAN 3 Program Studi Sistem Komputer - Fakultas Ilmu Komputer UNIVERSITAS NAROTAMA SURABAYA

Informasi Kuliah HP : 08123313678 Email : gembong@gembong.web.id Website : http://www.gembong.web.id Kantor : Fasilkom Unnar, Ruang Dosen II Hari Kerja: Selasa, Rabu, Kamis Jam : 09.00 14.00 WIB Email & Website adalah jalan berkomunikasi / berkonsultasi yang terbaik dengan saya

Materi Kuliah Ke Pokok Bahasan 1 Pendahuluan 1.1 Penjelasan Kontrak Pembelajaran 1.2 Pengenalan Mikrokontroler 1.3 Mikroprosesor Vs Mikrokontoler 1.4 Penggunaan Mikrokontroler 2 Arsitektur Mikrokontroler AT89S51 2.1 Diagram Blok 2.2 Deskripsi Pin 2.3 Port I/O Mikrokontroler AT89S51 RINGKASAN

Materi Kuliah Ke Pokok Bahasan 3 Organisasi Memori AT89S51 3.1 Memori Data 3.2 Memori Program 3.3 SFR (Special Function Register) UJIAN TDK TERJADWAL (QUIS)

Materi Kuliah Ke Pokok Bahasan 4-5 Pemrograman Assembly MCS51 4.1 Instruksi-instruksi MCS51 4.2 Operasi Assembler 4.3 Struktur pemrograman Assembly MCS51 4.4 Perangkat lunak yang digunakan untuk MCS51 4.5 Ekspresi-Ekspresi Assembler 4.6 Pengarah Assembler

Materi Kuliah Ke Pokok Bahasan 6 Sistem Interupsi 5.1 Struktur Interupsi 5.2 Mengaktifkan dan menonaktifkan interupsi 5.3 Tingkat prioritas interupsi 5.4 Teknik Polling 5.5 Pemrosesan interupsi 5.6 Vektor-vektor interupsi 5.7 Perancangan program interupsi 5.8 Pewaktuan interupsi 5.9 Latihan aplikasi menggunakan interupsi

Materi Kuliah Ke Pokok Bahasan 7 Penggunaan Port Pararel 6.1 Fungsi-fungsi kaki pin 6.2 Struktur port dan cara kerja 6.2.1 Konfigurasi port I/O 6.2.2 Spesifikasi port (port 0, port 1, port 2, port 3) 8 Latihan Aplikasi Penggunaan Port Pararel

Materi Kuliah Ke Pokok Bahasan 9 Timer dan Counter 8.1 Timer/Counter AT89S51 8.1.1 Mode kerja Timer 0 dan Timer 8.1.2 Register pengatur timer 8.2 Mengatur timer 10 Latihan Aplikasi Penggunaan Timer / Counter

Materi Kuliah Ke Pokok Bahasan 11 Port Serial 10.1 Antarmuka Serial 10.2 Register Kontrol Port Serial 10.3 Baudrate 10.4 Mode Kerja Port Serial 12 Latihan Aplikasi Penggunaan Port Serial 13-14 Studi Kasus

Ringkasan Organisasi Memori Mikrokontroler 89S51 Mempunyai 2 jenis memori, yaitu Memori Program (ROM) dan Memori Data (RAM) Memori Program besarnya 4 KByte menempati alamat 000H FFFH Memori Data dibagi menjadi 3 blok: 128 byte bawah (00H-7FH) 128 byte atas (80H-FFH) SFR (Special Function Register) (80H-FFH) SAP Mikrokontroler - Fasilkom - Unnar

Bahasa Mesin Vs Assembly Mikrokontroler - Fasilkom - Unnar

Perangkat Lunak Yang Dibutuhkan Untuk Membuat Aplikasi Mikrokontroler AT89S51 Kompiler ASM51 Mengubah berkas Objek (.OBJ) ke Heksa (.HEX) Mengubah Berkas Heksa (.HEX) ke Binair (.BIN) Simulator / Emulator 8051 berfungsi untuk melakukan pengujian/simulasi dari program

Langkah-Langkah Membuat Aplikasi Mikrokontroler AT89S51 Menulis Program Assembly ke editor teks (edit, notepad), kemudian simpan kode program dengan ekstensi *.ASM Melakukan Kompilasi Program Dengan Cara: asm51 <NAMA_FILE.ASM> Jika terjadi kesalahan akan ditunjukkan dan harus diperbaiki. Kesalahan akan ditunjukkan dengan membuka file dengan ekstensi *.1ST Bila tidak terjadi kesalahan akan ado file objek yang berekstensi *.OBJ Mikrokontroler - Fasilkom - Unnar

Langkah-Langkah Membuat Aplikasi Mikrokontroler AT89S51 File yang telah di kompile dan berhasil menghasilkan berkas *.OBJ di ubah ke format heksa ( *.HEX ) dengan perintah OH <NAMA_FILE.OBJ> Program yang berekstensi *.HEX biasanya sudah bisa dimanfaatkan ke simulator/emulator. Kadang ada beberapa software yang membutuhkan format biner. H <NAMA_FILE.HEX> <NAMA_FILE.BIN> Mikrokontroler - Fasilkom - Unnar

Pemrograman Assembly AT89S51 Bahasa Assembly digunakan untuk menggantikan kode heksa dari bahasa mesin dengan mnemonik yang mudah diingat.

Pemrograman Assembly AT89S51 Bahasa Assembly, berisi: Instruksi-Instruksi Mesin : Mnemonik yang menyatakan instruksi, contoh MOV Pengarah-pengarah assembler : Instruksi yang menyatakan struktur program, simbol-simbol data, konstantata, contoh ORG Kontrol-Kontrol Assembler : Menentukan modemode Assembler, contoh $TITLE Komentar : Ditulis agar program mudah dibaca, tidak harus per instruksi bisa sekumpulan instruksi Mikrokontroler - Fasilkom - Unnar

Format Assembly AT89S51 [label:] mnemonic [operan] [,operan] [...] [;komentar] Label : Mewakili alamat dari instruksi, biasanya digunakan sebagai operan pada instruksi percabangan. Label harus diawali dengan huruf, tanda tanya atau garis bawah kemudian diikuti dengan huruf, angka, tanda tanya atau garis bawah hingga 31 karakter. Mnemonic : misalnya MOV, ADD, INC

Format Assembly AT89S51 [label:] mnemonic [operan] [,operan] [...] [;komentar] Operan : Bisa berupa alamat atau data yang berdasar pada kode mnemoniknya. Ada kode mnemonik yang tidak membutuhkan operan, misal RET Komentar : Diawali dengan tanda ;

Simbol-Simbol Khusus Assembler Assembler telah menyediakan beberapa simbol untuk menunjukkan register tertentu sebagai operand. Contoh: A Akumulator R0. R7 Register Serbaguna DPTR Data Pointer Register 16 Bit PC Program Counter C Carry Flag B Register B

Simbol-Simbol Khusus Assembler Assembler telah menyediakan beberapa simbol untuk menunjukkan register tertentu sebagai operand. Contoh: A Akumulator R0. R7 Register Serbaguna DPTR Data Pointer Register 16 Bit PC Program Counter C Carry Flag B Register B

Pengalamatan Tak Langsung Operand pengalamatan tak langsung menunjuk ke sebuah register yang berisi lokasi alamat memory yang akan digunakan dalam operasi. Lokasi yang nyata tergantung pada isi register saat instruksi dijalankan.

Pengalamatan Tak Langsung Untuk melaksanakan pengalamatan tak langsung digunakan simbol @ Contoh: MOV MOV MOV A,@R1 @R0,A @R1,24H

Pengalamatan Tak Langsung Pengalamatan tak langsung (Indirect) ini biasa digunakan untuk melakukan penulisan, pemindahan atau pembacaan beberapa data dalam lokasi memori yang mempunyai urutan beraturan. Jika proses ini dilakukan dengan menggunakan pengalamatan langsung jumlah baris program yang diperlukan akan cukup panjang.

Pengalamatan Tak Langsung Contohnya penulisan data 08H pada alamat 50H hingga 57H. Listing 1: ORG MOV MOV MOV MOV MOV MOV MOV MOV END 0H 50H,#08H 51H,#08H 52H,#08H 53H,#08H 54H,#08H 55H,#08H 56H,#08H 57H,#08H Mikrokontroler - Fasilkom - Unnar

Pengalamatan Tak Langsung Dengan digunakan sistem pengalamatan tak langsung, dapat diubah menjadi : Listing 2: ORG 0H MOV R0,#50H ; LOOP: MOV @R0,#08H INC R0 CJNE R0,#58H,LOOP END

Pengalamatan Tak Langsung Dalam listing program 2 diatas, R0 digunakan sebagai register yang menyimpan alamat dari data yang akan dituliskan. Dengan melakukan penambahan pada isi R0 dan mengulang perintah penulisan data ke alamat yang ditunjuk R0 hingga register ini menunjukkan nilai 57H + 1, atau 58H. Dengan demikian, barisan perintah pada Listing 1 dapat dieliminasi.

27 Mikrokontroler - Fasilkom - Unnar Pengalamatan Tak Langsung MCS-51 mempunyai sebuah register 16 bit (DPTR) dan dua buah register 8 bit ( R0 dan R1 ) yang dapat digunakan untuk melakukan pengalamatan tidak langsung. Contoh-contoh perintah yang menggunakan sistem pengalamatan tak langsung adalah : MOV @R0,A ; R0 sebagai reg. penyimpan alamat MOV A,@R1 ; R1 sebagai reg. penyimpan alamat ADD A,@R0 ; R0 sebagai reg. penyimpan alamat MOVX @DPTR,A ; DPTR sebagai reg. penyimpan alamat MOVC A,@A+DPTR ; DPTR sebagai register penyimpan alamat

Pengalamatan Langsung ( Immediate Data ) Proses pengalamatan ini terjadi pada sebuah perintah ketika nilai operand merupakan data yang akan diproses. Biasanya operand tersebut selalu diawali dengan tanda # seperti pada contoh berikut. MOV MOV MOV MOV A,#05H A,#45H B,#0E4H DPTR,#4356H 28 Mikrokontroler - Fasilkom - Unnar

29 Mikrokontroler - Fasilkom - Unnar Pengalamatan Langsung ( Immediate Data ) Operand yang digunakan pada immediate data juga dapat berupa bilangan bertanda mulai - 256 hingga + 256. Contoh : MOV A,# -1 sama dengan MOV A,#0FFH Bilangan -1 adalah sama dengan bilangan 0 dikurangi 1, dalam bentuk heksa bilangan 00H. Jika dikurangi dengan 1, hasilnya adalah 0FFH. Dengan pengertian seperti ini, bilangan -1 dapat dianggap sama dengan 0FFH.

30 Mikrokontroler - Fasilkom - Unnar Pengalamatan Data Proses pengalamatan ini terjadi pada sebuah perintah ketika nilai operand merupakan alamat dari data yang akan diisi, dipindahkan atau diproses. Contoh : MOV P0,A Port 0 adalah salah satu I/O pada MCS-51 yang mempunyai alamat 80H. Perintah pada contoh di atas selain mengirimkan data akumulator ke Port 0 juga merupakan perintah pemindahan data dari akumulator ke alamat 80H sehingga dapat juga dituliskan MOV 80H,A.

Pengalamatan Bit Salah satu kelebihan dari mikrokontroler adalah bisa mengalamati per bit. Lokasi yang teralamati bit harus menyediakan suatu alamat bit dalam memori data internal (00H-7FH) dan SFR (80H-FFH) Cara Penulisannya ada tiga cara: Menggunakan alamatnya langsung (SETB 0EH) Menggunakan tanda titik antara alamat byte dan posisi bit (SETB ACC.7) Menggunakan simbol baku (JNB TI,$)

JUMP dan CALL ASM51 membolehkan kita untuk menggunakan mnemonik JMP atau CALL yang umum. Mnemonik JMP digunakan sebagai wakil dari SJMP, AJMP atau LJMP, sedangkan mnemonik CALL mewakili ACALL atau LCALL. Assembler akan mengkonversi mnemonik umum ini menjadi instruksi yang sesungguhnya mengikuti beberapa aturan sederhana.

JUMP dan CALL Diubah ke SJMP jika tidak ada dalam acuan alamat didepan (tujuan lompatan sebelum instruksi JMP yang bersangkutan) dan jangkauan (lompatan berada dalam 128 byte). Diubah ke bentuk AJMP jika tidak ada acuan lompatan didepan dan tujuan lompatan masih berada didalam blok 2K yang sama; Jika aturan 2 dan 3 tidak terpenuhi maka akan diubah ke bentuk LJMP. Tidak selamanya konversi merupakan cara pemrograman yang baik. Mikrokontroler - Fasilkom - Unnar

JUMP dan CALL Misalnya tujuan lompatan ada beberapa didepan (setelah instruksi JMP yang bersangkutan) maka JMP yang umum tersebut akan diubah kebentuk LJMP, walau SJMP lebih cocok.

EKSPRESI-EKSPRESI ASSEMBLER (BASIS BILANGAN) Penulisan Bilangan akhir konstanta harus ditulis B untuk biner, O atau Q untuk oktaf, D atau tanpa simbol untuk desimal dan H untuk heksadesimal. Instruksi-instruksi berikut ini artinya sama: MOV A,#15 MOV A,#1111B MOV A,#0FH MOV A,#17Q MOV A,#15D Khusus untuk format heksa, jika digit awal adalah huruf (A,B,C,D,E atau F), penulisannya harus diawali 0 (nol)

EKSPRESI-EKSPRESI ASSEMBLER (STRING KARAKTER) Operan dapat berupa string yang terdiri dari satu atau karakter yang diapit tanda petik tunggal ( ). Kode ASCII dari karakter tersebut kemudian diterjemahkan sebagai bilangan biner yang sesuai dengan Assembler. CJNE A, # Q, Lagi SUBB A, # O ; konversi digit ASCII ke digit biner MOV DPTR, # AB ; dua perintah MOV DPTR, #4142 ; ini sama hasilnya

EKSPRESI-EKSPRESI ASSEMBLER (OPERATOR-OPERATOR ARITMETIK) Operator-operator aritmetik meliputi: + penambahan - pengurangan * perkalian / pembagian MOD modulo, sisa pembagian Misalnya, dua instruksi ini hasilnya sama: MOV A, #10+10h MOV A, #1Ah

EKSPRESI-EKSPRESI ASSEMBLER (OPERATOR-OPERATOR LOGIKA) Operator logika meliputi OR logika OR AND logika AND XOR logika eksklusif OR NOT logika komplemen Operasi logika tersebut masing-masing bit pada operator, misalnya, dua instruksi berikut hasilnya sama: MOV A, # 9 AND 0Fh MOV A,#9

EKSPRESI-EKSPRESI ASSEMBLER (OPERATOR-OPERATOR LOGIKA) Operator NOT hanya membutuhkan satu operan. Tiga instruksi MOV berikut ini, hasilnya sama: TIGA EQU 3 MIN_TIGA EQU -3 MOV A, #(NOT TIGA) + 1 MOV A, #MIN_TIGA MOV A, #11111101B

EKSPRESI-EKSPRESI ASSEMBLER (OPERATOR-OPERATOR KHUSUS) Operator-operator khusus meliputi: SHR geser kanan SHL geser kiri HIGH byte_tinggi (d7 s/d d4) LOW byte_rendah (d3 s/d d0) Misalnya, dua instruksi berikut hasilnya sama: MOV A, #8 SHL 1 MOV A, #10h

EKSPRESI-EKSPRESI ASSEMBLER (OPERATOR-OPERATOR KHUSUS) Kedua instruksi berikut juga sama: MOV A, #HIGH 1234h MOV A, #12h

EKSPRESI-EKSPRESI ASSEMBLER (OPERATOR-OPERATOR RELASIONAL) Jika suatu operator relasional digunakan antara dua operan, maka hasilnya selalu salah (0000h) atau benar (FFFFh). Operator-operator relasional ini meliputi: EQ = Sama dengan NE <> Tidak sama dengan LT < Lebih kecil dari LE <= Lebih kecil sama dengan GT > Lebih besar dari GE >= Lebih besar sama dengan

EKSPRESI-EKSPRESI ASSEMBLER (OPERATOR-OPERATOR RELASIONAL) Contoh berikut menghasilkan benar (FFFFh): MOV A, #5 = 5 MOV A, #5 NE 3 MOV A, # X LT Z MOV A, # X >= X MOV A, #$ > 0 MOV A, #100 GE 50 Dengan kata lain semua instruksi tersebut, sama dengan instruksi: MOV A, #0FFh

EKSPRESI-EKSPRESI ASSEMBLER (PRIORITAS OPERATOR) ( ) HIGH LOW * / MOD SHL SHR + - EQ NE LT LE GT GE = <> < <= > >= NOT AND OR XOR

EKSPRESI-EKSPRESI ASSEMBLER (PRIORITAS OPERATOR) Jika lebih dari satu operator maka prioritas yang lebih tinggi didahulukan, jika prioritasnya sama maka akan dievaluasi dari kiri ke kanan, misalnya: Ekspresi Nilai HIGH ( A SHL 8) 0041h HIGH A SHL 8 0000h NOT A -1 FFBFh A OR A SHL 8 4141h

KBK 635 MIKROKONTROLER Organisasi Memori PERTEMUAN 3 Program Studi Sistem Komputer - Fakultas Ilmu Komputer UNIVERSITAS NAROTAMA SURABAYA

Informasi Kuliah HP : 08123313678 Email : gembong@gembong.web.id Website : http://www.gembong.web.id Kantor : Fasilkom Unnar, Ruang Dosen II Hari Kerja: Selasa, Rabu, Kamis Jam : 09.00 14.00 WIB Email & Website adalah jalan berkomunikasi / berkonsultasi yang terbaik dengan saya

Materi Kuliah Ke Pokok Bahasan 1 Pendahuluan 1.1 Penjelasan Kontrak Pembelajaran 1.2 Pengenalan Mikrokontroler 1.3 Mikroprosesor Vs Mikrokontoler 1.4 Penggunaan Mikrokontroler 2 Arsitektur Mikrokontroler AT89S51 2.1 Diagram Blok 2.2 Deskripsi Pin 2.3 Port I/O Mikrokontroler AT89S51 RINGKASAN

Materi Kuliah Ke Pokok Bahasan 3 Organisasi Memori AT89S51 3.1 Memori Data 3.2 Memori Program 3.3 SFR (Special Function Register) UJIAN TDK TERJADWAL (QUIS)

Materi Kuliah Ke Pokok Bahasan 4-5 Pemrograman Assembly MCS51 4.1 Instruksi-instruksi MCS51 4.2 Operasi Assembler 4.3 Struktur pemrograman Assembly MCS51 4.4 Perangkat lunak yang digunakan untuk MCS51 4.5 Ekspresi-Ekspresi Assembler 4.6 Pengarah Assembler

Materi Kuliah Ke Pokok Bahasan 6 Sistem Interupsi 5.1 Struktur Interupsi 5.2 Mengaktifkan dan menonaktifkan interupsi 5.3 Tingkat prioritas interupsi 5.4 Teknik Polling 5.5 Pemrosesan interupsi 5.6 Vektor-vektor interupsi 5.7 Perancangan program interupsi 5.8 Pewaktuan interupsi 5.9 Latihan aplikasi menggunakan interupsi

Materi Kuliah Ke Pokok Bahasan 7 Penggunaan Port Pararel 6.1 Fungsi-fungsi kaki pin 6.2 Struktur port dan cara kerja 6.2.1 Konfigurasi port I/O 6.2.2 Spesifikasi port (port 0, port 1, port 2, port 3) 8 Latihan Aplikasi Penggunaan Port Pararel

Materi Kuliah Ke Pokok Bahasan 9 Timer dan Counter 8.1 Timer/Counter AT89S51 8.1.1 Mode kerja Timer 0 dan Timer 8.1.2 Register pengatur timer 8.2 Mengatur timer 10 Latihan Aplikasi Penggunaan Timer / Counter

Materi Kuliah Ke Pokok Bahasan 11 Port Serial 10.1 Antarmuka Serial 10.2 Register Kontrol Port Serial 10.3 Baudrate 10.4 Mode Kerja Port Serial 12 Latihan Aplikasi Penggunaan Port Serial 13-14 Studi Kasus

Ringkasan Organisasi Memori Mikrokontroler 89S51 Mempunyai 2 jenis memori, yaitu Memori Program (ROM) dan Memori Data (RAM) Memori Program besarnya 4 KByte menempati alamat 000H FFFH Memori Data dibagi menjadi 3 blok: 128 byte bawah (00H-7FH) 128 byte atas (80H-FFH) SFR (Special Function Register) (80H-FFH) SAP Mikrokontroler - Fasilkom - Unnar

Bahasa Mesin Vs Assembly Mikrokontroler - Fasilkom - Unnar

Perangkat Lunak Yang Dibutuhkan Untuk Membuat Aplikasi Mikrokontroler AT89S51 Kompiler ASM51 Mengubah berkas Objek (.OBJ) ke Heksa (.HEX) Mengubah Berkas Heksa (.HEX) ke Binair (.BIN) Simulator / Emulator 8051 berfungsi untuk melakukan pengujian/simulasi dari program

Langkah-Langkah Membuat Aplikasi Mikrokontroler AT89S51 Menulis Program Assembly ke editor teks (edit, notepad), kemudian simpan kode program dengan ekstensi *.ASM Melakukan Kompilasi Program Dengan Cara: asm51 <NAMA_FILE.ASM> Jika terjadi kesalahan akan ditunjukkan dan harus diperbaiki. Kesalahan akan ditunjukkan dengan membuka file dengan ekstensi *.1ST Bila tidak terjadi kesalahan akan ado file objek yang berekstensi *.OBJ Mikrokontroler - Fasilkom - Unnar

Langkah-Langkah Membuat Aplikasi Mikrokontroler AT89S51 File yang telah di kompile dan berhasil menghasilkan berkas *.OBJ di ubah ke format heksa ( *.HEX ) dengan perintah OH <NAMA_FILE.OBJ> Program yang berekstensi *.HEX biasanya sudah bisa dimanfaatkan ke simulator/emulator. Kadang ada beberapa software yang membutuhkan format biner. H <NAMA_FILE.HEX> <NAMA_FILE.BIN> Mikrokontroler - Fasilkom - Unnar

Pemrograman Assembly AT89S51 Bahasa Assembly digunakan untuk menggantikan kode heksa dari bahasa mesin dengan mnemonik yang mudah diingat.

Pemrograman Assembly AT89S51 Bahasa Assembly, berisi: Instruksi-Instruksi Mesin : Mnemonik yang menyatakan instruksi, contoh MOV Pengarah-pengarah assembler : Instruksi yang menyatakan struktur program, simbol-simbol data, konstantata, contoh ORG Kontrol-Kontrol Assembler : Menentukan modemode Assembler, contoh $TITLE Komentar : Ditulis agar program mudah dibaca, tidak harus per instruksi bisa sekumpulan instruksi Mikrokontroler - Fasilkom - Unnar

Format Assembly AT89S51 [label:] mnemonic [operan] [,operan] [...] [;komentar] Label : Mewakili alamat dari instruksi, biasanya digunakan sebagai operan pada instruksi percabangan. Label harus diawali dengan huruf, tanda tanya atau garis bawah kemudian diikuti dengan huruf, angka, tanda tanya atau garis bawah hingga 31 karakter. Mnemonic : misalnya MOV, ADD, INC

Format Assembly AT89S51 [label:] mnemonic [operan] [,operan] [...] [;komentar] Operan : Bisa berupa alamat atau data yang berdasar pada kode mnemoniknya. Ada kode mnemonik yang tidak membutuhkan operan, misal RET Komentar : Diawali dengan tanda ;

Simbol-Simbol Khusus Assembler Assembler telah menyediakan beberapa simbol untuk menunjukkan register tertentu sebagai operand. Contoh: A Akumulator R0. R7 Register Serbaguna DPTR Data Pointer Register 16 Bit PC Program Counter C Carry Flag B Register B

Simbol-Simbol Khusus Assembler Assembler telah menyediakan beberapa simbol untuk menunjukkan register tertentu sebagai operand. Contoh: A Akumulator R0. R7 Register Serbaguna DPTR Data Pointer Register 16 Bit PC Program Counter C Carry Flag B Register B

Pengalamatan Tak Langsung Operand pengalamatan tak langsung menunjuk ke sebuah register yang berisi lokasi alamat memory yang akan digunakan dalam operasi. Lokasi yang nyata tergantung pada isi register saat instruksi dijalankan.

Pengalamatan Tak Langsung Untuk melaksanakan pengalamatan tak langsung digunakan simbol @ Contoh: MOV MOV MOV A,@R1 @R0,A @R1,24H

Pengalamatan Tak Langsung Pengalamatan tak langsung (Indirect) ini biasa digunakan untuk melakukan penulisan, pemindahan atau pembacaan beberapa data dalam lokasi memori yang mempunyai urutan beraturan. Jika proses ini dilakukan dengan menggunakan pengalamatan langsung jumlah baris program yang diperlukan akan cukup panjang.

Pengalamatan Tak Langsung Contohnya penulisan data 08H pada alamat 50H hingga 57H. Listing 1: ORG MOV MOV MOV MOV MOV MOV MOV MOV END 0H 50H,#08H 51H,#08H 52H,#08H 53H,#08H 54H,#08H 55H,#08H 56H,#08H 57H,#08H Mikrokontroler - Fasilkom - Unnar

Pengalamatan Tak Langsung Dengan digunakan sistem pengalamatan tak langsung, dapat diubah menjadi : Listing 2: ORG 0H MOV R0,#50H ; LOOP: MOV @R0,#08H INC R0 CJNE R0,#58H,LOOP END

Pengalamatan Tak Langsung Dalam listing program 2 diatas, R0 digunakan sebagai register yang menyimpan alamat dari data yang akan dituliskan. Dengan melakukan penambahan pada isi R0 dan mengulang perintah penulisan data ke alamat yang ditunjuk R0 hingga register ini menunjukkan nilai 57H + 1, atau 58H. Dengan demikian, barisan perintah pada Listing 1 dapat dieliminasi.

27 Mikrokontroler - Fasilkom - Unnar Pengalamatan Tak Langsung MCS-51 mempunyai sebuah register 16 bit (DPTR) dan dua buah register 8 bit ( R0 dan R1 ) yang dapat digunakan untuk melakukan pengalamatan tidak langsung. Contoh-contoh perintah yang menggunakan sistem pengalamatan tak langsung adalah : MOV @R0,A ; R0 sebagai reg. penyimpan alamat MOV A,@R1 ; R1 sebagai reg. penyimpan alamat ADD A,@R0 ; R0 sebagai reg. penyimpan alamat MOVX @DPTR,A ; DPTR sebagai reg. penyimpan alamat MOVC A,@A+DPTR ; DPTR sebagai register penyimpan alamat

Pengalamatan Langsung ( Immediate Data ) Proses pengalamatan ini terjadi pada sebuah perintah ketika nilai operand merupakan data yang akan diproses. Biasanya operand tersebut selalu diawali dengan tanda # seperti pada contoh berikut. MOV MOV MOV MOV A,#05H A,#45H B,#0E4H DPTR,#4356H 28 Mikrokontroler - Fasilkom - Unnar

29 Mikrokontroler - Fasilkom - Unnar Pengalamatan Langsung ( Immediate Data ) Operand yang digunakan pada immediate data juga dapat berupa bilangan bertanda mulai - 256 hingga + 256. Contoh : MOV A,# -1 sama dengan MOV A,#0FFH Bilangan -1 adalah sama dengan bilangan 0 dikurangi 1, dalam bentuk heksa bilangan 00H. Jika dikurangi dengan 1, hasilnya adalah 0FFH. Dengan pengertian seperti ini, bilangan -1 dapat dianggap sama dengan 0FFH.

30 Mikrokontroler - Fasilkom - Unnar Pengalamatan Data Proses pengalamatan ini terjadi pada sebuah perintah ketika nilai operand merupakan alamat dari data yang akan diisi, dipindahkan atau diproses. Contoh : MOV P0,A Port 0 adalah salah satu I/O pada MCS-51 yang mempunyai alamat 80H. Perintah pada contoh di atas selain mengirimkan data akumulator ke Port 0 juga merupakan perintah pemindahan data dari akumulator ke alamat 80H sehingga dapat juga dituliskan MOV 80H,A.

Pengalamatan Bit Salah satu kelebihan dari mikrokontroler adalah bisa mengalamati per bit. Lokasi yang teralamati bit harus menyediakan suatu alamat bit dalam memori data internal (00H-7FH) dan SFR (80H-FFH) Cara Penulisannya ada tiga cara: Menggunakan alamatnya langsung (SETB 0EH) Menggunakan tanda titik antara alamat byte dan posisi bit (SETB ACC.7) Menggunakan simbol baku (JNB TI,$)

JUMP dan CALL ASM51 membolehkan kita untuk menggunakan mnemonik JMP atau CALL yang umum. Mnemonik JMP digunakan sebagai wakil dari SJMP, AJMP atau LJMP, sedangkan mnemonik CALL mewakili ACALL atau LCALL. Assembler akan mengkonversi mnemonik umum ini menjadi instruksi yang sesungguhnya mengikuti beberapa aturan sederhana.

JUMP dan CALL Diubah ke SJMP jika tidak ada dalam acuan alamat didepan (tujuan lompatan sebelum instruksi JMP yang bersangkutan) dan jangkauan (lompatan berada dalam 128 byte). Diubah ke bentuk AJMP jika tidak ada acuan lompatan didepan dan tujuan lompatan masih berada didalam blok 2K yang sama; Jika aturan 2 dan 3 tidak terpenuhi maka akan diubah ke bentuk LJMP. Tidak selamanya konversi merupakan cara pemrograman yang baik. Mikrokontroler - Fasilkom - Unnar

JUMP dan CALL Misalnya tujuan lompatan ada beberapa didepan (setelah instruksi JMP yang bersangkutan) maka JMP yang umum tersebut akan diubah kebentuk LJMP, walau SJMP lebih cocok.

EKSPRESI-EKSPRESI ASSEMBLER (BASIS BILANGAN) Penulisan Bilangan akhir konstanta harus ditulis B untuk biner, O atau Q untuk oktaf, D atau tanpa simbol untuk desimal dan H untuk heksadesimal. Instruksi-instruksi berikut ini artinya sama: MOV A,#15 MOV A,#1111B MOV A,#0FH MOV A,#17Q MOV A,#15D Khusus untuk format heksa, jika digit awal adalah huruf (A,B,C,D,E atau F), penulisannya harus diawali 0 (nol)

EKSPRESI-EKSPRESI ASSEMBLER (STRING KARAKTER) Operan dapat berupa string yang terdiri dari satu atau karakter yang diapit tanda petik tunggal ( ). Kode ASCII dari karakter tersebut kemudian diterjemahkan sebagai bilangan biner yang sesuai dengan Assembler. CJNE A, # Q, Lagi SUBB A, # O ; konversi digit ASCII ke digit biner MOV DPTR, # AB ; dua perintah MOV DPTR, #4142 ; ini sama hasilnya

EKSPRESI-EKSPRESI ASSEMBLER (OPERATOR-OPERATOR ARITMETIK) Operator-operator aritmetik meliputi: + penambahan - pengurangan * perkalian / pembagian MOD modulo, sisa pembagian Misalnya, dua instruksi ini hasilnya sama: MOV A, #10+10h MOV A, #1Ah

EKSPRESI-EKSPRESI ASSEMBLER (OPERATOR-OPERATOR LOGIKA) Operator logika meliputi OR logika OR AND logika AND XOR logika eksklusif OR NOT logika komplemen Operasi logika tersebut masing-masing bit pada operator, misalnya, dua instruksi berikut hasilnya sama: MOV A, # 9 AND 0Fh MOV A,#9

EKSPRESI-EKSPRESI ASSEMBLER (OPERATOR-OPERATOR LOGIKA) Operator NOT hanya membutuhkan satu operan. Tiga instruksi MOV berikut ini, hasilnya sama: TIGA EQU 3 MIN_TIGA EQU -3 MOV A, #(NOT TIGA) + 1 MOV A, #MIN_TIGA MOV A, #11111101B

EKSPRESI-EKSPRESI ASSEMBLER (OPERATOR-OPERATOR KHUSUS) Operator-operator khusus meliputi: SHR geser kanan SHL geser kiri HIGH byte_tinggi (d7 s/d d4) LOW byte_rendah (d3 s/d d0) Misalnya, dua instruksi berikut hasilnya sama: MOV A, #8 SHL 1 MOV A, #10h

EKSPRESI-EKSPRESI ASSEMBLER (OPERATOR-OPERATOR KHUSUS) Kedua instruksi berikut juga sama: MOV A, #HIGH 1234h MOV A, #12h

EKSPRESI-EKSPRESI ASSEMBLER (OPERATOR-OPERATOR RELASIONAL) Jika suatu operator relasional digunakan antara dua operan, maka hasilnya selalu salah (0000h) atau benar (FFFFh). Operator-operator relasional ini meliputi: EQ = Sama dengan NE <> Tidak sama dengan LT < Lebih kecil dari LE <= Lebih kecil sama dengan GT > Lebih besar dari GE >= Lebih besar sama dengan

EKSPRESI-EKSPRESI ASSEMBLER (OPERATOR-OPERATOR RELASIONAL) Contoh berikut menghasilkan benar (FFFFh): MOV A, #5 = 5 MOV A, #5 NE 3 MOV A, # X LT Z MOV A, # X >= X MOV A, #$ > 0 MOV A, #100 GE 50 Dengan kata lain semua instruksi tersebut, sama dengan instruksi: MOV A, #0FFh

EKSPRESI-EKSPRESI ASSEMBLER (PRIORITAS OPERATOR) ( ) HIGH LOW * / MOD SHL SHR + - EQ NE LT LE GT GE = <> < <= > >= NOT AND OR XOR

EKSPRESI-EKSPRESI ASSEMBLER (PRIORITAS OPERATOR) Jika lebih dari satu operator maka prioritas yang lebih tinggi didahulukan, jika prioritasnya sama maka akan dievaluasi dari kiri ke kanan, misalnya: Ekspresi Nilai HIGH ( A SHL 8) 0041h HIGH A SHL 8 0000h NOT A -1 FFBFh A OR A SHL 8 4141h

KBK 635 MIKROKONTROLER INSTRUKSI-INSTRUKSI BAHASA ASSEMBLY 9051 PERTEMUAN 6 Program Studi Sistem Komputer - Fakultas Ilmu Komputer UNIVERSITAS NAROTAMA SURABAYA

Informasi Kuliah HP : 08123313678 Email : gembong@gembong.web.id Website : http://www.gembong.web.id Kantor : Fasilkom Unnar, Ruang Dosen II Hari Kerja: Selasa, Rabu, Kamis Jam : 09.00 14.00 WIB Email & Website adalah jalan berkomunikasi / berkonsultasi yang terbaik dengan saya

Materi Kuliah Ke Pokok Bahasan 1 Pendahuluan 1.1 Penjelasan Kontrak Pembelajaran 1.2 Pengenalan Mikrokontroler 1.3 Mikroprosesor Vs Mikrokontoler 1.4 Penggunaan Mikrokontroler 2 Arsitektur Mikrokontroler AT89S51 2.1 Diagram Blok 2.2 Deskripsi Pin 2.3 Port I/O Mikrokontroler AT89S51 RINGKASAN

Materi Kuliah Ke Pokok Bahasan 3 Organisasi Memori AT89S51 3.1 Memori Data 3.2 Memori Program 3.3 SFR (Special Function Register) UJIAN TDK TERJADWAL (QUIS)

Materi Kuliah Ke Pokok Bahasan 4-5 Pemrograman Assembly MCS51 4.1 Instruksi-instruksi MCS51 4.2 Operasi Assembler 4.3 Struktur pemrograman Assembly MCS51 4.4 Perangkat lunak yang digunakan untuk MCS51 4.5 Ekspresi-Ekspresi Assembler 4.6 Pengarah Assembler

Materi Kuliah Ke Pokok Bahasan 6 Sistem Interupsi 5.1 Struktur Interupsi 5.2 Mengaktifkan dan menonaktifkan interupsi 5.3 Tingkat prioritas interupsi 5.4 Teknik Polling 5.5 Pemrosesan interupsi 5.6 Vektor-vektor interupsi 5.7 Perancangan program interupsi 5.8 Pewaktuan interupsi 5.9 Latihan aplikasi menggunakan interupsi

Materi Kuliah Ke Pokok Bahasan 7 Penggunaan Port Pararel 6.1 Fungsi-fungsi kaki pin 6.2 Struktur port dan cara kerja 6.2.1 Konfigurasi port I/O 6.2.2 Spesifikasi port (port 0, port 1, port 2, port 3) 8 Latihan Aplikasi Penggunaan Port Pararel

Materi Kuliah Ke Pokok Bahasan 9 Timer dan Counter 8.1 Timer/Counter AT89S51 8.1.1 Mode kerja Timer 0 dan Timer 8.1.2 Register pengatur timer 8.2 Mengatur timer 10 Latihan Aplikasi Penggunaan Timer / Counter

Materi Kuliah Ke Pokok Bahasan 11 Port Serial 10.1 Antarmuka Serial 10.2 Register Kontrol Port Serial 10.3 Baudrate 10.4 Mode Kerja Port Serial 12 Latihan Aplikasi Penggunaan Port Serial 13-14 Studi Kasus

Ringkasan Format Bahasa Assembly [label:] mnemonic [operan[ operan] ] [,operan operan] ] [...] [;komentar komentar] SAP Mikrokontroler - Fasilkom - Unnar

Operasi Aritmatika (INCREMENT dan DECREMENT) Increment : Tambah satu isi register Decrement : Turunkan satu isi register Mnemonic Operation INC A Tambah satu isi register A INC Rr Tambah satu isi register Rr INC add Tambah satu isi direct address INC @Rp Tambah satu isi address dalam Rp INC DPTR Tambah satu isi register 16 bit DPTR DEC A Kurangi satu isi register A DEC Rr Kurangi satu isi register Rr DEC add Kurangi satu isi dirrect address DEC @Rp Kurangi satu isi address dalam Rp

Operasi Aritmatika (INCREMENT dan DECREMENT) Contoh MOV A,#3Ah ; A = 3Ah DEC A ; A = 39h MOV R0,#15h ; R0 = 15h MOV 15h,#12h ; Internal RAM 15h = 12h INC @R0 ; Internal RAM 15h = 13h DEC 15h ; Internal RAM 15h = 12h INC R0 ; R0 = 16h MOV 16h,A ; Internal RAM 16h = 39h INC @R0 ; Internal RAM 16h = 3Ah MOV DPTR,#12FFh ; DPTR = 12FFh INC DPTR ; DPTR = 1300h DEC 83h ; DPTR = 1200h(SFR 83h adalah byte DPH

Operasi Aritmatika (PENJUMLAHAN) Mnemonic Operation ADD A,#n ;Tambahkan A dengan angka n, simpan hasilnya di A ADD A,Rr ;Tambahkan A dengan register Rr, simpan hasilnya di A ADD A,add ;Tambahkan A dengan isi address, simpan hasilnya di A ADD A,@Rp ;Tambahkan A dengan isi address dalam Rp, simpan hasilnya di A ADDC A,#n ;Tambahkan A, angka n dan Carry, simpan hasilnya di A. ADDC A,Rr ;Tambahkan A, isi register Rr dan Carry, simpan hasil di A ADDC A,add ;Tambahkan A, isi address dan Carry, simpan hasil di A ADDC A,@Rp ;Tambahkan A, isi address dalam Rp dan Carry, simpan hasilnya di A.

Operasi Aritmatika (PENJUMLAHAN) Catatan : Carry flag (C) akan 1 jika terdapat carry pada bit ke-7. Auxilliary Carry flag (AC) akan 1 jika terdapat carry pada bit ke-3. Over Flow flag (OV) akan 1 jika terdapat carry pada bit ke-7, tapi tidak terdapat carry pada bit ke-6 atau terdapat carry pada bit ke-6 tetapi tidak pada bit ke-7, dimana dapat dieksperikan dengan operasi logika sbb : OV = C7 XOR C6 Penjumlahan tak bertanda dan bertanda Unsigned and Signed Addition Unsigned number : 0 s/d 255d atau 00000000b s/d 11111111b Signed number : -128d s/d +127d atau 1000000b s/d 01111111b Penjumlahan unsigned number dapat menghasilkan carry flag jika hasil penjumlahan melebihi FFh, atau borrow flag jika angka pengurang lebih besar dari yang dikurangi.

Operasi Aritmatika (PENJUMLAHAN) Catatan : Carry flag (C) akan 1 jika terdapat carry pada bit ke-7. Auxilliary Carry flag (AC) akan 1 jika terdapat carry pada bit ke-3. Over Flow flag (OV) akan 1 jika terdapat carry pada bit ke-7, tapi tidak terdapat carry pada bit ke-6 atau terdapat carry pada bit ke-6 tetapi tidak pada bit ke-7, dimana dapat dieksperikan dengan operasi logika sbb : OV = C7 XOR C6 Penjumlahan tak bertanda dan bertanda Unsigned and Signed Addition Unsigned number : 0 s/d 255d atau 00000000b s/d 11111111b Signed number : -128d s/d +127d atau 1000000b s/d 01111111b Penjumlahan unsigned number dapat menghasilkan carry flag jika hasil penjumlahan melebihi FFh, atau borrow flag jika angka pengurang lebih besar dari yang dikurangi.

Operasi Aritmatika (PENJUMLAHAN) Penjumlahan Tak Bertanda / Unsigned Addition Carry flag dapat digunakan untuk mendeteksi hasil penjumlahan yang melebihi FFh. Jika carry = 1 setelah penjumlahan, maka carry tersebut dapat ditambahkan ke high byte sehingga hasil penjumlahan tidak hilang. Misalnya : 95d = 01011111b 189d = 10111101b 284d 1 00011100b C=1 dapat ditambahkan ke byte berikutnya (high byte)

Operasi Aritmatika (PENJUMLAHAN) Penjumlahan Bertanda / Signed Addition Hasil penjumlahan bertanda tidak boleh melebihi -128d atau +127d. Aturan ini tidak menjadi masalah ketika angka yang dijumlahkan positif dan negatif, misalnya : - 001d = 11111111b +027d = 00011011b +026d = 00011010b = + 026d Dari penjumlahan diatas terdapat carry dari bit ke-7, maka C=1. Pada bit ke-6 juga terdapat carry, maka OV=0. Pada penjumlahan ini tidak perlu manipulasi apapun karena hasil penjumlahannya sudah benar. Jika kedua angka yang dijumlahkan adalah positif, maka ada kemungkinan hasil penjumlahan melebihi +127d, misalnya : +100d = 01100100b +050d = 00110010b +150d = 10010110b = - 106d Ada kelebihan 22d dari batas +127d. Tidak ada carry dari bit ke-7, maka C=0, ada carry dari bit ke-6, maka OV=1.

Operasi Aritmatika (PENJUMLAHAN) Contoh penjumlahan dua angka positif yang tidak melebihi +127d adalah : +045d = 00101101b +075d = 01001011b +120d = 01111000b = + 120d Dari penjumlahan diatas tidak terdapat carry dari bit ke-7 maupun bit ke-6, maka C=0 dan OV=0.

Operasi Aritmatika (PENJUMLAHAN) Penjumlahan dua angka negatif yang tidak melebihi -128d adalah sbb : - 030d = 11100010b - 050d = 11001110b - 080d = 10110000b = - 080d Terdapat carry dari bit ke-7, maka C=1, ada carry dari bit ke-6, maka OV=0.

Operasi Aritmatika (PENJUMLAHAN) Penjumlahan dua angka negatif yang hasilnya melebihi -128d adalah sbb : - 070d = 10111010b - 070d = 10111010b - 140d = 01110100b = +116d (Komplemen 116d = 139d) Ada kelebihan -12d. Ada carry dari bit ke-7, maka C=1, tidak ada carry dari bit ke-6, maka OV=1.

Operasi Aritmatika (PENJUMLAHAN) Dari semua contoh diatas, manipulasi program perlu dilakukan sbb : FLAGS ACTION C OV 0 0 None 0 1 Complement the sign 1 0 None 1 1 Complement the sign

Operasi Aritmatika (Pengurangan) Mikrokontroler - Fasilkom - Unnar

Pengurangan Mikrokontroler - Fasilkom - Unnar

Pengurangan Mikrokontroler - Fasilkom - Unnar

Operasi Aritmatika (Perkalian) Mikrokontroler - Fasilkom - Unnar

Operasi Aritmatika (Pembagian) Mikrokontroler - Fasilkom - Unnar

Operasi Logika (Logika Boolean) Mikrokontroler - Fasilkom - Unnar

Operasi Logika (Rotate & Swap) Mikrokontroler - Fasilkom - Unnar

Contoh Operasi Logika Mikrokontroler - Fasilkom - Unnar

KBK 635 MIKROKONTROLER INSTRUKSI-INSTRUKSI BAHASA ASSEMBLY 89051 PERTEMUAN 7 Program Studi Sistem Komputer - Fakultas Ilmu Komputer UNIVERSITAS NAROTAMA SURABAYA

Informasi Kuliah HP : 08123313678 Email : gembong@gembong.web.id Website : http://www.gembong.web.id Kantor : Fasilkom Unnar, Ruang Dosen II Hari Kerja: Selasa, Rabu, Kamis Jam : 09.00 14.00 WIB Email & Website adalah jalan berkomunikasi / berkonsultasi yang terbaik dengan saya

Materi Kuliah Ke Pokok Bahasan 1 Pendahuluan 1.1 Penjelasan Kontrak Pembelajaran 1.2 Pengenalan Mikrokontroler 1.3 Mikroprosesor Vs Mikrokontoler 1.4 Penggunaan Mikrokontroler 2 Arsitektur Mikrokontroler AT89S51 2.1 Diagram Blok 2.2 Deskripsi Pin 2.3 Port I/O Mikrokontroler AT89S51 RINGKASAN

Materi Kuliah Ke Pokok Bahasan 3 Organisasi Memori AT89S51 3.1 Memori Data 3.2 Memori Program 3.3 SFR (Special Function Register) UJIAN TDK TERJADWAL (QUIS)

Materi Kuliah Ke Pokok Bahasan 4-5 Pemrograman Assembly MCS51 4.1 Instruksi-instruksi MCS51 4.2 Operasi Assembler 4.3 Struktur pemrograman Assembly MCS51 4.4 Perangkat lunak yang digunakan untuk MCS51 4.5 Ekspresi-Ekspresi Assembler 4.6 Pengarah Assembler

Materi Kuliah Ke Pokok Bahasan 6 Sistem Interupsi 5.1 Struktur Interupsi 5.2 Mengaktifkan dan menonaktifkan interupsi 5.3 Tingkat prioritas interupsi 5.4 Teknik Polling 5.5 Pemrosesan interupsi 5.6 Vektor-vektor interupsi 5.7 Perancangan program interupsi 5.8 Pewaktuan interupsi 5.9 Latihan aplikasi menggunakan interupsi

Materi Kuliah Ke Pokok Bahasan 7 Penggunaan Port Pararel 6.1 Fungsi-fungsi kaki pin 6.2 Struktur port dan cara kerja 6.2.1 Konfigurasi port I/O 6.2.2 Spesifikasi port (port 0, port 1, port 2, port 3) 8 Latihan Aplikasi Penggunaan Port Pararel

Materi Kuliah Ke Pokok Bahasan 9 Timer dan Counter 8.1 Timer/Counter AT89S51 8.1.1 Mode kerja Timer 0 dan Timer 8.1.2 Register pengatur timer 8.2 Mengatur timer 10 Latihan Aplikasi Penggunaan Timer / Counter

Materi Kuliah Ke Pokok Bahasan 11 Port Serial 10.1 Antarmuka Serial 10.2 Register Kontrol Port Serial 10.3 Baudrate 10.4 Mode Kerja Port Serial 12 Latihan Aplikasi Penggunaan Port Serial 13-14 Studi Kasus

Immediate Adressing Mode Mikrokontroler - Fasilkom - Unnar

Register Addressing Mode Mikrokontroler - Fasilkom - Unnar

Direct Addressing Mode Mikrokontroler - Fasilkom - Unnar

Indirect Addressing Mode Mikrokontroler - Fasilkom - Unnar

Operasi Percabangan Mikrokontroler - Fasilkom - Unnar

JUMP Mikrokontroler - Fasilkom - Unnar

Unconditional Jump Mikrokontroler - Fasilkom - Unnar

Contoh Jump Mikrokontroler - Fasilkom - Unnar

Call dan Sub Rutin Mikrokontroler - Fasilkom - Unnar

KBK 635 MIKROKONTROLER PENGGUNAAN PORT PARAREL PERTEMUAN 7 Program Studi Sistem Komputer - Fakultas Ilmu Komputer UNIVERSITAS NAROTAMA SURABAYA

Informasi Kuliah HP : 08123313678 Email : gembong@gembong.web.id Website : http://www.gembong.web.id Kantor : Fasilkom Unnar, Ruang Dosen II Hari Kerja: Selasa, Rabu, Kamis Jam : 09.00 14.00 WIB Email & Website adalah jalan berkomunikasi / berkonsultasi yang terbaik dengan saya

Port Pararel Port Pararel : Suatu saluran yang digunakan untuk I/O (masukan/keluaran) dimana cara penerimaan/pengiriman datanya dilakukan secara pararel. Mikrokontroler 8051 mempunyai 32 pin yang membentuk 4 buah port pararel, yaitu Port 0, Port 1, Port 2 dan Port 3

Diagram Pin Port 1 Port 0 Port 3 Port 2

Fungsi Port I/O / Pararel Port 0 Port 1 Port 2 Port 3 Port 0 merupakan port paralel 8 bit dua arah (bi-directional) yang dapat digunakan untuk berbagai keperluan. Port 0 juga memultipleks alamat dan data jika digunakan untuk mengakses memori eksternal Port 1 merupakan port paralel 8 bit bi-directional dengan internal pull-up. Port 1 juga digunakan dalam proses pemrograman (In System Programming) P1.5 MOSI; P1.6 MISO ; P1.7 SCK Port 2 merupakan port paralel 8 bit bi-directional dengan internal pull-up. Port 2 akan mengirim byte alamat jika digunakan untuk mengakses memori eksternal. Port 3 merupakan port paralel 8 bit bi-directional dengan internal pull-up. Port 3 juga bisa difungsikan untuk keperluan khusus

Fungsi Khusus Port 3 PIN P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 FUNGSI ALTERNATIF RXD (port input serial) TXD (port output serial) INT0 (interrupt eksternal 0) INT1 (interrupt eksternal 1) T0 (input eksternal timer 0) T1 (input eksternal timer 1) WR (strobe penulisan data eksternal) RD (strobe pembacaan data eksternal)

Struktur Port Dan Cara Kerja Mempunyai 2 cara pengiriman data: 1. Bekerja pada port seutuhnya, artinya semua 8 jalur dari port diperlukan. Contoh: Mov P0,#FFh Membuat 8 jalur dari Port 0 semuanya dalam kondisi logika 1 (atau isinya 1111 1111 dalam biner). 2. Bekerja pada satu jalur atau bit dari port. Contoh: Setb P3.4 Membuat logika 1 bit ke 4 dari Port 3 Mikrokontroler - Fasilkom - Unnar

Struktur Port Dan Cara Kerja Mempunyai 2 cara penerimaan data: 1. Digunakan untuk membaca data pada seluruh bit. Contoh: Mov A,P3 Membaca data seluruh bit pada Port 3 dan disimpan kedalam akumulator. 2. Pembacaan data dilakukan hanya pada 1 bit. Contoh: Jnb P3.7,$ Digunakan untuk memantau bit ke 7 dari Port 3. Mikrokontroler - Fasilkom - Unnar

Konfigurasi Port Mikrokontroler - Fasilkom - Unnar

Konfigurasi Port Konfigurasi Port 0 menggunakan internal FET Pull Up Konfigurasi Port 1, 2 dan 3 menggunakan internal Resistor Pull Up

Pembacaan Data Melalui Port Mikrokontroler - Fasilkom - Unnar

Pengiriman Data Melalui Port OK Nyalakan LED P0.X=1 X OK Nyalakan LED P1.X=0

Contoh Aplikasi Rangkaian LED Untuk menghidupkan LED pada Port 1 harus dikirim atau dituliskan logika 0 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 R : 470R VCC

Contoh Aplikasi Menghidupkan dan Mematikan LED Bergantian 4 LED mati hidup secara bergantian: 1: ORG 0H 2: Mulai: MOV P1,#00001111B 3: ACALL Delay 4: MOV P1,#11110000B 5: ACALL Delay 6: SJMP Mulai

Contoh Aplikasi Menghidupkan dan Mematikan LED Bergantian Baris 1 digunakan agar instruksi dituliskan mulai alamat 0H. Baris 2 mengirimkan data 00001111B (biner) ke Port 1 agar LED4-LED7 (Pada Port 1.4 Port 1.7) menyala. Baris 3 digunakan untuk memanggil subrutin delay Baris 4 mengirimkan data 11110000B (biner) ke Port 1 agar LED0-LED3 (Pada Port 1.0 Port 1.3) menyala. Kemudian memanggil sub rutin delay lagi. Baris 5 digunakan untuk mengulang instruksi dari awal

Contoh Aplikasi Menghidupkan dan Mematikan LED Bergantian 7: ; subrutin delay 8: Delay: MOV R0,#5 9: Delay1: MOV R1,#0FFH 10: Delay2: MOV R2,#0 11: DJNZ R2,$ 12: DJNZ R1,Delay2 13: RET 14: END

Contoh Aplikasi Menghidupkan dan Mematikan LED Bergantian Baris 9 dikerjakan sebanyak 326.400x, karena instruksi tersebut dikerjakan selama 2 siklus totalnya 326.400x2=652.800 siklus, masih ditambah pengulangan kedua 255x3 = 765 siklus dan pengulangan ke tiga sebesar 5x3 siklus sehingga total 752.800+765+15 = 653.800 siklus. Jika menggunakan frekuensi kristal 12 MHz waktu yang dibutuhkan untuk menyelesaikan subrutin adalah 653.580 x 1 md = 653.580 md = 0,65 detik. Untuk pewaktuan yang akurat bisa menggunakan timer yang akan dibahas pada bagian selanjutnya.

KBK 635 MIKROKONTROLER CONTOH PORT PARAREL SEVEN SEGMENT PERTEMUAN 8 Program Studi Sistem Komputer - Fakultas Ilmu Komputer UNIVERSITAS NAROTAMA SURABAYA

Informasi Kuliah HP : 08123313678 Email : gembong@gembong.web.id Website : http://www.gembong.web.id Kantor : Fasilkom Unnar, Ruang Dosen II Hari Kerja: Selasa, Rabu, Kamis Jam : 09.00 14.00 WIB Email & Website adalah jalan berkomunikasi / berkonsultasi yang terbaik dengan saya

Aplikasi Seven Segment Mikrokontroler - Fasilkom - Unnar

Common Cathode Mikrokontroler - Fasilkom - Unnar

BCD To Seven Segment Mikrokontroler - Fasilkom - Unnar

Tabel Kebenaran Mikrokontroler - Fasilkom - Unnar

Tabel Kebenaran Mikrokontroler - Fasilkom - Unnar

Metoda Scanning Mikrokontroler - Fasilkom - Unnar

Contoh Seven Segment Mikrokontroler - Fasilkom - Unnar

Contoh Seven Segment Mikrokontroler - Fasilkom - Unnar

KBK 635 MIKROKONTROLER INTERUPSI & PORT SERIAL PERTEMUAN 9 Program Studi Sistem Komputer - Fakultas Ilmu Komputer UNIVERSITAS NAROTAMA SURABAYA

Informasi Kuliah HP : 08123313678 Email : gembong@gembong.web.id Website : http://www.gembong.web.id Kantor : Fasilkom Unnar, Ruang Dosen II Hari Kerja: Selasa, Rabu, Kamis Jam : 09.00 14.00 WIB Email & Website adalah jalan berkomunikasi / berkonsultasi yang terbaik dengan saya

Operasi Interupsi Mikrokontroler - Fasilkom - Unnar

Register IE Mikrokontroler - Fasilkom - Unnar

Register IP Mikrokontroler - Fasilkom - Unnar

Serial Port Interrupt Mikrokontroler - Fasilkom - Unnar

External Interrupt Mikrokontroler - Fasilkom - Unnar

Contoh Interrupt Mikrokontroler - Fasilkom - Unnar

Lokasi Memori Interrupt Mikrokontroler - Fasilkom - Unnar

Komunikasi Data Serial Mikrokontroler - Fasilkom - Unnar

Register SCON Mikrokontroler - Fasilkom - Unnar

Register PCON Mikrokontroler - Fasilkom - Unnar

Mode Komunikasi Data Serial Mikrokontroler - Fasilkom - Unnar

Serial Data Mode 1 Standard UART Mikrokontroler - Fasilkom - Unnar

Baud Rate Mode 1 Mikrokontroler - Fasilkom - Unnar

Serial Data Mode 2 Multiprocesor Mode Mikrokontroler - Fasilkom - Unnar

Contoh Data Serial Mikrokontroler - Fasilkom - Unnar