laporan embedded modul 4.docx
DESCRIPTION
Laporan mata kuliah embedded systemTRANSCRIPT
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Praktikum Sistem Tertanam Interrupt
Program Keahlian Teknik Komputer Halaman 16Direktorat Program Diploma-Institut Pertanian Bogor
Praktikum Sistem Tertanam Interrupt
Program Keahlian Teknik Komputer Halaman 17Direktorat Program Diploma-Institut Pertanian Bogor