Timer/Counter
Pemakaian timer/counter melalui register TMOD dan TCON. Register data counter
terdiri dari masing-masing dua byte, yaitu :
Mode Operasi
Timer/counter dapat dioperasikan dalam 4 mode. Pengaturan mode ini melalui bit-bit
M1 dan M0 pada register TMOD. Fungsi timer mencacah pulsa clock internal dengan
frekuensi 1/12 frekuensi oscilator, sedangkan fungsi counter mencacah pulsa clock
eksternal melalui pin T0, T1 dan T2.
Pada Mode 0 timer 1 bekerja dengan lebar data 13 bit, terdiri dari 8 bit tinggi pada
register TH1 dan 5 bit rendah pada register TL1. Bit tertinggi sejumlah 3 pada register
TL1 tidak dipergunakan dan isinya acak. Pada saat pencacahan mencapai data 07FFH
(semua bit pada register timer 13 bit adalah 1) maka pada pencacahan berikutnya data
pencacahan menjadi 0000H (terjadi overflow). Disaat kondisi ini terjadi timer 1 menset
flag interrupt TF1 pada register SCON. Untuk mengaktifkan pencacahan pada timer 1,
ada dua metode yang bisa dilakukan yaitu :
Pada Mode 1 timer bekerja dengan lebar data 16 bit. Pengaturan dan metode kerjanya
sama dengan Mode 0.
Pada Mode 2 timer 1 bekerja dengan lebar data 8 bit pada register TL1. Register TH1
diisi dengan data yang akan otomasit dimuat ke TL1 sebagai harga awal setelah terjadi
overflow. Overflow sebagaimana pada mode 0 dan 1 akan menset bit TF1 pada register
TCON. Pengaturan yang dilakukan pada timer 0 adalah identik dengan pengaturan pada
timer 1.
Timer 1 pada mode 3 berada pada posisi hold (menggenggam) register pencacahannya
dan berhenti bekerja. Sedangkan timer 0 bekerja sebagai dua buah timer 8 bit, masing-
masing adalah TH0 dan TL0. Pengaturan timer TL0 adalah melalui bit TR0 dan bit TF0
akan diset jika terjadi overflow. Pada timer TH0 pengaturannya adalah melalui bit TR1,
dengan bit TF1 akan diset jika overflow.
Jika timer 0 bekerja dengan mode 3, maka timer 1 dapat bekerja dengan mode 0, 1 atau
2 kecuali dengan kondisi TF1 tidak dapat diset oleh timer 1 jika terjadi overflow, karena
TF1 diset oleh timer TH0.
EVALUASI
SOAL
KUNCI JAWABAN