Senin, 04 Maret 2013

Rangkaian Jam Digital dengan RTC ATmega8

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 6 buah seven segmen BCD untuk menampilkan waktu, terdiri atas angka-angka puluhan jam, satuan jam, puluhan menit, satuan menit, puluhan detik dan satuan detik. IC 74LS393 digunakan sebagai pewaktu Real Time Clock (RTC). 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 timertimer
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

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 : Source Code (CodeVisionAVR) | Skema Rangkaian Jam (Isis Proteus) | Layout PCB
Password WinRar : iarifw

16 komentar:

  1. mas, bisa di lampirkan ga source codenya :)

    BalasHapus
  2. daftar komponennya di share dong mas :) makasi

    BalasHapus
  3. mas ko dimintai password pas mau unrar nya? password nya apa?
    terima kasih

    BalasHapus
  4. Mas boleh minta bantuan gak? Sya punya program LED nyala di PORT B sesuai dengan tombol di PORT D

    if(PIND.0 == 0)
    PORTB = 0B00000001;
    If(PIND.1 == 0)
    PORTB = 0B00000010;

    dst....

    Pengen dimodifikasi supaya penekanan tombolnya berurutan.
    1. PIND.0
    2. PIND.1
    3. PIND.2

    dst.....

    Jadi apabila PIND.1 ditekan maka gak aktif karena harus menekan dulu PIND.0 .

    Program diatas kan sembarang tombol juga aktif. Saya minta bantuan supaya penekanan tombol bisa berurutan.

    Saya masih belajar...

    Terima kasih.

    BalasHapus
  5. mas tolong kirimkan PCB file EAGLE nya mas ke rokhadinnopianto@yahoo.co.id

    BalasHapus
  6. mas bisa minta tolong sebutin komponen yang dibutuhin apa aja gak mas?
    terimakasih

    BalasHapus
  7. mas tolong kirimkan juga PCB file EAGLE nya mas ke www.rahmadd@gmail.com

    BalasHapus
  8. mas tolong kirimkan juga PCB file EAGLE nya mas ke abdulwaht73gmail.com

    BalasHapus
  9. Komentar ini telah dihapus oleh pengarang.

    BalasHapus
  10. mas ada yang pake bascom ?
    klo ada kirim ke andriwiyana96@gmail.com

    BalasHapus
  11. gan, kok detiknya sampai 80 detik, harusnya 60 terus ke 0 lg, mohon pencerahannya gan. kalo boleh minta source code code visionnya gan

    BalasHapus
  12. kalo mau nyari komponen 7 segmennya gmn ya mas,kan 7 segment kaklinya 8 pin, disitu 4 pin?mohon pencerahannya

    BalasHapus
  13. ada file eagle brd dan sch rangkaian nya gak gan?gk sesuai komponen dgn letak jalurnya

    BalasHapus