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
1
M1
(1)
TIMER
Mo Gate C/T M1
(1)
(0)
(0)
(0)
0
M0
(0)
TH0
TL0
TH1
TL1
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
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