Posted by : Rukhsotul Hikmah Minggu, 05 Januari 2014



Pada pembahasan sebalumna, kita telah membahas konfigurasi contoh penggunaan Interupsi secara hardware. Kali ini kita akan membahas persiapan secara program, dalam artian pada pembahasan kali ini kita akan membahas konfigurasi program yang harus kita ketahui sebelum membuat program interupsi.  
  1. JENIS-JENIS INTERUPSI PADA DT-51
Pada mikrokontroler DT-51 terdapat 5 jenis interupsi yang berlaku yaitu Reset (beralamatkan 00H-02H), Interupsi0 (beralamatkan 03H-0AH), Timer0 (beralamatkan 0BH-12H), Interupsi1 (beralamatkan 13H-1AH), Timer1(1BH-....) dan terakhir interupsi serial (beralamatkan 23H).
Gambar 1. Range alamat Interupsi

     2. REGISTER-REGISTER YANG DIGUNAKAN UNTUK INTERUPSI

Dalam pembuatan perintah-perintah interupsi ada beberapa register dari DT-51 yang harus digunakan atau diatur, diantaranya adalah sebagai berikut:

  • Register IE (Interupt Enable)

Gambar 2. Konfigurasi Interupsi Enable  

 Register IE dapat menampung 8 Bit data dimulai dari LSB (Last Significant Bit) hingga MSB (Most Significant Bit). EX0/1 (Interupsi Eksternal 0 / 1), ET 0/1 (Interupsi Timer 0 / 1), ES (Interupsi serial), EA (Enabled All). Untuk memberikan interupsi maka jenis-jenis interupsi tersebut harus bernilai 1 dan EA harus bernilai 1 juga.  Contoh : Misalkan kita akan mengaktifkan interupsi yang berasal dari Interupsi Eksternal 0 maka IE harus bernilai 10000001b atau 81H (EA =1, EX0=1, lainnya=0), contoh lain : misal kita ingin mengaktifkan interupsi berasal dari Interupsi Eksternal 0 dan Interupsi Timer 1 maka IE harus bernilai 10001001b atau 89h (EA=1, ET1=1, EX0=1 lainnya=0).

  • IP (Interupt Priority)
Gambar 3. Skema Register IP
 Register ini berguna untuk menentukan prioritas dari suatu interupsi jika terdapat lebih dari 1 interupsi yang terjadi secara bersamaan. Interupsi tertinggi prioritasnya maka diberi nilai 1, namun secara default Interupsi reset merupakan interupsi dengan prioritas tertinggi, dengan kata lain jika suatu saat terdapat proses yang sedang berjalan tiba-tiba terjadi interupsi reset maka mau-tidak mau program akan dikembalikan ke alamat 00H (alamat reset). PX0 / 1 = Interupsi eksternal 0 / 1, PT0 / 1 / 2 =  Interupsi Timer 0 / 1 / 2 dan PS  = Interupsi Serial. Untuk contoh sebelumnya  jika terjadi interupsi dari Interupsi Eksternal 0 dan Interupsi Timer 1 hal tersebutlah yang dikatakan interupsi yang lebih dari satu jenis, dengan demikian maka salah satu ineterupsi harus memiliki prioritas tertinggi, misal dalam kasus tersebut interupsi eksternal 0 memiliki prioritas tertinggi maka register IP bernilai 00000001b atau 01H (PX0=1, lainnya = 0).

  • TCON
Register ini berfungsi untuk mengkonfigurasi jenis pemicu interupsi. Pada dasarnya terdapat 2 jenis pemicu interupsi yaitu perpindahan dari 1 ke 0 dan yang ke-2 adalah jika mendapat inputan 0.
Gambar 4. Perpindahan 1 ke 0        

Jika jenis pemicu adalah perpindahan dari 1 ke 0 maka bit interupsi dari TCON diberi nilai 1 namun jika interupsi adalah inputan 0 maka bit interupsi TCON diberi nilai 0. Misalkan seperti contoh sebelumnya, pemicu interupsi 0 adalah adalah jika mendapat inputan 0 dan Timer1 pemicunyanya adalah perpindahan dari 1 ke 0 maka nilai TCON adalah 00001000b atau 08H (TCON Interupsi Timer 1 = 1 dan TCON Interupsi Eksternal 0 = 0).


Saya kira untuk posttingan kali ini cukup sampai konfigurasi Register saja, pada postingan berikutnya akan dibahas program interupsinya secara detail.
Terima kasih,

Leave a Reply

Subscribe to Posts | Subscribe to Comments

- Copyright © 2025 Berbagi Ilmu - Metrominimalist - Powered by Blogger - Designed by Johanes Djogan -