Sistem Perangkat Lunak secara Umum Membaca Masukan dari Push Button Konversi Karakter ke Tampilan LED

3.3.1 Sistem Perangkat Lunak secara Umum

Secara sederhana, sistem ini berfungsi untuk menampilkan waktu secara digital berdasarkan informasi yang diambil dari RTC. Tiga buah push button digunakan untuk mengatur waktu sementara sensor optik digunakan untuk membangkitkan sinyal interupsi setiap kali rangkaian melewati posisi yang telah ditentukan. Sinyal interupsi inilah yang digunakan sebagai acuan untuk menentukan kapan LED harus dinyalakan. Flowchart dari program yang akan dibuat dapat dilihat pada Gambar 3.7. Start Inisialisasi data, variabel, PORT Apakah PB1 ditekan ? Apakah PB2 ditekan ? Apakah PB3 ditekan ? Ambil data dari RTC Ambil data dari RTC Ambil data dari RTC Naikkan cacah jam Naikkan cacah menit Nolkan cacah detik Kirim data ke RTC Kirim data ke RTC Kirim data ke RTC Ya Ya Ya Tidak Tidak Tidak Interupsi dari sensor optik Tentukan nilai setiap digit i=0 Ambil data dari RTC i8 ? Tampilkan data kolom berikutnya Tunda 250 µs Apakah masih ada kolom berikutnya ? RET Ya Tidak Ya Tidak Increment i Gambar 3.7 Diagram Alir dari Perangkat Lunak

3.3.2 Membaca Masukan dari Push Button

Pembacaan masukan dari push button dilakukan dengan metode polling dimana mikrokontroler akan terus-menerus bertanya apakah ada tombol yang ditekan. Jika tombol pertama PB1 ditekan maka mikrokontroler akan mengambil data waktu dari RTC dan kemudian menaikkan cacah pada jam sebanyak satu dan mengirimkan data yang telah diperbaharui kembali ke RTC. Jika tombol kedua PB2 ditekan maka mikrokontroler akan mengambil data waktu dari RTC dan kemudian menaikkan cacah pada menit sebanyak satu dan mengirimkan data yang telah diperbaharui kembali ke RTC. Jika tombol ketiga PB3 ditekan maka mikrokontroler akan mengambil data waktu dari RTC dan mengirimkan kembali data dengan membuat bagian detik menjadi nol.

3.3.3 Konversi Karakter ke Tampilan LED

Untuk menampilkan tampilan waktu dengan menggunakan LED maka diperlukan program untuk menentukan kapan masing-masing LED harus menyala agar dapat menampilkan karakter yang diinginkan. Karakter yang akan ditampilkan berjumlah 11 buah yaitu dari angka 0 sampai dengan 9 dan lambang titik dua Proses konversi dilakukan dengan membuat suatu tipe data array yang berisi kumpulan nilai heksadesimal dari setiap karakter yang akan dikirimkan ke PORT B untuk menyalakan LED untuk menampilkan karakter yang diinginkan.

3.3.4 Interupsi Eksternal