Sekarang kita gunakan Timer1 (16 bit) untuk melakukan tundaan sebesar 1 detik. Konsepnya sama seperti timer yang lain, yaitu menggunakan interupsi overflow-nya Timer1. Berapakah nilai inisialisasi-nya, kita gunakan program KAVRCalc by Kevin Rosenberg untuk menghitung, hasilnya ditunjukkan pada Gambar berikut…
Penjelasan Gambar:
- Pilih frekuensi kristal yang digunakan dalam rangkaian, dalam hal ini dipilih 11.0592MHz;
- Pilih pembagi detak-nya atau praskalar-nya, dalam contoh ini dipilih 256. Anda bisa melakukan eksperimen, coba-coba memilih nilai praskalar lainnya asalkan error yang dihasilkan tetap 0% (lihat panah 5);
- Tuliskan frekuensi yang diinginkan (berapa jumlah interupsi per detiknya), tuliskan 1, artinya 1 kali interupsi per detik atau tundaan 1 detik;
- Pilih satuannya, yaitu Hz;
- Cek apakah error-nya 0%? Selalu usahakan nilai 0 atau mendekati 0 agar diperoleh akurasi yang lebih baik;
- Catat hasil perhitungan nilai inisialisasinya, dalam hal ini terhitung 0x5740 (satuan heksadesimal) dalam 16-bit yang nantinya kita simpan ke TCNT1L dan TCNT1H.
Langkah selanjutnya adalah menuliskan program-nya…