Professional Documents
Culture Documents
I. Latar Belakang
Waktu merupakan bagian dari kehidupan manusia yang sangat berharga. Sebab banyaknya
waktu dapat menggambarkan banyaknya peluang atau kesempatan, uang atau keuntungan yang
dapat dicapai. Manajemen waktu yang baik dapat membatu keteraturan hidup dan banyak
keuntungan bagi hidup seseorang.
Didasari oleh kenyataan tersebut, penulis merancang suatu alat yang dapat membatu pencapaian
manajemen waktu yang baik yaitu jam digital. Kelebihan dari jam ditigal ini adalah penggunaan
RTC12C887 produksi Dallas Semiconductor. Dengan adanya ic ini tidak perlu setting ulang jam
jika supply dimatikan, karena di dalam RTC tersimpan baterai Lithium sehingga pencatatan waktu
tidak terhenti . Oleh karena itu mikrokontroler dapat mengambil kapanpun hasil kerjanya tanpa harus
mengaturnya.
Chip DS12C887 buatan Dallas Semiconductor merupakan alat pencatat waktu yang baik, dalam
chip itu tersimpan baterai Lithium sehingga pencatatan waktu tidak terhenti jika catu daya alat
pemakaiannya terhenti, dan prosesor dapat mengambil kapanpun hasil kerjanya tanpa harus
mengaturnya.
Waktu dicatat mulai dari Detik, Menit, Jam, Hari, Bulan, Tahun bahkan sampai dengan Abad
dan sistem penanggalannya dirancang bisa bekerja tanpa salah sampai tahun 2099. Pencatatan
jam bisa dilakukan dalam format 24 jam perhari, atau 12 jam am/pm.
Dalam mother board IBM produksi beberapa tahun yang lalu DS12C887sering dipakai sebagai
pencatat waktu. Dalam chip ini terdapat pula memori (CMOS RAM) yang mendapat catu daya
yang sama dengan catu daya pencatat waktu, sehingga informasi yang disimpan tidak hilang
selama pencatat waktu masih bekerja. CMOS RAM tersebut dipakai untuk mencatat parameter
yang dipakai untuk mengatur tata kerja mother board, dari sinilah didapat istilah CMOS Setup
yang sangat dikenal dengan PC.
Selain dipakai sebagai pencatat waktu, DS12C887 bisa berfungsi sebagai alarm, bisa pula
dipakai untuk membangkitkan sinyal periodik dengan frekuensi mulai dari 2 Hz sampai dengan 8
kHz. Karakteristik dari RTC DS 12C887 adalah sebagai berikut:
Gambar 2.3 Diagram Blok DS12C887
Gambar 2.4 Konfigurasi Kaki DS12C887
1. AD0-AD7 : Bus alamat / data
2. NC : Tidak ada hubungan
3. MOT : Seleksi tipe bus Intel atau Motorola
4. CS : Chip select
5. AS : Sinyal untuk penanda bahwa AD0-AD7 adalah alamat
6. R/ : Masukan baca/tulis
7. DS : Sinyal untuk penanda bahwa AD0-AD7 adalah data
8. RESET : Masukan reset
9. IRQ : Pengiriman sinyal interupsi selamat 1 detik sekali
10. SQW : Keluaran gelombang kotak
11. VCC : Catu daya + 5 V
12. GND : Ground ( Vss )
Peta Memori
Dari sudut pandang pemprograman, chip DS12C887 terlihat sebagai 128 byte memori data.
Memori data tersebut dipakai untuk mencatat waktu, penentu alarm, register pengatur kerja
DS12C887 dan register pemantau kerja dari DS12C887, yang secara lengkap diperlihatkan
dalam Tabel dibawah ini :
Tabel 1 Lokasi Memori DS12C887
Alamat Kegunaan Rentang Nilai (BCD)
0 Detik 00…59
1 Alarm 00…59
2 Menit 00…59
3 Alarm menit 00…59
4 Jam 00…12 81…92 00…23
5 Alarm jam 00…12 81…92 00…23
6 Hari 01…07
7 Tanggal 01…31
8 Bulan 01…12
9 Tahun 00…99
10 Register A
11 Register B
12 Register C
13 Register D
14…49 Memori Bebas
50 Abad 19..20
51… Memori Bebas
128
Memori data yang masih tersisa atau memori bebas merupakan memori yang bisa dipakai untuk
segala macam keperluan. Memori nomor 10 sampai 13 dipakai sebagai register pengatur kerja
DS12C887 dan register pemantau kerja dari DS1C8287, register-register tersebut dinamakan
sebagai register A, B, C dan D. Pemakaian masing-masing bit dalam register-register tersebut
dirinci dalam tabel – tabel dibawah ini :
Tabel 2 Register A (CMOS RAM No. 10)
D7 D6 D5 D4 D3 D2 D1 D0
UIP DV2 DV1 DV0 RS3 RS2 RS1 RS0
Tabel 3 Register B (CMOS RAM No. 11)
D7 D6 D5 D4 D3 D2 D1 D0
SET PIE AIE UIE SQWE DM 24/12 DSE
Tabel 4 Register C (CMOS RAM No. 12)
D7 D6 D5 D4 D3 D2 D1 D0
IRQF PF AF UF 0 0 0 0
Tabel 5 Register D (CMOS RAM No. 14)
D7 D6 D5 D4 D3 D2 D1 D0
VRT 0 0 0 0 0 0 0
Register A
Bit 7 dari register A dinamakan UIP (singkatan dari Update In Progress). Nilai 1 pada uip
menyatakan data catatan waktu dalam DS1287 segera akan diperbaiki, jadi pengambilan data
terkini seharusnya dilakukan pada saat UIP = 0. DV2, DV1 dan DV0 (bit 6 sampai 4) dipakai
untuk mengatur kerja osilator kristal. Nilai 010 pada tiga bit ini menghidupkan rangkaian osilator
dan mengaktifkan system pecatatan waktu. Nilai 110 atau 111 menghidupkan rangkaian osilator
tapi system pencatatan waktu tidak bekerja. Nilai-nilai lainnya mematikan rangkaian osilator.
Saat setelah diproduksi, agar beterai Lithium tidak terpakai sia-sia osilator dalam chip
dimatikan. RS3, RS2, RS1, RS0 (bit 3 sampai 0) untuk menentukan frekuensi sinyal kotak yang
dibangkitkan sesuai dengan kombinasi biner dari keempat bit ini, kombinasinya secara lengkap
diperhatikan dalam Tabel 6.
Tabel 6 Frekuensi Pulsa SQW
RS RS2 RS1 RS Frekuensi SQW
3 0
0 0 0 0 0
0 0 0 1 256 Hz
0 0 1 0 128 Hz
0 0 1 1 8.192 Hz
0 1 0 1 4.096 Hz
0 1 0 1 2.048 Hz
0 1 1 0 1.024 Hz
0 1 1 1 512 Hz
1 0 0 0 256 Hz
1 0 0 1 128 Hz
1 0 1 0 64 Hz
1 0 1 1 32 Hz
1 1 0 0 16 Hz
1 1 0 1 8 Hz
1 1 1 0 4 Hz
1 1 1 1 2 Hz
Register B
AIE (bit 5, singkatan dari Alarm Interrupt enable) = 1 mengaktifkan system interupt alarm. UIE
(bit 4, singkatan dari Update Ended Interrupt Enable) = 1 Mengaktifkan system interupt karena
adanya perubahan nilai pencatatan waktu. SQWE (bit 3, singkatan dari Square Wave Enable) = 1
membangkitkan sinyal kontak pada kaki SQW (kaki nomor 23). DM (bit 2, singkatan dari data
mode) menentukan format data pencatatan waktu. DM = 0 pencatatan waktu dilakukan dengan
format biner, DM = 1 pencatatan waktu dilakukan dengan format BCD. 24/12 (bit 1)
menentukan format pencatatan JAM, 24/12 = 0 pencatatan jam dilakukan dengan format 0..12,
24/12 = 1 pencatatan JAM dilakukan dengan format 0..24.DSE (bit 0, singkatan dari Daylight
Savings Enable) dipakai untuk mengatur perubahan waktu pada musim panas dan musim dingin,
hanya diperlukan pada daerah dengan 4 musim.
Register C
IRQF (bit 7 sigkatan dari Interrupt Request Flag) dipakai untuk menandai DS12C887 sedangkan
mengajukan permintaan interup pada prosesor dengan cara me-nol-kan kaki IRQ* (kaki nomor
19). Setelah prosesor membaca isi register C, IRQF dan bit-bit lainnya dalam register C berubah
menjadi 0 dan kaki IRQ* menjadi 1.
PF (bit 6 singkatan dari Periodic Interrupt Flag) menjadi 1 secara periodic, periodenya ditentukan
oleh kombinasi nilai biner pada RS3..RS0 dalam Register A. Jika PIE dalam register B bernilai
1 saat PF bernilai 1, DS12C887 mengajukan permintaan interupsi pada prosesor dengan cara
membuat 0 kaki IRQ* (kaki nomor 19).
AF (bit 5, singkatan dari Alarm Interrupt Flag) menjadi 1 jika waktu saat ini sudah sama dengan
waktu alarm, jika saat itu AIE dalam Register B bernilai 1 pula, DS12C887 mengajukan
permintaan interupsi dengan membuat 0 kaki IRQ* (kaki nomor 19).
UF (bit 4, singkatan dari Update Ended Interrupt Flag) menjadi 1 sekali dalam 1 detik, yakni
pada saat perubahan pencatatan waktu. Jika saat itu UIE dalam Begister B bernilai 1 pula,
DS12C887 mengajukan permintaan interupsi dengan membuat 0 kaki IRQ* (kaki nomor 19).
Register D
VRT (bit 7, singkatan dari Valid RAM and Time) disatukan saat DS12C887 diproduksi, menjadi
0 jika energi baterai Lithium sudah lemah sehingga nilai pencatatan waktu dan isi CMOS RAM
diragukan keberadaannya.
2. Blok Dagram
uC LCD
Keypad
AT89c52
RTC DS12C887
3.Flow Chart
START
Inisialisasi I/O
Tidak
Jam Sesuai Setting data pada
Keypad
Ya
Gambar Alat:
Referensi:
- http://wahyusp.wordpress.com/2008/12/24/proyek-jam-digital-i/
- www.dalsemi.com
- www.dataimage.com