Page 88 - MODUL MIKROKONTROLER
P. 88
Karena sumber interupsi eksternal hanya akan dilihat sekali setiap satu siklus mesin (12
clock), maka harus dibuat bahwa interupsi eksternal menahan level 0 paling tidak selama
12 clock untuk menjamin interupsi eksternal telah dilihat. Jika interupsi eksternal
aktif pada transisi negatif, maka sumber interupsi internal harus menahan level 1
selama 12 clock dan mengubah ke 0 kemudian menahan selama 12 clock untuk
menjamin interupsi transisi negatif telah dilihat. Bit flag IEx akan di-clear ke 0 lagi oleh
hardware ketika layanan interupsi dipanggil untuk dikerjakan.
Jika interupsi eksternal aktif pada level rendah, sumber eksternal tersebut harus menahan
level rendah itu sampai permintaan interupsi dihasilkan yang ditandai dengan bit flag
IEx diset 1. Setelah IEx = 1, sumber eksternal tersebut harus dibuat ke 1 lagi (menon-
aktifkan interupsi) sebelum pengerjaan layanan interupsi diselesaikan atau sebelum
interupsi dari sumber lainnya muncul.
B. Pemakaian Timer Interrupt Saat Terjadi Timer Overflow
Timer/Counter dalam mikrokontroler merupakan fasilitas yang salah satu fungsinya dapat
digunakan sebagai pewaktu atau cacahan suatu event. Sumber clock atau pemicau dapat
dibangkitkan dari sinyal eksternal maupun internal.
Jika sumber sinyal pemicu atau clock berasal dari internal maka Timer/Counter berfungsi
sebagai pewaktu atau timer dan jika sumber sinyal berasal dari luar maka disebut sebagai
pencacah atau counter.
Mikrokontroler ATMega16 memiliki 3 buah timer yaitu Timer0, Timer1 dan Timer2.
Timer0 dan Timer2 memiliki kapasitas 8-bit sedangkan Timer1 memiliki kapasitas 16-
bit.
• Timer 8-bit adalah pewaktu yang bisa mencacah atau menghitung hingga maksimal
nilai 0xFF heksa (dalam biner = 11111111).
• Timer 16-bit sama seperti timer 8-bit, hanya saja nilai maksimalnya mencapai 0Xffff
74