Jam Digital Dengan RTC12C887 Berbasis ATmega 89C52

download Jam Digital Dengan RTC12C887 Berbasis ATmega 89C52

of 12

  • date post

    20-Jun-2015
  • Category

    Documents

  • view

    743
  • download

    9

Embed Size (px)

Transcript of 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 waktutidak 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 merupakan teknologi 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 : y 8 bit CMOS mikrokomputer y 4 Kbytes Flash Memory y 128 bytes RAM y 32 jalur input Output y Dua 16-bit timer/counter y Memiliki arsitektur lima two-level vector interrup

y Sepasang full duplex serial port y On chip oscillator y 64 Kbytes ROM dan RAM y Bit addressable internal RAM Struktur dasar AT89S51 digambarkan secara blok diagram seperti pada gambar, berikut:

Gambar 2.1 Blok Diagram AT89S51

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

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. 2. 3. 4. 5.

Pengganti clock /kalender komputer IBM AT PIN kompatibel /sesuai dengan MC14618B dan DS 12C887 Data tidak akan hilang maksimal sampai 10 tahun meskipun tidak ada daya Subsistem tercakup sendiri meliputi litium, kwarsa, dan pendukung rangkaian Menghitung detik,menit, jam, hari seminggu, tanggal, bulan dan tahun dengan lompatan pergantian tahun

6. 7. 8. 9. 10. 11.

Data waktu kalender atau alarm dapat dipresentasikan dalam format biner / BCD Format jam yang dipakai 24 atau 12 jam dengan AM dan PM dalam mode 12 jam-an Pilihan waktu penyimpanan sianghari Timing bus dapat dipilih antara Motorola dan Intel. Bus multipleks antara address dengan data untuk efisiensi PIN 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

Gambar 2.4 Konfigurasi Kaki DS12C887 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. AD0-AD7 : Bus alamat / data NC MOT CS AS R/ DS RESET IRQ SQW VCC GND : Tidak ada hubungan : Seleksi tipe bus Intel atau Motorola : Chip select : Sinyal untuk penanda bahwa AD0-AD7 adalah alamat : Masukan baca/tulis : Sinyal untuk penanda bahwa AD0-AD7 adalah data : Masukan reset : Pengiriman sinyal interupsi selamat 1 detik sekali : Keluaran gelombang kotak : Catu daya + 5 V : 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 0 Kegunaan Detik Rentang Nilai (BCD) 0059

1 2 3 4 5 6 7 8 9 10 11 12 13 1449 50

Alarm Menit Alarm menit Jam Alarm jam Hari Tanggal Bulan Tahun Register A Register B Register C Register D Memori Bebas Abad

0059 0059 0059 0012 8192 0023 0012 8192 0023 0107 0131 0112 0099

19..20

51128 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 UIP D6 DV2 D5 DV1 D4 DV0 D3 RS3 D2 RS2 D1 RS1 D0 RS0

Tabel 3 Register B (CMOS RAM No. 11) D7 SET D6 PIE D5 AIE D4 UIE D3 SQWE D2 DM D1 24/12 D0 DSE

Tabel 4 Register C (CMOS RAM No. 12) D7 IRQF D6 PF D5 AF D4 UF D3 0 D2 0 D1 0 D0 0

Tabel 5 Register D (CMOS RAM No. 14) D7 VRT D6 0 D5 0 D4 0 D3 0 D2 0 D1 0 D0 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 RS3 RS2 RS1 RS0 Frekuensi SQW 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 1 1 0 0 1 1 0 0 1 0 1 1 1 0 1 0 0 256 Hz 128 Hz 8.192 Hz 4.096 Hz 2.048 Hz 1.024 Hz 512 Hz 256 Hz

1 1 1 1 1 1 1

0 0 0 1 1 1 1

0 1 1 0 0 1 1

1 0 1 0 1 0 1

128 Hz 64 Hz 32 Hz 16 Hz 8 Hz 4 Hz 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,