Labsheet Praktikum Mikrokontroller 10 Timer Counter
Labsheet Praktikum Mikrokontroller 10 Timer Counter
TIMER/COUNTER0:
Timer/counter 0 merupakan sebuah timer/counter 8-bit sederhana. Disebut demikian karena
hanya mode satu operasi saja dibandingkan dengan 5 mode Timer/Counter1. Modus operasi
Timer/Counter0 sebenarnya dapat dianggap sebagai dua mode minor (dan juga dua fungsi
dasar) itu adalah menciptakan waktu dan peristiwa menghitung.
TIMER/COUNTER1:
Timer ini dapat berfungsi sebagai counter-16. Timer/Counter memiliki lima modus operasi
utama. Selain fungsi biasa, Timer/Counter1 juga dapat digunakan untuk menghasilkan lebar
pulsa PWM yang digunakan untuk tujuan pengendalian. Dapat menghasilkan dua sinyal
PWM independen pada pin OC1A (15 kaki) dan OC1B (16 kaki) dengan Timer/Counter1.
contoh:
fCLK = 8MHz
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LABSHEET PRAKTIKUM MIKROKONTROLLER
No. : ST/EKA/ EKA263/10 Revisi : 00 Senin 010211 Hal. 3 dari 7 hal.
Sem.:Genap Timer Interupsi 4 x 50 menit
Prescaler =1024
TIMER/COUNTER2:
Walaupun Ttimer/Counter2 merupakan sebuah timer mode 8-bit seperti Timer/Counter0,
Timer/Counter2 dapat beroperasi seperti pada Timer/Counter1, di samping itu juga
digunakan sebagai modul penyelarasan waktu untuk aplikasi waktu real time (mode
asynchronous).
REGISTER TIMER/COUNTER
Ada empat register dirancang khusus untuk operasi dan T/C0 kontrol, yaitu:
TCNT0 (TIMER/COUNTER REGISTER)
Merupakan register 8 bit mengandung nilai operasi T/C0. register ini memungkinkan untuk
membaca dan menulis nilai secara langsung.
Bit 7 6 5 4 3 2 1 0
- - - - - CS02 CS01 CS00 TCCR0
Read/write R R R R R R/W R/W R/W
Bit CS00, CS01 dan CS02 sebagai sumber timer untuk T/C0 pilih chip. Fungsi bit dijelaskan
pada Tabel 1.
Contoh :
Misalnya diinginkan sebuah timer 16 bit bekerja selama 1 detik, dengan frekuensi clock
sebesar 11,0592MHz dan presecaller 1024 maka diperoleh nilai TCNT sebesar :
Bit 7 6 5 4 3 2 1 0
OCIE2 T0IE2 T1CIE1 OCIE1A OCIE1B T0IE1 OCIE0 T0IE0 TIMSK
Read/write R/W R/W R/W R/W R/W R/W R/W R/W
TIFR (Timer/Counter Interrupt Flag Register), adalah sebuah register flag untuk mengingat
untuk semua T/C. Dalam nomor register bit 0, adalah indikator flag TOV0 melimpah dari
T/C0 mengganggu. Ketika overflow terjadi interrupt, bit ini secara otomatis di set ke 1.
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LABSHEET PRAKTIKUM MIKROKONTROLLER
No. : ST/EKA/ EKA263/10 Revisi : 00 Senin 010211 Hal. 5 dari 7 hal.
Sem.:Genap Timer Interupsi 4 x 50 menit
Bit 7 6 5 4 3 2 1 0
OCF2 TOV2 ICF1 OCF1A OCF1B TOV1 OCF0 TOV0 TIFR
Read/write R/W R/W R/W R/W R/W R/W R/W R/W
B. Rangkaian
Rangkaian 1
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LABSHEET PRAKTIKUM MIKROKONTROLLER
No. : ST/EKA/ EKA263/10 Revisi : 00 Senin 010211 Hal. 6 dari 7 hal.
Sem.:Genap Timer Interupsi 4 x 50 menit
C. Program
Program 1
#include <mega16.h>
#include <delay.h>
#include <stdio.h>
#asm
.equ __lcd_port=0x15 ;PORTC
#endasm
#include <lcd.h>
#define buzzer PORTD.0
void main(void)
{
PORTD=0x00;
DDRD=0x01;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 10,767 kHz
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: On
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x05;
TCNT1H=0xD5;
TCNT1L=0xF1;
ICR1H=0x00;
ICR1L=0x00;
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LABSHEET PRAKTIKUM MIKROKONTROLLER
No. : ST/EKA/ EKA263/10 Revisi : 00 Senin 010211 Hal. 7 dari 7 hal.
Sem.:Genap Timer Interupsi 4 x 50 menit
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
lcd_init(16);
#asm("sei")
while (1)
{
lcd_gotoxy(0,0);
sprintf(buf, " == %d:%d:%d == ", hour, minutes,second);
lcd_puts(buf);
buzzer=0;
D. Tugas
1. Tulislah program pada Program 1 untuk Mikrokontroller ATMEGA16 dengan
CVAVR
2. Lakukan konversi menjadi file dengan berextensi .c menjadi berextensi .COF
dan .HEX yang siap dimasukan ke dalam mikrokontroller
3. Gambarkan rangkaian diatas pada simulasi Proteus
4. Masukan file yang berextensi COF atau HEX ke dalam mikrokontroller
ATMEGA16
5. Lakukan penekanan Tombol PLAY pada proteus amati apa yang terjadi
6. Buatlah program untuk rangkaian 1 untuk membuat tampilan counter dari 0000
sampai dengan 9453 kemudian kembali ke 0000 lagi dan seterusnya
menggunakan timer
7. Program 1 hanya berfungsi sebagai timer yang kemudian mengaktifkan buzzer
ketika sampai angka tertentu pada rangkaian 1 yang tampilannya menggunakan
LCD, kemudian buatlah rangkaian yang tampilanya dengan menggunakan
seven segment kemudian buat program yang fungsinya sama