Posts Tagged ‘membuat jam digital dengan RTC DS1307’

JAM DIGITAL dengan RTC DS1307 Berbasis Mikrokontroler

REAL TIME CLOCK

Ni ane kutip pengertian RTC dari wikpedia adalah Real-time clock disingkat RTC adalah jam di komputer yang umumnya berupa sirkuit terpadu yang berfungsi sebagai pemelihara waktu. RTC umumnya memiliki catu daya terpisah dari catu daya komputer (umumnya berupa baterai litium) sehingga dapat tetap berfungsi ketika catu daya komputer terputus. Kebanyakan RTC menggunakan oskilator kristal.

Real Time Clock berhubungan dengan waktu mulai dari detik, menit, jam, hari, tanggal, bulan dan tahun. Untuk hitungan detik, menit, jam, hari, tanggal, bulan dan tahun dengan tahun kabisat yang valid sampai 2100 karena compensation valid up to 2100. Mode yang dipilih juga  bisa 12 or 24 hour clock with AM dan PM in 12 hour mode.

Nach ni dia ragam tipe dari RTC tersebut…ternyata da banyak…yang mau ane bahas RTC DS 1337 gan…

Untuk datasheetnya liat ja di www.alldatasheet.com

Nach ni dia cara konekin ke mikrokontroler…gampangkan…komnikasinya I2C…

nach sekarang ane share rancangan dengan proteus ma program BASCOM AVR…

semoga bermanfaat gan…

——————————————————————————-

JAM DIGITAL dengan RTC DS1307

-BASCOM-AVR-

——————————————————————————-

$regfile = “8535def.dat”

$crystal = 12000000

$baud = 9600

$lib “mcsbyte.lbx”

$lib “ds1307clock.lib”

Config Scl = Portc.0

Config Sda = Portc.1

‘address of ds1307

Const Ds1307w = &HD0                                        ‘ Addresses of Ds1307 clock

Const Ds1307r = &HD1

Config Clock = User

Dim Weekday As Byte

Dim W As String * 5

Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Porta.2 , Rs = Porta.0

Config Lcd = 16 * 2

Cls

Lcd “JAM DIGITAL”

Lowerline

Waitms 10

Lcd “CREATED FAHMI”

Cls

Lcd “TUNGGU”

Lowerline

Waitms 10

Lcd “SET WAKTU”

Print “JAM”

Input Time$

Print “TANGGAL”

Input Date$

Cls

Lcd “TANGGAL”

Locate 1 , 9

Lcd Date$

Waitms 10

Lowerline

Lcd “JAM “

Locate 2 , 9

Lcd Time$

Waitms 1000

Do

Cls

Lcd “TANGGAL”

Locate 1 , 9

Lcd Date$

Waitms 10

Lowerline

Lcd “JAM “

Locate 2 , 9

Lcd Time$

Waitms 1000

Loop

End

Getdatetime:

I2cstart

I2cwbyte Ds1307w

I2cwbyte 0

I2cstart

I2cwbyte Ds1307r

I2crbyte _sec , Ack

I2crbyte _min , Ack

I2crbyte _hour , Ack

I2crbyte Weekday , Ack

I2crbyte _day , Ack

I2crbyte _month , Ack

I2crbyte _year , Nack

I2cstop

_sec = Makedec(_sec) : _min = Makedec(_min) : _hour = Makedec(_hour)

_month = Makedec(_month) : _day = Makedec(_day) : _year = Makedec(_year)

Return

Setdate:

_day = Makebcd(_day) : _month = Makebcd(_month) : _year = Makebcd(_year)

I2cstart

I2cwbyte Ds1307w

I2cwbyte 4

I2cwbyte _day

I2cwbyte _month

I2cwbyte _year

I2cstop

Return

Settime:

_sec = Makebcd(_sec) : _min = Makebcd(_min) : _hour = Makebcd(_hour)

I2cstart

I2cwbyte Ds1307w

I2cwbyte 0

I2cwbyte _sec

I2cwbyte _min

I2cwbyte _hour

I2cstop

Return

Ikuti

Get every new post delivered to your Inbox.

Bergabunglah dengan 248 pengikut lainnya.