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
   83   84   85   86   87   88   89   90   91   92   93