Program sistem mengeksekusi data waktu saat waktu buka sama dengan waktu sebenarnya sehingga motor akan otomatis membuka tirai. Saat waktu tutup sama dengan
waktu yang sebenarnya maka motor akan kembali menutup tirai. Motor akan bergerak sesuai jumlah masukan waktu buka-tutup tirai. Proses membuka dan menutup tirai
dilakukan sesuai masukan yang telah diatur sebelumnya.
Gambar 4.13. Listing program sistem
Fungsi s=sTemp adalah pada saat nilai s detik tidak sama dengan s sesudahnya maka nilai s akan disamakan. Program ini dimaksudkan untuk menghindari pengiriman
data yang sama secara terus menerus pada LCD yang menimbulkan kedip dan tampilan yang tidak jelas. Tampilan data di LCD hanya akan berubah ketika terjadi perubahan nilai
variabel s.
4.6.2. Program Pengaturan RTC
Pengaturan RTC dilakukan saat awal pembuatan program untuk menentukan letak jalur data SDA dan jalur clock SCL. Inisialisasi port untuk komunikasi RTC dengan
mikrokontroler dapat dilihat pada gambar 4.14.
Gambar 4.14. Inisialisasi port komunikasi RTC
Program mengatur tanggal dapat dilihat pada gambar di bawah ini. Pengguna memasukkan terlebih dahulu masing-masing 2 digit untuk tanggal, bulan dan tahun. Pada
kolom 1 dan 2 berisi tanggal puluhan dan satuan, kolom 4 dan 5 berisi bulan puluhan dan satuan, dan kolom 7 dan 8 berisi tahun puluhan dan satuan. Setelah semua data terisi maka
akan dibandingkan pada program cekTanggal untuk memberi batas masukan tanggal. Data tanggal yang sudah terisi kemudian di-set pada RTC.
Gambar 4.15. Listing program setting tanggal
Gambar 4.16. Tampilan setting tanggal
Program cekTanggal berfungsi sebagai batas masukan tanggal yang dapat dilihat pada Gambar 4.17. Masukan tanggal tidak lebih dari 31 dan bulan tidak lebih dari 12. Jika
data yang dimasukkan salah maka akan mengulang sampai bernilai benar.
Gambar 4.17. Listing batasan masukan tanggal
Gambar 4.18. Tampilan jika data masukan dari keypad salah
Pengaturan hari dilakukan setelah pengaturan tanggal selesai. Pada gambar dibawah ini adalah sebagian listing program untuk mengatur hari. Pengaturan hari menggunakan
tombol bintang untuk geser ke kiri dan tombol pagar untuk geser ke kanan. Tombol A untuk memilih hari yang ditentukan. RTC akan secara otomatis menyimpan data hari
sesuai alamat register hari yaitu 0x03.
Gambar 4.19. Listing program memasukkan data hari