Rabu, 18 Desember 2013

TIMER DAN COUNTER



Penggunaan Timer Overflow
Pada percobaan kali ini akan dibuat program untuk membuat led berkedip per 500
milliseconds. Pada dasarnya LED akan toogle (berubah kondisi) setiap terjadi interupsi timer overflow, nilai register timer di set sedemikian rupa sehu=ingga menghasilkan waktu overflow per 500 milli seconds.
lansung saja kita coba ke praktiknya
PERALATAN YANG KITA BUTUHKAN:
1. Komputer
2. Arduino Uno
3. Kabel USB tipe B
4. Project board
5. Kabel jumper
6. LED
7. Resistor 330 Ohm
8. Switch pushbutton
9. LCD
10. Potensiometer
1.  Buatlah rangkaian seperti pada Gambar 6.1.
Gambar 6.1 Rangkaian Percobaan 6.1
2. Tuliskaan sintaks program seperti berikut
boolean dataLed = 0;
unsigned int overflowCount = 0;
void setup() {
Serial.begin(9600);
pinMode(12, OUTPUT);
TCCR1A = 0;
TCCR1B = 0;
TCNT1 = 34286;
TCCR1B |= (1 << CS12);   // 256 prescaler
TIMSK1 |= (1 << TOIE1);
sei();
}
ISR(TIMER1_OVF_vect) { TCNT1 = 34286; if(dataLed == 0) {
dataLed = 1;
}
else {
dataLed = 0;
}
digitalWrite(13, dataLed); overflowCount++;
}
void loop() {
Serial.print(“Overflow count = “);
Serial.println(overflowCount,DEC);
 delay(100);
}