Anda di halaman 1dari 21

21/08/14Membaca RTC DS1307 dengan Codev ision AVR | Kurang_Sangu

Kurang_Sangu

Membaca RTC DS1307 dengan Codevision AVR

Posted on April 24, 2011 by golek_sangu

i
7 Votes

RTC (Real time clock) adalah jam elektronik berupa chip yang dapat menghitung waktu (mulai
detik hingga tahun) dengan akurat dan menjaga/menyimpan data waktu tersebut secara real time.
Karena jam tersebut bekerja real time, maka setelah proses hitung waktu dilakukan output datanya
langsung disimpan atau dikirim ke device lain melalui sistem antarmuka.

Chip RTC sering dijumpai pada motherboard PC (biasanya terletak dekat chip BIOS). Semua
komputer menggunakan RTC karena berfungsi menyimpan informasi jam terkini dari komputer
yang bersangkutan. RTC dilengkapi dengan baterai sebagai pensuplai daya pada chip, sehingga
jam akan tetap up-to-date walaupun komputer dimatikan. RTC dinilai cukup akurat sebagai
pewaktu (timer) karena menggunakan osilator kristal.

Banyak contoh chip RTC yang ada di pasaran (pasar genteng, dll) seperti DS12C887, DS1307,
DS1302, DS3234.

1/21
21/08/14Membaca RTC DS1307 dengan Codev ision AVR | Kurang_Sangu

(http://kurangsangu.files.wordpress.com/2011/04/10079-01__66295_zoom2.jpg)

(http://kurangsangu.files.wordpress.com/2011/04/ds12c8872.jpg)

(http://kurangsangu.files.wordpress.com/2011/04/ds13072.jpg)

kurangsangu.wordpress.com/2011/04/24/membaca-rtc-ds1307-dengan-codev ision-av r/ 2/21


21/08/14Membaca RTC DS1307 dengan Codev ision AVR | Kurang_Sangu

DS3234 DS12C887 DS1307

Salah satu chip RTC yang mudah digunakan adalah DS1307. Pin out chip seperti gambar di
bawah.

(http://kurangsangu.files.wordpress.com/2011/04/100410_0556_11.png)

DS1307 memiliki akurasi (kadaluarsa) hingga tahun 2100. lihat datasheet


(http://pdf1.alldatasheet.com/datasheet-
pdf/view/58481/DALLAS/DS1307/+_7483UzYIKCTchVBvt.+/datasheet.pdf). Sistem RTC DS1307
memerlukan baterai eksternal 3 volt yang terhubung ke pin Vbat dan ground. Pin X1 dan X2
dihubungkan dengan kristal osilator 32,768 KHz. Sedangkan pin SCL, SDA, dan SQW/OUT
dipull-up dengan resistor (nilainya 1k s.d 10k) ke vcc. Skema lengkapnya:

(http://kurangsangu.files.wordpress.com/2011/04/ds1307shield2.jpg)

Pada topik ini akan dibahas cara pembacaan data waktu dari DS1307 dengan Codevision AVR.
alasan penggunaan chip ini adalah karena mudah dalam komunikasi datanya, yaitu
menggunakan antarmuka Serial I2C yang hanya butuh dua jalur saja (clock dan data). berbeda
dengan DS12C887 yang antarmukanya secara paralel. pada project ini digunakan mikrokontroler
ATmega16 (http://circuits.datasheetdir.com/18/ATMEGA16-pinout.jpg) dan LCD2X16
(http://4.bp.blogspot.com/-UDceyRyNCso/TZ1tb5I-
n_I/AAAAAAAAAS8/GFh4_Tl0jW8/s1600/index.jpg) untuk display waktu RTC nya. PORTC
terhubung ke pin LCD. dan pin SDA DS1307 terhubung ke PORTB.0 sedangkan pin SCLnya ke
PORTB.1.

Untuk menampilkan jam dan tanggal dari RTC DS1307 dilakukan dengan pengaksesan register
pewaktu pada RTC. Pada Codevision AVR terdapat fitur I2C bus dan koneksi pada RTC DS1307
sehingga hanya tinggal melakukan pengaksesan data pada register timekeeper RTC. Berikut
langkah pengaturan pada widzard CodevisionAVR untuk pengaturan fitur I2C bus dan koneksi
pada RTC DS1307.

kurangsangu.wordpress.com/2011/04/24/membaca-rtc-ds1307-dengan-codev ision-av r/ 3/21


21/08/14Membaca RTC DS1307 dengan Codev ision AVR | Kurang_Sangu

(http://kurangsangu.files.wordpress.com/2011/04/new-picture-1.jpg)

Dari pengaturan widzard I2C bus dan koneksi RTC DS1307 diatas di ketahui bahwa jalur I2C
berada pada PORTB.0 sebagai serial data (SDA) dan PORTB.1 sebagai serial clock (SCL). Dari
pengaturan tersebut akan ter-include fungsi-fungsi pengaksesan register RTC DS1307 yang
terdapat pada file “ds1307.h.” fungsi-fungsi tersebut antara lain:

unsigned char rtc_read(unsigned char address); —> untuk membaca pada alamat tertentu
dari register timekeeper RTC
void rtc_write(unsigned char address,unsigned char data); —> untuk menulis pada alamat
tertentu dari register timekeeper RTC
void rtc_init(unsigned char rs,unsigned char sqwe,unsigned char out); —> untuk
inisialisasi ​
IC DS1307
void rtc_get_time(unsigned char *hour,unsigned char *min,unsigned char *sec); —>
untuk membaca waktu ( jam, menit dan detik ) dari RTC dalam satu kali akses
void rtc_set_time(unsigned char hour,unsigned char min,unsigned char sec); —> untuk
mensetting waktu sekarang ( jam, menit dan detik ) dari RTC dalam satu kali akses
void rtc_get_date(unsigned char *date,unsigned char *month,unsigned char *year); —>
untuk membaca tanggal, bulan dan tahun dari RTC dalam satu kali akses
void rtc_set_date(unsigned char date,unsigned char month,unsigned char year); —>
untuk mensetting tanggal, bulan dan tahun dari RTC dalam satu kali akses.

pada topik ini, kita ingin mengatur waktu pada RTC sesuai jam dan tanggal sekarang misanya,
jam 08, menit: 19, detik:00 || tanggal: 24, bulan:04, tahun:2011. kemudian melakukan pembacaan
jam dan waktu dari RTC setiap 100 ms sekali dan menampilkan hasilnya pada LCD Display.
berikut listing programnya:

/*****************************************************
This program was produced by the
CodeWizardAVR V1.25.3 Professional
Automatic Program Generator
© Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l.

kurangsangu.wordpress.com/2011/04/24/membaca-rtc-ds1307-dengan-codev ision-av r/ 4/21


21/08/14Membaca RTC DS1307 dengan Codev ision AVR | Kurang_Sangu

http://www.hpinfotech.com

Project : Real Time Clock DS1307


Version :
Date : 4/24/2011
Author : KurangSangu
Company : PT GolekSangu
Comments:

Chip type : ATmega16</span>


Program type : Application</span>
Clock frequency : 11.059200 MHz</span>
Memory model : Small</span>
External SRAM size : 0</span>
Data Stack size : 512</span>
*****************************************************/

#include <mega16.h>
#include <ds1307.h>
#include <delay.h>
#include <stdio.h>

// I2C Bus functions


#asm
.equ __i2c_port=0x18 ;PORTB
.equ __sda_bit=0
.equ __scl_bit=1
#endasm
#include <i2c.h>

// Alphanumeric LCD Module functions


#asm
.equ __lcd_port=0x15 ;PORTC
#endasm
#include <lcd.h>

void main(void)
{
unsigned char jam, menit, detik, tanggal, bulan, tahun, buff[17];

// Timer(s)/Counter(s) Interrupt(s) initialization</span>


TIMSK=0x00;

// Analog Comparator initialization


// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

kurangsangu.wordpress.com/2011/04/24/membaca-rtc-ds1307-dengan-codev ision-av r/ 5/21


21/08/14Membaca RTC DS1307 dengan Codev ision AVR | Kurang_Sangu

// I2C Bus initialization</span>


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 module initialization


lcd_init(16);
lcd_gotoxy(0,0);
lcd_putsf("Real Time Clock");
delay_ms(2000);
lcd_clear();

rtc_set_time(8,19,0); // set jam 08:19:00


rtc_set_date(24,4,11); // set tanggal: 24 april 2011

while (1)
{
// Place your code here
rtc_get_time(&jam,&menit,&detik); // mengakses jam
rtc_get_date(&tanggal,&bulan,&tahun); //mengakses tanggal
lcd_gotoxy(0,0);
sprintf(buff,"Jam: %d:%d:%d ",jam,menit,detik); // menampilkan jam
lcd_puts(buff);
lcd_gotoxy(0,1);
sprintf(buff,"Tgl: %d:%d:%d ",tanggal,bulan,tahun); // menampilkan tanggal
lcd_puts(buff);
delay_ms(100);
lcd_clear();
};
}

untuk full sourcecode nya silahkan diunduh di sini


(http://www.ziddu.com/download/14729097/DS1307kurangSangu.rar.html)

Filed under:
About these ads
Electronics
(http://en.wordpress.com/about-these-ads/)

« Sistem minimum ATmega16 Remote TV “SONY” untuk Mouse Komputer »

78 Responses

goleksangu, on May 3, 2011 at 2:27 PM said:


Real time clock
kurangsangu.wordpress.com/2011/04/24/membaca-rtc-ds1307-dengan-codev ision-av r/ 6/21
21/08/14Membaca RTC DS1307 dengan Codev ision AVR | Kurang_Sangu

Reply

alan, on December 10, 2013 at 5:24 AM said:


assalmualaykum wr.wb.
MAS…. bagaimana menyeting jam,menit secara manual dengan rtc…. soalnya sudah saya
coba untuk menyetingnya tapi tidak bisa…

Reply

alan, on December 10, 2013 at 5:25 AM said:


klau bisa sarannya lwat email….

ismail, on December 9, 2011 at 10:35 AM said:


salam kenal, mas. tanya nih, bgmana kalo mau menampilkan nama hari selain tgl, buln dan
tahun seperti contoh di atas pkai ds1307?

Reply

goleksangu, on December 9, 2011 at 3:30 PM said:


untuk membaca nama hari bisa mengakses ds1307 dengan fungsi ini:
rtc_read(0x03);
Range nilai fungsinya adalah bilangan desimal 1 – 7. Ini sebagai kode hari.
nilai : 1 ; kode hari minggu
nilai : 2 ; kode hari senin
dan seterusnya
nilai : 7 ; kode hari sabtu

nilai hasil pembacaan dimasukkan dalam variable lalu ditampilkan nama harinya pada
LCD. Contoh:

void baca_nama_hari()
{
unsigned char hari, buff[16];
hari=rtc_read(0x03);

lcd_gotoxy(0,0);
if (hari==1) lcd_putsf(“Hari: minggu “);
else if (hari==2) lcd_putsf(“Hari: senin “);
else if (hari==3) lcd_putsf(“Hari: selasa “);
else if (hari==4) lcd_putsf(“Hari: rabu “);
else if (hari==5) lcd_putsf(“Hari: kamis “);
else if (hari==6) lcd_putsf(“Hari: jum’at “);
else if (hari==7) lcd_putsf(“Hari: sabtu “);

delay_ms(100);
}

kurangsangu.wordpress.com/2011/04/24/membaca-rtc-ds1307-dengan-codev ision-av r/ 7/21


21/08/14Membaca RTC DS1307 dengan Codev ision AVR | Kurang_Sangu

semoga bisa membantu.

thanx sudah berkunjung..


kalo punya blog bisa sharing – sharing mas..

Reply

elkacux, on December 10, 2011 at 5:38 AM said:


terimakasih banyak untuk ilmunya…..

Reply

anang, on February 10, 2012 at 11:50 PM said:


terima kasih buat ilmunya mas, semoga bermanfaat

Reply

fuad, on February 17, 2012 at 4:17 AM said:


mas kalau mau menyambungkan RTC dengan relay bgaimana?
semisal pada jam 05.00 ,,relay On…kemudian jam 06.00 relay OFF

Reply

goleksangu, on February 17, 2012 at 8:46 PM said:


@ mas fuad:
bisa dg mendefinisikan salah satu port mikro sebagai output untuk mengendalikan relay
(misal PORT A.0). dan menambahkan baris program pada program utama dari listing di
atas seperti berikut ini:
1. baca jam, menit, detik serta tanggal dari RTC dan tampilkan
nilainya pada LCD
2. jika jam=5 AM —–> relay=ON
lainnya —–> relay=OFF
3. memberi tundaan (delay) selama 100 ms

bentuk source code nya seperti ini:

//************************************************//
………………………………….
#define out_RELAY DDRA.0
#define RELAY PORTA.0
#define ON 0 // aktif low
#define OFF 1
…………………………………..
…………………………………..
void main(void)
{………………………………
kurangsangu.wordpress.com/2011/04/24/membaca-rtc-ds1307-dengan-codev ision-av r/ 8/21
21/08/14Membaca RTC DS1307 dengan Codev ision AVR | Kurang_Sangu

……………………………….
……………………………….
out_RELAY=1; // memfungsikan A.0 sebagai output untuk relay
RELAY=OFF; // memberi kondisi awal relay dalam keadaan mati

while (1)
{
// Place your code here
rtc_get_time(&jam,&menit,&detik); // mengakses jam
rtc_get_date(&tanggal,&bulan,&tahun);
lcd_gotoxy(0,0);
sprintf(buff,”Jam: %d:%d:%d “,jam,menit,detik);
lcd_puts(buff);
lcd_gotoxy(0,1);
sprintf(buff,”Tgl: %d:%d:%d “,tanggal,bulan,tahun);
lcd_puts(buff);
if (jam==5) RELAY=ON;
else RELAY=OFF; // jam =6 maka relay mati
delay_ms(100);
lcd_clear();
}
}

kurang lebih sepeti ini,, tolong dikoreksi lagi..


trims atas kunjungannya.. :)))

Reply

zaki, on February 24, 2012 at 10:14 AM said:


mas klo cavr aq ko ga bisa compile ya? pas compile ada pesan klo ds 1307 hanya untuk yang
commercial version. Mungkin masnya punya cavr yg full version share dong mas?

Reply

goleksangu, on February 26, 2012 at 11:38 PM said:


bisa dicoba codevision avr yang ini :

http://www.ziddu.com/download/18709064/CodevisionAVRV2.03.4.rar.html

Reply

FATUR, on February 25, 2012 at 11:54 AM said:


mas mau nanya pin ic ds 1307 yang SQW-nya terhubung ke pin micro juga ya?
terus fugsinya untuk apa?

Reply

goleksangu, on February 26, 2012 at 11:59 PM said:


kurangsangu.wordpress.com/2011/04/24/membaca-rtc-ds1307-dengan-codev ision-av r/ 9/21
21/08/14Membaca RTC DS1307 dengan Codev ision AVR | Kurang_Sangu

Pin SQW/OUT (Square Wave Output) di DS1307 fungsinya untuk keluaran gelombang
kotak dari kaki ke-7 (lihat gambar di atas) dengan frekuensi pilihan yaitu 1 Hz, 4096 Hz,
8192 Hz atau 32768 Hz.
keluaran gelombang kotak ini bisa diaktifkan atau tidak terserah penggunanya. fungsi
untuk SQW ini adalah:
void rtc_init(unsigned char rs, unsigned char sqwe, unsigned char out);
rs=nilai frekuensi outputnya (0 untuk 1 Hz, 1 untuk 4096 Hz, 2 untuk 8192 Hz dan 3 untuk
32768 Hz).
sqwe=meng-enable keluaran gelombang kotak pada kaki ke-7 DS1307 (1 untuk enabled
dan 0 untuk disabled).
out=logika pin SQW/OUT ketika kondisi disabled.

output SQW/OUT harus di-pull up dg resistor ke VCC.


tapi kalau tidak ada niatan menggunakan SQW/OUT maka lebih baik tidak perlu di-pull
up dan disambung ke mikro (dibiarkan mengambang) dan di-disable aja sperti pada listing
program di atas, rtc_init(0,0,0);.

Lebih jelasnya lihat datasheet dan cvavr manual.


Trims..

Reply

fatur, on February 27, 2012 at 1:51 PM said:


terimaksih atas penjelasannya mas, jadi intinya SQW/out bisa di hubungkan ke kaki
micro i/o mana saja ya mas, kalau mau SQW nya di fungsikan. begitu?

Anang Jazuli, on April 22, 2012 at 4:11 AM said:


thanks mas bwt ilmunya

Reply

goleksangu, on April 23, 2012 at 4:17 PM said:


sama-sama..
kalau mas nya punya blog .. bisa di-share di sini..
trims.. sudah mampir

Reply

Fery Balea, on April 22, 2012 at 5:18 AM said:


mas, rtc saya koq hitungan detiknya tidak normal?? jika saya bandingkan dengan jam digital,
dalam putaran 1 menit ketinggalan 5 detik dari jam digital.
apakah masalahnya pada rangkaian rtc atw program??
(saya pake at89s52 bahasa c)

Reply

kurangsangu.wordpress.com/2011/04/24/membaca-rtc-ds1307-dengan-codev ision-av r/ 10/21


21/08/14Membaca RTC DS1307 dengan Codev ision AVR | Kurang_Sangu

goleksangu, on April 24, 2012 at 6:00 AM said:


kalau disebabkan dari sisi software itu kemungkinan kecil mas.. software cuma berfungsi
membaca data terkini dari RTC nya.. jadi meskipun pembacaan data telat tapi data yg
didapat adalah data realtime RTC .. maaf untuk at89s52 belum pernah pake.. tapi mungkin
program c nya bisa di-share di sini..
jadi kemungkinan dari sisi hardwarenya, silahkan mas cek sudah sesuai rekomendasi
datasheet apa belum… (kristal clock nya, dll)

trims sudahh mampir..

Reply

kandjeng, on May 8, 2012 at 8:35 AM said:


coba letakkan crystal sedekat mungkin dengan pin X di ds1307,.
dan pastikan crystal di 32.768Mhz
(*kita pernah senasib, delay 2 menit dalam sehari..)

Reply

Fajar Purnama, on May 13, 2012 at 4:59 PM said:


Mas, gimana basis/dasar waktu nya RTC saat program tersebut di download ke
mikrokontroller.
gimana caranya dia bisa mengikuti waktu yang sekarang kalau sudah diaplikasikan pada
rangkaian nyata (bukan simulasi)

Note : pemrograman saya menggunakan AVR Code Block

Reply

goleksangu, on May 15, 2012 at 8:58 AM said:


@ Mas Fajar Purnama:

maaf saya masih bingung dg pertanyaan yg pertama..

agar dapat mengikuti waktu real yang terkini maka pada program di atas perlu
ditambahkan menu untuk setting jam dan tanggal.. jadi pengaturan waktunya bisa sesuai
kemauan kita. kalau program yg di atas kan pengaturan waktunya dilakukan setiap kita
nge flash / download program ke mikronya. jadi nilai waktunya akan kembali ke nilai wktu
yg sudah ter set di program (statis). program di atas sudah pernah saya pake project timer
pemanas / furnace bahan otomatis.. ya.. dg ngubah2 dikit programnya biar bisa dibuat
menu pengaturan waktunya.

untuk AVR Code Block nya belum pernah pake mas..

trims..

Reply

kurangsangu.wordpress.com/2011/04/24/membaca-rtc-ds1307-dengan-codev ision-av r/ 11/21


21/08/14Membaca RTC DS1307 dengan Codev ision AVR | Kurang_Sangu

Fajar Purnama, on May 17, 2012 at 8:56 AM said:


Bisa bantu ngk mas program apa yang harus ditambahkan untuk bisa menampilkan
waktu real yang terkini??

goleksangu, on June 12, 2012 at 7:47 AM said:


maksudnya mas fajar, yg pakai menu setting waktu ??

roben, on June 8, 2012 at 4:21 AM said:


mas saya mw nanya bagaimana …saya kan bikin TA penggunaan programable sebagai saklar
otomatis,,, dengan AT89s52.. dengan rtcds1307. trus saya terkendala ama rtc nya gimana
memasukan data time ke rtc tesebut????? saya mohon batuan nya masss

Reply

goleksangu, on June 12, 2012 at 7:44 AM said:


maaf mas sy belum pernah pakai keluarga mcs51/52.. cuma familiar dg avr hehehe.. thanks
for visit

Reply

ashari muhammad, on June 11, 2012 at 1:07 AM said:


mas kalo pake bahasa bascom gmna yaa ?

Reply

goleksangu, on June 12, 2012 at 7:51 AM said:


belum pernah pakai Basic mas. tapi asal ada library atau fungsi yang support untuk akses
DS1307 mungkin bisa..

Reply

InsideMan, on June 27, 2012 at 11:23 AM said:


Jdi klo pke ds1307 udh g perlu ribet ngitung besar clock, prescaler2 dll kyk pke timer di uC ya
mas? uC berfungsi cuma buat interfacingnya aja ya?

Reply

goleksangu, on July 27, 2012 at 1:44 PM said:


bener mas InsideMan

Reply

hengky prayoga, on July 25, 2012 at 1:46 AM said:

kurangsangu.wordpress.com/2011/04/24/membaca-rtc-ds1307-dengan-codev ision-av r/
21/08/14Membaca RTC DS1307 dengan Codev ision AVR | Kurang_Sangu

bisa bantu gak mas……


untuk ngest jam sama TGL nya menggunakan interrup bisa gak mas?
tlong dishare ya klu ad programnya.

Reply

goleksangu, on July 27, 2012 at 1:50 PM said:


mas hengky prayoga, maksudnya ngeset jam dan tanggal dengan interrupt bagaimana?
untuk program yg pernah sy buat, setting jam dan tanggalnya sy pake fungsi pilih menu
yg muncul di awal program (sebelum program utama / fungsi while(1){} ).. aksesnya dg 4
push button (OK, UP, DOWN, dan QUIT).. tampilannya dg LCD display 2×16 character..

Reply

yudha, on August 2, 2012 at 1:47 PM said:


klo untuk mengaktifkan jam sholat misal
shubuh 0453
dzuhur 1215
ashar 1530
magrib 1806
isya 1912

d sambung ke relay untuk mengaktifkan mp3 yang keluarannya suara adzan bisa gk tuliskan
listing programnya

mohon pencerahannya

Reply

goleksangu, on December 19, 2012 at 10:32 AM said:


mengaktifkan mp3 (player) pake relay untuk play suara adzan maksudnya? .. kayaknya
ribet malahan mending pake ic yg bisa merekam suar (adzan) trus nanti ditrigger dari
luar untuk memainkan suaranya. tapi aku lupa tipe ic nya apa .. soalnya temanku pernah
pake.
kalau pake bahasa c untuk program alarm suara adzannya ya tinggal baca data jam dan
menit dari DS1307 trus uji nilai waktunya itu dengan fungsi syarat (“IF”) atau bisa dengan
fungsi percabangan lain untuk mengecek bahwa sekarang sudah waktunya dhuhur, ashar
atau sbgnya. contoh
1. baca data jam dan menit –> masukkan ke variable JAM dan MENIT
2. jika JAM=4 dan MENIT=53
atau
JAM=12 dan MENIT=15
atau
JAM=15 dan MENIT=30
atau
JAM=18 dan MENIT=6
atau
JAM=19 dan MENIT=12
kurangsangu.wordpress.com/2011/04/24/membaca-rtc-ds1307-dengan-codev ision-av r/ 13/21
21/08/14Membaca RTC DS1307 dengan Codev ision AVR | Kurang_Sangu

maka bunyikan alarm adzan

ini dengan asumsi alarm untuk semua waktu sholat adalah sama yaitu 1 jenis suara adzan..
beda lagi kalau tiap waktu sholat diberi nada adzan yg berbeda beda misalnya adzan
subuh pake gaya pakistan, dhuhur gaya eropa dll hehehe

THANKS sudah berkunjung

Reply

asmato, on September 10, 2012 at 10:32 PM said:


trims banget…moga sukses

Reply

rendywarr, on December 2, 2012 at 7:27 AM said:


mas kenapa rtc saya gak bisa di baca di code vision?tlong bqntuanx mas

Reply

jamal, on December 13, 2012 at 1:02 AM said:


Mas, mau tanya.
ane lg nyoba rts ds1307. data waktu ane tampilin lewat serial.
tapi datanya kadang bener kadang salah. sering tampil angka 165.
kira2 apa salahnya ya?

Reply

goleksangu, on December 19, 2012 at 10:37 AM said:


pastikan pembacaan DS1307 oleh mikro nya bener dulu mas, bisa ditambilkan di LCD
dulu. Trus itu serial usart maksudnya mas? baudrate nya disamakan dulu mas yg di master
dan slavenya.

Reply

benylob, on December 14, 2012 at 4:00 AM said:


terimakasih untuk postingannya mas
mudah dimengerti
mas uda pernah buat jam digital tapi tampilannya seven segment gak?

Reply

goleksangu, on December 19, 2012 at 10:44 AM said:


sama sama
Kalau 7seg untuk jam digital belum pernah. tapi kalau untuk display lain pernah. 7
segmennya minimal butuh 4 digit, 2 untuk jam, 2 untuk jam. atau bisa tambah 2 lagi untuk
detik (jadi 6 digit). trus pake metode latching untuk menampilkan di 7seg nya. pin mikro
kurangsangu.wordpress.com/2011/04/24/membaca-rtc-ds1307-dengan-codev ision-av r/ 14/21
21/08/14Membaca RTC DS1307 dengan Codev ision AVR | Kurang_Sangu

untuk kontrol 7 semennya bisa pake 12 pin (8 untuk 7 seg + 4 untuk kontrol latching
keempat digitnya). thanks

Reply

aku_nich_mabuk, on December 27, 2012 at 12:12 AM said:


mas set alaram bagai mana mas cara codex menggunkn codevision mas? kalau jam
10.00 alaram on kalu 10.30 smpe strusx alaram off tolong bntuanya mas…

haqi, on January 23, 2013 at 1:04 PM said:


mas,, mau tnya,, sya pake ATmega8 sama RTC ds1307, cuma sya trkendala sma program
rtcnya untuk mengaktifkan relay selama bbrpa jam,, bisa bantu kasih solusi? & source codenya
kya’ apa? trima kasih

Reply

goleksangu, on February 25, 2013 at 10:49 AM said:


setting RTCnya dulu mas biar sama dengan jam sekarang.
trus definisikan jam/waktu kapan terjadi alarm

while(1)
baca jam rtc setiap saat
–> bila jam sama dengan waktu alarm, aktifkan relay
–> bila jam > ‘beberapa jam’ matikan relay

kalo pake cvavr bisa pake contoh di atas mas. thanks

Reply

awan, on January 30, 2013 at 8:30 AM said:


mas saya dah coba sesuai rangkaian d atas,,ko kluaran d LCD na jam: 165;165;165,,,kira2 letak
ksalahannya di manh y mz,,,mksh

Reply

goleksangu, on February 25, 2013 at 10:54 AM said:


ada kemungkinan RTC nya belum ter-set mas. coba set jam dan tanggalnya pake fungsi
rtc_set_time(). mungkin bisa di-share rangkaian sama coding yg mas pake biar bisa dibahas
sama2 di sini..

Reply

Josefina N. Mccullough, on February 5, 2013 at 4:36 PM said:


The DS1307 loads the crystal with 12.7pF so you need to buy a crystal that is defined to use this
load capacitance. Circuit layout also affects the capacitance at the crystal pins so you must keep
the crystal as close as possible to the chip and the tracks from crystal to chip must be short.
kurangsangu.wordpress.com/2011/04/24/membaca-rtc-ds1307-dengan-codev ision-av r/ 15/21
21/08/14Membaca RTC DS1307 dengan Codev ision AVR | Kurang_Sangu

Reply

goleksangu, on February 25, 2013 at 11:02 AM said:


recommended, thanks for advice

Reply

Melissa Frisilya, on February 7, 2013 at 4:17 AM said:


mas,kok di jam saya munvul nya 0:0:0

Reply

goleksangu, on February 25, 2013 at 10:58 AM said:


tapi bilangan detiknya bisa berjalan nggak mbak? ada kemungkinan pembacaan secara i2c
nya gak sukses. cek lagi rangkaiannya atau share program yg dipake di sini biar bisa kita
cek sama-sama mbak. trims

Reply

Trinanda, on February 15, 2013 at 2:12 PM said:


mas, mau nanya, kalau di kasih sensor apa yang di tambah codingnya mas?

Reply

goleksangu, on February 25, 2013 at 11:01 AM said:


sensor nya buat apa dulu ya?

Reply

prayudhisti, on February 18, 2013 at 9:21 AM said:


mas saya mau tanya, saya udah buat rangkaian RTC pke DS1307 pake mikro atmega32. tapi
kenapa ya jamnya gak bisa jalan. pdahal saya udah ganti crystal berkali-kali (>10). mungkin
mas bisa kasih saran ato solusi…
trimakasih sbelumnya…

Reply

goleksangu, on February 25, 2013 at 11:00 AM said:


sudah pake Resistor pull up untuk SDA dan SCL nya mas? jgn lupa battery 3 volt bisa pake
batt kancing, untuk supply chip DS1307 nya

Reply

Mei Priyanto, on April 4, 2013 at 9:29 AM said:


mas sama seperti pertanyaan yang di atas2 :

kurangsangu.wordpress.com/2011/04/24/membaca-rtc-ds1307-dengan-codev ision-av r/ 16/21


21/08/14Membaca RTC DS1307 dengan Codev ision AVR | Kurang_Sangu

mas klo cavr aq ko ga bisa compile ya? pas compile ada pesan klo ds 1307 hanya untuk yang
commercial version. Mungkin masnya punya cavr yg full version share dong mas?

Reply

goleksangu, on April 4, 2013 at 10:57 AM said:


mas Mei,, sudah saya upload,, bisa didownload di sini cvavr nya..
http://www.4shared.com/archive/i6nopN9_/cvavr_25.html

Reply

Me, on April 11, 2013 at 9:36 AM said:


mas kok kluarnya programnya di tempat saya:
jam:165:165:165 dan
tgl:255:165:165
gimana mas? mohon infonya scepetnya.. mkasih

Reply

rizalrusita, on April 11, 2013 at 2:27 PM said:


salam kenal mas, saya sudah ikuti petunjuk ini dan menampilkannya ke LCD. Saya pakai
ATMEGA 8535. Setelah sy chip program, sudah terbaca jam dan tglnya, namun begitu
mikonnya dimatikan dan kemudian dinyalakan lagi, jamnya tetap pada jam yang semula saya
set. bagaimana agar jamnya tetap terupdate?

Reply

rizalrusita, on April 13, 2013 at 1:31 PM said:


salam kenal mas, sy uda coba bikin rangkaiannya, pas chip program dg codingan di atas, jam
sudah berhasil tertampil di LCD, namun begitu mikon AT8535 sy matikan dan nyalakan
kembali, waktu dan tanggalnya reset ke awal pertama di-set. apa mgkin ada masalah di
rangkaiannya? di kaki no3/ Vbat, sy berikan elco 16V, bukan 3V.

Reply

rizalrusita, on April 20, 2013 at 8:20 AM said:


salam kenal mas,,
sy uda bikin rangkaian persis kyk tutorial di atas,,jamnya sudah berfungsi,namun ketika di off
lalu di on lagi, jamnya kembali ke waktu semula di-set (jadi ga terupdate gitu). bagaimana ya
mas?ap ada yg salah?

Reply

goleksangu, on April 21, 2013 at 11:36 PM said:


mas rizal..
iya karena subrutin pada coding di atas membuat waktu pada RTC otomatis terset kembali

kurangsangu.wordpress.com/2011/04/24/membaca-rtc-ds1307-dengan-codev ision-av r/ 17/21


21/08/14Membaca RTC DS1307 dengan Codev ision AVR | Kurang_Sangu

ketika mikro di reset.. solusinya ya harus di tambahkan sub rutin lagi untuk pilihan menu
apakah mau men set waktu RTC atau tidak di awal program.. bisa pake push button untuk
selector menunya.. tapi secara program RTCnya sudah bisa bekerja kan..

Reply

rizal, on April 22, 2013 at 4:33 PM said:


iya mas, rtc sudah bs bekerja. sy lg bikin lampu aquarium otomatis, sistemnya mirip
kyk alarm, namun jam hrus slalu terupdate, kalo mati lampu jd repot. boleh minta cntoh
penggunaan push button dengan listing programnya mas, biar jam selalu terupdate..
makasih mas sebelumnya..

azan, on May 12, 2013 at 4:45 PM said:


salam kenal mas..
kenapa ketika programnya dicompile muncul error “too few arguments in function call”
mohon penjelasannya mas..

Reply

goleksangu, on October 5, 2013 at 2:42 PM said:


coba dicek dengan cara klik pesan errornya mas.. ketahuan error di baris berapa.. capture
aja errornya di sini..

Reply

andik, on May 14, 2013 at 7:15 AM said:


mas, kalo pake ds1302 gmn? please

Reply

Novin, on May 19, 2013 at 10:47 PM said:


Kalau kita tambahin keypad, jadi kita bisa set jam manualnya lewat keypad gimana listing
programnya …

Terima kasih
(novinsyahputra@gmail.com)

Reply

Putra, on May 19, 2013 at 10:51 PM said:


Kalau kita tambahin keypad, jadi kita bisa set jam manualnya lewat keypad gimana listing
programnya …

Terima kasih

Reply
kurangsangu.wordpress.com/2011/04/24/membaca-rtc-ds1307-dengan-codev ision-av r/
Membaca RTC DS1307 dengan Codev ision AVR | Kurang_Sangu

Putra, on May 19, 2013 at 11:04 PM said:


Kalau kita tambahin keypad, jadi kita bisa set jam manualnya lewat keypad gimana listing
programnya Mas …

Terima kasih sebelumnya


(novinsyahputra@gmail.com)

Reply

azan, on June 10, 2013 at 5:05 AM said:


mas kalo di lcd nya muncul 0:0:0.
kira-kira masalahnya ada dimana ya mas?

Reply

giri, on June 10, 2013 at 11:51 AM said:


salam kenal mas
mau tanya nih mas
kalo tampilan LCD nya kayak gini itu kenapa ya masalahnya kira2?
Jam : 165 :165 :165
terima kasih mas

Reply

goleksangu, on October 5, 2013 at 2:46 PM said:


maaf lama ga kunjung blog sendiri mas hehehe..
coba tak carikan referensi dulu ..

Reply

nanang, on November 18, 2013 at 2:40 PM said:


mas mau tanya. kan sy punya project. dengan aplikasi RTC, pertama, sy hrus seting
tanggal,bulan,tahun, menit saa jam. setelh d set bru RTC nya mulai menghtung. nah saya
bingung untuk ngambl program RTC setelh d seting itu. dengan tampilan 7segment. mhon
bantuannya

Reply

Eza Saputra, on December 13, 2013 at 5:09 PM said:


mas, mau nanya..
kalo cara menampilkan hari apakah ini udh betul atau ada yang perlu diperbaiki mas ?
mohon infonya.. terima kasih

void nama_hari()
{

kurangsangu.wordpress.com/2011/04/24/membaca-rtc-ds1307-dengan-codev ision-av r/ 19/21


21/08/14Membaca RTC DS1307 dengan Codev ision AVR | Kurang_Sangu

unsigned char hari, buff[16];


hari=rtc_read(0x03);

lcd_gotoxy(0,0);
if (hari==1) lcd_putsf(“Hari : minggu “);
else if (hari==2) lcd_putsf(“Hari : senin “);
else if (hari==3) lcd_putsf(“Hari : selasa “);
else if (hari==4) lcd_putsf(“Hari : rabu “);
else if (hari==5) lcd_putsf(“Hari : kamis “);
else if (hari==6) lcd_putsf(“Hari : jum’at “);
else if (hari==7) lcd_putsf(“Hari : sabtu “);
sprintf(buff,”%d”,hari);
delay_ms(100);
lcd_clear();
}
while (1)
{
// Place your code here
nama_hari();
};
}

Reply

golek_sangu, on June 22, 2014 at 12:36 AM said:


untuk variabel buff[16] dan fungsi sprintf(buff,”%d”,hari); rasanya gak perlu ya karna
cuma buffer nilai hari hehehe

thanks for visit

Reply

Irfan Mohamed, on March 13, 2014 at 3:41 AM said:


mas bagaimana indikasi RTC DS1307 telah bekerja, saya bikin modul RTC 4 kali tapi hasilnya
tetap sama, angka berjalan cepat sekali sampai 165. mohon komentarnya.texs

Reply

golek_sangu, on June 22, 2014 at 12:38 AM said:


waduh gmana ya mas hehehe saya kok ga pernah ngalami.. angka yag berjalan cepat itu
detik menit atau apa?

Reply

Arief, on June 21, 2014 at 12:27 PM said:


mas saya mau buat waktu yg bisa ngebatasin penggunaan Keypad, jadi misal dari jam 8
malam – 5 pagi keypad itu tdk bisa du gunain, jam 5.05 – 7.59 malam bisa di gunain lg

kurangsangu.wordpress.com/2011/04/24/membaca-rtc-ds1307-dengan-codev ision-av r/ 20/21


21/08/14Membaca RTC DS1307 dengan Codev ision AVR | Kurang_Sangu

keypadnya, itu gmn yah mas ?

Reply

golek_sangu, on June 22, 2014 at 12:43 AM said:


sangat bisa sekali hehehe
secara sederhana ya logika nya
Jika jam 8 malam sampai 5 pagi maka jangan panggil fungsi baca keypad
jika di luar itu panggil fungsi baca keypad nya

coding baca keypad banyak kok mas referensi di google hehehe


seperti ini : http://too-payz.blogspot.com/2009/07/keypad-matriks-4×4-dan-lcd-16×2.html
tinggal dimodifikasi.

thanks for blog walking mas

Reply

Arief, on June 22, 2014 at 5:20 PM said:


Maaf mas nanya lagi, saya tdk tahu kodingan pembatasan/pemanggilan fungsi keypad
dg rtc nya.

koko2u, on July 17, 2014 at 4:58 PM said:


Mas, kalau rangkaian ditambahin tombol utk set jam dan tanggalnya gimana ya.. trus code
nya untuk nulis rtc itu gimana? mohon pencerahannya mas.. thanks..

Reply

Blog at WordPress.com. The Digg 3 Column Theme.

Follow

Follow “Kurang_Sangu”

Powered by WordPress.com

kurangsangu.wordpress.com/2011/04/24/membaca-rtc-ds1307-dengan-codev ision-av r/ 21/21

Anda mungkin juga menyukai