laporan embedded modul 4.docx

21
Laporan Praktikum SISTEM TERTANAM Modul 4 “INTERRUPT” Kelas : TEK 3A Praktikum 2 Nama : Novitri Malini NIM : J3D111099 PROGRAM KEAHLIAN TEKNIK KOMPUTER PROGRAM DIPLOMA INSTITUT PERTANIAN BOGOR

Upload: novitri-malini

Post on 26-Oct-2015

132 views

Category:

Documents


0 download

DESCRIPTION

Laporan mata kuliah embedded system

TRANSCRIPT

Page 1: laporan embedded Modul 4.docx

Laporan Praktikum

SISTEM TERTANAM Modul 4

“INTERRUPT”

Kelas : TEK 3A Praktikum 2

Nama : Novitri Malini

NIM : J3D111099

PROGRAM KEAHLIAN TEKNIK KOMPUTER

PROGRAM DIPLOMA

INSTITUT PERTANIAN BOGOR

BOGOR

2013

Page 2: laporan embedded Modul 4.docx

Praktikum Sistem Tertanam Interrupt

1. TUJUAN PRAKTIKUMPraktikum 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 PERCOBAAN1) 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) menggunakankabel 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.

a. Program 1:

Program Keahlian Teknik Komputer Halaman 1Direktorat Program Diploma-Institut Pertanian Bogor

Page 3: laporan embedded Modul 4.docx

Praktikum Sistem Tertanam Interrupt

Ketiklah program berikut ini, assemble, download ke DT-51 MinSys, dan amati hasilnya:

$mod51CSEGORG 4000HLJMP STARTORG 4003HRL AMOV P1,AMOV R7, #04H

LUPA: MOV R6, #0FFHLUPB: MOV R5, #0FFH

DJNZ R5, $DJNZ R6, LUPBDJNZ R7, LUPARETIORG 4200H

;inisialisasiSTART: MOV SP, #30H

MOV TCON,#01HMOV A,#01HMOV P1, #01HMOV IE, #81HSJMP $END

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) berlogika’1’, sehingga TCON bernilai ‘00000001b’ atau ‘01h’.

Untuk mengaktifkan interrupt, maka EX0 (IE,0) dan EA (IE,7) berlogika ‘1’ sehingga IE bernilai ‘10000001b’atau’81h’.Perhatikan bahwa pada saat interrupt, program akan melompat ke alamat vektor 0003h, tetapi oleh DT-51 MinSys akan langsung berpindah ke alamat 4003h.

Program Keahlian Teknik Komputer Halaman 2Direktorat Program Diploma-Institut Pertanian Bogor

Page 4: laporan embedded Modul 4.docx

Praktikum Sistem Tertanam Interrupt

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

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

Program Keahlian Teknik Komputer Halaman 3Direktorat Program Diploma-Institut Pertanian Bogor

Page 5: laporan embedded Modul 4.docx

Praktikum Sistem Tertanam Interrupt

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 DT-51.

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

Gambar 5 Proses Download file Latihan Mandiri 1.hex

Program Keahlian Teknik Komputer Halaman 4Direktorat Program Diploma-Institut Pertanian Bogor

Gambar 4 Mendownload Latihan Mandiri 1.hex

Page 6: laporan embedded Modul 4.docx

Praktikum Sistem Tertanam Interrupt

2) Percobaan II: Penggunaan INT1 dengan Interrupt DisablePersiapan:

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 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:

$mod51CSEGORG 4000HLJMP START

ORG 4013HINTER1: RL A

MOV P1,AMOV R7,#04H

LUPA: MOV R6,#0FFHLUB: MOV R5,#0FFH

DJNZ R5,$DJNZ R6,LUPBDJNZ R7,LUPALJMP LOOP

ORG 4050H;inisialisasiSTART: MOV SP,#30H

SETB ITIMOV A,#01HMOV P1,#01HCLR IE1

LOOP: JBC IE1,INTER1

Program Keahlian Teknik Komputer Halaman 5Direktorat Program Diploma-Institut Pertanian Bogor

Page 7: laporan embedded Modul 4.docx

Praktikum Sistem Tertanam Interrupt

SJMP LOOPEND

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.

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.

Program Keahlian Teknik Komputer Halaman 6Direktorat Program Diploma-Institut Pertanian Bogor

Page 8: laporan embedded Modul 4.docx

Praktikum Sistem Tertanam Interrupt

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

Gambar 7 Pengubahan LatMan3.asm menjadi .exe

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

Program Keahlian Teknik Komputer Halaman 7Direktorat Program Diploma-Institut Pertanian Bogor

Page 9: laporan embedded Modul 4.docx

Praktikum Sistem Tertanam Interrupt

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.

3) Percobaan III: Penggunaan INT0 dan INT1 dengan Interrupt Priority 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

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:

Program Keahlian Teknik Komputer Halaman 8Direktorat Program Diploma-Institut Pertanian Bogor

Gambar 9 Mendownload LatMan3.hex

Page 10: laporan embedded Modul 4.docx

Praktikum Sistem Tertanam Interrupt

Ketiklah program berikut ini,assemble,download ke DT-51 MinSys,dan amati hasilnya:

$mod51CSEGORG 4000HLJMP START

ORG 4003HLJMP INTER0

ORG 4013HLJMP INTER1

ORG 4100HINTER0: MOV P1,#0H

SETB P1,0LCALL LDELAYCLR P1,0RETI

INTER1: MOV P1,#0HSETB P1,7LCALL LDELAYCLR P1,7RETI

ORG 4200HLDELAY:PUSH 7

PUSH 6PUSH 5MOV R7,#24H

LUPA: MOV R6,#0FFHLUPB: MOV R5,#0FFH

DJNZ R5,$DJNZ R6,LUPBDJNZ R7,LUPAPOP 6POP 7RET

$DELAY: PUSH 7

Program Keahlian Teknik Komputer Halaman 9Direktorat Program Diploma-Institut Pertanian Bogor

Page 11: laporan embedded Modul 4.docx

Praktikum Sistem Tertanam Interrupt

PUSH 6PUSH 5MOV R7,#04H

LUP1: MOV R6,#0FFHLUP2: MOV R5,#0FFH

DJNZ R5,$DJNZ R6,LUP2DJNZ R7,LUP1POP 5POP 6POP 7RET

;inisialisasiSTART: MOV SP,#30H

MOV TCON,#05HMOV IP,#04HMOV IE,#85H

;program utamaLOOP1: MOV P1,#01010101B

ACALL DELAYMOV P1,#10101010BACALL SDELAYSJMP LOOP1END

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’.

Program Keahlian Teknik Komputer Halaman 10Direktorat Program Diploma-Institut Pertanian Bogor

Page 12: laporan embedded Modul 4.docx

Praktikum Sistem Tertanam Interrupt

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 0”akan 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’.

- 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 ‘0Aah’dan ‘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 :

Program Keahlian Teknik Komputer Halaman 11Direktorat Program Diploma-Institut Pertanian Bogor

Page 13: laporan embedded Modul 4.docx

Praktikum Sistem Tertanam Interrupt

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

Gambar 11 Pengubahan LatMan3.asm menjadi .exe

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

Program Keahlian Teknik Komputer Halaman 12Direktorat Program Diploma-Institut Pertanian Bogor

Page 14: laporan embedded Modul 4.docx

Praktikum Sistem Tertanam Interrupt

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.

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’.

Program Keahlian Teknik Komputer Halaman 13Direktorat Program Diploma-Institut Pertanian Bogor

Gambar 13 Mendownload LatMan3.hex

Page 15: laporan embedded Modul 4.docx

Praktikum Sistem Tertanam Interrupt

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

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.

Program Keahlian Teknik Komputer Halaman 14Direktorat Program Diploma-Institut Pertanian Bogor

Page 16: laporan embedded Modul 4.docx

Praktikum Sistem Tertanam Interrupt

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.

LAMPIRAN

Program Keahlian Teknik Komputer Halaman 15Direktorat Program Diploma-Institut Pertanian Bogor

Page 17: laporan embedded Modul 4.docx

Praktikum Sistem Tertanam Interrupt

Program Keahlian Teknik Komputer Halaman 16Direktorat Program Diploma-Institut Pertanian Bogor

Page 18: laporan embedded Modul 4.docx

Praktikum Sistem Tertanam Interrupt

Program Keahlian Teknik Komputer Halaman 17Direktorat Program Diploma-Institut Pertanian Bogor