assembly 09
DESCRIPTION
jhjhfjhTRANSCRIPT
-
*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.
-
*Timer/pewaktu digunakan untuk aplikasi menghitung lamanya suatu kejadianCounter/penghitung digunakan untuk aplikasi menghitung jumlah kejadian dalam periode tertentu
-
*
Kedua Timer/Counter pada MCS-51 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.
-
*MCS-51 mempunyai enam buah Special Function Register yang dapat digunakan untuk mengatur fungsi Timer yaitu: TMOD, TH0, TL0, TH1, TL1 dan TCON Timer Mode Register ( TMOD )Register TMOD berupa register 8 bit yang berlokasi di 89H
Gate : 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 M1 & M0 : untuk memilih mode timer 89HTidak dapat dialamati secara bit
T I M E R 1 T I M E R 0
Gate(1)C/T (1)M1 (1)Mo (1)Gate (0)C/T (0)M1 (0)M0 (0)
-
*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: Timer 0 High Byte berlokasi di 8AHTL0: Timer 0 Low Byte berlokasi di 8BHTH1: Timer 1 High Byte berlokasi di 8CHTL1: Timer 1 Low Byte berlokasi di 8DH
-
*3. Timer Control Register ( TCON )Register TCON mempunyai 4 bit yg berhubungan langsung dengan Timer yaitu : TCON.4 , TCON.5 , TCON.6 , TCON.7Sedangkan 4 bit yang lain berhubungan dengan interrupt yaitu : TCON.3 , TCON.2 , TCON.1 , TCON.0
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 Aktif0 = Timer 1 NonaktifTCON.5 (TF0) : Timer 1 Overflag yang akan diset jika timer overflow Bit ini dapat di-clear oleh software atau hardware.TCON.4 (TR0) : 1 = Timer 0 Aktif0 = Timer 0 Nonaktif88HDapat diakses secara bit ( bit addressable )
Register T I M E R Register Interrupt
TF1TR1TF0TR0IE1IT1IE0IT0
-
*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 0TH0 adalah Timer yang dikontrol oleh kontrol bit Timer 1
-
*Periode waktu Timer/Counter
Secara umum Periode waktu Timer/Counter ditentukan oleh persaman berikut:a. Sebagai T/C 8 bitT = (255 -TLx) * 1 siklus mesin
Dimana TLx adalah isi register TL0 atau TL1
b. Sebagai T/C 16 bitT = (65535 - THxTLx) * 1 siklus mesin
Dimana : THx adalah isi register TH0 atau TH1 TLx adalah isi register TL0 atau TL1
-
*Contoh
Delay Hardware 1 detik dengan menggunakan Timer Mode 1dengan output berupa ON/OFF LED yg dihubungkan dng P1.0ORG 4000HLJMP START HERE: JNB TF1,HERE;DJNZ R0,ULANGDELAY_1_DTK: RETMOV R0,#20;ULANG:START:CLR TF1CPL P1.0CLR TR1LCALL DELAY_1_DTKMOV TMOD,#10HLJMP STARTMOV TH1,#3CHENDMOV TL1,#0AFHSETB TR1