assembly 09

10
1 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.

Upload: safik-dwi-nova

Post on 03-Oct-2015

213 views

Category:

Documents


0 download

DESCRIPTION

jhjhfjh

TRANSCRIPT

  • *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