KBK 635
MIKROKONTROLER PENDAHULUAN PERTEMUAN 1
Program Studi Sistem Komputer - Fakultas Ilmu Komputer
UNIVERSITAS NAROTAMA SURABAYA
Informasi Kuliah • Dosen : Gembong Edhi Setyawan • HP : 08123313678 • Email :
[email protected] • 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 Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Perkuliahan 1 • Penjelasan Kontrak Pembelajaran • Pengenalan Mikrokontroler • Mikroprosesor Vs Mikrokontroler • Penggunaan Mikrokontroler
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Deskripsi Mata Kuliah • Arsitektur Mikrokontroler AT89S51 • Organisasi Memori • Pemrograman Assembly MCS51 • Sistem Interupsi • Port Pararel • Timer dan Counter • Port Serial • Aplikasi 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 • Keaktifan secara mandiri
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Metode Evaluasi • Kehadiran • Tugas • Nilai Kuis • Nilai UTS/UAS
: : : :
20% 40% 10% 30%
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 • Atmel. Datasheet AT89S51
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Materi Kuliah Ke 1
2
Pokok Bahasan Pendahuluan 1.1 Penjelasan Kontrak Pembelajaran 1.2 Pengenalan Mikrokontroler 1.3 Mikroprosesor Vs Mikrokontoler 1.4 Penggunaan Mikrokontroler Arsitektur Mikrokontroler AT89S51 2.1 Diagram Blok 2.2 Deskripsi Pin 2.3 Port I/O Mikrokontroler AT89S51 Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Materi Kuliah Ke 3
Pokok Bahasan Organisasi Memori AT89S51 3.1 Memori Data 3.2 Memori Program 3.3 SFR (Special Function Register) UJIAN TDK TERJADWAL (QUIS)
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Materi Kuliah Ke 4-5
Pokok Bahasan 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
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Materi Kuliah Ke 6
Pokok Bahasan 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 Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Materi Kuliah Ke 7
8
Pokok Bahasan 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) Latihan Aplikasi Penggunaan Port Pararel
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 Latihan Aplikasi Penggunaan Timer / Counter
10
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
13-14
Studi Kasus 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 Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
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 Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Mikroprosesor Vs Mikrokontroler Mikroprosesor •CPU untuk komputer dan berdiri sendiri; RAM, ROM, I/O terpisah.
Mikrokontroler •CPU dimana RAM, ROM, I/O, Timer tergabung menjadi 1 IC.
•Desainer dapat
•Besarnya RAM, ROM
menentukan besarnya RAM, ROM, I/O
sudah ditentukan dalam 1 chip IC
•Bisa digunakan untuk
•1 aplikasi = 1 tujuan (single
tujuan berbagai macam (general purpose)
purpose)
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Mikroprosesor Vs Mikrokontroler Many chips on mother’s board
Data Bus
CPU GeneralPurpose Microprocessor
RAM
ROM
I/O Port
Timer
Serial COM Port
Address Bus General-Purpose Microprocessor System
CPU
RAM ROM
A single chip I/O Port
Serial Timer COM Port
Microcontroller
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
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Penggunaan Mikrokontroler
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Penggunaan Mikrokontroler Lego Mindstorms
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Penggunaan Mikrokontroler Lego Mindstorms
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Penggunaan Mikrokontroler Sony AIBO
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Penggunaan Mikrokontroler Volvo S80 – I8 ECUs
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Studi Kasus • Mikrokontroler MCS51 / 8051 • Mempelajari Atmel 89S51
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
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 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 Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
KBK 635
MIKROKONTROLER Arsitektur Mikrokontroler AT89S51 PERTEMUAN 2
Program Studi Sistem Komputer - Fakultas Ilmu Komputer
UNIVERSITAS NAROTAMA SURABAYA
Informasi Kuliah • Dosen : Gembong Edhi Setyawan • HP : 08123313678 • Email :
[email protected] • 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 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 RINGKASAN 1.4 Penggunaan Mikrokontroler Arsitektur Mikrokontroler AT89S51 2.1 Diagram Blok 2.2 Deskripsi Pin 2.3 Port I/O Mikrokontroler AT89S51
2
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Materi Kuliah Ke 3
Pokok Bahasan Organisasi Memori AT89S51 3.1 Memori Data 3.2 Memori Program 3.3 SFR (Special Function Register) UJIAN TDK TERJADWAL (QUIS)
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Materi Kuliah Ke 4-5
Pokok Bahasan 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
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Materi Kuliah Ke 6
Pokok Bahasan 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 Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Materi Kuliah Ke 7
8
Pokok Bahasan 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) Latihan Aplikasi Penggunaan Port Pararel
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 Latihan Aplikasi Penggunaan Timer / Counter
10
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
13-14
Studi Kasus 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
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Perkuliahan 2 • Spesifikasi Mikrokontroler AT89S51 • Diagram Blok • Deskripsi Pin • Port I/O
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. • Port serial (UART) full duplex. Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Diagram Blok
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Diagram Pin VCC Port 1 Reset Port 3 Oscillator Ground
Port 0 Control Bus Port 2
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
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
RST
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 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 merupakan port paralel 8 bit bi-directional dengan internal pull-up.
Port 1
Port 2
Port 3
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 Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
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)
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 inverting. Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Perancangan Rangkaian Minimum • Rangkaian minimal yang harus ada agar mikrokontroler dpt bekerja. • Komponen Yg Harus Ada – – – – – – – –
CPU Internal (Sudah Ada Memori Program (ROM) Dalam Memori Data (RAM) Mikrokontroler) Port I/O Pewaktuan CPU (Crystal 4-24 MHz) Reset Eksternal Power Supply (5 Volt) EA, VPP dihubungkan ke VCC 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 : Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Rangkaian Oscilator
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
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
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 : Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Waktu Eksekusi
Dimana : Tinst : Waktu yang dibutuhkan untuk mengeksekusi 1 instruksi (Secon) C : Jumlah machine cycle
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
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 Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Contoh Opcode (Operational Code Mnemonics)
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
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. Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Rangkaian Reset
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
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.
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
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
KBK 635
MIKROKONTROLER Organisasi Memori PERTEMUAN 3
Program Studi Sistem Komputer - Fakultas Ilmu Komputer
UNIVERSITAS NAROTAMA SURABAYA
Informasi Kuliah • Dosen : Gembong Edhi Setyawan • HP : 08123313678 • Email :
[email protected] • 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 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 RINGKASAN 1.4 Penggunaan Mikrokontroler Arsitektur Mikrokontroler AT89S51 2.1 Diagram Blok 2.2 Deskripsi Pin 2.3 Port I/O Mikrokontroler AT89S51
2
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Materi Kuliah Ke 3
Pokok Bahasan Organisasi Memori AT89S51 3.1 Memori Data 3.2 Memori Program 3.3 SFR (Special Function Register) UJIAN TDK TERJADWAL (QUIS)
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Materi Kuliah Ke 4-5
Pokok Bahasan 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
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Materi Kuliah Ke 6
Pokok Bahasan 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 Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Materi Kuliah Ke 7
8
Pokok Bahasan 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) Latihan Aplikasi Penggunaan Port Pararel
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 Latihan Aplikasi Penggunaan Timer / Counter
10
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
13-14
Studi Kasus Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Ringkasan Arsitektur Mikrokontroler
SAP
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Memori AT89S51 ROM / Read Only Memory (Memori Program)
MEMORI AT89S51 RAM / Read Access Memory (Memori Data)
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 • Diakses Bila pin EA/VPP berlogika High
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
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 Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Peta Memori Data Internal
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
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. Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Organisasi RAM Internal (Lower Byte)
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
SFR (Special Function Register)
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
SFR
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
SFR
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Immediate Adressing Mode
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Akses Memori Program (ROM) Eksternal
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Membaca Program Dari ROM Eksternal
P0.0
2. 74373 latches the address and send to 1. Send address to OE ROM ROM OC G 74LS373 A0
P0.7
A7
PSEN ALE
D
Address D0 D7
EA P2.0
A8
P2.7
A12
8051
ROM Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Membaca Program Dari ROM Eksternal PSEN ALE P0.0 P0.7
74LS373
G D
OE OC A0 A7
D0 D7
EA P2.0
A8
P2.7
A12
8051
ROM
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Akses RAM/ROM Eksternal Lebih Dari 1
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Akses Memori Data (RAM) Eksternal
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Immediate Adressing Mode
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Register Addressing Mode
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Direct Addressing Mode
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Indirect Addressing Mode
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
KBK 635
MIKROKONTROLER Organisasi Memori PERTEMUAN 3
Program Studi Sistem Komputer - Fakultas Ilmu Komputer
UNIVERSITAS NAROTAMA SURABAYA
Informasi Kuliah • Dosen : Gembong Edhi Setyawan • HP : 08123313678 • Email :
[email protected] • 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 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 RINGKASAN 1.4 Penggunaan Mikrokontroler Arsitektur Mikrokontroler AT89S51 2.1 Diagram Blok 2.2 Deskripsi Pin 2.3 Port I/O Mikrokontroler AT89S51
2
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Materi Kuliah Ke 3
Pokok Bahasan Organisasi Memori AT89S51 3.1 Memori Data 3.2 Memori Program 3.3 SFR (Special Function Register) UJIAN TDK TERJADWAL (QUIS)
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Materi Kuliah Ke 4-5
Pokok Bahasan 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
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Materi Kuliah Ke 6
Pokok Bahasan 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 Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Materi Kuliah Ke 7
8
Pokok Bahasan 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) Latihan Aplikasi Penggunaan Port Pararel
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 Latihan Aplikasi Penggunaan Timer / Counter
10
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
13-14
Studi Kasus 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
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Bahasa Mesin Vs Assembly
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
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
• 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 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 • Program yang berekstensi “ *.HEX “ biasanya sudah bisa dimanfaatkan ke simulator/emulator. • Kadang ada beberapa software yang membutuhkan format biner.
H 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.
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 modemode Assembler, contoh Æ $TITLE • Komentar : Ditulis agar program mudah dibaca, tidak harus per instruksi bisa sekumpulan instruksi 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. • Mnemonic : misalnya MOV, ADD, INC 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 • Komentar : Diawali dengan tanda “ ; ”
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 B Register B 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 B Register B 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.
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Pengalamatan Tak Langsung Untuk melaksanakan pengalamatan tak langsung digunakan simbol @ Contoh: MOV MOV MOV
A,@R1 @R0,A @R1,24H
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 panjang.
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
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 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
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 dieliminasi.
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
• 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 MOV ADD MOVX MOVC
@R0,A A,@R1 A,@R0 @DPTR,A A,@A+DPTR
; R0 sebagai reg. penyimpan alamat ; R1 sebagai reg. penyimpan alamat ; R0 sebagai reg. penyimpan alamat ; DPTR sebagai reg. penyimpan alamat ; DPTR sebagai register penyimpan alamat
27 Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
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 Dosen : Gembong Edhi Setyawan
Pengalamatan Langsung ( Immediate Data ) Operand yang digunakan pada immediate data juga dapat berupa bilangan bertanda mulai - 256 hingga + 256. Contoh : MOV sama dengan MOV
A,# -1 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. 29 Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
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. 30 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) – Menggunakan simbol baku (JNB TI,$) 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.
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. 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.
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) 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 MOV DPTR, #4142 ; ini sama hasilnya 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 Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
EKSPRESI-EKSPRESI ASSEMBLER (OPERATOR-OPERATOR LOGIKA) Operator logika meliputi OR AND XOR NOT
logika OR logika AND logika eksklusif OR logika komplemen
Operasi logika tersebut masing-masing bit pada operator, misalnya, dua instruksi berikut hasilnya sama: MOV A, #’9’ AND 0Fh MOV A,#9 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 MOV A, #11111101B
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
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 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
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
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 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: MOV A, #0FFh Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
EKSPRESI-EKSPRESI ASSEMBLER (PRIORITAS OPERATOR) ( ) HIGH LOW * / MOD SHL SHR +EQ NE LT LE GT GE = <> < <= > >= NOT AND OR XOR
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 Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
KBK 635
MIKROKONTROLER Organisasi Memori PERTEMUAN 3
Program Studi Sistem Komputer - Fakultas Ilmu Komputer
UNIVERSITAS NAROTAMA SURABAYA
Informasi Kuliah • Dosen : Gembong Edhi Setyawan • HP : 08123313678 • Email : [email protected] • 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 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 RINGKASAN 1.4 Penggunaan Mikrokontroler Arsitektur Mikrokontroler AT89S51 2.1 Diagram Blok 2.2 Deskripsi Pin 2.3 Port I/O Mikrokontroler AT89S51
2
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Materi Kuliah Ke 3
Pokok Bahasan Organisasi Memori AT89S51 3.1 Memori Data 3.2 Memori Program 3.3 SFR (Special Function Register) UJIAN TDK TERJADWAL (QUIS)
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Materi Kuliah Ke 4-5
Pokok Bahasan 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
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Materi Kuliah Ke 6
Pokok Bahasan 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 Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Materi Kuliah Ke 7
8
Pokok Bahasan 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) Latihan Aplikasi Penggunaan Port Pararel
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 Latihan Aplikasi Penggunaan Timer / Counter
10
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
13-14
Studi Kasus 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
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Bahasa Mesin Vs Assembly
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
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 • 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 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 • Program yang berekstensi “ *.HEX “ biasanya sudah bisa dimanfaatkan ke simulator/emulator. • Kadang ada beberapa software yang membutuhkan format biner.
H 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.
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 modemode Assembler, contoh Æ $TITLE • Komentar : Ditulis agar program mudah dibaca, tidak harus per instruksi bisa sekumpulan instruksi 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. • Mnemonic : misalnya MOV, ADD, INC 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 • Komentar : Diawali dengan tanda “ ; ”
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 B Register B 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 B Register B 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.
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Pengalamatan Tak Langsung Untuk melaksanakan pengalamatan tak langsung digunakan simbol @ Contoh: MOV MOV MOV
A,@R1 @R0,A @R1,24H
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 panjang.
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
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 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
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 dieliminasi.
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
• 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 MOV ADD MOVX MOVC
@R0,A A,@R1 A,@R0 @DPTR,A A,@A+DPTR
; R0 sebagai reg. penyimpan alamat ; R1 sebagai reg. penyimpan alamat ; R0 sebagai reg. penyimpan alamat ; DPTR sebagai reg. penyimpan alamat ; DPTR sebagai register penyimpan alamat
27 Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
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 Dosen : Gembong Edhi Setyawan
Pengalamatan Langsung ( Immediate Data ) Operand yang digunakan pada immediate data juga dapat berupa bilangan bertanda mulai - 256 hingga + 256. Contoh : MOV sama dengan MOV
A,# -1 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. 29 Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
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. 30 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) – Menggunakan simbol baku (JNB TI,$) 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.
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. 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.
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) 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 MOV DPTR, #4142 ; ini sama hasilnya 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 Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
EKSPRESI-EKSPRESI ASSEMBLER (OPERATOR-OPERATOR LOGIKA) Operator logika meliputi OR AND XOR NOT
logika OR logika AND logika eksklusif OR logika komplemen
Operasi logika tersebut masing-masing bit pada operator, misalnya, dua instruksi berikut hasilnya sama: MOV A, #’9’ AND 0Fh MOV A,#9 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 MOV A, #11111101B
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
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 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
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
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 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: MOV A, #0FFh Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
EKSPRESI-EKSPRESI ASSEMBLER (PRIORITAS OPERATOR) ( ) HIGH LOW * / MOD SHL SHR +EQ NE LT LE GT GE = <> < <= > >= NOT AND OR XOR
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 Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
KBK 635
MIKROKONTROLER INSTRUKSI-INSTRUKSI BAHASA ASSEMBLY 9051 PERTEMUAN 6
Program Studi Sistem Komputer - Fakultas Ilmu Komputer
UNIVERSITAS NAROTAMA SURABAYA
Informasi Kuliah • Dosen : Gembong Edhi Setyawan • HP : 08123313678 • Email : [email protected] • 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 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 RINGKASAN 1.4 Penggunaan Mikrokontroler Arsitektur Mikrokontroler AT89S51 2.1 Diagram Blok 2.2 Deskripsi Pin 2.3 Port I/O Mikrokontroler AT89S51
2
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Materi Kuliah Ke 3
Pokok Bahasan Organisasi Memori AT89S51 3.1 Memori Data 3.2 Memori Program 3.3 SFR (Special Function Register) UJIAN TDK TERJADWAL (QUIS)
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Materi Kuliah Ke 4-5
Pokok Bahasan 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
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Materi Kuliah Ke 6
Pokok Bahasan 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 Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Materi Kuliah Ke 7
8
Pokok Bahasan 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) Latihan Aplikasi Penggunaan Port Pararel
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 Latihan Aplikasi Penggunaan Timer / Counter
10
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
13-14
Studi Kasus Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Ringkasan Format Bahasa Assembly [label:] mnemonic [operan] [,operan] [...] [;komentar]
SAP
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Operasi Aritmatika (INCREMENT dan DECREMENT) Increment : Tambah satu isi register Decrement : Turunkan satu isi register Mnemonic Operation INC A INC Rr INC add INC @Rp INC DPTR DEC A DEC Rr DEC add DEC @Rp
Tambah satu isi register A Tambah satu isi register Rr Tambah satu isi direct address Tambah satu isi address dalam Rp Tambah satu isi register 16 bit DPTR Kurangi satu isi register A Kurangi satu isi register Rr Kurangi satu isi dirrect address Kurangi satu isi address dalam Rp Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Operasi Aritmatika (INCREMENT dan DECREMENT) Contoh MOV A,#3Ah DEC A MOV R0,#15h MOV 15h,#12h INC @R0 DEC 15h INC R0 MOV 16h,A INC @R0 MOV DPTR,#12FFh INC DPTR DEC 83h
; A = 3Ah ; A = 39h ; R0 = 15h ; Internal RAM 15h = 12h ; Internal RAM 15h = 13h ; Internal RAM 15h = 12h ; R0 = 16h ; Internal RAM 16h = 39h ; Internal RAM 16h = 3Ah ; DPTR = 12FFh ; DPTR = 1300h ; DPTR = 1200h(SFR 83h adalah byte DPH Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
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.
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
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. Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
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. Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
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) Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
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. Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
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.
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
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.
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
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. Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Operasi Aritmatika (PENJUMLAHAN)
• Dari semua contoh diatas, manipulasi program perlu dilakukan sbb : FLAGS C OV 0 0 0 1 1 0 1 1
ACTION None Complement the sign None Complement the sign Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Operasi Aritmatika (Pengurangan)
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Pengurangan
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Pengurangan
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Operasi Aritmatika (Perkalian)
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Operasi Aritmatika (Pembagian)
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Operasi Logika (Logika Boolean)
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Operasi Logika (Rotate & Swap)
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Contoh Operasi Logika
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
KBK 635
MIKROKONTROLER INSTRUKSI-INSTRUKSI BAHASA ASSEMBLY 89051 PERTEMUAN 7
Program Studi Sistem Komputer - Fakultas Ilmu Komputer
UNIVERSITAS NAROTAMA SURABAYA
Informasi Kuliah • Dosen : Gembong Edhi Setyawan • HP : 08123313678 • Email : [email protected] • 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 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 RINGKASAN 1.4 Penggunaan Mikrokontroler Arsitektur Mikrokontroler AT89S51 2.1 Diagram Blok 2.2 Deskripsi Pin 2.3 Port I/O Mikrokontroler AT89S51
2
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Materi Kuliah Ke 3
Pokok Bahasan Organisasi Memori AT89S51 3.1 Memori Data 3.2 Memori Program 3.3 SFR (Special Function Register) UJIAN TDK TERJADWAL (QUIS)
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Materi Kuliah Ke 4-5
Pokok Bahasan 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
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Materi Kuliah Ke 6
Pokok Bahasan 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 Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Materi Kuliah Ke 7
8
Pokok Bahasan 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) Latihan Aplikasi Penggunaan Port Pararel
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 Latihan Aplikasi Penggunaan Timer / Counter
10
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
13-14
Studi Kasus Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Immediate Adressing Mode
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Register Addressing Mode
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Direct Addressing Mode
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Indirect Addressing Mode
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Operasi Percabangan
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
JUMP
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Unconditional Jump
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Contoh Jump
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Call dan Sub Rutin
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
KBK 635
MIKROKONTROLER PENGGUNAAN PORT PARAREL PERTEMUAN 7
Program Studi Sistem Komputer - Fakultas Ilmu Komputer
UNIVERSITAS NAROTAMA SURABAYA
Informasi Kuliah • Dosen : Gembong Edhi Setyawan • HP : 08123313678 • Email : [email protected] • 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 Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
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
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Diagram Pin
Port 1
Port 0
Port 3 Port 2
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Fungsi Port I/O / Pararel
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 merupakan port paralel 8 bit bi-directional dengan internal pull-up.
Port 1
Port 2
Port 3
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 Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
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)
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
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 Dosen : Gembong Edhi Setyawan
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 Dosen : Gembong Edhi Setyawan
Konfigurasi Port
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Konfigurasi Port • •
Konfigurasi Port 0 menggunakan internal FET Pull Up Konfigurasi Port 1, 2 dan 3 menggunakan internal Resistor Pull Up
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Pembacaan Data Melalui Port
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Pengiriman Data Melalui Port
OK X
Nyalakan LED P0.X=1
OK Nyalakan LED P1.X=0 Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Contoh Aplikasi Rangkaian LED Untuk menghidupkan LED pada Port 1 harus dikirim atau dituliskan logika ‘0’
VCC P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 R : 470R
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Contoh Aplikasi Menghidupkan dan Mematikan LED Bergantian 4 LED mati hidup secara bergantian: 1: 2: 3: 4: 5: 6:
ORG 0H Mulai: MOV P1,#00001111B ACALL Delay MOV P1,#11110000B ACALL Delay SJMP Mulai Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
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 Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Contoh Aplikasi Menghidupkan dan Mematikan LED Bergantian 7: 8: 9: 10: 11: 12: 13: 14:
; subrutin delay Delay: MOV R0,#5 Delay1: MOV R1,#0FFH Delay2: MOV R2,#0 DJNZ R2,$ DJNZ R1,Delay2 RET END Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
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. Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
KBK 635
MIKROKONTROLER CONTOH PORT PARAREL SEVEN SEGMENT PERTEMUAN 8
Program Studi Sistem Komputer - Fakultas Ilmu Komputer
UNIVERSITAS NAROTAMA SURABAYA
Informasi Kuliah • Dosen : Gembong Edhi Setyawan • HP : 08123313678 • Email : [email protected] • 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 Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Aplikasi Seven Segment
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Common Cathode
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
BCD To Seven Segment
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Tabel Kebenaran
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Tabel Kebenaran
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Metoda Scanning
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Contoh Seven Segment
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Contoh Seven Segment
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
KBK 635
MIKROKONTROLER INTERUPSI & PORT SERIAL PERTEMUAN 9
Program Studi Sistem Komputer - Fakultas Ilmu Komputer
UNIVERSITAS NAROTAMA SURABAYA
Informasi Kuliah • Dosen : Gembong Edhi Setyawan • HP : 08123313678 • Email : [email protected] • 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 Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Operasi Interupsi
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Register IE
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Register IP
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Serial Port Interrupt
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
External Interrupt
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Contoh Interrupt
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Lokasi Memori Interrupt
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Komunikasi Data Serial
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Register SCON
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Register PCON
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Mode Komunikasi Data Serial
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Serial Data Mode 1 Standard UART
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Baud Rate Mode 1
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Serial Data Mode 2 Multiprocesor Mode
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan
Contoh Data Serial
Mikrokontroler - Fasilkom - Unnar Dosen : Gembong Edhi Setyawan