- Back to Home »
- Hardware »
- Contoh Penggunaan Interupsi pada Modul DT-51 (Part-3)
Posted by :
Rukhsotul Hikmah
Senin, 13 Januari 2014
Pada pembahasan sebelumnya telah dibahas pengaturan-pengaturan dasar pada modul DT51 beserta konfigurasi dari sisi source code nya. Sepeerti yang dijanjikan sebelumnya, untuk postingan kali ini akan dibahas tentang contoh programnya.
CONTOH INTERUPSI BERASAL DARI INT 0
$mod51 ;memuat library DT51
CSEG
ORG 4000H ;alamat mula pada DT51/ alamat awal pada modul trainer DT51
LJMP START ;melompat ke label start
CSEG
ORG 4000H ;alamat mula pada DT51/ alamat awal pada modul trainer DT51
LJMP START ;melompat ke label start
ORG 4003H ;alamat interupsi INT eksternal 0
RL A ;menggeser Byte dari Accumulator 1 langkah ke kiri
MOV P1, A ; menampikan nilai pada Accumulator pada P1
MOV R7, #04H
LUPA: MOV R6, #0FFH
LUPB: MOV R5, #0FFH
DJNZ R5, $
DJNZ R6, LUPB
DJNZ R7, LUPA
RETI ; Ret from interupt / kembali dari interupt
RL A ;menggeser Byte dari Accumulator 1 langkah ke kiri
MOV P1, A ; menampikan nilai pada Accumulator pada P1
MOV R7, #04H
LUPA: MOV R6, #0FFH
LUPB: MOV R5, #0FFH
DJNZ R5, $
DJNZ R6, LUPB
DJNZ R7, LUPA
RETI ; Ret from interupt / kembali dari interupt
ORG 4200H ;alamat mulainya program
;inisialisasi
START: MOV SP, #30H
MOV TCON, #01H ;00000001B
MOV A, #01H ;00000001B
MOV P1, #01H ;00000001B
MOV IE, #81H ;10000001B
SJMP $ ;
END
;inisialisasi
START: MOV SP, #30H
MOV TCON, #01H ;00000001B
MOV A, #01H ;00000001B
MOV P1, #01H ;00000001B
MOV IE, #81H ;10000001B
SJMP $ ;
END
Jika sudah yakin tidak ada kesalahan dalam penulisan program, maka compile source code tersebut sehingga menghasilkan file *.hex. Selanjutnya load file hex tersebut ke microcontroler. Jika perintah tersebut dijalankan oleh mikrokontroler maka yang akan dihasilkan adalah jika tombol interupsi ditekan maka nyala lampu led akan bergeser 1 langkah ke kiri.
Saya kira pembahasan mengenai interupsi pada mikrokontroler saya cukupkan sampai di sini, jika masih belum bisa dipahami, bisa comment saja sob...