=
(() )
=
(() )
= 0,0527 detik
b. Timer 0 dengan TCCRx = 0x04 menggunakan 8 bit (255)
TCNTx = 0x50
Fclock = 500.000 Hz
Prescaler = 1.024
=
(() )
=
(() )
= 0,42 detik
c. Timer 0 dengan TCCRx = 0x03 menggunakan 8 bit (255)
TCNTx = 0x50
Fclock = 62.500 Hz
Prescaler = 1.024
=
(() )
=
(() )
= 3,375 detik
d. Timer 2 dengan TCCRx = 0x05 menggunakan 8 bit (255)
TCNTx = 0x80
Fclock = 4.000.000 Hz
Prescaler = 1.024
=
(() )
=
(() )
= 0,045 detik
e. Timer 1 dengan TCCRx = 0x05 menggunakan 16 bit (65535)
TCNTx = 0xD5D0 = 54752
Fclock = 4.000.000 Hz
Prescaler = 1.024
=
(() )
=
(() )
= 2,76 detik
f. Timer 1 dengan TCCRx = 0x04 menggunakan 16 bit (65535)
TCNTx = 0xD5D0 = 54752
Fclock = 4.000.000 Hz
Prescaler = 256
=
(() )
=
(() )
= 0,69 detik
g. Timer 1 dengan TCCRx = 0x03 menggunakan 16 bit (65535)
TCNTx = 0xD5D0 = 54752
Fclock = 500.000 Hz
Prescaler = 64
=
(() )
=
(() )
= 1,38 detik
h. Timer 1 dengan TCCRx = 0x02 menggunakan 16 bit (65535)
TCNTx = 0xD5D0 = 54752
Fclock = 500.000 Hz
Prescaler = 64
=
(() )
=
(() )
= 0,17 detik
i. Timer 1 dengan TCCRx = 0x01 menggunakan 16 bit (65535)
TCNTx = 0xD5D0 = 54752
Fclock = 500.000 Hz
Prescaler = 256
=
(() )
=
(() )
= 5,52 detik
2. Bagaimana anda mendapatkan timer dengan Ttimer 1 detik dengan menggunakan
Timer1?
Untuk mendapatkan timer delay waktu 1 detik dengan Timer 1 (16 bit) yaitu 65535.
Mempermudah kita untuk memprogram maka dapat diperoleh rumus sebagai berikut:
TCNT = (1 + FFh) (Ttimer x fCLK)/N
= (1 + 65535) - (1 x 4.000.000)/256
= 65535 4.000.000/256
= 65535 15625 = 49910 dengan nilai Hex = C2F6
Program
// Timer 1 overflow interrupt service routine
interrupt [TIM1_OVF] void timer1_ovf_isr(void)
{
// Reinitialize Timer 1 value
TCNT1H=0x0C;
TCNT1L=0xD5;
// Place your code here
if (PINC==0)
{PORTC=0xFF;}
else
{PORTC=0x00;}
}
G. KESIMPULAN
Timer/Counter pada mikrokontroler AVR dapat digunakan untuk melakukan pencacahan
waktu seperti pada jam digital maupun untuk menghasilkan sinyal PWM (Pulse Width
Modulation) yakni sinyal kotak dengan frekuensi dan duty cycle yang nilainya bisa diatur.
Atmega8535 memiliki tiga unit Timer/Counter yaitu Timer/Counter 0 (8 bit), Timer/Counter
1 (16 bit), dan Timer/Counter 2 (8 bit).
H. DAFTAR RUJUKAN