Top Banner
PERTEMUAN TIMER & COUNTER MIKROKONTROLER 89C51
25

Pertemuan 12 - Timmer & Counter Mikrokontroller 89C51 · Gambar Mode Timer. Mode 0 merupakan timer yang dibentuk oleh 13 bit karena itu dikenal dengan istilah mode timer 13 bit. Mode

May 11, 2018

Download

Documents

nguyenthien
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Pertemuan 12 - Timmer & Counter Mikrokontroller 89C51 · Gambar Mode Timer. Mode 0 merupakan timer yang dibentuk oleh 13 bit karena itu dikenal dengan istilah mode timer 13 bit. Mode

PERTEMUAN

TIMER & COUNTER MIKROKONTROLER 89C51

Page 2: Pertemuan 12 - Timmer & Counter Mikrokontroller 89C51 · Gambar Mode Timer. Mode 0 merupakan timer yang dibentuk oleh 13 bit karena itu dikenal dengan istilah mode timer 13 bit. Mode

Timer atau pewaktu dan counter atau pencacah adalah jenis pengatur waktu didalam mikrokontroler .

Didalam mikrokontroler 89C51 terdapat dua buah timmer/counter 16 bit yang dapat difungsikan sebagai timer atau counter.

TIMMER MIKROKONTROLER 89C51

Pemakaian Timer

Fungsi Timer/counter sbb:

Event CountingBerfungsi untuk mencacah fulsa yang masuk dari luar.Cara kerjanya identik dengan alat pengitung barang, dimana cacahannya akan naik satu digit setiap saklar di tekan.

Page 3: Pertemuan 12 - Timmer & Counter Mikrokontroller 89C51 · Gambar Mode Timer. Mode 0 merupakan timer yang dibentuk oleh 13 bit karena itu dikenal dengan istilah mode timer 13 bit. Mode

Interval TimmingBerfungsi untuk menghitung interval waktu diantara du akejadian atau dua intruksi, artinya interval timming difungsikan sebagai timer.Prinsip kerjanya seperti stopwatch.

Baud Rate Generator

Fungsi timer atau counter didalam mikrokontroler tergantung dari sinyal pemicu (triger) yang memicucounter 16 di dalam sebuah chip mikrokontroler.

Baud Rate GeneratorBerfungsi untuk membangkitkan sinyal referensi dalam operasi mikrokontroler dengan PC melaui serial port.

Page 4: Pertemuan 12 - Timmer & Counter Mikrokontroller 89C51 · Gambar Mode Timer. Mode 0 merupakan timer yang dibentuk oleh 13 bit karena itu dikenal dengan istilah mode timer 13 bit. Mode

Timer/ counter akan berfungsi sebagai counter apabila sinyal pemicu berasal dari clock eksternal.

Sebalikya timer/ counter akan berfungsi sebagai timmer jika sinyal pemicu berasal dari clock internal. Lama waktu sebuah timer tegantung dari osilator yang dibangkitkan oleh X-tal yang digunakan. yang dibangkitkan oleh X-tal yang digunakan.

Gambar X-tal dan Rangkaian Osilator

Page 5: Pertemuan 12 - Timmer & Counter Mikrokontroller 89C51 · Gambar Mode Timer. Mode 0 merupakan timer yang dibentuk oleh 13 bit karena itu dikenal dengan istilah mode timer 13 bit. Mode

Fungsi utaman timer adalah mengukur waktu. Pada saat sebuah timer digunakan waktunya akan satu setiap siklus mesin (siklus instruksi).

Karena X-tal yang digunakan sebagai pembangkit pulsa pada mikrokontroler 89C51 adalah 12 Mherz. Maka

Pemakaian Timer Untuk Mengukur waktu

pada mikrokontroler 89C51 adalah 12 Mherz. Maka dapat di hitung berapa lama satu siklus

Frekuensi X-tal (f) = 12 MHz = 12.000.000 HzSiklus atau perioda (t) dimana:

t = 1/f t = 1/(12.000.000)t = 0, 0000000833 detikt = 0.083 detik

Page 6: Pertemuan 12 - Timmer & Counter Mikrokontroller 89C51 · Gambar Mode Timer. Mode 0 merupakan timer yang dibentuk oleh 13 bit karena itu dikenal dengan istilah mode timer 13 bit. Mode

Register Timer (Timer SFR)

Dibawah ini tabel register yang ada hubungannya dengan timer .

Dari tabel diatas dapat dilihat hanya register TCON yang dapat di alamati. THx dan TLx (x bisa “0” atau “1”) merupakan isi timer atau counter. Isi timer atau counter ini dapat di baca melalui alamat 8Ah s/d 8Dh.

Page 7: Pertemuan 12 - Timmer & Counter Mikrokontroller 89C51 · Gambar Mode Timer. Mode 0 merupakan timer yang dibentuk oleh 13 bit karena itu dikenal dengan istilah mode timer 13 bit. Mode

• Diset atau di clear oleh sofware.

TFx pada Timer Counter Register (TCON) merupakan tanda overflow (overflow flag).Overflow flag merupakan suatu status yang memberi tanda kalau terjadi overflow pada timer.Isi TFx dapat berubah jika terjadi:

TMOD mengatur mode TIMER, dialamati secara byte.Fungsi TMOD dapat dilihat pada tabel dibawah:

• Terjadi overflow pada timer.• Diclear jika ada proses ISR, saat mikrokontroler dapat perintah interupt kemudian melayani melalui ISR.

Page 8: Pertemuan 12 - Timmer & Counter Mikrokontroller 89C51 · Gambar Mode Timer. Mode 0 merupakan timer yang dibentuk oleh 13 bit karena itu dikenal dengan istilah mode timer 13 bit. Mode

TH0 dan TLO untuk mengendalikan TIMER0 dan sedangkan TH1 dan TL1 untuk mengendalikan TIMER1.

Didalam mikrokontroler 89C51 terdapat dua timer yang yang berada di dalam SFR dengan fungsi yang identik.Timer pertama disebut TIMER0 dan timer kedua disebut TIMER1.

TIMER1.

Nama SFR Keterangan Alamat

TH0 Timer 1 High Byte 8CH

TLO Timer 0 Low Byte 8Ah

TH1 Timer 1 High Byte 8Dh

TL1 Timer 0 Low Byte 8Bh

TCON Timer Control 88h

TMOD Timer MOde 89h

Daftar SFR untuk Timer

Page 9: Pertemuan 12 - Timmer & Counter Mikrokontroller 89C51 · Gambar Mode Timer. Mode 0 merupakan timer yang dibentuk oleh 13 bit karena itu dikenal dengan istilah mode timer 13 bit. Mode

TIMER0 memiliki dua macam SFR yang eksklusif bagi dirinya sendiri, yaitu TH dan TL yang merupakan harga aktual timer. Untuk melihat isi TIMER0 dapat dilakukan dengan Cara:

Isi TIMER0 = (Isi TH X 256) + Isi TL0

TIMER1 identik dengan TIMER0, mempinyai SFR berupa TH1 dan TL1.

Kedua timer ini mempunyai kapasitas 2 byte dengan harga maksimum yang bisa ditampung 65.535.Jika timer sudah melewati 65.535 maka timer akan direset atau overflow dan kemabali ke nol

Page 10: Pertemuan 12 - Timmer & Counter Mikrokontroller 89C51 · Gambar Mode Timer. Mode 0 merupakan timer yang dibentuk oleh 13 bit karena itu dikenal dengan istilah mode timer 13 bit. Mode

SFR TMOD

SFR TMOD di gunakan untuk mengontrol mode operasi timer. Setiap bit dari SFR memberikan informasi untuk mikrokontroler bagaimana menjalankan timer.

Bit 4 s/d 7 behubungan dengan Timer1, bit 0 hingga 3 digunakan untuk TIMER0.

Pemakaian bit didalam special Function Register dapat dilihat pada tabel di bawah ini .

digunakan untuk TIMER0.

Page 11: Pertemuan 12 - Timmer & Counter Mikrokontroller 89C51 · Gambar Mode Timer. Mode 0 merupakan timer yang dibentuk oleh 13 bit karena itu dikenal dengan istilah mode timer 13 bit. Mode

Daftar Bit SFR TMOD

Bit Nama Fungsi Timer

7 GATE 1 Jika bit ini diset, timer hanya akan bekerja jika INT1 (P3.3) berlogika 1. Jika bit ini dinolkan, timer ini bekerja dapat dikendalikan oleh INT1.

1

6 C/T1 Jika bit ini diset, timer hanya akan menghitung kondisi pada T1 (P3.5). Jika bit ini dinolkan, timer akan bertambah setiap satu siklus mesin.

1

5 T1M1 Bit mode timer. 1

4 T1M0 Bit mode timer. 1

3 GATE0 Jika bit ini diset, timer hanya akan bekerja jika INT0 (P3.2) berlogika 1. Jika bit ini dinolkan, timer ini bekerja dapat dikendalikan oleh INT0.

0

2 C/T0 Jika bit ini diset, timer hanya akan menghitung kondisi pada T0 (P3.4). Jika bit ini dinolkan, timer akan bertambah setiap satu siklus mesin.

0

1 T0M1 Bit mode timer. 0

0 T0M0 Bit mode timer. 0

Seperti dilihat pada tabel diatas 4 bit merupakan mode untuk kedua timer , masing-masing 2 bit untuk satu timer

Page 12: Pertemuan 12 - Timmer & Counter Mikrokontroller 89C51 · Gambar Mode Timer. Mode 0 merupakan timer yang dibentuk oleh 13 bit karena itu dikenal dengan istilah mode timer 13 bit. Mode

Mode Operasi Timer

TxM1 TxM Mode Timer Keterangan

0 0 0 Timer 13 bit

0 1 1 Timer 16 bit

1 0 2 8 bit auto reload

1 1 3 Mode timer split

Gambar Mode Timer

Page 13: Pertemuan 12 - Timmer & Counter Mikrokontroller 89C51 · Gambar Mode Timer. Mode 0 merupakan timer yang dibentuk oleh 13 bit karena itu dikenal dengan istilah mode timer 13 bit. Mode

Mode 0 merupakan timer yang dibentuk oleh 13 bit karena itu dikenal dengan istilah mode timer 13 bit. Mode timer ini sudah jarang di gunakan pada mikrokontroler 89C51. Timer diatur sebagai timer 13 bit,akan mencacah dari 0 s/d 31. Jika TLx melebihi 31, maka akan reset ke 0 dan menambah harga THx. Dengan demikian hanya 13 bit dari 2 Byte yang digunakan yaitu: TLx 0 s/d 4 dan THx 0 s/d 7, sehingga harga maksimum yang bisa

Mode 0

TLx 0 s/d 4 dan THx 0 s/d 7, sehingga harga maksimum yang bisa dicapai 8.192 siklus mesin.

Diagram mode 0

Page 14: Pertemuan 12 - Timmer & Counter Mikrokontroller 89C51 · Gambar Mode Timer. Mode 0 merupakan timer yang dibentuk oleh 13 bit karena itu dikenal dengan istilah mode timer 13 bit. Mode

Mode 1 paling banyak digunakan, fungsinya sama seperti timer 13 bit. TLx 0 s/d 255 jika lebih akan reset jadi 0 dan menambah THx dengan 1, sehingga harga maksimum yang bisa dicapai 65353 siklus mesin.

Mode 1

Diagram mode 1

Page 15: Pertemuan 12 - Timmer & Counter Mikrokontroller 89C51 · Gambar Mode Timer. Mode 0 merupakan timer yang dibentuk oleh 13 bit karena itu dikenal dengan istilah mode timer 13 bit. Mode

TLx berfungsi sebagai pencacah 8 bit, THx berfungsi untuk menyimpan nilai yang diisikan ulang ke TLx.

Mode 2

Page 16: Pertemuan 12 - Timmer & Counter Mikrokontroller 89C51 · Gambar Mode Timer. Mode 0 merupakan timer yang dibentuk oleh 13 bit karena itu dikenal dengan istilah mode timer 13 bit. Mode

TLx berfungsi sebagai pencacah 8 bit, THx berfungsi untuk menyimpan nilai yang diisikan ulang ke TLx.

Mode 3

Page 17: Pertemuan 12 - Timmer & Counter Mikrokontroller 89C51 · Gambar Mode Timer. Mode 0 merupakan timer yang dibentuk oleh 13 bit karena itu dikenal dengan istilah mode timer 13 bit. Mode

Ada dua cara membaca Status timer:1. Baca harga aktual dari 16 bit timer.2. Deteksi apakah timer menemui kondisi overflow.

Membaca Satus Timer

Jika timer yang digunakan 8 bit pembacaan harga aktual mudah, teapi jika timer yang digunakan mode 1 atau 2 bisa timbul permasalahan pada waktu pembacaan harga aktual.

Jika harga aktual lowbyte adalah 255 dan pembacaan high byte 15. seharusnya high byte 14 dan lowbyte adalah 255 beberapa saat kemudian high byte akan bertambah satu saat pembacaan menjadi 256 hitungan karena terletak pada high byte

Page 18: Pertemuan 12 - Timmer & Counter Mikrokontroller 89C51 · Gambar Mode Timer. Mode 0 merupakan timer yang dibentuk oleh 13 bit karena itu dikenal dengan istilah mode timer 13 bit. Mode

Inisialisasi dan menjalankan Timer

Seharusnya yang pertama di baca high byte, selanjutnya lowbyte. Ulangi pembacaan highbyte dan bandingkan dengan pembacaan pertama, jika terdapat perbedaan maka yangdigunakan adalah pembacaan pertama

Untuk menjalankan timer pada mikrokontroler perlu dilakukan inisialisai dengan cara megisi status bit Pengendali

Untuk menjalankan timer pada mikrokontroler perlu dilakukan inisialisai dengan cara megisi status bit Pengendali

Page 19: Pertemuan 12 - Timmer & Counter Mikrokontroller 89C51 · Gambar Mode Timer. Mode 0 merupakan timer yang dibentuk oleh 13 bit karena itu dikenal dengan istilah mode timer 13 bit. Mode

Contoh 1. Menyalakan dan mematiakan LED di Port 1 selama 1 detik.

Contoh penggunaan Timer pada bahasa assembler

1: ;-----------------------------------------------------------------------------------------------------------1: ;------------------------------------------------------------------------------------------------------------2: ;3: ; ON/off LED satu detik

4: ; --------------------------------------------------------------------------------

Page 20: Pertemuan 12 - Timmer & Counter Mikrokontroller 89C51 · Gambar Mode Timer. Mode 0 merupakan timer yang dibentuk oleh 13 bit karena itu dikenal dengan istilah mode timer 13 bit. Mode

SOAL-SOALSOAL-SOAL

Page 21: Pertemuan 12 - Timmer & Counter Mikrokontroller 89C51 · Gambar Mode Timer. Mode 0 merupakan timer yang dibentuk oleh 13 bit karena itu dikenal dengan istilah mode timer 13 bit. Mode

1. Antara dua buah instruksi dapat diatur waktunya dengan:a. Timer/ Counter c. Interuptb. Program counter d. Semua jawaban benar

2. Nilai jangkauaan timer/conter didalam mikrokontroler 2. Nilai jangkauaan timer/conter didalam mikrokontroler 89C51 adalah ….:

a. 8 bit c. 1 byteb. 16 bit d. Semua jawaban benar

Page 22: Pertemuan 12 - Timmer & Counter Mikrokontroller 89C51 · Gambar Mode Timer. Mode 0 merupakan timer yang dibentuk oleh 13 bit karena itu dikenal dengan istilah mode timer 13 bit. Mode

2. Nilai jangkauaan timer/conter didalam mikrokontroler 89C51 adalah ….:

a. 8 bit c. 1 byteb. 16 bit d. Semua jawaban benar

3. Timer/ counter akan berfungsi sebagai counter apabila 3. Timer/ counter akan berfungsi sebagai counter apabila sinyal pemicu berasal dari clock :

a. internal c. kombinasi internal dan eksternalb. eksternal d. Semua jawaban benar

Page 23: Pertemuan 12 - Timmer & Counter Mikrokontroller 89C51 · Gambar Mode Timer. Mode 0 merupakan timer yang dibentuk oleh 13 bit karena itu dikenal dengan istilah mode timer 13 bit. Mode

3. Timer/ counter akan berfungsi sebagai counter apabila sinyal pemicu berasal dari clock :

a. internal c. kombinasi internal dan eksternalb. eksternal d. Semua jawaban benar

4. Nilai jangkauan timer/conter didalam mikrokontroler 89C51 jika dioperasikan dengan mode 0 adalah ….:jika dioperasikan dengan mode 0 adalah ….:

a. 8 bit c. 13 bitb. 16 bit d. 15 bit

Page 24: Pertemuan 12 - Timmer & Counter Mikrokontroller 89C51 · Gambar Mode Timer. Mode 0 merupakan timer yang dibentuk oleh 13 bit karena itu dikenal dengan istilah mode timer 13 bit. Mode

4. Nilai jangkauaan timer/conter didalam mikrokontroler 89C51 jika dioperasikan dengan mode 0 adalah ….:

a. 8 bit c. 13 bitb. 16 bit d. 15 bit

5. Nilai jangkauan timer/conter didalam mikrokontroler 89C51 5. Nilai jangkauan timer/conter didalam mikrokontroler 89C51 jika dioperasikan dengan mode 1 adalah ….:

a. 8 bit c. 13 bitb. 16 bit d. 15 bit

Page 25: Pertemuan 12 - Timmer & Counter Mikrokontroller 89C51 · Gambar Mode Timer. Mode 0 merupakan timer yang dibentuk oleh 13 bit karena itu dikenal dengan istilah mode timer 13 bit. Mode

5. Nilai jangkauaan timer/conter didalam mikrokontroler 89C51 jika dioperasikan dengan mode 1 adalah ….:

a. 8 bit c. 13 bitb. 16 bit d. 15 bit

1. Antara dua buah instruksi dapat diatur waktunya dengan:1. Antara dua buah instruksi dapat diatur waktunya dengan:a. Timer/ Counter c. Interuptb. Program counter d. Semua jawaban benar