Prinsip kerja alat ini adalah bagian mikrokontroler (pemroses) telah diisi data waktu sholat abadi untuk (Daerah Istimewa Yogyakarta) DIY. Data – data waktu sholat lima waktu yaitu (subuh, dzuhur, ashar, maghrib, dan isya) ini akan ditampilkan ke penampil 7-segment secara terus – menerus dan sesuai dengan waktu sholat yang ditentukan (update). Penampil 7-segment ini berjumlah 20 digit dengan masing – masing waktu sholat membutuhkan 4 digit 7-segment untuk dapat menampilkan jam dan menit. Setelah menampilkan waktu sholat alat ini juga akan menampilkan data waktu dan kalender, yaitu mulai dari jam, menit, detik, hari, tanggal, bulan, serta tahun. Sebelum digunakan alat penampil waktu sholat ini harus diatur waktu dan kalendernya, agar waktu sholat yang ditampilkan sesuai waktu sholat 5 waktu pada hari itu (update). Cara pengaturannya menggunakan saklar yang terdiri dari tombol (menu, up, down, dan next). Fungsi tiap saklar / tombol adalah menu untuk masuk ke pengaturan waktu dan kalender, tombul up untuk menaikkan / menambahkan variabel nilai waktu dan kalender, tombol down untuk menurunkan / mengurangi variabel nilai waktu dan kalender, dan tombol next untuk melanjutkan serta mengakhiri pangaturan nilai dan variabel waktu dan kalender. Berikut ini adalah Gambar 1 alat Penampil Waktu Sholat Berbasis Mikrokontroler AT89S52 yang selesai dirakit.


Gambar 1 Alat yang selesai dirakit
Bahan
Pada Penampil Waktu Sholat Berbasis Mikrokontroler AT89S52 ini, bahan penelitian yang digunakan adalah.
- RTC DS12C887 sebagai IC pewaktu yang datanya tidak hilang walaupun listrik mati, karena memiliki back-up baterai di dalamnya.
- Mikrokontroler AT89S52 sebagai pemroses (menyimpan dan mengambil data) pada RAM RTC dan menyimpan data waktu sholat abadi untuk ditampilkan ke 7-segment.
- Switch Omron, dipasang pada bagian masukan mikrokontroler, sebagai interface setting waktu, kalender.
- Demultiplekser 16 channel sebagai selector transistor pengendali 20 digit 7-segment.
- Transistor PNP BC327 yaitu pengendali 7-segment.
- Penampil 7-segment berjumlah 20 digit, untuk menampilkan data waktu dan kalender.
- ULN2803 sebagai driver data 7-segment.
- Papan PCB untuk meletakkan komponen-komponen yang akan digunakan.
- X-tal (kristal) 12 MHz sebagai pembangkit clock yang digunakan sebagai pembangkit detak mikrokontroler.
- Trafo 500 mA digunakan sebagai supply tegangan untuk keseluruhan komponen.
- IC regulator 78L05 sebagai regulator tegangan yang menghasilkan tegangan keluaran ±5 Vdc, sebagai supply mikrokontroler dan IC lainnya.
- Resistor, kapasitor, dioda.
Perakitan Perangkat Keras
Pewaktu RTC DS12C887
Real Time Clock atau biasa disebut dengan RTC adalah sebuah komponen elektronik yang didalamnya berisi jam elektronik yang tidak pernah berhenti bekerja kecuali register diisi kode Off. Komponen ini menyimpan waktu mulai dari detik hingga tahun, dan selalu diperbaharui setiap saat secara otomatis, nilai informasi waktu disimpan di dalam sebuah RAM dengan alamat yang telah ditentukan. Karena disimpan di dalam sebuah RAM dengan alamat yang sudah ditentukan, maka pengguna dapat mengambil datanya dengan sebuah mikrokontroler, dan hubungannya dengan mikrokontroler sebagai komponen memori eksternal.
Jadi dalam hal ini mengakses data memori eksternal dan mengakses data RTC adalah sama caranya. Disamping itu karena data waktu yang disimpan tidak banyak, maka sisa ruang memori yang disediakan RTC, bisa digunakan untuk menyimpan data secara aman, data tersebut tidak akan hilang meskipun catu daya dimatikan sampai jangka waktu sekitar 10 tahun (seumur baterai yang ada di dalam RTC).
RTC yang digunakan untuk alat Penampil Waktu Sholat Berbasis mikrokontroler AT89S52 ini adalah jenis data paralel 8 bit, yaitu RTC Dallas 12C887. Berikut ini adalah Gambar 2 menyambungkan RTC Dallas 12C887 ke port 0 data mikrokontroler.

Gambar 2 Menyambungkan RTC data ke port 0 dan RTC kontrol pada port 3 mikrokontroler
Sistem Minimum Mikrokontroler AT89S52
Mikrokontroler merupakan komponen utama yang mengendalikan seluruh sistem. Mikrokontroler yang digunakan pada penelitian ini adalah mikrokontroler keluaran Atmel dengan seri AT89S52. Seri ini merupakan varian baru dari keluarga AT89C51 yang mengalami perubahan prosedur pengisian program. Pada seri ini memiliki fasilitas ISP (In System Programming) yang tidak dimiliki pada seri sebelumnya. Fasilitas ini memungkinkan pengubahan isi program walaupun sistem sedang berjalan.
Untuk bekerja dengan mikrokontroler ini diperlukan beberapa komponen tambahan yang sering disebut dengan sistem minimum. Syarat-syarat tersebut antara lain, sistem clock atau osilator, sistem reset dan sistem ISP. Pada penelitian ini sistem minimum disajikan pada Gambar 3.

Gambar 3 Sistem minimum mikrokontroler
Pada Gambar 3 disajikan skema rangkaian minimum mikrokontroler AT89S51/52. Sistem pendukung yang pertama yaitu sistem osilator yang terdiri dari x-tal senilai 12 MHz dan dua buah kapasitor senilai 33 pF.
Sistem pendukung yang berikutnya adalah sistem reset. Sistem reset terdiri dari sebuah kapasitor senilai 10 µF dan resistor senilai 10 K?. Proses reset akan otomatis terjadi saat sumber tegangan pertama kali diberikan. Adapun prosesnya adalah, saat pertama kali sumber tegangan Vcc masuk ke rangkaian reset maka kapasitor akan terisi sampai penuh. Pada saat kondisi kapasitor penuh dan nilai tegangan kapasitor senilai Vcc maka logika 1 akan diberikan pada pin RST dari mikrokontroler ini, sehingga secara otomatis mikrokontroler akan reset. Setelah kapasitor penuh, muatan dalam kapasitor berangsur-angsur akan dibuang melalui resistor 10K sampai kondisi kapasitor kosong dan logika pada pin RST bernilai 0.
Sistem yang berikutnya adalah sistem ISP. Tidak semua pin mampu terhubung dengan sistem ISP, hanya pin tertentu yang mampu dihubungkan dengan sistem ISP, yaitu MISO, MOSI, SCK dan RST. Pin ini berfungsi untuk fasilitas pengisian program secara serial dari komputer. Jenis port pada komputer yang biasa dipakai adalah port paralel.
Tombol Masukan
Tombol masukan ini terdiri dari 4 buah tombol (push on) yang dihubungkan ke port 3.0 – port 3.3 mikrokontroler. Ke-empat tombol ini akan mewakili tombol MENU, tombol UP, tombol DOWN, dan tombol NEXT. Tombol – tombol ini akan berfungsi saat setting jam, hari, tanggal, bulan, dan tahun pada RTC. Berikut ini adalah Gambar 4 penyambungan tombol ke port mikrokontroler.

Gambar 4 Penyambungan tombol masukan ke port mikrokontroler
Demultiplekser 74HCT154
IC demultiplekser yang digunakan pada alat ini serinya adalah 74HCT154. Pengontrolan keluaran keluaran 16 channel (0-15) menggunakan 4 buah port (P2.0-P2.3) pada pin (A, B, C, dan D). Penggunaan IC ini untuk menghemat penggunaan port mikrokontroler pada saat teknik scanning 20 digit 7-segment. Jika tanpa menggunakan IC demultiplekser, maka port mikrokontroler yang dibutuhkan untuk menyalakan 20 digit 7 segment berjumlah 20 buah. Ketika menggunakan IC demultiplekser hanya membutuhkan 4 buah port menyalakan 16 digit 7-segment dan 4 port tambahan agar dapat menyalakan 7-segment 20 digit. Berikut ini adalah Gambar 5 menghubungkan IC 74HCT154 ke port mikrokontroler.

Gambar 5 Menghubungkan IC 74HCT154 ke port mikrokontroler
Terlihat pada Gambar 5 pada pin (A, B, C, dan D) demultiplekser 74HCT154 dihubungkan pada 4 buah port mikrokontroler yaitu (P2.0 – P2.3). Sedangkan untuk mengaktifkan keluaran IC ini dengan menghubungkan bagian G1 dan G2 pada ground. Untuk pin keluarannya yang berjumlah 16 channel dihubungkan ke rangkaian transistor pengendali 20 digit 7-segment CA.
Transistor PNP BC327 Pengendali Pin Common Anode 7-Segment
Untuk menyalakan 20 digit 7-segment menggunakan teknik scanning secara bergantian dalam waktu yang sangat cepat, sehingga respons mata tidak dapat mengenali bahwa 7-segment sebenarnya berkedip. Untuk itu diperlukan rangkaian pengendali 7-segment menggunakan transistor BC327 sebagai saklar, yang dapat menyalakan dan memadamkan 20 digit 7-segment secara bergantian dalam orde waktu mikro detik. Berikut ini adalah Gambar 6 transistor PNP BC327 sebagai pengendali Vcc 7-segment.

Gambar 6 Transistor BC327 sebagai pengendali 7-segment
ULN2803 Pengendali Data 7-Segment
Untuk mengendalikan data 7-segment yang dihubungkan ke port 1 mikrokontroler membutuhkan IC pengendali yaitu ULN2803 yang mampu menyerap arus 500 mA pada setiap port-nya. Jika data 7-segment dihubungkan langsung pada port akan sangat membebani mikrokontroler, karena kemampuan maksimal port mikrokontroler hanya sebesar 15 mA dan tidak dapat maksimal mengendalikan data 20 digit 7-segment (nyala 7-segment redup). Untuk itu dibutuhkan IC pengendali data 7-segment yang memiliki 8 buah input dan output yaitu ULN2803. Berikut ini adalah Gambar 7 cara penyambungan IC ULN2803.

Gambar 7 Cara penyambungan IC ULN2803
Terlihat pada Gambar 7 pada bagian keluarannya (O1 – O8) dihubungkan dengan resistor 330 ?, resistor ini digunakan untuk membatasi arus keluaran yang besar lebih dari 15mA. Karena arus yang mengalir menyalakan data setiap segment jika terlalu besar akan menyebabkan 7-segment cepat rusak (mati). Pada bagian input ULN (I1 – I8) dihubungkan ke port 1 mikrokontroler.
Penampil 7-Segment
Penampil 7-segment yang dipakai untuk alat ini berukuran tinggi karakter 1,7 cm, berjumlah 20 digit, yang akan menampilkan waktu sholat jam dan menit (Subuh, Dzuhur, Ashar, Maghrib, dan Isya). Sehingga jumlah keseluruhannya berjumlah 20 digit 7-segment, jenis yang digunakan adalah CA (Common Anode) bagian anoda terhubung. Berikut ini adalah Gambar 8 penampil 7-segment CA (Common Anode).

Gambar 8 Penampil 7-segment CA (Common Anode)
Perakitan Rangkaian Keseluruhan
Setelah mengetahui fungsi dari masing-masing blok diagram, maka saatnya menggabungkan rangkaian-rangkaian yang diperlukan untuk membentuk suatu sistem dari Penampil Waktu Sholat Berbasis Mikrokontroler AT89S52. Berikut ini adalah Gambar 9 rangkaian keseluruhan.

Gambar 9 Rangkaian keseluruhan
Perancangan Perangkat Lunak Mikrokontroler AT89S52
Sebelum melakukan permrograman alat, maka diperlukan rancangan perangkat lunak mikrokontroler. Rancangan perangkat lunak (diagram alir) ini diperlukan untuk memudahkan pada saat pemrograman. Berikut ini Gambar 10 diagram alir alat Penampil Waktu Sholat Berbasis Mikrokontroler AT89S52.




