• Tidak ada hasil yang ditemukan

KBK 635 MIKROKONTROLER PENDAHULUAN

N/A
N/A
Protected

Academic year: 2021

Membagikan "KBK 635 MIKROKONTROLER PENDAHULUAN"

Copied!
268
0
0

Teks penuh

(1)

KBK 635

MIKROKONTROLER

PENDAHULUAN

PERTEMUAN 1

Program Studi Sistem Komputer - Fakultas Ilmu Komputer

UNIVERSITAS NAROTAMA SURABAYA

(2)

Informasi Kuliah

Dosen : Gembong Edhi Setyawan

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

(3)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

Perkuliahan 1

Penjelasan Kontrak Pembelajaran

Pengenalan Mikrokontroler

Mikroprosesor Vs Mikrokontroler

(4)

Deskripsi Mata Kuliah

Arsitektur Mikrokontroler AT89S51

Organisasi Memori

Pemrograman Assembly MCS51

Sistem Interupsi

Port Pararel

Timer dan Counter

Port Serial

(5)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

Metode Pembelajaran

Tutorial di kelas

Tugas aplikasi (di demokan di akhir perkuliahan)

Diskusi (Tanya – Jawab)

Keaktifan di dalam kelas

(6)

Metode Evaluasi

Kehadiran : 20%

Tugas : 40%

Nilai Kuis : 10%

(7)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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

(8)

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

(9)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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)

(10)

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

(11)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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

(12)

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)

(13)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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

(14)

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

(15)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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

(16)

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

(17)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

Mikroprosesor Vs Mikrokontroler

Mikroprosesor Mikrokontroler

•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)

•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)

(18)

Mikroprosesor Vs Mikrokontroler

CPU General-Purpose Micro-processor

RAM ROM I/O

Port Timer Serial COM Port Data Bus Address Bus

General-Purpose Microprocessor System

Many chips on mother’s board

RAM ROM I/O Port Timer Serial COM CPU A single chip

(19)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

Penggunaan Mikrokontroler

Mikrokontroler banyak digunakan di dunia

industri, control proses, instrumentasi, peralatan rumah tangga, dll

Contoh : Robot, Tulisan Banner, Pengendali Temperatur, dll

(20)
(21)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

Penggunaan Mikrokontroler

(22)

Penggunaan Mikrokontroler

(23)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

Penggunaan Mikrokontroler

(24)

Penggunaan Mikrokontroler

(25)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

Studi Kasus

Mikrokontroler MCS51 / 8051

(26)

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

(27)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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

(28)

KBK 635

MIKROKONTROLER

Arsitektur Mikrokontroler AT89S51

PERTEMUAN 2

Program Studi Sistem Komputer - Fakultas Ilmu Komputer

UNIVERSITAS NAROTAMA SURABAYA

(29)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

Informasi Kuliah

Dosen : Gembong Edhi Setyawan

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

(30)

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

(31)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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)

(32)

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

(33)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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

(34)

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)

(35)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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

(36)

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

(37)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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

(38)

Perkuliahan 2

Spesifikasi Mikrokontroler AT89S51

Diagram Blok

Deskripsi Pin

(39)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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.

(40)
(41)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

Diagram Pin

Control

Bus

Port 0

Port 2

VCC

Port 3

Port 1

Reset

Oscillator

Ground

(42)

Control Bus

PSEN

Program Store Enable, digunakan untuk mengakses

program memori eksternal. Biasanya pin ini dikoneksikan dengan pin OE pada EPROM.

ALE/PROG

Pin ini berfungsi untuk me-latch low byte alamat pada saat mengakses memori eksternal. Sedang saat flash programming (PROG) berfungsi sebagai pulsa input.

EA / VPP

Jika EA=1 maka mikrokontroler akan melaksanakan instruksi dari ROM internal

Jika EA=0 maka mikrokontroler akan melaksanakan instruksi dari ROM eksternal

RST

Merupakan pin untuk memberikan sinyal reset pada mikrokontroler. Pulsa dari low ke high akan mereset mikrokontroler

(43)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

Port I/O

Port 0

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

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

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

Port 3 merupakan port paralel 8 bit bi-directional dengan internal pull-up.

(44)

Fungsi Khusus Port 3

PIN FUNGSI ALTERNATIF

P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7

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)

(45)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

Fungsi Pin Lain

VCC

Sumber tegangan, dapat menggunakan sumber tegangan dari +2,5 V – 6 V,

biasanya menggunakan sumber tegangan +5 V

GND Ground

XTAL1

Merupakan input untuk amplifier osilator

inverting dan input untuk rangkaian clock

internal

RST

Merupakan keluaran dari amplifier osilator

(46)

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)

(47)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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 :

(48)
(49)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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

(50)

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.

(51)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

Waktu Eksekusi

Dimana :

Tinst : Waktu yang dibutuhkan untuk mengeksekusi 1 instruksi (Secon)

(52)

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

(53)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

(54)

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.

(55)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

(56)

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

(57)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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

(58)

KBK 635

MIKROKONTROLER

Organisasi Memori

PERTEMUAN 3

Program Studi Sistem Komputer - Fakultas Ilmu Komputer

UNIVERSITAS NAROTAMA SURABAYA

(59)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

Informasi Kuliah

Dosen : Gembong Edhi Setyawan

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

(60)

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

(61)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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)

(62)

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

(63)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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

(64)

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)

(65)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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

(66)

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

(67)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

Ringkasan Arsitektur Mikrokontroler

SAP

(68)

Memori AT89S51

MEMORI AT89S51

MEMORI AT89S51

ROM / Read Only Memory (Memori Program)

RAM / Read Access Memory (Memori Data)

(69)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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

(70)

RAM (Memori Data) / AT89S51

RAM (Read Access Memory) : Tempat menyimpan dataSifat 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

(71)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

(72)

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

(73)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

Organisasi RAM Internal (Lower Byte)

(74)
(75)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

(76)
(77)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

(78)
(79)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

Membaca Program Dari ROM Eksternal

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

ROM

(80)

Membaca Program Dari ROM Eksternal

D 74LS373 ALE P0.0 P0.7 PSEN A0 A7 D0 D7 P2.0 P2.7 A8 A12 OE OC EA G

(81)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

(82)
(83)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

(84)
(85)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

(86)
(87)

KBK 635

MIKROKONTROLER

Organisasi Memori

PERTEMUAN 3

Program Studi Sistem Komputer - Fakultas Ilmu Komputer

UNIVERSITAS NAROTAMA SURABAYA

(88)

Informasi Kuliah

Dosen : Gembong Edhi Setyawan

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

(89)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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

(90)

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)

(91)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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

(92)

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

(93)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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)

(94)

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

(95)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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

(96)

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)

(97)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

(98)

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

(99)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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 “

(100)

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.

(101)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

Pemrograman Assembly AT89S51

Bahasa Assembly digunakan untuk

menggantikan kode heksa dari bahasa mesin dengan “mnemonik” yang mudah diingat.

(102)

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 mode-mode Assembler, contoh Æ $TITLE

Komentar : Ditulis agar program mudah dibaca, tidak harus per instruksi bisa sekumpulan

(103)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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.

(104)

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

(105)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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

(106)

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

(107)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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.

(108)

Pengalamatan Tak Langsung

Untuk melaksanakan pengalamatan tak langsung digunakan simbol @

Contoh:

MOV A,@R1

MOV @R0,A

(109)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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

(110)

Pengalamatan Tak Langsung

Contohnya penulisan data 08H pada alamat 50H hingga 57H. Listing 1: ORG 0H MOV 50H,#08H MOV 51H,#08H MOV 52H,#08H MOV 53H,#08H MOV 54H,#08H MOV 55H,#08H MOV 56H,#08H MOV 57H,#08H

(111)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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

(112)

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

(113)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

27

• 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

(114)

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 A,#05H

MOV A,#45H MOV B,#0E4H

(115)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

29

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.

(116)

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

(117)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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)

(118)

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.

(119)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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.

(120)

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.

(121)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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)

(122)

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

(123)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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

(124)

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

(125)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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

(126)

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

(127)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

EKSPRESI-EKSPRESI ASSEMBLER (OPERATOR-OPERATOR KHUSUS)

Kedua instruksi berikut juga sama:

MOV A, #HIGH 1234h MOV A, #12h

(128)

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

(129)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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:

(130)

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

(131)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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

(132)

KBK 635

MIKROKONTROLER

Organisasi Memori

PERTEMUAN 3

Program Studi Sistem Komputer - Fakultas Ilmu Komputer

UNIVERSITAS NAROTAMA SURABAYA

(133)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

Informasi Kuliah

Dosen : Gembong Edhi Setyawan

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

(134)

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

(135)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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)

(136)

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

(137)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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

(138)

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)

(139)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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

(140)

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

(141)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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

(142)
(143)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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

(144)

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 “

(145)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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.

(146)

Pemrograman Assembly AT89S51

Bahasa Assembly digunakan untuk

menggantikan kode heksa dari bahasa mesin dengan “mnemonik” yang mudah diingat.

(147)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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 mode-mode Assembler, contoh Æ $TITLE

Komentar : Ditulis agar program mudah dibaca, tidak harus per instruksi bisa sekumpulan

(148)

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.

(149)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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

(150)

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

(151)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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

(152)

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.

(153)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

Pengalamatan Tak Langsung

Untuk melaksanakan pengalamatan tak langsung digunakan simbol @

Contoh:

MOV A,@R1

MOV @R0,A

(154)

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

(155)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

Pengalamatan Tak Langsung

Contohnya penulisan data 08H pada alamat 50H hingga 57H. Listing 1: ORG 0H MOV 50H,#08H MOV 51H,#08H MOV 52H,#08H MOV 53H,#08H MOV 54H,#08H MOV 55H,#08H MOV 56H,#08H MOV 57H,#08H END

(156)

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

(157)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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

(158)

• 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

(159)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

28

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 A,#05H

MOV A,#45H MOV B,#0E4H

(160)

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.

(161)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

30

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

(162)

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)

(163)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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.

(164)

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.

(165)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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.

(166)

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)

(167)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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

(168)

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

(169)

Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan

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

Gambar

Diagram Blok
Diagram Pin Control Bus Port 0 Port 2VCCPort 3Port 1Reset Oscillator Ground
Gambar disamping adalah peta memori internal

Referensi

Dokumen terkait

[r]

Dari keseluruhan aturan asosiasi kuat yang dihasilkan dari penerapan algoritma Apriori pada percobaan I, dapat disimpulkan bahwa produk-produk yang sering dibeli dan

”Valkoapila suorastaan imee pölyttäjiä, mutta tilalle ei ole ajateltu siementuotantoa, koska ostamalla sieme- nen saa edullisemmin” sanoo tilan isäntä pölyttäjistä

Tujuan Pengembangan Sistem Informasi Manajemen Pengawasan (SIMWAS) adalah terciptanya suatu Sistem Informasi Pengawasan yang terintegrasi antara sistem perencanaan,

Data yang digunakan dalam penelitian ini adalah data sekunder, meliputi: a)Data keuangan Pemerintah Kabupaten Kulon Progo tahun anggaran 1996 sampai dengan 2008 meliputi tar-

12 percobaan telah menguji pengaruh waktu penjepitan tali pusat terhadap hasil status hematologi atau zat besi melalui periode neonatal hingga usia 6 bulan, didapatkan

Skripsi yang berjudul “Tinjauan Hukum Pidana Islam terhadap Putusan Pengadilan Negeri Kepanjen Nomor 302/Pid.Sus/2014/PN.Kpj tentang Tindak Pidana Mengangkut Hasil

Pembinaan identiti kelompok etnik minoriti seringkali dibayangi oleh kelompok majoriti.Objektif utama kajian ini ialah untuk memahami jenis identiti bahasa dan budaya yang