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

Post a Comment

0 Comments