Sumber : disini
Mungkin bagi sebagian pembaca Jam Digital merupakan hal yang sangat sederhana atau sudah terlalu umum, tapi dari Jam Digital bisa dipelajari prinsip-prinsip dasar kontrol dengan mikrokontroler AVR ATmega8 yaitu pemakaian timer/counter.Rangkaian lengkap Jam Digital ini terlihat pada gambar diatas, dilengkapi 4 buah seven segmen untuk menampilkan waktu, terdiri atas angka-angka puluhan jam, satuan jam, puluhan menit dan satuan menit. IC 74LS47 digunakan sebagai driver seven segmen. Tombol SW1 dan SW2 dipakai untuk mengatur tampilan waktu, saat SW1 ditekan angka pada tampilan jam akan bertambah setiap detik, sedangkan SW2 dipakai untuk mengatur angka tampilan menit dengan cara yang sama. Kristal 11.0592MHz dan kapasitor C1 dan C2 membentuk rangkaian oscilator pembangkit frekuensi kerja ATmega8.
Perancangan Software
Perancangan software pada jam digital ini menggunakan bahasa C CodeVisionAVR. Yang perlu diperhatikan dalam pembuatan jam digital ini adalah bagaimana cara mensetting timer counter agar sesuai dengan kondisi waktu sebenarnya. Pada aplikasi ini memanfaatkan timer/counter1 mikrokontroler avr ATmega8.
Timer/counter1 (16bit)
Timer/counter 1 adalah sebuah timer/counter yang mempunyai kapasitas cacahan 16 bit (65535) baik pulsa internal maupun eksternal yang dilengkapi prescaler sumber clock hingga 10 bit (1024). Timer/counter 1 mempunyai 2 kelompok register :
1) Register Kerja
- TCNT1 = register pencacah/penghitung.
- OCR1A = register pembanding A
- OCR1B = register pembanding B
- ICR1 = register penangkap isi TCNT1
Kombinasi TCCR1A dan TCCR1B untuk mengendalikan berbagai mode timer
Register-register timer/counter 1
- Timer/Counter 1 Control Register A – TCCR1A
- Timer/Counter 1 Control Register B – TCCR1B
- Output Compare Register 1 A – OCR1A (OCR1AH dan OCR1AL)
- Output Compare Register 1 B – OCR1B (OCR1BH dan OCR1BL)
- Input Capture Register 1 – ICR1 (ICR1H dan ICR1L)
- Timer/counter Interrupt Mask Register – TIMSK
- Timer/Counter Interrupt Flag Register – TIFR
Pada dasarnya timer hanya menghitung pulsa clock. Frekuensi pulsa clock yang dihitung tersebut bisa sama dengan frekuensi crystal yang digunakan atau dapat diperlambat menggunakan prescaler dengan faktor 8, 64, 256 atau 1024.
Perhitungan waktu Timer/Counter 16 bit
Contoh :
Diinginkan sebuah timer 16 bit bekerja selama 0,5 detik, dengan frekuensi clock sebesar 11,0592 Mhz dan presecaller 1024. Tentukan nilai TCNT?
Jawab
Jadi, TCNT1H = EAh dan TCNT1L = E8h
Download : Sourcecode (CodeVisionAVR) | Jam (Isis Proteus) | Layout PCB
Hardware
4 komentar:
saya boleh minta daftar komponennya gak?
iyah,, bisa tolong dikasih daftar komponen
makasih gan postingnya,lanjutkan
pakek 7segment jenis apa gan ?
Posting Komentar