Download - Jam Digital Dengan RTC12C887 Berbasis ATmega 89C52

Transcript
Page 1: Jam Digital Dengan RTC12C887 Berbasis ATmega 89C52

Jam Digital dengan RTC12C887 Berbasis AT89C52

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.

II. Dasar Teori

2.1 Mikrokontroler AT89S51Mikrokontroler adalah suatu sistem kikroprosor yang lengkap dan dikemas dalam bentuk sebuah IC (single chip). Mikrokontroler ini merupakan terobosan teknologi Mikroprosesor dan microcomputer untuk memenuhi kebutuhan pasar (market need). IC microcontroller memiliki perangkat penunjang seperti yang terdapat dalam mikrokomputer seperti unit pusat pengolahan data (central Processing Unit), unit memori ( ROM dan RAM ) dan unit I/O. Selain itu terdapat juga fasilitas -fasilitas seperti timer, counter, dan kontrol interupsi ( interrupt Control ). Mikrokontroler merupakanteknologi semikonduktor dengan kandungan transistor yang lebih banyak, namun hanya membutuhkan ruang yang kecil serta dapat diproduksi dalam jumlah yang banyak, sehingga harganya menjadi lebih murah jika dibandingkan dengan mikroprosesor. Sebagai kebutuhan pasar, mikrokontroler hadir untuk memenuhi selera industri dan para konsumen akan kebutuhan dan keinginan alat-alat bantu yang lebih baik dan canggih.Dalam sub bab ini akan dibahas mengenai fitur-fitur dan arsitektur microcontroller MCS51 seri AT 89S51. Seri AT 89S51 dipilih karena mikrokontroler ini dapat mewakili beberapa seri yang lain, baik dari segi instruksi yang digunakan, maupun peripheralnya yang lengkap. Dengan mempelajari 89S51 , maka akan lebih mudah mempelajari tipe MCS51 yang lain, yang pada dasarnya memiliki konsep dan arsitektur yang hampir sama.AT89S51 mempunyai keistimewaan sebagai berikut :

8 bit CMOS mikrokomputer 4 Kbytes Flash Memory 128 bytes RAM 32 jalur input – Output Dua 16-bit timer/counter Memiliki arsitektur lima two-level vector interrup

Page 2: Jam Digital Dengan RTC12C887 Berbasis ATmega 89C52

Sepasang full duplex serial port On chip oscillator 64 Kbytes ROM dan RAM Bit addressable internal RAM

Struktur dasar AT89S51 digambarkan secara blok diagram seperti pada gambar, berikut:

Gambar 2.1 Blok Diagram AT89S51

Page 3: Jam Digital Dengan RTC12C887 Berbasis ATmega 89C52

Konfigurasi Pin:

Gambar 2.2 Konfigurasi Pin AT89S51

2.2 Real Time Clock DS12C887

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

Page 4: Jam Digital Dengan RTC12C887 Berbasis ATmega 89C52

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:

1.             Pengganti clock /kalender komputer IBM AT

2.             PIN kompatibel /sesuai dengan MC14618B dan DS 12C887

3.             Data tidak akan hilang maksimal sampai 10 tahun meskipun tidak ada daya

4.             Subsistem tercakup sendiri meliputi litium, kwarsa, dan pendukung rangkaian

5.            Menghitung detik,menit, jam, hari seminggu, tanggal, bulan dan tahun dengan

lompatan pergantian tahun

6.             Data waktu kalender atau alarm dapat dipresentasikan dalam format biner / BCD

7.             Format jam yang dipakai 24 atau 12 jam dengan AM dan PM dalam mode 12 jam-an

8.             Pilihan waktu penyimpanan sianghari

9.             Timing bus dapat dipilih antara Motorola dan Intel.

10.         Bus multipleks antara address dengan data untuk efisiensi PIN

11.         Interface dengan software dengan lokasi RAM 128 byte dengan15 byte clock register

kontrol dan 113 byte RAM untuk tujuan umum.

Secara lengkap struktur dari DS12C887 dapat dilihat pada gambar dibawah ini :

 

Gambar 2.3 Diagram Blok DS12C887

Page 5: Jam Digital Dengan RTC12C887 Berbasis ATmega 89C52

 

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

Page 6: Jam Digital Dengan RTC12C887 Berbasis ATmega 89C52

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…

128

Memori Bebas  

 

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

Page 7: Jam Digital Dengan RTC12C887 Berbasis ATmega 89C52

 

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

3

RS2 RS

1

RS0 Frekuensi SQW

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

Page 8: Jam Digital Dengan RTC12C887 Berbasis ATmega 89C52

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).

Page 9: Jam Digital Dengan RTC12C887 Berbasis ATmega 89C52

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.

III. Perancangan Alat

1. Spesifikasi Alat

Tegangan Sumber 220v AC

Tegangan Input 5v DC

Data Input - RCT DS12C887

- Keypad

- Push Button

Pengolah Data Mikrokotroler

Output LCD

Kunci utama RTC DS12C887

Page 10: Jam Digital Dengan RTC12C887 Berbasis ATmega 89C52

2. Blok Dagram

Gambar 3.1 Blok Diagram Sistem

Keteangan blok diaram:

a. Keypad berfungsi sebagai setting data pada RC DS12C887

b. Mikrokontroler berfungsi sebagai pengolah data dari RTC DS12C887 yang kemudian ditampilkan pada LCD

c. RTC DS12C887 sebagai komponen utama system ini yang mencatat waktu mulai dari  Detik, Menit, Jam, Hari, Bulan, Tahun bahkan sampai dengan Abad.

3.Gambar Skematik Sistem

uC

AT89c52Keypad

LCD

RTC DS12C887

Page 11: Jam Digital Dengan RTC12C887 Berbasis ATmega 89C52

Gambar 3.2 Skematik Rangkaian

3.Flow Chart

Page 12: Jam Digital Dengan RTC12C887 Berbasis ATmega 89C52

START

Inisialisasi I/O

Ambil data dariRTC

Jam Sesuai

Tampilkan Jam dan Tanggal ke LCD

Ya

TidakSetting data pada Keypad

Gambar 3.3 Flow Chart Sistem

Gambar Alat:

Referensi:

Page 13: Jam Digital Dengan RTC12C887 Berbasis ATmega 89C52

- http://wahyusp.wordpress.com/2008/12/24/proyek-jam-digital-i/ - www.dalsemi.com - www.dataimage.com