Kamis, 21 Juli 2011

Rangkaian Jam Digital dgn ATmega8

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
2) Register Kontrol
Kombinasi TCCR1A dan TCCR1B untuk mengendalikan berbagai mode timer
Register-register timer/counter 1
  1. Timer/Counter 1 Control Register A – TCCR1A
  2. Timer/Counter 1 Control Register B – TCCR1B
  3. Output Compare Register 1 A – OCR1A (OCR1AH dan OCR1AL)
  4. Output Compare Register 1 B – OCR1B (OCR1BH dan OCR1BL)
  5. Input Capture Register 1 – ICR1 (ICR1H dan ICR1L)
  6. Timer/counter Interrupt Mask Register – TIMSK
  7. Timer/Counter Interrupt Flag Register – TIFR
Prescaler
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:

Primaveira mengatakan...

saya boleh minta daftar komponennya gak?

munawar mengatakan...

iyah,, bisa tolong dikasih daftar komponen

Unknown mengatakan...

makasih gan postingnya,lanjutkan

Unknown mengatakan...

pakek 7segment jenis apa gan ?

Posting Komentar



close
Buku Tamu