Interrupt By Kustanto S T M Eng Pengertian
Interrupt By Kustanto, S. T. , M. Eng
Pengertian • Interupsi adalah suatu permintaan khusus kepada mikroposesor untuk melakukan sesuatu. Bila terjadi interupsi, maka komputer akan menghentikan dahulu apa yang sedang dikerjakannya dan melakukan apa yang diminta oleh yang menginterupsi. • Register yang perlu diset: TCON, IE
Fungsi khusus port 3 Port Fungsi Khusus P 3. 0 RXD (masukan port serial (UART)) P 3. 1 TXD ( keluaran port serial (UART)) P 3. 2 INT 0 (masukan interupsi luar 0) P 3. 3 INT 1 (masukan interupsi luar 1) P 3. 4 T 0 (masukan luar Timer/Counter 0) P 3. 5 T 1 (Masukan Timer/Counter 1) P 3. 6 WR (pulsa penulisan data memori luar) P 3. 7 RD (pulsa pembacaan data memori luar)
Alamat layanan rutin interupsi. Nama interupsi Alamat vektor Flag INT 0 03 H IE 0 Timer 0 0 BH TF 0 INT 1 13 H IE 1 Timer 1 1 BH TF 1 Port serial 23 H RI atau TI Timer 2 2 BH TF 2 atau EXF 2 Reset 00 H RST
Untuk mengaktifkan dan menon aktifkan interupsi. IE (Interupsi Enable Register) MSB EA LSB - ET 2 ES ET 1 EX 1 ET 0 EX 0 : Susunan bit dalam register IE. Simbol Posisi Fungsi EA IE. 7 Bit pengaktif interupsi global - IE. 6 Cadangan ET 2 IE. 5 Bit pengaktif interupsi timer 2 ES IE. 4 Bit pengaktif interupsi serial port ET 1 IE. 3 Bit pengaktif interupsi timer 1 EX 1 IE. 2 Bit pengaktif interupsi luar 1 (INT 1) ET 0 IE. 1 Bit pengaktif interupsi timer 0
MSB LSB TF 1 TR 1 TF 0 TR 0 IE 1 IT 1 IE 0 IT 0 Susunan bit dalam register TCON. Simbol Keterangan TF 1 Timer 1 Overflow, diset oleh mikrokontroler jika hitungan timer 1 melimpah (overflow) TR 1 Timer 1 run, jika bit ini diset maka timer 1 on, jika bit ini diclear maka timer 1 off (berhenti) TF 0 Timer 0 overflow, bit ini diset oleh mikrokontroler saat timer 0 melimpah. TR 0 Timer 0 run, jika bit ini diset maka timer 0 on, jika bit ini diclear maka timer 0 off (berhenti) IE 1 Interupt 1 edge flag. Diset oleh hardware jika sisi suatu interupsi luar terdeteksi. Diclear jika instruksi RETI dijalankan. IT 1 Interupt 1 type. Berhubungan dengan interupsi luar 1. fungsinya sama dengan IT 0 IE 0 Interupt 0 edge flag. Diset oleh hardware jika sisi suatu interupsi luar terdeteksi. Diclear jika instruksi RETI dijalankan. IT 0 Interupt 0 type. Interupsi luar 0 diterima melalui bit 2 pada port 3. Jika bit ini diset, maka INT 0 dikenali pasisi turun sinyal. Jika diclear maka suatu interupsi akan dikenali pada saat suatu sinyal berlogika rendah.
• • • • $mod 51 org 00 h loop: mov r 0, #08 mov dptr, #tabel_led loop 1: clr a movc a, @a+dptr mov p 0, a inc dptr call tunda djnz r 0, loop 1 sjmp loop • • tunda: • • • tabel_led: lupa: lupb: mov r 7, #02 h mov r 6, #33 h mov r 5, #22 h djnz r 5, $ djnz r 6, lupb djnz r 7, lupa ret db db 11111100 b 11111001 b 11110011 b 11100111 b 11001111 b 10011111 b 00111111 b 01111110 b
Contoh Program $mod 51 org 0000 h ljmp start loop 1: loop 2: org 003 h ; alamat vektor interrupt 0 rl a mov p 0, a mov r 7, #04 h mov r 6, #0 ffh mov r 5, #0 ffh djnz r 5, $ djnz r 6, loop 2 djnz r 7, loop 1 reti org 0200 h start: mov p 3, #0 ffh mov tcon, #01 h ; TCON diset 01 h mov a, #01 h mov p 0, #01 h mov ie, #81 h ; IE diset 81 h sjmp $ end
- Slides: 8