Anda di halaman 1dari 10

Operasi TIMER/COUNTER

MCS-51 memp. dua buah timer yaitu


Timer/Counter 0 dan Timer/Counter 1 yang
keduanya dapat berfungsi sebagai timer
atau counter dan dapat diatur melalui
perangkat lunak.
Sebagai Timer memp. sumber clock dengan
frekwensi tertentu yang sdh pasti ( secara
kontinyu), sedangkan jika sbg counter
mendapat sumber clock dari pulsa yang
akan dihitung.
1

Timer/pewaktu digunakan untuk aplikasi


menghitung lamanya suatu kejadian
Counter/penghitung digunakan untuk
aplikasi menghitung jumlah kejadian
dalam periode tertentu

Kedua Timer/Counter pada MCS51 masing-masing mempunyai 16


bit counter yang mampu untuk
diatur keaktifannya maupun mode
operasinya, direset dan diset
dengan nilai tertentu.

Apabila Timer/Counter
diaktifkan pada frekwensi kerja
mikrokontroler 12 MHz, maka
Timer/Counter akan melakukan
perhitungan waktu sekali setiap
1 mikrodetik ( 1 uS ) secara
independen dan tidak
tergantung daripada
pelaksanaan suatu instruksi.
4

MCS-51 mempunyai enam buah Special Function Register


yang dapat digunakan untuk mengatur fungsi Timer
yaitu: TMOD, TH0, TL0, TH1, TL1 dan TCON

1. Timer Mode Register ( TMOD )


Register TMOD berupa register 8 bit yang berlokasi di 89H

Tidak dapat dialamati secara bit


TIMER
Gate C/T
89H
(1)
(1)
Gate :

1
M1
(1)

TIMER
Mo Gate C/T M1
(1)
(0)
(0)
(0)

0
M0
(0)

Timer akan berjalan jika bit ini di set dan INT0


( Timer 0 ) dan INT1 ( Timer 1 ) berkondisi high ( 1)
C/T :
1 = Counter
0 = Timer
5
M1 & M0 : untuk memilih mode timer

2. Register THx dan TLx


Timer 0 dan Timer 1 masing-masing terdiri atas 16
bit timer yang tersimpan dalam 2 buah regiater
yaitu THx untuk Timer High Byte dan TLx untuk
Timer Low Byte.

TH0
TL0
TH1
TL1

: Timer 0 High Byte berlokasi di 8AH


: Timer 0 Low Byte berlokasi di 8BH
: Timer 1 High Byte berlokasi di 8CH
: Timer 1 Low Byte berlokasi di 8DH
6

3. Timer Control Register ( TCON )


Register TCON mempunyai 4 bit yg berhubungan langsung
dengan Timer yaitu : TCON.4 , TCON.5 , TCON.6 , TCON.7
Sedangkan 4 bit yang lain berhubungan dengan interrupt
yaitu : TCON.3 , TCON.2 , TCON.1 , TCON.0

Dapat diakses secara bit ( bit addressable )


Register T I M E R
88H

TF1 TR1 TF0 TR0

Register Interrupt
IE1

IT1

IE0

IT0

TCON.7 (TF1) : Timer 1 Overflag yang akan diset jika timer overflow
Bit ini dapat di-clear oleh software atau hardware.
TCON.6 (TR1):
1 = Timer 1 Aktif
0 = Timer 1 Nonaktif
TCON.5 (TF0) : Timer 1 Overflag yang akan diset jika timer overflow
Bit ini dapat di-clear oleh software atau hardware.
7
TCON.4 (TR0) :
1 = Timer 0 Aktif
0 = Timer 0 Nonaktif

Mode Timer
Timer MCS-51 mempunyai 4 buah mode kerja timer dimana
setiap mode timer mempunyai masing-masing fungsi.
Penentuan mode kerja dari timer dilakukan dengan
inisialisasi pada Register TMOD pada bit pemilih mode
yaitu bit M1 dan bit M0
Kombinasi M0 dan M1 adalah sebagai berikut:
M1
M0
Mode
Operasi
0
0
0Timer 13 bit ( THx=8 bit , TLx= 5 bit )
0
1
1
T/C 16 bit ( THx=8 bit , TLx= 8 bit )
1
0
2
Timer auto reload 8 bit ( pengisian
otomatis )
1
1
3
TL0 adalah T/C 8 bit yang dikontrol
oleh kontrol bit Timer 0
TH0 adalah Timer yang dikontrol
8
oleh kontrol bit Timer 1

Periode waktu Timer/Counter


Secara umum Periode waktu Timer/Counter
ditentukan oleh persaman berikut:
a. Sebagai T/C 8 bit
T = (255 -TLx) * 1 siklus mesin
Dimana TLx adalah isi register TL0 atau TL1

b. Sebagai T/C 16 bit


T = (65535 - THxTLx) * 1 siklus mesin
Dimana : THx adalah isi register TH0 atau TH1
TLx adalah isi register TL0 atau TL1
9

Contoh
Delay Hardware 1 detik dengan menggunakan Timer Mode 1
dengan output berupa ON/OFF LED yg dihubungkan dng P1.0
ORG
4000H
LJMP START
;
DELAY_1_DTK:
MOV
R0,#20
ULANG:
CLR
TF1
CLR
TR1
MOV
TMOD,#10H
MOV
TH1,#3CH
MOV
TL1,#0AFH
SETB TR1

HERE:

JNB
DJNZ
RET
;
START:
CPL
LCALL
LJMP
END

TF1,HERE
R0,ULANG

P1.0
DELAY_1_DTK
START

10

Anda mungkin juga menyukai