prev next

30/10/12

Timer 89C51

Posted on 12.25 by tris KT

  • 89C51 mempunyai dua buah timer yaitu Timer 0 dan Timer 1
  • Masing-masing Timer terdiri dari 16 bit counter yang bersifat
    programmable
Register-register Timer
  • Timer Mode Register (TMOD) di alamat 89H
  • THx dan TLx
  • Timer Control Register (TCON) di alamat 88H
Timer Mode Register
TMOD






Gate:          Timer akan berjalan bila bit ini set dan INT0 (untuk Timer 0) atau INT1 (untuk Timer 1)  
                  berkondisi high
C/T:           1 = Counter
                  0 = Timer
M1 & M0: Untuk memilih mode timer

THx dan TLx (x adalah nomor Timer)
Merupakan Register yang menunjukkan nilai dari timer di mana masingmasing
Timer mempunyai dua buah register yaitu:
  • THx untuk high byte
  • TLx untuk low byte
TH0 : Timer 0 High Byte terletak pada alamat 8AH
TL0 : Timer 0 Low Byte terletak pada alamat 8BH
TH1 : Timer 1 High Byte terletak pada alamat 8CH
TL1 : Timer 1 Low Byte terletak pada alamat 8DH

Timer Control Register (TCON)
Pada register ini, hanya 4 bit saja yaitu TCON.4, TCON.5, TCON.6 dan TCON.7 saja yang mempunyai fungsi berhubungan dengan timer.
TCON




TCON.7 atau TF1: Timer 1 Overflow Flag yang akan set bila timer overflow. Bit ini dapat di-clear oleh 
                               software atau oleh hardware pada saat program menuju ke alamat yang ditunjuk oleh 
                               interrupt vector.
TCON.6 atau TR1: 1 = Timer 1 aktif 
                               0 = Timer 1 non aktif
TCON.5 atau TF0: Sama dengan TF1
TCON.4 atau TR0: Sama dengan TR1
TCON.3 hingga TCON.0 akan dibahas pada bagian interrupt

Mode Timer
  • Mode Timer terdiri dari:
  • Mode 0 Timer 13 bit
  • Mode 1 Timer 16 bit
  • Mode 2 Timer 8 bit auto reload
  • Mode 3 Split Timer
Mode 0 (13 Bit Timer)



Mode 1 (16 Bit Timer)
TMOD


Mode 2
TMOD












Mode 3
TMOD





Pada Mode ini, Timer 0 terpisah menjadi 2 buah 8 bit timer dan TF1 dari Timer 1 tidak akan berpengaruh walaupun Timer 1 overflow. Timer 1 masih dapat digunakan untuk mode-mode yang lain seperti baud rate serial

 

Cara Kerja Timer
 Operasi Timer

Timer dapat bekerja dengan sumber clock dari:
  • Internal berdasarkan 1/12 frekwensi oscillator, C/T = 0
  • External berdasarkan trigger dari Tx (T0 untuk Timer 0 dan T1 untuk Timer 1) C/T = 1
Timer dapat bekerja berdasar trigger dari:
  • Software (Bit TRx)
  • Hardware (kaki INTx)

Timer ditrigger dari software

 
                                                     Pengaturan Timer dengan Software


Timer ditrigger dari Hardware

Pengaturan Timer dengan Hardware

Contoh program Timer
 $MOD51
ORG 00H
JMP START
ORG 100H
START:
    MOV P0,#01H
    MOV P1,#00H
    MOV P3,#00H
    JNB P2.0,$
    MOV R1,#05H

PASS:    CALL DELAY
    MOV A,P2
    JNB P2.0,CEK
    MOV A,P0
    RL A
    MOV P0,A  
    DJNZ R1,PASS
    JMP LOCK

CEK:
    CJNE A,#0A8H,LOCK1
    JMP BENAR

LOCK1:    LJMP LOCK

BENAR:    MOV P0,#01H
    JNB P2.0,$
    CALL DELAY
    JNB P2.0,MENU1
    MOV A,P0
    RL A
    MOV P0,A
    CALL DELAY
    JNB P2.0,MENU2
    MOV A,P0
    RL A
    MOV P0,A
    CALL DELAY
MENU:    JB P2.0,$
    JNB P2.0,MENU3
    JMP MENU
  
MENU1:    MOV P3,#01H
    MOV P1,#0FFH
ANIME1:    MOV A,P3
    RL A
    MOV P3,A
    DEC P1
    CALL DELAY
    JB P2.1,RESET
    JMP ANIME1

MENU2:    MOV P3,#00H
    MOV P1,#03H
ANIME2:    MOV A,P1
    RL A
    MOV P1,A
    INC P3
    CALL DELAY
    JB P2.1,RESET
    JMP ANIME2

MENU3:    MOV P3,#0FH
    MOV P1,#03H
    CALL DELAY
    MOV P3,#00H
    MOV P1,#00H
    CALL DELAY
    JB P2.1,RESET
    JMP MENU3

DELAY:    MOV TMOD,#00010001B
    MOV R0,#20
ULANG:
    MOV TL0,#LOW(-50000)
    MOV TH0,#HIGH(-50000)
    CLR TF0
    SETB TR0
    JNB TF0,$
    CLR TF0
    CLR TR0
    DJNZ R0,ULANG
    RET

LOCK:
    MOV P0,#01010101B
    MOV P1,#01010101B
    MOV P3,#01010101B
    CALL DELAY
    MOV P0,#00H
    MOV P1,#00H
    MOV P3,#00H
    CALL DELAY
    JB P2.1,RESET
    JMP LOCK

RESET:    JB P2.1,$
    JMP START

END
Artikel Terkait:
001. Dunis Robot
002. Pendahuluan
003. Metodologi Penelitian
004. Sistem Gerak Tank
005. Sistem Gerak Mobile Robot Beroda
006. Sistem Gerak Mobile Robot Berkaki
007. Mekanik Robot
008. Hasil Implementasi dan Pembahasan
009. Modul Shaft Encoder dan Modul Sensor Lantai
010. Interrupt
011. Operasi Serial Port
012. Cara Menggunakan Micro Computer
013  Flip-Flop
014. LCD Terminal AppMod
015. (LCD) Liquid Crystal Display 8bit
016. Petunjuk Pemakaian Microkontroler
017. Simulasi Model Sensor Sonar Untuk Keperluan Sistem NavigasiI Rrobot Mobile
018. Skenario Menghindari Halangan
019. Driver Motor IC L293D
020. Pengendalian Lengan Robot Berbasis Mikrokontroler AT89C51, Transduser Ultrasonik

No Response to "Timer 89C51"

Komentar Anda