Register TMOD TimerCounter Interrupt Mode 0 : 13-bit TimerCounter Timer Mode 1. 16-bit TimerCounter

untuk mengaktifkan external interrupt 1 yang dipicu oleh sisi turun sinyal falling edgetransisi high ke low. Clear oleh program untuk mengaktifkan sinyal low pada external interrupt 1 untuk menghasilkan sebuah interrupt. 1 IE0 External interrupt 0 edge flag. Set 1 pada saat transisi sinyal high ke low diterima oleh port3 pin 3.2 INT0. Clear saat prosesor mengeksekusi interrupt service routine pada address 0003h.Tidak terkait dengan operasi timer. IT0 External interrupt 0 signal type control bit. Set 1 oleh program untuk mengaktifkan external interrupt 0 yang dipicu oleh sisi turun sinyal falling edgetransisi high ke low. Clear oleh program untuk mengaktifkan sinyal low pada external interrupt 0 untuk menghasilkan sebuah interrupt.

D. Register TMOD

Gambar 2.7 TMOD Timer Mode Special Function Register Keterangan : Tabel 2.3 TMOD Timer Mode Special Function Register Bit Symbol Fuction 73 Gate OR gate enable bit. Mengendalikan RUNSTOP timer 10. Set oleh program untuk mengaktifkan timer RUN jika bit TR10 pada TCON=1 dan sinyal pada pin INT01 high. Clear oleh program untuk mengaktifkan timerR UN jika bit TR10 pada TCON=1. 62 CT Set oleh program untuk membuat time1r 0 berfungsi sebagai counter yang akan menghitung pulsa eksternal pada pin3 .5 T1 atau 3.4 T0. Clear oleh program untuk membuat timer1 0 berfungsi sebagai timer yang akan menghitung pulsa clock intern.al 51 M1 Timercounter operating mode select bit . Setclear oleh program untuk memilih mode 40 M0 Timercounter operating mode select bit . Setclear oleh program untuk memilih mode

E. TimerCounter Interrupt

TimerCounter pada AT89S51 adalah sebuah Up Counter, nilai counternya akan naik increment dari nilai awalnya sampai nilai maksimumnya dan kembali ke nilai nol. Saat bergulir menjadi nol overflow, maka sebuah timer flag akan bernilai 1. Flag ini dapat diuji oleh program untuk menandakan bahwa counter telah selesai menghitung, atau flag tersebut bisa digunakan untuk meng-interrupt program. Nilai awal timercounter harus dimasukkan dulu ke dalam timer register Timer High TH dan Timer Low TL sebelum timercounter dijalankan. Gambar 2.8 16-Bit Up Counter Gambar 2.9 Mode Operasi Timer Pemilihan mode operasi timer ditentukan pada bit M1 dan M0 dalam register TMOD. Ada 4 mode operasi yaitu :

A. Mode 0 : 13-bit TimerCounter

Dengan mensetting M1M0 = 00 dalam TMOD menyebabkan register THx berfungsi sebagai counter 8 bit dan register TLx berfungsi sebagai counter 5 bit. Ketika overflow, TF1x akan 1. Nilai maksimumnya adalah 8191d atau 1FFFh.

B. Timer Mode 1. 16-bit TimerCounter

Register THx dan TLx masing-masing berfungsi sebagai counter 8 bit. Ketika overflow, TF1x akan 1 .Nilai maksimumnya adalah 65535d atau FFFFh.

C. Timer Mode 2. 8-bit Autoreload TimerCounter