1 / 12

INTERUPSI/INTERRUPT

INTERUPSI/INTERRUPT Interupsi adalah suatu kejadian/peristiwa yang menyebabkan mikrokontroller berhenti sejenak untuk melayani interupsi tersebut dengan menjalankan program yang berada pada alamat yang ditunjuk

dale
Download Presentation

INTERUPSI/INTERRUPT

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. INTERUPSI/INTERRUPT Interupsi adalah suatu kejadian/peristiwa yang menyebabkan mikrokontroller berhenti sejenak untuk melayani interupsi tersebut dengan menjalankan program yang berada pada alamat yang ditunjuk oleh vektor/lokasi dari interupsi yang terjadi hingga selesai dan kembali meneruskan program yang terhenti oleh interupsi tadi.

  2. Program yang dijalankan pada saat melayani interupsi disebut Interrupt Service Routine ( Rutin Layanan Interupsi )

  3. Interupsi pada MCS-51 dibedakan dalam 2 jenis • Interupsi yang tidak dapat dihalangi oleh perangkat lunak ( Non Maskable Interrupt ) misal : RESET 2. Interupsi yang dapat dihalangi oleh perangkat lunak ( Maskable Interrupt ) misal : INT0 , INT1 , ( Eksternal ) T0 (Timer0) , T1 (Timer1) – Interupsi dari port Serial ( Internal )

  4. Prioritas interupsi pada kondisi standart Interupsi yang mempunyai prioritas interupsi lebih tinggi, tidak dapat diinterupsi oleh interupsi yang mempunyai prioritas lebih rendah.

  5. Pengaktif Interupsi Pengaturan keaktifan interupsi dilakukan pada Register Interrupt Enable / Register IE (Register Pengaktif Interupsi) yang terletak di memory internal A8H A8H IE.7 IE.6 IE.5 IE.4 IE.3 IE.2 IE.1 IE.0 Ket. EA : Menonaktifkan semua interupsi jika bit ini clear ( berisi 0 ). Bila ada interupsi yang akan diaktifkan maka bit ini harus set ( berisi 1 ) ES : Untuk interupsi port Serial, 1 = Aktif , 0 = Nonaktif ET1 : Untuk interupsi T1 (Timer 1), 1 = Aktif , 0 = Nonaktif

  6. EX1 : Untuk interupsi Eksternal 1 ( INT1 ), 1 = Aktif , 0 = Nonaktif ET0 : Untuk interupsi T0 (Timer 0), 1 = Aktif , 0 = Nonaktif EX0 : Untuk interupsi Eksternal 0 ( INT0 ) , 1 = Aktif , 0 = Nonaktif Prioritas interupsi Pada aplikasi yang menggunakan lebih dari satu interupsi,dapat saja terjadi interupsi lain pada saat sebuah rutin interupsi sedang dijalankan. Untuk menentukan apakah sebuah interupsi dapat menginterupsi saat sebuah rutin interupsi lain sedang berjalan bergantung pada prioritas dari interupsi tersebut.

  7. B8H Prioritas interupsi standart tersebut dapat diubah dengan melakukan inisialisasi pada Register Interrupt Priority ( IP ) yang berada di alamat B8H IP.7 IP.6 IP.5 IP.4 IP.3 IP.2 IP.1 IP.0 PT2 : Priority Timer 2 Interrupt, bit yang mengatur prioritas interupsi timer 2 ( untuk type AT89C52 ) PS : Priority Serial Interrupt, bit yang mengatur prioritas interupsi serial PT1 : Priority Timer 1 Interrupt, bit yang mengatur prioritas interupsi timer 1 PX1 : Priority Eksternal 1 Interrupt, bit yang mengatur prioritas interupsi eksternal 1 PT0 : Priority Timer 0 Interrupt, bit yang mengatur prioritas interupsi timer 0 PX0 : Priority Eksternal 0 Interrupt, bit yang mengatur prioritas interupsi eksternal 0

  8. Timer Control Register ( TCON ) Register TCON mempunyai 4 bit yg berhubungan langsung dengan Timer yaitu : TCON.4 , TCON.5 , TCON.6 , TCON.7 Sedangkan 4 bit yang lain berhubungan dengan interrupt yaitu : TCON.3 , TCON.2 , TCON.1 , TCON.0 Dapat diakses secara bit ( bit addressable ) Register T I M E R Register Interrupt 88H TCON.7 (TF1) : Timer 1 Overflag yang akan diset jika timer overflow Bit ini dapat di-clear oleh software atau hardware. TCON.6 (TR1): 1 = Timer 1 Aktif 0 = Timer 1 Nonaktif TCON.5 (TF0) : Timer 1 Overflag yang akan diset jika timer overflow Bit ini dapat di-clear oleh software atau hardware. TCON.4 (TR0) : 1 = Timer 0 Aktif 0 = Timer 0 Nonaktif

  9. Vektor/Lokasi Interupsi Vektor/Lokasi interupsi adalah nilai yang disimpan ke program Counter (PC) pada saat terjadi interupsi sehingga program akan menuju ke alamat yang ditunjukkan oleh program counter (PC). Vektor/Lokasi Interupsi

  10. Masing-masing alamat lokasi interupsi mempunyai jarak yang berdekatan, sehingga apabila kedua interupsi yang jaraknya berdekatan tersebut akan difungsikan harus dilakukan triktrik program sebagai berikut: ORG 00H INT_0: ……. LJMP START ……. ORG 03H ……. LJMP INT_0 ……. ORG 13H RETI LJMP INT_1 INT_1: ……. ORG 100H ……. START: ……. ……. Setb IE.7 RETI Setb IE.2 ……. Setb IE.1 END ……. ( RETI = Return Interrupt )

  11. Contoh program interrupt org 4000h sjmp start org 4003h mov p1,#0ffh call delay mov p1,#00h call delay reti ; org 4100h start: mov tcon,#01h mov ie,#81h mov p1,#0aah

  12. Delay: mov r5,#0ffh Loop1: mov r6,#0ffh Loop2: djnz r6,loop2 djnz r5,loop1 ret end

More Related