Proyek pembuatan jam digital kali ini menggunakan mikrokontroler keluarga MCS51 tipe AT89S52, sedangkan untuk ic pendukungnya adalah RTC12C887. Alasan menggunakan ic ini karena sudah terdapat battery lithium didalamnya, sehingga data yang tersimpan tidak akan hilang bukan hanya itu saja tetapi proses oscilator internal; juga akan tetap berjalan. Hal ini mengakibatkan apabila terjadi power off data yang tersimpan tidak akan hilang dan akan otomatis update, sehingga apabila ditampilkan tetap akan mengikuti jam yang sebenarnya. Memory yang terdapat dalam chip ini terbatas hanya sampai 113 yang bisa dipakai, apabila dirasa masih kurang upgrade aja mikrokontrolernya yang terdapat EEPROM internal misalnya AT89S8252.
Pada minimum sistem yang digunakan jam digital ini, pin AD0-AD7 pada RTC12C887 dihubungkan dengan Port 0.0 – P0.7 bersama dengan data D0–D7 untuk LCD, pada Port 0 ini perlu ditambahkan respack untuk pull up agar tidak terjadi drop tegangan pada saat beroperasi. Port 1.0 – 1.7 digunakan sebagai input dari keypad 4×4, Port 3.4 dan port 3.5 digunakan untuk memberikan sinyal RS dan sinyal E pada LCD. Port ALE dihubungkan ke AS RTC12C887 yang digunakan sebagai sinyal bahwa yang terdapat dalam DB0-DB7 adalah alamat atau data. Port 3.6 (WR) dan Port 3.7 (RD) yang digunakan untuk sinyal baca dan tulis, sedangkan Port 3.3 (INT1) dihubungkan ke IRQ RTC12C887 agar setiap perubahan jam per detik dapat dimonitor oleh mikrokontroler. Gambar rangkaian dari minimum sistem dapat dilihat pada gambar berikut:
image0021

lebih jelas tentang skema rangkaian bisa dilihat disini

Source codenya dapat di diroleh disini