![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Microcontroller Kits Simple
Mikrokontroller 89s51 Trainer
Super
Mikrokontroller Trainer 89s51
All Kits |
Address Map dari RTC RTC mempunyai RAM internal didalamnya, dalam memori
tersebut terbagi menjadi beberapa register-register yang mempunyai fungsi
dalam pengontrolan maupun pengambilan data RTC. Agar tidak terjadi kesalahan
dalam pengontrolan maupun pengambilan data, peta alamat dari masing-masing
register harus jelas.
Gambar 14.2. Peta Alamat RTC Waktu, Kalender dan Alarm Informasi waktu dan kalender diperoleh dengan membaca byte memori yang sesuai. Waktu, kalender dan alarm di-set atau diinisialisasi dengan menulis ke byte RAM yang sesuai. Isi dari kesepuluh data kalender, waktu dan alarm dapat digunakan dalam mode biner atau BCD (Binary-Coded Decimal). Sebelum mengakses register kalender, waktu dan alarm, SET bit pada register B harus ditulis dengan level logika yang sesuai agar tidak mengganggu proses update yang dilakukan oleh RTC. Kesemua data kalender, waktu dan alarm harus menggunakan mode data yang sma (biner atau BCD), yaitu dengan cara menulis pada register B pada bit DM(Data Mode). Sekali di inisialisasi maka RTC akan terus menggunakan mode data yang dipilih sebelumnya. Tabel berikut menunjukkan mode data dari kalender, waktu dan alarm baik dalam mode biner atau BCD.
Tabel 14.2. Tabel data mode waktu, kalender dan alarm Register Kontrol RTC Register A
UIP - Update in progress adalah status bit yang dapat dimonitor, merupakan bit read only dan tidak dipengaruhi oleh reset. Ketika bit UIP 1, proses update akan segera berlangsung. Ketika UIP 0, proses update tidak akan terjadi sekurangnya 244?s. Informasi kalender, waktu dan alarm yang ada pada RAM akan dapat diakses secara penuh ketika bit UIP nol. DV2, DV1, DV0 - Ketiga bit ini digunakan untuk menghidupkan atau mematikan osilator dan me-reset rantai perhitungan. Pola 010 adalah satu-satunya kombinasi yang akan menghidupkan osilator dan menyebabkan RTC dapat menyimpan waktu. Pola 11x akan menghidupkan osilator tapi menahan rantai perhitungan dalam kondisi reset. RS2, RS2, RS1, RS0 - Keempat bit ini akan memilih
frekuensi atau mematikan pulsa kotak pada pin SQW. Pin SQW dapat berfungsi
juga sebagai periodic interrupt. Keempat bit ini dapat dibaca/tulis
dan tidak dipengaruhi oleh RESET. Untuk mengaktifkannya, dapat dilakukan
sebagai berikut : Register B
PIE - Periodic Interrupt Enable merupakan bit yang dapat dibaca/tulis yang akan menyebabkan bit Periodic Interrupt Flag (PF) pada register C mengatur pin IRQ menjadi low. Ketika bit PIE diset 1, interupt secara periodik dihasilkan dengan mengatur pin IRQ menjadi low dengan periode tertentu sesuai dengan bit RS3-RS0 (register A). Apabila PIE 0, ini akan menghalangi pengaturan pin IRQ oleh interupt periodik, tetapi bit PF masih di-set dengan periode tertentu. PIE tidak dapat dirubah secara internal oleh RTC, tetapi akan dihapus menjadi 0 pada saat RESET. UIE - Update Ended Interrupt merupakan bit yang dapat dibaca/tulis yang akan meng-enable Update ended Flag (UF) pada register C untuk memasukkan IRQ. Pin RESET yang di “low” atau bit SET yang di “high” akan menghapus bit UIE. SQWE - Ketika bit Square Wave Enable di-set menjadi 1, gelombang kotak dengan periode yang sudah ditentukan oleh bit RS3-RS0 akan dikeluarkan pada pin SQW. Ketika SQWE di-set menjadi 0, maka pin SQW tetap low. Bit SQWE dapat dibaca/tulis dan dapat dihapus oleh RESET. SQWE di-set menjadi 1 ketika Vcc dihidupkan. DM - Bit Data Mode (DM) mengindikasikan apakah informasi waktu dan kalender mempunyai format biner atau BCD. Bit DM di-set oleh program dengan memberikan format yang sesuai dan dapat dibaca sesuai keperluan. Bit ini tidak dapat dirubah secara internal atau oleh RESET. ‘1’ pada DM menyatakan data biner sedangkan ‘0’ menyatakan DM mempunyai format BCD (Binary Coded Decimal). 24/12 - Bit ini digunakan untuk memilih mode
jam, 24 atau 12. ‘1’ menunjukkan mode 24-jam dan ‘0’
menunjukkan mode 12-jam. Bit ini dapat dibaca/tulis dan tidak dipengaruhi
secara internal atau RESET. Register C
IRQF - Interrupt Request Flag (IRQF) bit diset
menjadi 1 ketika hal berikut terjadi : PF - Periodic Interrupt Flag adalah bit read-only yang diset menjadi 1 ketika edge dideteksi pada tap yang dipilih pada rantai pembagian. Bit RS3 - RS0 menghasilkan frekuensi periodik. PF diset menjadi 1 tanpa dipengaruhi oleh bit PIE. Ketika PF dan PIE ‘1’ , sinyal IRQ aktif dan akan mengeset bit IRQF. Bit PF akan dihapus secara pembacaan software pada register C atau RESET. AF - ‘1’ pada bit Alarm Interrupt Flag (AF) mengindikasikan waktu yang dicapai sesuai dengan waktu alarm. Jika bit AIE juga 1, pin IRQ akan menjadi low dan ‘1’ akan terjadi pada bit IRQF. RESET atau pembacaan register C akan menghapus AF. UF - Bit Update Ended Interrupt Flag akan diset setelah tiap proses update. Ketika bit UIE diset menjadi 1, ‘1’ pada UF akan menyebabkan bit IRQF menjadi 1 dan akan mengaktifkan pin IRQ. UF dihapus dengan membaca register C atau RESET. BIT 3 sampai BIT 0 - Bit ini tidak dipakai dan selalu bernilai 0. Register D
VRT - Valid RAM Time mengindikasikan kondisi dari baterai yang dihubungkan ke pin VBAT. Bit ini tidak dapat ditulis dan selalu menjadi 1 ketika dibaca. ‘0’ akan terjadi ketika baterai internal telah rusak. Bit ini tidak dipengaruhi oleh RESET. BIT 6 sampai BIT 0 - Bit ini tidak dipakai dan selalu bernilai 0. Proses Update RTC 12C887 melaksanakan proses update sekali dalam
satu detik walau tanpa memperhatikan bit SET pada register B. Ketika
bit SET pada register B di-set menjadi 1, maka informasi waktu, kalender,
dan alarm akan berhenti dan tidak akan berubah pada saat terjadi penambahan
waktu, tetapi rantai perhitungan waktu akan tetap terjadi dan disimpan
pada buffer internal. Hal ini akan menjaga akurasi watu dari RTC saat
terjadi proses pembacaan dan penulisan. Proses update ini juga akan
membandingkan byte alarm dengan waktu yang terjadi sat itu. Metode yang ketiga adalah mengunakan periodic interrupt untuk menunjukkan apakah proses update sedang berlangsung. Bit UIP pada register A akan di-set high diantara pengaktifan dari bit PF pada register C. Periode interupt yang melebihi waktu tBUC akan menyebabkan data yang valid dapat dicapai pada setiap terjadinya interupsi. Pembacaan harus telah selesai dalam waktu (tPI/2 + tBUC) untuk memastikan data tidak dibaca saat proses update. Gambar 14.6 Rangkaian interface RTC12c887
|
HARDWARE PERCOBAAN 1 PERCOBAAN 2 PERCOBAAN 3 PERCOBAAN 5 PERCOBAAN 6 PERCOBAAN 7 PERCOBAAN 8 PERCOBAAN 9 PERCOBAAN 10 PERCOBAAN 11 PERCOBAAN 12 PERCOBAAN 13 PERCOBAAN 14 PERCOBAAN 15
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||