Rancang interupt dan Buat Program ISR untuk Timer 1


Ini merupakan program ISR dengan menggunakan penguji Edsim51 yang memanfaatkan interupt dan dan menggunakjan Timer 1.

  
      ORG  0000h       ;alamat pertama setelah reset
             LJMP MULAI       ;Lompati Interupt Vector Table
             ORG  001Bh      ;Interupt Vector Table untuk Timer-1
             CPL  P1.2
             MOV  TL0,#00h   ;Re-load  nilai Low-Byte
             MOV  TH0,#0DCh  ;Re-load  nilai High-Byte
             RETI            ;Akhir dari ISR
;———————————————————–
;—– Program Utama mulai dari sini
             ORG  0030h      ;Alamat bebas dari vektor table
MULAI:       MOV  TMOD,#10h  ;Timer-1, Mode-2
             MOV  TL0,#00h
             MOV  TH0,#0DCh
             MOV  IE,#80h    ;IE=10000010b utk interupsi Timer-0
             SETB TR1       ;Jalankan Timer
ULANG:       MOV  A,P0       ;Ambil data dari Port 0
             MOV  P1,A       ;Kirim data ke Port 1
             SJMP ULANG      ;Lompat ke ULANG, untuk terus mengulang
;—– IST Timer-1. Harus di-reload karena Timer pakai Mode-1
ISR_T1:      CLR TR1         ;Matikan Timer
             CLR P2.1        ;P2.1=0, mulai bagian rendah
             MOV R2,#4       ;                           2MC
TUNGGU:      DJNZ R2,TUNGGU  ;  4 x 2 siklus Mesin (MC)  8MC
             MOV TL1,#018h   ;Re-load  nilai Low-Byte    2MC
             MOV TH1,#0FCh   ;Re-load  nilai High-Byte   2MC
             SetB TR1        ;Jalankan lagi Timer-1      1MC
             SetB P2.1       ;P2.1=1, kembali (1s)       1MC
             RETI            ;Akhir dari ISR
             END

Belum ada Komentar untuk "Rancang interupt dan Buat Program ISR untuk Timer 1"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel