RTC DS 1307 dengan Codevision AVR [1]


RTC – Real time clock sering digunakan sebagai acuan untuk menunjukkan waktu nyata pada rangkaian dan perangkat elektronik. Penunjuk waktu pada jam tangan digital, komputer, router, handphone, tablet dan smartphone merupakan contoh penggunaan real time clock pada kehidupan sehari-hari.

Real time clock dapat mengupdate waktu meskipun perangkat elektronik tersebut dalam kondisi mati. Mantap dong? ya enggak segitunya sih, alasannya mereka gak pernah kudet


(kurang update) karena emang di perangkat2 tersebut telah dipasangi baterai CMOS, atau setidaknya dalam penggunaan ponsel, baterai lithiumnya gak dilepas terlalu lama, klo kelamaen gimana? ya ngreset lah sesuai bawaan pabriknya 😀



Nah selain real time clock dalam sistem yang udah jadi, kita juga bisa menggunakan IC realtime clock untuk membuat sistem elektronik sendiri, misalnya membuat jam digital, alarm, maupun lampu otomatis yang menyala tiap malem tanpa harus repot mencari saklar.

IC yang banyak digunakan adalah IC DS 1307, DS 1337 dan DS 1338. Kali ini kita akan membahas IC real time clock 1307 yang digunakan sebagai input jam digital pada mikrokontroler avr atmega 32.

Program ini hanya akan menampilkan tampilan jam berdasarkan fungsi rtc_get_time() milik library ds1307.h ke dalam layar LCD. Yang harus diperhatikan adalah settingan clock mikrokontroler, resistor pull up dan konfigurasi pada PIN SCL dan SDA.

/*****************************************************
This program was produced by the
CodeWizardAVR V2.05.0 Advanced

Project : membuat jam digital 
Version : 
Date    : 5/29/2013
Author  : priyo harjiyono
Company : http://anotherorion.com
Comments: jam digital menggunakan RTC DS1307
Chip type               : ATmega32
Program type            : Application
AVR Core Clock frequency: 8.000000 MHz
Memory model            : Small
External RAM size       : 0
Data Stack size         : 256
*****************************************************/

#include <mega32.h>
#include <alcd.h>
// I2C Bus functions
#asm
   .equ __i2c_port=0x15 ;PORTC
   .equ __sda_bit=1
   .equ __scl_bit=0
#endasm
#include <i2c.h>
#include <delay.h>
#include <ds1307.h>
#include <stdio.h>

void main(void)
{
 char buff[33];
 char h,m,s;
ACSR=0x80;
SFIOR=0x00;

// I2C Bus initialization
i2c_init();

// DS1307 Real Time Clock initialization
// Square wave output on pin SQW/OUT: Off
// SQW/OUT pin state: 0
rtc_init(0,0,0);
lcd_init(16);
lcd_gotoxy(0,0);
lcd_putsf("==Jam Digital==");
delay_ms(10);
lcd_clear();
//untuk mengeset jam sendiri silahkan isi
//parameter berikut
//rtc_set_time(12,30,00); 
while (1)
      {
      // Place your code here
      rtc_get_time(&h,&m,&s);
      lcd_gotoxy(0,0);
      sprintf(buff,"jam %u:%u:%u",h,m,s);
      lcd_puts(buff);
      delay_ms(10);
      }
}

Rangkaian jam digital menggunakan RTC DS1307 dalam simulator ISIS proteus sebagai berikut

jam digital RTC DS1307

Masalah yang sering muncul pada konfigurasi membuat jam digital dengan DS1307 menggunakan Codevision AVR ini adalah seringkali outputnya hanya bernilai 165:165:165 padahal secara rangkaian sudah benar sesuai panduan, dan setting codewizardnya sudah mengikuti tutorial yang ada.

Kemungkinan kesalahan tersebut bisa terjadi pertama karena, kesalahan setting clock mikrokontroller, dan yang kedua setting SDA dan SCL terbalik, perhatikan lagi bagian setting bus I2C function di atas, setting program ini .equ __sda_bit=0 dan equ __scl_bit=1 jika terbalik atau beda ya kemungkinan hasil pembacaan DS 1307 pada LCD hanya muncul angka 165.


DMCA.com Protection Status

contoh pembahasan dasar program rtc logger (3), jam digital lcd atmega 8535 (3), sistem 12C oleh RTC (3), cara meng input kan rtc pada atmega sebagai alarm (2), program rtc untuk avr (2), jam digital atmega16 (2), program rtc codevision (2), program jam digital codevision avr (2), contoh program alarm menggunakan codevision (2), jam atmega (2)

Post You May Also Like

Post Author: anotherorion

Priyo Harjiyono, blogger kelahiran Cilacap yang kini menjadi warga Ngayogyakarta Hadiningrat, baginya blog adalah dunia untuk menciptakan mimpi2nya. Saat ini masih disibukkan sebagai pembelajar dalam dunia pendidikan.

4 thoughts on “RTC DS 1307 dengan Codevision AVR [1]

Berikan tanggapan anda