LAPORAN MIKROKONTROLER RTC
PRAKTIKUM
MIKROKONTROLER
REAL
TIME CLOCK (RTC)
Disusun
Oleh
Khairinnisa Siregar 16507134042
TEKNIK ELEKTRONIKA
FAKULTAS TEKNIK
UNIVERSITAS
NEGERI YOGYAKARTA
A. Tujuan
Setelah melakukan praktik mahasiswa
diharapkan dapat:
1. Memahami
prinsip kerja Real Time Clock (RTC)
2. Mampu
menggunakan RTC untuk mendukung sistem aplikasi elektronika
B. Dasar
Teori
RTC (Real Time Clock) merupakan
jenis timer yang bekerja berdasarkan waktu nyata, atau dengan kata lain
berdasarkan waktu sesaui waktu kita. Agar dapat berfungsi, pewaktu ini
membutuhkan dua parameter utama yang harus ditentukan, yaitu pada saat mulai
(start) dan pada saat berhenti (stop). DS1307 merupakan salah satu tipe IC RTC
yang dapat bekerja dalam daya listrik rendah, yang juga sering kita jumpai
dalam PC/hanphone. Di dalamnya berisi waktu jam dan kalender dalam format BCD,.
Waktu jam dan kalender memberikan informasi detik, menit, jam, hari, tanggal,
bulan, dan tahun. Untuk bagian jam dapat berformat 24 jam atau 12 jam.
Pendeteksi sumber listrik juga disediakan untuk mendeteksi kegagalan sumber
listrik dan langsung mengalihkannya ke sumber baterai.
Gambar 1. RTC DS1307
Komunikasi
yang digukan untuk RTC mengacu I2C-Bus atau Inter-Integrated Circuit Bus,
merupakan bus serial yang dikembangkan oleh Phillips. I2C Bus digunakan untuk
menghubungkan berbagai macam IC yang dikontrol oleh sistem micro-processor atau
micro-controller (intelligent control application). Sebagai catatan
umumnyakristal 32,768 KHz dipasang berbaring dan bodi/can disolder dengan
ground.
C. Alat
dan Bahan
1. Modul
AVR Atmega8535/8/16/32
2. Jumper
3. Power
supply 5-12V
D. Skema
Rangkaian
E. Langkah
Kerja
1. Buatlah
alat dan bahan seperti rangkaian di atas;
2. Sebelum
Anda menulis program aturlah seperti gambar berikut;
Catatan:
apabila Anda menggunkan CVAVR versi non-commercial maka sangat dimungkinkan
fasilitas I2C tidak berfungsi, maka solusinya lakukan upgrade/downgrade ke
versi commercial, contoh ini menggunkan versi CodeVisionAVR 2.03.
3. Tuliskan
list program berikut;
/*****************************************************
Date
: 3/11/2014
Author
: Muslikhin
Company
: UNY
Comments:
Chip
type : ATmega8535
Program
type : Application
Clock frequency : 12.000000 MHz
*****************************************************/
#include <mega8535.h>
#include <delay.h>
#include <stdio.h>
//
I2C Bus functions
#asm
.equ __i2c_port=0x1B ;PORTA
.equ __sda_bit=0
.equ
__scl_bit=1
#endasm
#include <i2c.h>
// DS1307 Real Time Clock functions #include
<ds1307.h>
// Alphanumeric LCD Module functions
#asm
.equ
__lcd_port=0x12 ;PORTD
#endasm
#include <lcd.h>
// Declare your global variables here
unsigned char s,m,h,d,mo,y, temp[16];
void main(void)
{
// Declare your local variables here
// 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 module initialization
lcd_init(16);
while (1)
{
//
Place your code here rtc_get_time(&h,&m,&s);
rtc_get_date(&d,&mo,&y);
lcd_gotoxy(0,0);
sprintf(temp,"Pkl %d:%d:%d", h,m,s);
lcd_puts(temp);
lcd_gotoxy(0,1);
sprintf(temp,"Tgl
%d:%d:%d", d,mo,y);
lcd_puts(temp);
};
}
4. Setelah
Anda compile, uji cobakan/simulasikanlah di Proteus lalu coba pada hardware;
5. Tugas,
buatlah progam untuk menjalankan motor DC/lampun (beban) apabila jam telah
menunjukkan waktu tertentu. Misalnya saat pukul 09:09:00, maka beban akan
aktif, kemudian jika sudah pukul 09:12:00, maka beban akan nonaktif.
6. Tuliskan
hasil praktikum Anda sesuai format dan simpulkan hasilnya.
F. Hasil
dan Analisa
Analisa : untuk menampilkan tanggal dan jam
pada lcd dilakukan dengan cara 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. Pada program rangkain ini
digunakan unsigned char s,m,h,d,mo,y, temp[16]; yang berfungsi untuk membaca
pada alamat tertentu dari register timekeeper RTC kemudian pada program
utamanya digunakan rtc_get_time(&h,&m,&s) dan
rtc_get_date(&d,&mo,&y) yang berfungsi untuk mensetting
waktu sekarang ( jam, menit dan detik ) dari RTC dalam satu kali akses dan membaca
tanggal, bulan dan tahun dari RTC dalam satu kali akses kemudian pada saat
melakukan praktikum perlu diperhatikan rangkaian apakah sudah benar atau belum
agar pada saat simulation tidak terjadi eror.
G. Kesimpulan
1. Cara kerja RTC
pertama mengirim sinyal star yang diikuti oleh device address dan alamat
sebuah register yang akan dibaca kemudian beberapa register dapat dibaca sampai
stop condition dikirim.
2. Pada
praktikum yang dilakukan kita dapat mengubah tampilan pada lcd sesuai dengan
apa yang kita inginkan dengan cara mengubah beberapa coding pada program.
3. RTC
(Real Time Clock) DS1307 merupakan komponen yang berfungsi untuk mengatur waktu
dengan tepat.
Komentar
Posting Komentar