Pewaktu dan Pencacah TimerCounter

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009. menyatakan lokasi memori yang isinya disalin ke akumulator A, dalam hal ini nilai yang tersimpan dalam DPTR Data Pointer Register 2 byte ditambah dengan nilai yang tersimpan dalam akumulator A 1 byte sama dengan lokasi memori program yang ada. Instruksi INC DPTR Agak berbeda dengan instruksi INC A atau INC Rx x=0 sd 7, instruksi ini adalah satu-satunya instruksi penaikan increment yang bekerja pada data 16 bit yaitu DPTR, yaitu menaikkan penunjuk data sebesar 1. Suatu limpahan pada byte rendah low order dari DPTR atau DPL Data Pointer Low akan menaikkan byte tinggi high order yaitu yang tersimpan di DPH Data Pointer High sebesar 1. Flag tidak terpengaruh. Misalnya DPH=12 dan DPL=Feh, maka instruksi ini: INC DPTR INC DPTR INC DPTR Akan menghasilkan DPH=13h dan DPL=01h.

2.1.1.3 Pewaktu dan Pencacah TimerCounter

Mikrokontroler AT89C51 mempunyai 2 pewaktupencacah timercounter 16 bit yang digunakan untuk pengukuran interval waktu, lebar pulsa, mencacah kejadian, interupsi secara periodis, dan membangkitkan pulsa laju data serial.. Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009. Pewaktu dan pencacah dikendalikan oleh bit-bit dalam register Timer Control TCON dan Timer Mode TMOD seperti ditunjukkan pada tabel 2.2dan tabel 2.3.Hasil pencacah 0 terletak pada Register Timer Lower TL0 dan register Timer High TH0. 8 7 6 5 4 3 2 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 Gambar 2.2 Register Timer Control TCON Timer Control TCON terdiri atas : Bit Simbol Fungsi 7 TF1 Timer 1 overflow flag 6 TR1 Timer 1 run control bit 5 TF0 Timer 0 overflow flag 4 TR0 Timer 0 run control bit 3 IE1 External interrupt 1 edge flag 2 IT1 External interrupt 1 signal control bit 1 IE0 External interrupt 0 edge flag Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009. IT0 External interrupt 0 signal control bit Timer 1 Timer 0 Timer Mode TMOD terdiri atas : Bit Simbol Fungsi 73 Gate OR gate enable which controls RUNSTOP of timer 62 CT Timer or counter selector for timer IO 51 M1 Mode select bit 1 40 M0 Mode select bit 0 M1 M0 Mode 1 1 1 2 1 1 3 Tabel 2.2 Register Time Mode TMOD 7 6 5 4 3 2 1 Gate CT M1 M0 Gate Ct M1 M0 Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009. Masukan pada untai pencacah adalah sebagai pencacah jika berasal dari sumber luar dan sebagai pewaktu bila masukan berasal dari sumber osilator internal. Masukan dari sumber luar atau dari osilalator internal ditentukan oleh bit CT. Jika menggunakan osilator internal maka bit CT diset 0 dan bit Gate diset 0. sedangkan frekuensi osilator akan di bagi 12 sebelum masuk ke untai pencacah. Jika masukan dari sumber luar T0 atau T1 maka bit Gate diset 1 dengan syarat INT0 dan INT1 tinggi. Pencacah diaktifkan dengan menset bit TR0 dan TR1. Pencacah akan berlangsung sampai terjadi luapan saat pencacah berguling dari FFFFh ke 0000h, dengan bit TF1 dan TF0 akan diset 1 dan permintaan interupsi dibangkitkan. TMOD mempunyai 2 register kembar 4 bit, mesing-masing mengendalikan salah satu pewaktu. TCON mempunyai 4 bit orde tinggi untuk bit kendali pewaktu dan 4 bit orde rendah untuk bit kendali interupsi eksternal. Ada 4 mode yang dapat dikonfigurasi pada pewaktupencacah, yaitu: • Mode 0 Pencacah dengan Praskala Mode 0 merupakan pencacah atau pewaktu dengan menggunakan praskala. Register TH0TH1 bekerja sebagai pencacah 8-bit dan TL0TL1 Sebagai pencacah 5 bit. • Mode 1 Pencacah 16 bit Dalam mode ini register TH0TL0 dan register TH1TL1 digunakan sebagai pencacah 16 bit. • Mode 2 Pencacah dengan Auto-reload Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009. Mode 2 merupakan pencacahpewaktu auto-reload. Register TL1TL0 bekerja sebagai pencacah 8-bit TH1TH0 digunakan untuk menahan suatu nilai tertentu yang akan disimpan ke TL1TL0 pada setiap TL1TL0 terjadi luapan, yaitu ketika berguling dari FFh ke 00, dan akan membangkitkan pulsa untuk pengiriman dan penerimaan data pada port serial. • Mode 3 Untuk pencacah 1, pengubahan ke mode 3 akan menghentikanpencacah 1, yang merupakan cara lain menggunakan TR1 TCON.6 untuk menghentikan dan menjalankan pencacah 1. Untuk pencacah 0, TH0 sebagai pencacah 8 bit yang diaktifkan oleh bit TR1 dan jika terjadi luapan bit TF1 akan diset 1. sedangkan bit TR1 dan bit TF1 tidak dapat digunakan untuk mengendalikan pencacah 1. TL0 sebagai pencacah 8 bityang dikendalikan oleh bit Gate 0, CT,TR0,TF0.

2.1.1.4 Interupsi dari pewaktu atau pencacah