PERCOBAAN 15 I N T E R U P S I

dokumen-dokumen yang mirip
PERCOBAAN 9 T I M E R/ COUNTER

PERCOBAAN 1 DISPLAY LED

PERCOBAAN 3 DISPLAY 7 SEGMEN

PERCOBAAN 2 SAKLAR PUSH BUTTON

PERCOBAAN 11 PULSE WIDHT MODULATION

BAB 13 INTERFACE KE PRINTER DOT MATRIKS

PERCOBAAN 8 MOTOR STEPPER

Gambar 1. Rangkaian interface ke LCD Karakter 2 x16

PENGEMBANGAN PROTOTIPE LAMPU LALU LINTAS PEJALAN KAKI BERBASIS MIKROKONTROLER MCS-51 YANG DIINISIASI DENGAN TOMBOL IRENE PRICELLA SITUMORANG

Percobaan 5 PENGENALAN MIKROKONTROLER 8051

Memprogram Interupsi AT89S51

PERCOBAAN 5 ANALOG TO DIGITAL CONVERTER ( ADC )

Percobaan 5. TIMER/COUNTER Menggunakan DT-51 MinSys

PERCOBAAN 10 PORT SERIAL

TIMER DAN COUNTER MIKROKONTROLER ATMEL

Akuisasi data dengan remote host AT89s51 melalui serial RS232

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

TERJADI INTERRUPT MELAYANI INTERRUPT KEMBALI MENERUSKAN PROGRAM YANG TERHENTI PROGRAM YANG SEDANG BERJALAN. Gambar 4.1 Interrupt

PORT SERIAL MIKROKONTROLER ATMEL AT89C51

AKSES MEMORI Menggunakan DT-51 MinSys

BAB III RANCANGAN DAN CARA KERJA ALAT

PROGRAMMABLE TIMER DENGAN TAMPILAN M1632 LCD MENGGUNAKAN MODUL DST-51

Secara fisik, kerja dari sebuah mikrokontroler dapat dijelaskan sebagai siklus

Percobaan 6. SERIAL INTERFACE Menggunakan DT-51 MinSys

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

BAB IV ANALISA DAN HASIL UJI COBA RANGKAIAN

BAB IV PENGUJIAN DAN ANALISA DATA

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

TAMPILKAN NADA DTMF DAN DERING TELEPHONE OLEH MODUL DF-88 DAN MODUL DST-51 PADA LCD

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

SISTEM INTERUPSI MIKROKONTROLER ATMEL

MODE OPERASI TIMER/COUNTER. Oleh : Sumarna, Jurdik Fisika, FMIPA, UNY

PERCOBAAN 3. KONTROL DISPLAY 7-SEGMENT Menggunakan DT-51 MinSys

BAB 3 PERANCANGAN ALAT DAN PROGRAM

PORT PARALEL MIKROKONTROLER ATMEL AT89C51

Percobaan 8 INTERFACE MIKROKONTROLER DAN KOMPUTER SECARA SERIAL

USER MANUAL TRAINER TRAFFIC LIGHT MATA DIKLAT: SISTEM OTOMASI DAN PENGENDALI ELEKTRONIKA SISWA -TEKNIK ELEKTRONIKA INDUSTRI 1

PENGHITUNG WAKTU DENGAN TAMPILAN LCD M1632 OLEH DST-51

Memprogram Port sebagai Output dan Input Sederhana

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

Memprogram Timer Counter

Memprogram Interface Motor

ANTAR MUKA DST-51 DENGAN MODUL AD-0809

CONTOH-CONTOH PROGRAM MIKROKONTROLER

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

Bahasa Pemrograman Assembler 8051

Praktek 1. Interfacing Layer. 1. Tujuan : 2. Alat-alat 1 Unit PC atau notebook Koneksi internet

BAB 2 LANDASAN TEORI

Pengendalian 8 buah Motor oleh DST-51

MODUL 1 Pengenalan C untuk 8051 (Compile dan Download)

PENGGUNAAN KEYPAD 4X3 DAN PC KEYBOARD PADA MODUL DST-52 DENGAN TAMPILAN M1632 LCD

PENGENALAN DASAR MIKROKONTROLER MCS-51 AT89S51/52. DI SUSUN OLEH: RENI NURAENI,ST M.Pd

PETUNJUK PEMROGRAMAN DAN SET INSTRUKSI

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

DAFTAR PUSTAKA. Agfianto Eko Putra, BELAJAR MIKROKONTROLLER AT89C51/52/53, Gava Media, 2005.

Mengenal bahasa assembly

MENAMPILKAN 1000 KARAKTER PESAN PADA MODUL M1632 LCD OLEH MODUL DST-51

DESKRIPSI SINGKAT INSTRUKSI-INSTRUKSI PADA AT89S51

BAB IV PENGUJIAN DAN ANALISA. Pengujian terhadap sistem yang telah dibuat dilakukan untuk mengetahui

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

PERCOBAAN 14 REAL TIME CLOCK (RTC) 12C887

BAB III ANALISA DAN CARA KERJA RANGKAIAN

BAB IV PENGUJIAN ALAT

Tabel Perbandingan ROM dan RAM pada beberapa seri ATMEL

Struktur Bahasa Assembler Mikrokontroller MCS51

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

4. Port Input/Output Mikrokontroler MCS-51

Teknik Interface Keypad 4x3 ke DST-51

Program di computer (visual basic) Private Sub Command1_Click() End Sub. Private Sub Command2_Click() End Sub. Private Sub Command3_Click() End Sub

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

BAB III PERANCANGAN ALAT

BAB II LANDASAN TEORI

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

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

KOMUNIKASI DATA DENGAN MENGGUNAKAN TEKNIK RS485

Menggunakan Bahasa Pemrograman Assembly

Flowchart Bagian Pemancar

AD Channel AD Conversion

Lab Elektronika Industri Mikrokontroler - 1 AT89C1051

PERANCANGAN HARDWARE JAM DIGITAL DENGAN SISTEM KALENDER BERBASIS MIKROKONTROLLER DS1307 TUGAS AKHIR DIAN SAIFUL RAMADHAN NUR TANJUNG

PENULISAN KARAKTER DENGAN MENGGUNAKAN TEKNIK PENULISAN PADA KEYPAD HANDPHONE OLEH MODUL DST-51, KEYPAD 4X3 DAN M1632 LCD

Register-register MT8888

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

de KITS Application Note AN34 Jam Pasir Digital

Timer Counter. D3 Telekomunikasi.

RUNNING TEXT. Gambar 1. Susunan Running Text

PENGATURAN KECEPATAN MOTOR DENGAN PC OLEH DST-5 2

Antar Muka Modul RTC-1287 dengan Modul DST-51

APLIKASI MIKROKONTROLER

Aplikasi Pengukur Ketinggian Air Mengunakan Modul Sensor InfraRed Object Detector

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

PERANCANGAN SOFTWARE JAM DIGITAL DENGAN SISTEM KALENDER BERBASIS MIKROKONTROLLER DS1307 TUGAS AKHIR TAUFIK PASARIBU

Pemrograman Mikrokontroler MCS-51 menggunakan Programmer USBasp Oleh : Seniman INSTALASI DRIVER USBASP DI KOMPUTER

MODUL 5 SISTEM PENGENDALIAN BERBASIS MIKROKONTROLER

BAB IV PENGUJIAN ALAT

Tabel 3.1 Kode heksadesimal untuk angka 0-9

TEKNIK MERANCANG APLIKASI DENGAN DST-UNI PROG

Memprogram Interface Display

Blastica Press Release 2008

INSTRUKSI DAN BAHASA PEMOGRAMAN MIKROKONTROLER

Transkripsi:

PERCOBAAN 15 I N T E R U P S I TUJUAN 1. Memahami sistem interupsi pada mikrokontroller 2. Menerapkan sistem interupsi pada pembuatan jam digital 3. Memahami penggunakan bahasa assembly untuk penggunakan sistem interupsi Pada mikrokontroller menyediakan 5 buah sumeber interupsi, 2 buah interupsi eksternal, 2 buah interupsi timer, dan 1 buah interupsi serial. Agar interupsi dapat dilayani maka instruksi assembly harus ditempatkan pada alamat vektor berikut, sesuai dengan sumber interupsi yang akan digunakan. Source IE0 TF0 IE1 TF1 RI + TI Vector Address 0003H 000BH 0013H 001BH 0023H Org 0000h Ljmp Start Org 000bh Ljmp Timer0Interupt Start: Instruksi Rutinitas Instruksi Rutinitas Instruksi Rutinitas Sjmp Start { Looping Forever } Timer0Interupt: : : Reti End Pada contoh instruksi pemrograman tersebut tampak, apabila tidak ada interupsi maka program akan menuju ke start dan menjalankan rutinitas-rutinitas secara terus menerus, tetapi apabila suatu interupsi yang dibangkitkan oleh overflow timer 0 terjadi, maka program yang semula bersarang pada rutinitas akan melompat pada alamat vektor 0bh (alamat interupsi timer 0) dan melompat ke subrutine interupsi Timer0Interupt. 15-1

Percobaan 15.1. Membangkitkan clock pada jam digital :DD dengan memanfaatkan interupsi timer 0. Pada percobaan akan dibangkitkan clock untuk jam digital, hanya bagian detik puluhan (display 1) dan detik satuan (display 2) pada 7 segmen Pada mode ini, dengan kristal 12MHz maka timer akan overflow setiap 65.536 udetik. Pada percobaan ini, untuk membangkitkan interupsi setiap 50000 udetik maka data yang harus diisikan pada register TL1 dan TH1 adalah sebagai berikut: 65536-50000 = 15536 d or 3CB0h Maka interupsi TF1 akan segera dibangkitkan setiap 50000 x 1 udetik = 0,05 detik pada pemrograman ini, RO diimplementasikan sebagai counter software, Register R0 akan increment setiap Timer 1 overflow. Jika register R7 telah mendeteksi nilai 50 maka port P0.0 ( LED D0 ) akan nyala selama = 0,05 x 20 detik = 1 detik Untuk melakukan percobaan ini lakukan beberapa langkah sebagai berikut: 1. Hubungkan jumper 7Segmen_EN, untuk mengaktifkan Decoder 74LS138 2. Hubungkan modul Microcontroller Trainer dengan power supply +5V 3. Hubungkan modul Microcontroller Trainer dengan rangkaian programmer 4. Buka Program M-IDE Studio for MCS-51, sebagai editor dan compiler program 5. Ketik program berikut ini: detik equ 30h detikpuluhan equ 31h detiksatuan equ 32h counter20 equ 33h Org 0h sjmp Start Org 0bh Ljmp Interrupt_Timer0 Start: mov detik,#0 call InitTimer Forever: call ClockDisplay sjmp Forever Interrupt_Timer0: 15-2

djnz Counter20, EndInterrupt mov Counter20,#20 call DoClock EndInterrupt: i DoClock: inc detik mov A,detik cjne A,#60,Update mov detik,#0 Update:mov A,detik mov B,#10 DIV AB mov detikpuluhan,a mov detiksatuan,b ClockDisplay: mov A,detiksatuan clr P3.5 Setb P3.6 Setb P3.7 mov A,detikpuluhan Setb P3.5 Setb P3.7 InitTimer: mov TMOD,#00000001b setb ET0 Enable Timer 0 Interrupt setb EA Master Interrupt Enable setb TR0 Clock start running =============================== subroutine delay time =============================== delay: mov R1,#2 del1: mov R2,#255 del2: djnz R2,del2 djnz R1,del1 15-3

======================================== L O O K U P T A B L E Decode to Seven Segmen -> g f e d c b a ======================================== Decoder7Segmen: DB 11000000b,11111001b,10100100b,10110000b,10011001b DB 10010010b,10000010b,11111000b,10000000b,10010000b End 6. Simpanlah program yang anda ketik dan beri nama : prog111a.asm 7. Pada program MIDE tersebut pilih Build /F9 atau untuk melakukan kompilasi program dari *.asm ke *.hex. 8. Lakukan pemrograman mikrokontroller dengan menggunakan Program ISP Software ( Lihat Petunjuk Penggunaan) 9. Lakukan pengamatan untuk data waktu detik yang ditampilkan apakah sesuai dengan jam konvensional. Display Detik (:DD) 1 2 3 4 5 : 60 Jam Konvensional (Detik) 15-4

Percobaan 15.2. Membangkitkan clock pada jam digital MM:DD dengan memanfaatkan interupsi timer 0. Pada percobaan akan dibangkitkan clock untuk jam digital untuk detik dan menit pada 7 segmen Untuk melakukan percobaan ini lakukan beberapa langkah sebagai berikut: 1. Hubungkan jumper 7Segmen_EN, untuk mengaktifkan Decoder 74LS138 2. Hubungkan modul Microcontroller Trainer dengan power supply +5V 3. Hubungkan modul Microcontroller Trainer dengan rangkaian programmer 4. Buka Program M-IDE Studio for MCS-51, sebagai editor dan compiler program 5. Ketik program berikut ini: detik equ 30h detikpuluhan equ 31h detiksatuan equ 32h menit equ 33h menitpuluhan equ 34h menitsatuan equ 35h counter20 equ 36h Org 0h sjmp Start Org 0bh Ljmp Interrupt_Timer0 Start: mov detik,#0 mov menit,#0 call InitTimer Forever: call ClockDisplay sjmp Forever Interrupt_Timer0: djnz Counter20, EndInterrupt mov Counter20,#20 call DoClock EndInterrupt: i DoClock: inc detik mov A,detik cjne A,#60,Update mov detik,#0 15-5

Update:mov satumenit: inc menit mov A,#60 cjne A,menit,Update mov menit,#0 A,detik mov B,#10 DIV AB mov detikpuluhan,a mov detiksatuan,b mov a,menit mov b,#10 div ab mov menitpuluhan,a mov menitsatuan,b ClockDisplay: mov A,menitpuluhan clr P3.5 mov A,menitsatuan setb P3.5 mov A,detikpuluhan clr P3.5 setb P3.6 mov A,detiksatuan setb P3.5 Setb P3.6 15-6

InitTimer: mov TMOD,#00000001b setb ET0 Enable Timer 0 Interrupt setb EA Master Interrupt Enable setb TR0 Clock start running =============================== subroutine delay time =============================== delay: mov R1,#2 del1: mov R2,#255 del2: djnz R2,del2 djnz R1,del1 ======================================== L O O K U P T A B L E Decode to Seven Segmen -> g f e d c b a ======================================== Decoder7Segmen: DB 11000000b,11111001b,10100100b,10110000b,10011001b DB 10010010b,10000010b,11111000b,10000000b,10010000b End 6. Simpanlah program yang anda ketik dan beri nama : prog112a.asm 7. Pada program MIDE tersebut pilih Build /F9 atau untuk melakukan kompilasi program dari *.asm ke *.hex. 8. Lakukan pemrograman mikrokontroller dengan menggunakan Program ISP Software ( Lihat Petunjuk Penggunaan) 9. Lakukan pengamatan untuk data waktu yang ditampilkan. 00:01 00:02 00:03 00:04 : 01:59 Display Detik (:DD) Jam Konvensional (Detik) 15-7

Percobaan 15.3. Membangkitkan clock down MM:DD dengan memanfaatkan interupsi timer 0. Pada percobaan akan dibangkitkan clock dengan hitungan mundur dari menit 60 detik 60 untuk detik dan menit pada 7 segmen Untuk melakukan percobaan ini lakukan beberapa langkah sebagai berikut: 1. Hubungkan jumper 7Segmen_EN, untuk mengaktifkan Decoder 74LS138 2. Hubungkan modul Microcontroller Trainer dengan power supply +5V 3. Hubungkan modul Microcontroller Trainer dengan rangkaian programmer 4. Buka Program M-IDE Studio for MCS-51, sebagai editor dan compiler program 5. Ketik program berikut ini: detik equ 30h detikpuluhan equ 31h detiksatuan equ 32h menit equ 33h menitpuluhan equ 34h menitsatuan equ 35h counter20 equ 36h Org 0h sjmp Start Org 0bh Ljmp Interrupt_Timer0 Start: mov detik,#60 mov menit,#59 call InitTimer Forever: call ClockDisplay sjmp Forever Interrupt_Timer0: djnz Counter20, EndInterrupt mov Counter20,#20 call DoClock EndInterrupt: i DoClock: dec detik mov A,detik cjne A,#0,Update mov detik,#60 satumenit: 15-8

dec menit mov A,#0 cjne A,menit,Update mov menit,#60 Update:mov A,detik mov B,#10 DIV AB mov detikpuluhan,a mov detiksatuan,b mov a,menit mov b,#10 div ab mov menitpuluhan,a mov menitsatuan,b ClockDisplay: mov A,menitpuluhan clr P3.5 mov A,menitsatuan setb P3.5 mov A,detikpuluhan clr P3.5 setb P3.6 mov A,detiksatuan setb P3.5 Setb P3.6 InitTimer: 15-9

mov TMOD,#00000001b setb ET0 Enable Timer 0 Interrupt setb EA Master Interrupt Enable setb TR0 Clock start running =============================== subroutine delay time =============================== delay: mov R1,#2 del1: mov R2,#255 del2: djnz R2,del2 djnz R1,del1 ======================================== L O O K U P T A B L E Decode to Seven Segmen -> g f e d c b a ======================================== Decoder7Segmen: DB 11000000b,11111001b,10100100b,10110000b,10011001b DB 10010010b,10000010b,11111000b,10000000b,10010000b End 10. Simpanlah program yang anda ketik dan beri nama : prog113a.asm 11. Pada program MIDE tersebut pilih Build /F9 atau untuk melakukan kompilasi program dari *.asm ke *.hex. 12. Lakukan pemrograman mikrokontroller dengan menggunakan Program ISP Software ( Lihat Petunjuk Penggunaan) 13. Lakukan pengamatan untuk data waktu yang ditampilkan. 15-10

Percobaan 15.3. Membangkitkan clock down MM:DD dengan memanfaatkan interupsi timer 0. Pada percobaan akan dibangkitkan clock dengan hitungan mundur dari menit 60 detik 60 untuk detik dan menit pada 7 segmen Untuk melakukan percobaan ini lakukan beberapa langkah sebagai berikut: 1. Hubungkan jumper 7Segmen_EN, untuk mengaktifkan Decoder 74LS138 2. Hubungkan modul Microcontroller Trainer dengan power supply +5V 3. Hubungkan modul Microcontroller Trainer dengan rangkaian programmer 4. Buka Program M-IDE Studio for MCS-51, sebagai editor dan compiler program 5. Ketik program berikut ini: detik equ 30h detikpuluhan equ 31h detiksatuan equ 32h menit equ 33h menitpuluhan equ 34h menitsatuan equ 35h counter20 equ 36h Org 0h sjmp Start Org 0bh Ljmp Interrupt_Timer0 Start: mov detik,#60 mov menit,#59 call InitTimer Forever: call ClockDisplay sjmp Forever Interrupt_Timer0: djnz Counter20, EndInterrupt mov Counter20,#20 call DoClock EndInterrupt: i DoClock: dec detik mov A,detik cjne A,#0,Update mov detik,#60 satumenit: 15-11

dec menit mov A,#0 cjne A,menit,Update mov menit,#60 Update:mov A,detik mov B,#10 DIV AB mov detikpuluhan,a mov detiksatuan,b mov a,menit mov b,#10 div ab mov menitpuluhan,a mov menitsatuan,b ClockDisplay: mov A,menitpuluhan clr P3.5 mov A,menitsatuan setb P3.5 mov A,detikpuluhan clr P3.5 setb P3.6 mov A,detiksatuan setb P3.5 Setb P3.6 InitTimer: 15-12

mov TMOD,#00000001b setb ET0 Enable Timer 0 Interrupt setb EA Master Interrupt Enable setb TR0 Clock start running =============================== subroutine delay time =============================== delay: mov R1,#2 del1: mov R2,#255 del2: djnz R2,del2 djnz R1,del1 ======================================== L O O K U P T A B L E Decode to Seven Segmen -> g f e d c b a ======================================== Decoder7Segmen: DB 11000000b,11111001b,10100100b,10110000b,10011001b DB 10010010b,10000010b,11111000b,10000000b,10010000b End 10. Simpanlah program yang anda ketik dan beri nama : prog113a.asm 11. Pada program MIDE tersebut pilih Build /F9 atau untuk melakukan kompilasi program dari *.asm ke *.hex. 12. Lakukan pemrograman mikrokontroller dengan menggunakan Program ISP Software ( Lihat Petunjuk Penggunaan) 13. Lakukan pengamatan untuk data waktu yang ditampilkan. 15-13