Anda di halaman 1dari 18

Laporan Praktikum SISTEM TERTANAM Modul 4 INTERRUPT

Kelas Nama NIM

: TEK 3A Praktikum 2 : Novitri Malini : J3D111099

PROGRAM KEAHLIAN TEKNIK KOMPUTER PROGRAM DIPLOMA INSTITUT PERTANIAN BOGOR BOGOR 2013

Praktikum Sistem Tertanam

Interrupt

1. TUJUAN PRAKTIKUM
Praktikum mampu membuat program menggunakan interrupt eksternal (pin INT0 dan INT1) pada DT-51 MinSys dengan berbagai variasi cara dan prioritas.

2. DASAR TEORI
Panduan Dasar Mikrokontroler Keluarga MCS-51 Bab V

3. PERINTAH YANG DIGUNAKAN


SJMP, LJMP ACALL,RET LCALL,RET MOV DJNZ RETI SETB, CLR RL PUSH,POP

4. SPESIAL FUNCTION REGISTER YANG DIGUNAKAN


TCON IE IP

5. PROSEDUR PERCOBAAN
1) Percobaan I : Penggunaan INT0 dengan Interrupt Enable Persiapan: Hubungkan Port 1 DT-51 MinSys dengan PORT OUTPUT DT 51 Trainer Board menggunakan kabel tipe Y. Hubungkan CONTROL DT-51 MinSys dengan CONTROL DT-51 Trainer Board (sebagai sumber tegangan) menggunakan kabel tipe X. Hubungkan ISI dengan INT0 pada DT-51 Trainer Board. Hubungkan DT-51 MinSys dengan PC menggunakan kabel serial Hubungkan DT-51 MinSys dengan sumber tegangan.

Program Keahlian Teknik Komputer Direktorat Program Diploma-Institut Pertanian Bogor

Halaman 1

Praktikum Sistem Tertanam

Interrupt

a. Program 1: Ketiklah program berikut ini, assemble, download ke DT-51 MinSys, dan amati hasilnya: $mod51 CSEG ORG LJMP ORG RL MOV MOV MOV MOV DJNZ DJNZ DJNZ RETI ORG 4000H START 4003H A P1,A R7, R6, R5, R5, R6, R7, 4200H SP, TCON,#01H A,#01H P1, IE, $ #30H

LUPA: LUPB:

#04H #0FFH #0FFH $ LUPB LUPA

;inisialisasi START: MOV MOV MOV MOV MOV SJMP END

#01H #81H

Jika tidak ada kesalahan,program tersebut akan menampilkan nyala LED yang dimulai dari LED Bit 0 dan bergeser ke kiri setiap kali ada penekanan keypad ISI. Catatan: Untuk menggunakan INT0 dengan falling edge trigger (transisi dari high ke low) maka IT0 (TCON.0) berlogika1, sehingga TCON bernilai 00000001b atau 01h. Untuk mengaktifkan interrupt, maka EX0 (IE,0) dan EA (IE,7) berlogika 1 sehingga IE bernilai 10000001batau81h.

Program Keahlian Teknik Komputer Direktorat Program Diploma-Institut Pertanian Bogor

Halaman 2

Praktikum Sistem Tertanam

Interrupt

Perhatikan bahwa pada saat interrupt, program akan melompat ke alamat vektor 0003h, tetapi oleh DT-51 MinSys akan langsung berpindah ke alamat 4003h. Latihan Mandiri: Buatlah program untuk menampilkan LED di port A dengan ISI: yang dihubungkan ke INT0 pada DT-51 Trainer Board dengan syarat : Pada kondisi awal, LED Bit 7,Bit 6,Bit1,dan Bit 0 menyala. Interrupt trigger bersifat falling edge. Jika terjadi interrupt, LED Bit 5,Bit 4,Bit 3 , dan Bit 2 menyala sejenak. Setelah interrupt selesai, LED kembali pada kondisi awal. Berikut adalah langkah-langkahnya : 1. Buatlah terlebih dahulu file program menggunakan notepad dan save dengan ekstensi .asm

Gambar 1 Latihan Mandiri 1.asm

2. Ubah file .asm menjadi .lst dan .hex dengan menggunakan ASM51

Gambar 2 Pengubahan Latihan Mandiri 1.asm menjadi .exe

Program Keahlian Teknik Komputer Direktorat Program Diploma-Institut Pertanian Bogor

Halaman 3

Praktikum Sistem Tertanam

Interrupt

3. Kemudian buka DT-51, dan lakukan selftest testing

Gambar 3 Selftest Testing

4. Setelah self testing success, klik tombol Ope File dan Download (F9) untuk mendownload data .hex yang telah kita buat ke DT51.

Gambar 4 Mendownload Latihan Mandiri 1.hex

5. Kemudian klik tombol Redownload. Jika fail, maka terdapat kesalahan pada port ataupun kesalahan fisik

Program Keahlian Teknik Komputer Direktorat Program Diploma-Institut Pertanian Bogor

Halaman 4

Praktikum Sistem Tertanam

Interrupt

Gambar 5 Proses Download file Latihan Mandiri 1.hex

2) Percobaan II: Penggunaan INT1 dengan Interrupt Disable Persiapan: Hubungkan Port 1 DT-51 MinSys dengan PORT OUTPUT DT51 Trainer Board menggunakan kabel tipe Y. Hubungkan CONTROL DT-51 MinSys dengan CONTROL DT51 Trainer Board (sebagai sumber tegangan dan koneksi INT0/INT1) menggunakan kabel tipe X. Hubungkan IS2 dengan INT1 pada DT-51 Trainer Board. Hubungkan DT-51 MinSys dengan PC menggunakan kabel serial. Hubungkan DT-51 MinSys dengan sumber tegangan. Program: Ketiklah program berikut ini,assemble,download ke DT-51 MinSys,dan amati hasilnya: $mod51 CSEG ORG 4000H LJMP START ORG RL MOV MOV MOV MOV DJNZ DJNZ DJNZ LJMP 4013H A P1,A R7,#04H R6,#0FFH R5,#0FFH R5,$ R6,LUPB R7,LUPA LOOP
Halaman 5

INTER1:

LUPA: LUB:

Program Keahlian Teknik Komputer Direktorat Program Diploma-Institut Pertanian Bogor

Praktikum Sistem Tertanam

Interrupt

ORG ;inisialisasi START: MOV

4050H

SP,#30H SETB ITI MOV A,#01H MOV P1,#01H CLR IE1 JBC SJMP END IE1,INTER1 LOOP

LOOP:

Jika tidak ada kesalahan,program tersebut akan menampilkan nyala LED yang dimulai dari LED Bit 1 dan bergeser ke kiri setiap kali ada penekanan keypad IS2. Catatan : Untuk menggunakan INTI dengan falling edge tringger (transisi dari high ke low), maka ITI (TCON.2) berlogika 1, sehingga TCON bernilai 00000100b atau 04h. Pada program tersebut dapat dilihat bahwa tidak ada interrupt yang aktif (tidak menggunakan IE). Menggunakan 89C51 untuk membaca adanya interrupt dan melompat ke alamat venktor yang bersangkutan secara otomatis (hardware) tidak di berikan. Semua proses interrupt telah dilakukan secara manual (software), meliputi pemeriksaan kondisi interrupt flag IE1 (polling IE1), pembersihan interrupt flag, dan melompat ke alamat vektor 4003h. Pada program tidak juga mengandung perintah RETI (karena bukana merupakan interrupt aktif, melainkan hanya polling dengan memanfaatkan interrupt eksternal). Penggunaan polling ini sedikit memakan waktu karena kondisi interrupt harus diperiksa di sela-sela program. Tetapi terjadinya interrupt dapat di tentukan sendiri (tidak terjadi kapan saja di tengah-tengah program) pada dasarnya semua interrupt (interrupt eksternal, timer/counter, dan serial) dapat menggunakan polling. Perhatikan pada saat interrupt, program akan melompat ke lamat vektor 0013h, tetapi oleh DT-51 MinSys akan langsung akan di pindah ke alamat 4013h.

Program Keahlian Teknik Komputer Direktorat Program Diploma-Institut Pertanian Bogor

Halaman 6

Praktikum Sistem Tertanam

Interrupt

Latihan Mandiri: Buatlah program untuk menampilkan LED di port B dengan IS2 yang dihubungkan ke INT1 pada DT-51 Trainer Board dengan syarat: - Program utama adalah nyala LED Bit 7,Bit 6,Bit 1,dan Bit0 bergantian dengan nyala LED Bit 5,Bit 4,Bit 3,Bit 2. - Interrupt trigger bersifat falling edge. - Jika terjadi interrupt ganjil (pertama,ketiga,kelima,dst), maka LED akan padam. - Jika Jika terjadi interrupt genap(kedua,keempat,keenam,dst), maka program utama akan kembali menyala. Catatan: Gunakan salah satu register atau variabel sebagai penanda(flag) interrupt ganjil/genap. Berikut adalah langkah-langkahnya : 1. Buatlah terlebih dahulu file program menggunakan notepad dan save dengan ekstensi .asm

Gambar 6 LatMan3.asm

2. Ubah file .asm menjadi .lst dan .hex dengan menggunakan ASM51

Program Keahlian Teknik Komputer Direktorat Program Diploma-Institut Pertanian Bogor

Halaman 7

Praktikum Sistem Tertanam

Interrupt

Gambar 7 Pengubahan LatMan3.asm menjadi .exe

3. Kemudian buka DT-51, dan lakukan selftest testing

Gambar 8 Self Testing

4. Setelah self testing success, klik tombol Ope File dan Download (F9) untuk mendownload data .hex yang telah kita buat ke DT-51.

Gambar 9 Mendownload LatMan3.hex

Program Keahlian Teknik Komputer Direktorat Program Diploma-Institut Pertanian Bogor

Halaman 8

Praktikum Sistem Tertanam

Interrupt

3) Percobaan III: Penggunaan INT0 dan INT1 dengan Interrupt Priority persiapan : Hubungkan Port 1 DT-51 MinSys dengan PORT OUTPUT DT51 Trainer Board menggunakan kabel tipe Y. Hubungkan CONTROL DT-51 MinSys dengan CONTROL DT51 Trainer Board Hubungkan IS1 dengan INT0 dengan INT1 pada DT -51 Trainer Board. Hubungkan DT-51 MinSys dengan PC menggunakan kabel serial. Hubungkan DT-51 MinSys dengan sumber tegangan. Program: Ketiklah program berikut ini,assemble,download ke DT-51 MinSys,dan amati hasilnya: $mod51 CSEG ORG 4000H LJMP START ORG LJMP ORG LJMP 4013H INTER1 4003H INTER0

INTER0:

ORG 4100H MOV P1,#0H SETB P1,0 LCALL LDELAY CLR P1,0 RETI MOV P1,#0H SETB P1,7 LCALL LDELAY CLR P1,7 RETI ORG 4200H

INTER1:

Program Keahlian Teknik Komputer Direktorat Program Diploma-Institut Pertanian Bogor

Halaman 9

Praktikum Sistem Tertanam

Interrupt

LDELAY:PUSH 7 PUSH 6 PUSH 5 MOV R7,#24H LUPA: MOV R6,#0FFH LUPB: MOV R5,#0FFH DJNZ R5,$ DJNZ R6,LUPB DJNZ R7,LUPA POP 6 POP 7 RET $DELAY: PUSH 7 PUSH 6 PUSH 5 MOV R7,#04H LUP1: MOV R6,#0FFH LUP2: MOV R5,#0FFH DJNZ R5,$ DJNZ R6,LUP2 DJNZ R7,LUP1 POP 5 POP 6 POP 7 RET ;inisialisasi START: MOV SP,#30H MOV TCON,#05H MOV IP,#04H MOV IE,#85H ;program utama LOOP1: MOV P1,#01010101B ACALL DELAY MOV P1,#10101010B ACALL SDELAY SJMP LOOP1 END

Program Keahlian Teknik Komputer Direktorat Program Diploma-Institut Pertanian Bogor

Halaman 10

Praktikum Sistem Tertanam

Interrupt

Jika tidak ada kesalahan, program tersebut akan menampilkan nyala LED yang bergantian antara nyala LED Bit 4, Bit 2, dan Bit 0 dengan nyala LED Bit 7, Bit 5, Bit 1. Setiap kali ada penekanan keypad IS1, hanya LED Bit 0 yang akan menyala. Setiap kali ada keypad IS2, hanya LED Bit 7 yang akan menyala. Catatan: Untuk menggunakan INT0 dsn INT1 dengan falling edge trigger (transisi dari high ke low),maka IT1 (TCON,2) dan IT0 (TCON,0) berlogika 1, sehingga TCON bernilai 00000101b atau 05h. Untuk memindah INT1 ke tingkat prioritas lebih tinggi, maka PX1 (IP,2) berlogika 1,sehingga IP bernilai 100000100b atau 04h. Untuk mengaktifkan INT0 dan INT1, maka EX0 (IE,0), EX1 (IE,2) dan EA (IE,7) berlogika 1, sehingga IE bernilai 100000101b atau 85h. Rutin interrupt pada alamat vektor 4003h dan 4013h dipindah ke alamat lain dengan perintah LJMP, Hal ini dilakukan agar rutin dapat lebih panjang tanpa khawatir menerjang alamat vektor berikutnya. Perhatikan bahwa penekanan keypad IS2 dapat menginterupsi rutin dari penekanan keypad IS1 tetapi tidak dapat sebaliknya. Hal ini dikarenakan INT1 berada pada tingkat prioritas lebih tinggi. Jadi jika keypad IS1 ditekan setelah keypad IS2 ditekan, LED Bit 7 akan menyala hingga delay selesai dieksekusi baru kemudian LED Bit 0akan menyala. Perhatikan bahwa SDELAY menggunakan alamat yang sama dengan LDELAY, untuk menghindari kekacauan nilai, maka diperlukan PUSH dan POP.
Latihan mandiri : Buatlah program untuk menampilkan LED di port A dengan ISI yang di hubungkan ke INT0 dan IS2 dihungkan ke INTI pada DT-51 Trainer Board dengan syarat: Program utama akan menampilkan data 0FFh bergantian dengan data 00h.

Program Keahlian Teknik Komputer Direktorat Program Diploma-Institut Pertanian Bogor

Halaman 11

Praktikum Sistem Tertanam

Interrupt

Interrupt trigger bersifat falling edge dengan prioritas INT0. Jika terjadi intrrupt dari INT0, program akan menampilkan data 99h dan 66h selama 3 detik. Setelah itu kembali ke program utama. Jika terjadi interrupt dari INT1, program akan menampilka data 0Aahdan 55h selama 3 detik. Setelah itu kembali ke program utama.

Catatan: Gunakan beberapa alamat atau variabl untuk menyimpan data-data tersebut. Berikut adalah langkah-langkahnya : 5. Buatlah terlebih dahulu file program menggunakan notepad dan save dengan ekstensi .asm

Gambar 10 LatMan3.asm

6. Ubah file .asm menjadi .lst dan .hex dengan menggunakan ASM51

Program Keahlian Teknik Komputer Direktorat Program Diploma-Institut Pertanian Bogor

Halaman 12

Praktikum Sistem Tertanam

Interrupt

Gambar 11 Pengubahan LatMan3.asm menjadi .exe

7. Kemudian buka DT-51, dan lakukan selftest testing

Gambar 12 Self Testing

8. Setelah self testing success, klik tombol Ope File dan Download (F9) untuk mendownload data .hex yang telah kita buat ke DT-51.

Gambar 13 Mendownload LatMan3.hex

Program Keahlian Teknik Komputer Direktorat Program Diploma-Institut Pertanian Bogor

Halaman 13

Praktikum Sistem Tertanam

Interrupt

6. ANALISA PROGRAM Pada percobaan penggunaan INT0 dengan interrupt Enable, saat interrupt dijalankan program akan melompat ke alamat vector 0003h akan tetapi akan langsung dipindahkan oleh DT-51 MinSys ke alamat 4003h.Register IE harus diinisialisasikan ketika interrupt berasal dari komunikasi serial.Sementara TCON(Timer control)harus diinisialisasi dan diatur karena berhubungan dengan pengaturan kaki INT0 dan INT1.Agar Kondisi interrupt trigger bersifat faling edge(transisi dari high ke low)maka nilai TCON(IT0) harus berlogika 1 sehingga TCON bernilai 01h. Pada Percobaan penggunaan INT1 dengan interrupt disable,nilai yang dibutuhkan agar interrupt falling edge trigger terbentuk register TCON (IT1)harus berlogika 1 sehingga TCON bernilai 04h.Pada Program tidak dimengandung perintah RET1(Karena bukan merupakan interrupt aktif).Pada saat interrupt dieksekusi program akan melompat ke alamat vector 0013h tetapi oleh DT-51 MinSys akan dipindahkan ke alamat 4013h. Pada Percobaan penggunaaan INT0 dan INT 1 sebagai interrupt priority agar nilai falling edge trigger didapat maka IT1 dan IT0 harus berlogika 1.Untuk mengaktifkan INT0 dan INT1 maka nilai IE harus diinisialisasi.Sedang Alamat vector pada interrupt dipindahkan dengan perintah LJMP .Nilai SDELAY dan LDELAY adalah sama sehingga diperlukan PUSH dan POP agar program tidak kacau. 7. KESIMPULAN

Program Keahlian Teknik Komputer Direktorat Program Diploma-Institut Pertanian Bogor

Halaman 14

Praktikum Sistem Tertanam

Interrupt

Daftar Pustaka
1. Dany Christanto,Panduan dasar mikrokontroller keluarga MCS-51,Innovative Electronic,2004.

2. CARR,J Joseph,Designing Microprocessor Based Instrumentation,McGraw Hill,Singapore,1991. 3. ZAKS,Rodnay and LESEA ,Agustin,Microprocessor Interfacing Techniques 3rd Edition,Sybex Inc,London,1995.

4. BREY,Barry B,Microprocessor Intel:Arsitektur,Pemrograman dan Antarmuka,Penerbit peat Andi,Yogyakarta,2005.

5. Peatman,John B,Design with Microcontrollers,McGraw Hill International Edition,New York,1998.

6. Supono Suparlan,Pengantar Organisasi Sistem Komputer,Gunadarma,1995.

Program Keahlian Teknik Komputer Direktorat Program Diploma-Institut Pertanian Bogor

Halaman 15

Praktikum Sistem Tertanam

Interrupt

LAMPIRAN

Program Keahlian Teknik Komputer Direktorat Program Diploma-Institut Pertanian Bogor

Halaman 16

Praktikum Sistem Tertanam

Interrupt

Program Keahlian Teknik Komputer Direktorat Program Diploma-Institut Pertanian Bogor

Halaman 17