89s51 in ACTION as COUNTER or TIMER
Gambar 4.3. Fungsi sebagai counter atau timer
Pada gambar 4.3. tampak bahwa mikrokontroler dapat difungsikan sebagai timer atau counter sesuai dengan kebutuhan. Pertanyaan yang mendasar adalah apa yang harus kita lakukan agar mikrokontroler dapat berfungsi sebagai timer atau counter ?. Yang perlu anda perhatikan sekarang adalah mengamati bagan rangkaian pada saklar S1 dan S2. Untuk memanfaatkan mikrokontroler sebagai timer, maka tuas saklar harus diposisikan ke atas, sehingga clock akan melewati saklar S1 menuju S2. Clock dapat dihitung oleh counter 16 bit bila posisi saklar S2 closed. Overflow dari counter 16 bit akan terjadi bila isi register counter telah penuh 1111111111111111 b.
Mikrokontroler akan berkerja sebagai counter bila saklar S1 diposisikan ke bawah, sehingga clock yang melalui saklar S1 menuju S2 berasal dari clock eksternal, seperti halnya pada fungsi timer maka saklar S2 harus diposisikan ke closed.
Lebih jauh lagi, posisi dari saklar S1 dapat dikendalikan oleh BIT C/T pada register TMOD, bila BIT C/T = 0, maka saklar akan berada pada posisi UP yang berarti akan berfungsi sebagai TIMER dan sebaliknya bila BIT C/T = 1, maka mikrokontroler akan berfungsi sebagai COUNTER.
Posisi saklar S2 apakah closed atau open, bergantung pada tiga BIT yaitu: GATE ( Register TMOD ), TR1 ( Register TCON ) dan INT1.
Tabel 4.1. Register TMOD
TIMER-COUNTER 1 | TIMER-COUNTER 0 | ||||||
GATE | C/T | M1 | M0 | GATE | C/T | M1 | M0 |
Pada tabel register TMOD dapat kita lihat, terpisah menjadi dua bagian yaitu Timer-Counter1 dan Timer-Counter 0.
Gate : Berfungsi untuk mengaktifkan pin INTx. Gate = 0, maka INTx tidak akan berfungsi
sebaliknya bila Gate = 1, maka INTx akan berfungsi.
C/T : Untuk pemilihan fungsi sebagai counter atau timer. C/T = 0, maka akan bekerja
sebagai Timer, C/T = 1 maka akan bekerja sebagai counter.
Tabel 4.2. Mode pada Timer-Counter
M1 | M0 | FUNGSI |
0 | 0 | Mode 0 : Timer-counter 13 bit |
0 | 1 | Mode 1 : Timer-counter 16 bit |
1 | 0 | Mode 2 : 8 bit Timer-counter autorelaod. THx berfungsi menerima data yang akan diloadkan ke register TLx, setiap TLx overflow. |
1 | 1 | Mode 3 : 8 bit Timer-counter dengan TL0, dan TH0 sebagai 8 bit timer yang dikontrol dengan Timer 1 |
Tabel 4.3. Register TCON
TIMER 1 | TIMER 0 | TIMER 1 | TIMER 0 | ||||
TCON.7 | TCON.6 | TCON.5 | TCON.4 | TCON.3 | TCON.2 | TCON.1 | TCON.0 |
TF1 | TR1 | TF0 | TR0 | IE1 | IT1 | IE0 | IT0 |
Tabel 4.4. Fungsi Bit Register TCON
BIT | FUNGSI |
TF1 | Timer1 overflow flag. Diset oleh hardware pada saat timer-counter overflow. Clear secara hardware atau software |
TR1 | Bit pengatur bekerjanya Timer1.Set/ Clear dilakukan secara software untuk ON-OFF Timer Counter. |
TF0 | Idem untuk timer 0 |
TR0 | Idem untuk timer 0 |
IE1 | Interupt Enable 1 edge flag.Set/ Clear oleh hardware ketika eksternal interupsi sisi terdeteksi, dan clear bila interupsi telah diproses. |
IT1 | Interupt Transition . Set/ Clear secara software untuk menentukan apkah menggunakan triger sisi atau level low, pada eksternal interupsi |
IE0 | Idem untuk timer 0 |
IT0 | Idem untuk timer 0 |
1 comment:
Hai...
Saya tertarik dengan gambar 4.3 yang Anda buat.
Ijnkan saya menggunakan untuk keperluan referensi.
Kalau ada gambar lain yang menjelaskan timer, boleh diupload lagi dong..
Terima kasih
romywidodo.blogspot.com
Post a Comment