• Tidak ada hasil yang ditemukan

IMPLEMENTASI PENGATURAN WAKTU OPERASI PERALATAN LISTRIK SECARA OTOMATIS BERBASIS MIKROKONTROLER AT89S8252

N/A
N/A
Protected

Academic year: 2021

Membagikan "IMPLEMENTASI PENGATURAN WAKTU OPERASI PERALATAN LISTRIK SECARA OTOMATIS BERBASIS MIKROKONTROLER AT89S8252"

Copied!
129
0
0

Teks penuh

(1)

IMPLEMENTASI PENGATURAN WAKTU OPERASI

PERALATAN LISTRIK SECARA OTOMATIS

BERBASIS MIKROKONTROLER AT89S8252

TUGAS AKHIR

Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik

Program Studi Teknik Elektro

Disusun oleh:

I.V EKADE PRASETYO T NIM: 035114028

PROGRAM STUDI TEKNIK ELEKTRO

JURUSAN TEKNIK ELEKTRO

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2008

(2)

IMPLEMENTATION OF AUTOMATICAL TIME

CONTROLLING TO ELECTRICAL EQUIPMENT

BASED ON AT89S8252 MICROCONTROLER

FINAL PROJECT

Presented as Partial Fulfillment of the Requirements To Obtain the Sarjana Teknik Degree

In Electrical Engineering Study Program

By:

I.V EKADE PRASETYO T Student Number: 035114028

ELECTRICAL ENGINEERING STUDY PROGRAM

ELECTRICAL ENGINEERING DEPARTMENT

SCIENCE AND TECHNOLOGY FACULTY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2008

(3)

HALAMAN PENGESAHAN OLEH PEMBIMBING

TUGAS AKHIR

IMPLEMENTASI PENGATURAN WAKTU OPERASI

PERALATAN LISTRIK SECARA OTOMATIS

BERBASIS MIKROKONTROLER AT89S8252

Disusun oleh:

I.V EKADE PRASETYO T NIM : 035114028

Telah disetujui oleh:

Pembimbing I

B. Wuri Harini S.T, M.T. Tanggal _______________

Pembimbing II

Ir. Tjendro Tanggal _______________

(4)

HALAMAN PENGESAHAN OLEH PENGUJI

TUGAS AKHIR

IMPLEMENTASI PENGATURAN WAKTU OPERASI

PERALATAN LISTRIK SECARA OTOMATIS

BERBASIS MIKROKONTROLER AT89S8252

Disusun oleh:

I.V EKADE PRASETYO T NIM : 035114028

Telah dipertahankan di depan panitia penguji Pada tanggal: 28 Oktober 2008

dan dinyatakan memenuhi syarat.

Susunan Panitia Penguji:

Nama Lengkap Tanda Tangan

Ketua : Ir. Th. Prima Ari Setiyani, S.T, M.T ………. Sekretaris : B. Wuri Harini, S.T, M.T ………. Anggota : Ir. Tjendro ………. Anggota : Pius Yozy Merucahyo,S.T, M.T ……….

Yogyakarta,……….

Fakultas Sains dan Teknologi Universitas Sanatha Dharma Wakil Dekan 1

Yosef Agung Cahyana, S.T, M.T.

(5)

LEMBAR PERNYATAAN KEASLIAN KARYA

“Saya menyatakan dengan sesungguhnya bahwa tugas akhir yang saya tulis ini tidak memuat karya atau bagian karya orang lain,

kecuali yang telah disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.”

Yogyakarta, 8 November 2008 Penulis,

I.V Ekade Prasetyo T

(6)

MOTTO DAN PERSEMBAHAN

MOTTO:

“Janganlah hendaknya kamu kuatir tentang apapun

juga, Tetapi nyatakanlah dalam segala hal

keinginanmu kepada Allah dalam DOA dan

permohonan dengan ucapan syukur”

(Filipi

4 : 6)

MOTTO:

“Janganlah hendaknya kamu kuatir tentang apapun

juga, Tetapi nyatakanlah dalam segala hal

keinginanmu kepada Allah dalam DOA dan

permohonan dengan ucapan syukur”

(Filipi 4 : 6

)

Kupersembahkan Tugas Akhir ini untuk:

Yesus Kristus atas segala kasih dan kebaikannya,

Papa dan Mamaku dan segenap keluargaku

yang selalu memberikan doa & dukungan

Jemaat Gen-b Yogyakarta, Zona 2

Almamaterku Teknik Elektro USD

(7)

INTISARI

Dengan perkembangan ilmu pengetahuan dan teknologi yang begitu pesat, manusia menginginkan sesuatu yang dapat digunakan untuk memudahkan pekerjaannya. Salah satunya adalah dengan membuat suatu alat atau sistem yang dapat mengatur waktu ON/OFF setiap peralatan listrik secara otomatis.

Implementasi pengaturan waktu operasi peralatan listrik secara otomatis adalah suatu sistem atau alat yang dapat digunakan untuk mengatur peralatan-peralatan listik seperti alat pemanas, lampu dan lain sebagainya. Sistem atau alat ini terdiri atas sebuah mikrokontroler AT89S8252 sebagai pusat pengendali, sebuah RTC (Real time clock) sebagai sistem pewaktuan, sebuah keypad untuk memasukan data yang mana data-data tersebut akan dibandingkan dengan data pada sistem pewaktuan. Bila waktu ON yang diprogram sama dengan waktu pada sistem pewaktuan maka relay akan ON untuk menghidupkan peralatan listrik dan bila waktu OFF yang diprogram sama dengan waktu pada sistem pewaktuan maka relay akan OFF. Data-data pada sistem pewaktuan kemudian ditampilkan pada LCD sehingga dapat dilihat pada setiap perubahan waktunya. Peralatan listrik yang bisa diatur untuk waktu ON/OFF adalah sebanyak 2 buah (2 output).

Dari hasil pengujian, dapat diketahui bahwa dengan sistem pewaktuan yang telah dirancang, peralatan listrik dapat ON/OFF sesuai dengan waktu yang diinginkan. Dengan demikian dapat dikatakan bahwa alat ini dapat bekerja dengan baik dan peralatan-peralatan listrik dapat diatur secara otomatis.

Kata kunci: Sistem pewaktuan, Aplikasi Mikrokontroler dalam Bidang Industri.

(8)

ABSTRACT

The technology and science have developed so fast, so that human being needs something to help to do their jobs easier. One of the examples is by creating an equipment or system which is able to arrange the ON/OFF time to every electrical equipments automatically.

The implementation of operational time arrangement automatically for electrical equipments is a system which use to arranges the ON/OFF time schedule for electrical equipments such as heater, lamp, etc. This appliance consist of a microcontroller AT89S8252 as controller center, a RTC ( Real Time clock) as timing system, a keypad using for input of data is which the data will be compared to data of timing system. If the ON time is arranged to be equal with the timing system, the relay will be ON to start the electrical equipments, and if the OFF time is arranged to be equal with timing system, the relay will be OFF. The data in timing system will be displayed on LCD, so that the changing of time can be seen. There are two electrical equipments which can be arranged by time of ON/OFF.

From the result of the test, knowable that by using timing system which have been designed, the electrical equipments earned to be ON/OFF according to wished time. Therefore can be said that this appliance can work better and it can regulated electrical equipments automatically.

Keyword : Timing system, Application Microcontroller in Industrial.

(9)
(10)

KATA PENGANTAR

Puji syukur dan terima kasih penulis panjatkan kepada Allah Bapa atas segala kasih karunia-Nya sehingga tugas akhir dengan judul “ IMPLEMENTASI PENGATURAN WAKTU OPERASI PERALATAN LISTRIK SECARA

OTOMATIS BERBASIS MIKROKONTROLER AT89S8252 ” ini dapat

diselesaikan dengan baik. Tugas akhir ini merupakan salah satu syarat untuk memperoleh gelar Sarjana pada program studi Teknik Elektro Universitas Sanata Dharma Yogyakarta.

Dalam proses penulisan tugas akhir ini penulis menyadari bahwa ada begitu banyak pihak yang telah memberikan perhatian dan bantuan sehingga tugas akhir ini dapat terselesaikan. Maka dari itu, penulis ingin mengucapkan terima kasih kepada :

1. Tuhan Yesus Kristus, Juru selamat dan Penolongku.

2. Kedua orang tuaku tercinta M. Tupamahu dan Sih Rumanti atas segalanya yang telah diberikan, dan dikorbankan yang tak akan pernah dapat ternilai harganya.

3. Adik-adikku, Ardhi dan Putri serta semua keluarga yang telah memberikan semangat dan dukungan yang luar biasa.

4. Ibu Wuri selaku dosen pembimbing I yang telah banyak meluangkan waktu untuk memberikan bimbingan, pengetahuan, diskusi, arahan, kritik dan saran dalam menyelesaikan tugas akhir.

5. Bapak Tjendro atas selaku dosen pembimbing II yang dengan senang hati memberikan pengarahan, bimbingan dan segenap perhatiannya.

(11)

6. “Special one”, Dian H Tarioko atas dukungan, motivasi, perhatian dan semangat serta doanya.

7. Semua rekan-rekan Teknik Elektro yang sudah mendukung dan membantu: Erik (TE’04), Winarto, Dece, Ratno, Riki, Nendar, Roni dan semua rekan TE’03 tanpa terkecuali.

8. Saudara–saudariku dalam Iman: Ridho, John, Sari, K’mely, Nona, Ephin, Ice, Maria, Tian, Mario, Ice, Ones dan semua anak-anak Full Blast dan Jehova Nissi atas perhatian dan semangatnya.

9. Paul (audio visual) dan Ellen Z1 atas kebaikannya meminjamkan kamera digital.

10. Trisno, Bang Koko, Bang Sam, Nando, Hendro, Mas Punto, Edi, Deni dan semua anak-anak Center Blisfull dan City on Hill atas cerita-cerita dan ”mob-mob”nya yang memberikan inspirasi, semangat dan membantu menghilangkan stress.

11. Tim Music Ministry atas dukungan moril serta kepeduliannya.

12. Jemaatku GBI Gen-B Yogyakarta, zone II dan semua orang yang belum disebutkan satu-persatu, yang telah membantu dalam penyusunan karya tulis ini.

Penulis mengakui bahwa karya tulis ini masih jauh dari sempurna. Oleh karena itu, segala kritik dan saran yang membangun akan penulis terima dengan senang hati. Akhir kata, semoga tugas akhir ini berguna bagi semua pihak dan dapat

(12)

bermanfaat bagi perkembangan Jurusan Teknik Elektro Universitas Sanata Dharma Yogyakarta. Tuhan memberkati kita semua.

Yogyakarta, 8 November 2008 Penulis,

I.V Ekade Prasetyo T

(13)

DAFTAR ISI

Halaman Judul... Lembar Pengesahan oleh Pembimbing... Lembar Pengesahan oleh Penguji... Lembar Pernyataan Keaslian Karya... Halaman Persembahan dan moto hidup... Intisari... Abstract... Kata Pengantar... Daftar Isi ... Daftar Gambar... Daftar Tabel ... BAB I PENDAHULUAN 1.1 Latar Belakang ... ... 1.2 Tujuan... 1.3 Batasan Masalah... 1.4 Metodologi Penelitian... 1.5 Sistematika Penulisan... BAB II DASAR TEORI

2.1 Mikrokontroler AT89S8252... 2.1.1 Organisasi Memori Mikrokontoler AT89S8252………

i iii iv v vi vii viii ix xii xvi xviii 1 2 2 2 3 5 6 xii

(14)

2.2 LCD (Liquid Crystal Display)…... 2.2.1 Antarmuka LCD……… 2.2.2 Bentuk Karakter LCD……….. 2.3 Real Time Clock (RTC)…... 2.4 Papan Pengunci (keypad)... 2.5 Transistor ... 2.6 Relay... BAB III PERANCANGAN

3.1 Diagram Blok Perancangan Mesin Voting Elektronik……….. 3.2 Perancangan Perangkat Keras (Hardware)...……... 3.2.1 Rangkaian Mikrokontroler AT89S8252……… 3.2.2 Sistem Papan Pengunci (keypad)..……… 3.2.3 Sistem Penunjuk Waktu (RTC)...………..…. 3.2.4 Driver (Transistor)………. 3.2.5 Perancangan Perangkat Keras Alat……… 3.3 Perancangan Perangkat Lunak………..

3.3.1 Diagram alir Pemrograman Perancangan Sistem…………. 3.3.2 Perancangan Bentuk Tampilan pada LCD……… BAB IV HASIL DAN PEMBAHASAN

4.1 Hasil Akhir Perancangan... 4.2 Pengamatan Sistem ... 4.2.1 Cara Menjalankan Alat...

9 10 11 12 14 14 17 19 20 21 21 22 23 25 26 27 31 36 37 37 xiii

(15)

4.2.2 Pengujian Kerja Sistem

4.2.3 Pengamatan Kerja Alat Keseluruhan... 4.2.4 Pengamatan Sistem RTC...

4.2.4.1 Subrutin Penunjuk waktu... 4.2.4.2 Subrutin Pengesetan (update) Pewaktuan... 4.2.4.3 Subrutin Pengesetan data menit... 4.2.4.4 Subrutin Pengesetan data jam... 4.2.4.5 Subrutin Pengesetan data hari... 4.2.4.6 Subrutin Pengesetan data Tanggal... 4.2.4.7 Subrutin Pengesetan data bulan... 4.2.4.8 Subrutin Pengesetan data Tahun... 4.2.5 Pengamatan sistem pewaktuan Mikrokontroler...

4.2.5.1 Subrutin untuk memasukan data awal... 4.2.5.2 Subrutin Rolling detik... 4.2.5.3 Subrutin Rolling menit... 4.2.5.4 Subrutin Rolling jam... 4.2.5.5 Subrutin Rolling tanggal... 4.2.5.6 Subrutin Rolling bulan... 4.2.5.7 Tampilan Sistem Pewaktuan Mikrokontroler... 4.2.5.8 Tampilan Sistem Pewaktuan pada 7-segmen... 4.3 Sistem Driver dan Catu Daya...

38 39 43 43 45 46 47 48 48 49 50 51 51 51 52 53 53 54 54 58 64 xiv

(16)

BAB V KESIMPULAN DAN SARAN

5.1 Kesimpulan... 5.2 Saran... DAFTAR PUSTAKA...

LAMPIRAN DATA PERCOBAAN... LAMPIRAN RANGKAIAN LENGKAP...

LAMPIRAN LISTING PROGRAM...

LAMPIRAN DATASHEET... 67 67 67 69 L1 L2 L3 L4 xv

(17)

DAFTAR GAMBAR

Gambar 2.1 Peta Memori Data Internal... 7

Gambar 2.2 Peta RAM Internal AT89S8252…………... 7

Gambar 2.3 Teknik Antarmuka 8 bit LCD M1632…... 10

Gambar 2.4 Bentuk Karakter LCD………... 12

Gambar 2.5 IC RTC DS12887………... 13

Gambar 2.6 Konstruksi Keypad... 14

Gambar 2.7 Arah Arus Pada Transistor... 15

Gambar 2.8 Transistor sebagai Saklar... 16

Gambar 3.1 Diagram blok Sistem……….……… 20

Gambar 3.2 Hubungan Mikrokontroler dengan keypad……… 22

Gambar 3.3 Hubungan Mikrokontroler dengan RTC... 23

Gambar 3.4 Hubungan Mikrokontroler dengan Driver... 24

Gambar 3.5 Perancangan Alat (tampak depan)... 25

Gambar 3.6 Perancangan Alat (tampak belakang)... 25

Gambar 3.7 Diagram Utama………. 27

Gambar 3.8 Diagram Tampilan menu utama... 28

Gambar 3.9 Diagram Set waktu... 29

Gambar 3.10 Diagram perbandingan Waktu ON/OFF... 31

Gambar 3.11 Tampila Pewaktuan pada LCD... 32

Gambar 3.12 Tampilan Menu Utama dan Pilihan Out-1... 32

(18)

Gambar 3.13 Tampilan Pilihan Out-2 dan Keluar Menu... 33

Gambar 3.14 Tampilan Pemrograman Out-1 untuk Waktu Jam ON.... 33

Gambar 3.15 Tampilan Pemrograman Out-1 untuk Waktu Kalender ON 33 Gambar 3.16 Tampilan Pemrograman Out-1 untuk Waktu Jam OFF... 34

Gambar 3.17. Tampilan Pemrograman Out-1 untuk Waktu Kalender OFF 34 Gambar 4.1 Bentuk Fisik Alat Pengaturan Waktu Operasi Peralatan Listrik 36 Gambar 4.2 Bentuk Fisik Rangkaian per bagian... 37

Gambar 4.3 Bentuk Fisik Rangkaian driver berupa Transistor 37 Gambar 4.4 Tampilan LCD untuk Pewaktuan... 39

Gambar 4.5 Tampilan LCD untuk Menu Utama dan Pilihan Output... 39

Gambar 4.6 Tampilan LCD untuk Waktu ON/OFF Out-1... 40

Gambar 4.7 Tampilan LCD untuk Waktu ON/OFF Out-2... 41

Gambar 4.8 Contoh Tampilan Kesalahan-kesalahan Pembacaan RTC... 43

Gambar 4.9 Tampilan Sistem Pewaktuan tanpa RTC... 55

Gambar 4.10 Tampilan Program Pewaktuan Out-1 pada LCD... 55

Gambar 4.11 Tampilan Program Pewaktuan Out-1 pada LCD... 55

Gambar 4.12 Lampu Pilot untuk tiap Output... 56

Gambar 4.13 Tampilan Sistem Pewaktuan Mikrokontroler pada 7-segmen dan LCD... 58

Gambar 4.14 Tampilan sistem Pewaktuan... 64

(19)

DAFTAR TABEL

Tabel 2.1 Konfigurasi Pin LCD M1632……..………... 9

Tabel 2.2 Function Set………..……….. 10

Tabel 2.3 Konfigurasi RTC DS12887…….……….……... 13

Tabel 4.1 Hasil Tampilan detik pada LCD... 42

Tabel 4.2 Data Hasil Percobaan dengan Program Waktu yang berbeda.... 57

Tabel 4.3 Perbandingan Data Waktu Tiap Sistem Pada LCD... 59

Tabel 4.4 Perbandingan Jumlah Detik tiap Sistem... 61

Tabel 4.5 Perbandingan Pergeseran Data Waktu Sistem Pewaktuan Mikrokontroler dengan Sistem Pewaktuan sesungguhnya... 63

Tabel 4.6 Perbandingan Hasial Pengukuran Transistor... 64

Tabel 4.7 Hasil Pengukuran Catu Daya... 66

(20)

BAB I

PENDAHULUAN

1.1. LATAR BELAKANG

Perkembangan ilmu pengetahuan dan teknologi yang begitu pesat telah mampu menghasilkan karya yang mendukung dan memudahkan pekerjaan manusia terutama setelah ditemukannya bahan semikonduktor yang akhirnya telah menghantar manusia pada era industri elektronika dan komputer. Manusia selalu ingin semua serba praktis dan otomatis untuk memudahkan dalam pekerjaannya. Misalnya, dengan menggunakan remote, orang dapat mengatur peralatan listrik yang ada dirumah. Mulai dari membuka pintu garasi, pintu pagar hingga mematikan atau menghidupkan lampu dan sistem lain yang ada.

Implementasi pengaturan waktu operasi alat listrik secara otomatis yang dirancang penulis adalah salah satu bentuk aplikasi lain yang dapat digunakan manusia sekarang ini. Dengan menghubungkan peralatan listrik (alat pemanas, lampu dll) ke sistem ini dan memprogramnya untuk waktu ON dan OFF maka semua dapat teratasi dari bentuk kelalaian pada kondisi meng OFF kan karena sudah diprogram sesuai dengan pewaktuan yang diinginkan. Fungsi alat ini sangat luas tetapi dalam lingkup beban yang berupa peralatan listrik (220 V). Untuk penerangan rumah dapat juga digunakan apabila pemilik rumah sering meninggalkan rumah. Hanya dengan menghubungkan lampu-lampu dengan alat ini dan memprogramnya untuk waktu ON dan waktu OFF maka lampu rumah dapat diatur sesuai dengan pewaktuan yang diinginkan pemilik rumah. Dan banyak lagi

(21)

fungsi sistem ini bagi peralatan-peralatan listrik rumah tangga yang membutuhkan pengendalian secara terprogram.

1.2. TUJUAN

Tugas akhir ini bertujuan untuk menghasilkan suatu sistem pengaturan waktu pengoperasian peralatan listrik yang dapat diprogram secara real time (menggunakan RTC) untuk waktu ON dan OFF dan saklar (relay) yang terhubung ke beban (220V) seperti alat pemanas, lampu, kipas angin dll.

1.3. BATASAN MASALAH

Pada penulisan Tugas Akhir ini penulis memfokuskan pada pengaplikasian mikrokontroler yang digabung dengan komponen pendukung lain seperti RTC dan LCD untuk membangun sebuah sistem pengendali yang dapat diprogram. Pemrogramannya menggunakan mikrokontroler AT89S8252 sebagai basis utama pengontrolan. Penulis membuat beban sebanyak 2 buah yaitu kipas angin dan lampu, yang dapat dikendalikan dan diprogram dan pemrograman tiap beban berbeda-beda untuk kondisi ON dan OFF nya. Sistem pewaktuan yang akan dipakai adalah sistem pewaktuan 24 jam sedangkan daya total maksimal untuk beban yang dikendalikan adalah sebesar 600 Watt.

1.4. METODOLOGI PENELITIAN

(22)

1. Studi literatur

Tahap ini dilakukan dengan membaca makalah-makalah, buku acuan dan hasil-hasil penelitian yang berkaitan dengan pemrograman mikrokontroler dan cara kerja komponen-komponen pendukung lainnya.

2. Perancangan sistem

Dalam perancangan ini penulis melakukan perancangan baik dari segi perangkat keras maupun dari segi perangkat lunak yaitu bahasa mesin mikrokontroler AT89S8252.

3. Implementasi rancangan

Sistem diintegrasikan secara keseluruhan 4. Pengujian sistem

Meliputi pengujian sistem secara nyata dengan memprogramkan waktu ON dan OFF pada masing-masing beban.

1.5. SISTEMATIKA PENULISAN

Sistematika penulisan tugas akhir ini terbagi menjadi lima bab yang disusun sebagai berikut:

BAB I. PENDAHULUAN

Bab ini berisi tentang latar belakang masalah, tujuan dan manfaat penelitian, perumusan masalah, batasan masalah, metodologi penulisan, dan sistematika penulisan.

(23)

BAB II. DASAR TEORI

Bab ini berisi tentang dasar teori komponen-komponen yang akan digunakan dalam penelitian .

BAB III. RANCANGAN PENELITIAN

Bab ini berisi tentang diagram blok dan penjelasan cara kerja secara singkat rancangan perangkat keras dan perangkat lunak. BAB IV. HASIL PENELITIAN DAN PEMBAHASAN

Bab ini berisi tentang hasi dan pengamatan kerja dari perangkat keras dan perangkat lunak yang telah dibuat.

BAB V. PENUTUP

Bab ini berisi tentang kesimpulan dan saran untuk perbaikan alat dan penelitian selanjutnya.

(24)

BAB II

LANDASAN TEORI

Mikrokontroler adalah salah satu dari bagian dasar dari suatu sistem komputer. Banyak contoh atau jenis dari mikrokontroler yang ada sekarang ini dan salah satunya adalah Mikrokontroler Atmel AT89S8252. Misalnya yang digunakan oleh Angkatan Bersenjata (TNI) untuk mendeteksi kecepatan peluru atau pada suatu sistem pengaman mobil yang pintar. Mikrokontroler tersebut berperan sebagai otak atau pusat dari seluruh proses yang ingin dilakukan. Dengan adanya mikrokontroler maka prosesnya semakin lebih mudah. Salah satu aplikasi lain dari Mikrokontroler Atmel AT89S8252 dapat dilihat pada perancangan yang akan dibuat ini. Dengan piranti ini diharapkan lebih memudahkan pengguna dalam mengoperasikan alat-alat listik yang dimiliki.

2.1. MIKROKONTROLER

Mikrokontroler Atmel AT89S8252 adalah pengembangan dari mikrokontroler standard MCS-51 yang memiki beberapa fitur yang boleh dibilang lebih lengkap. Mikrokontroler ini adalah 8 bit CMOS yang mempunyai 8 Kilobyte Flash ROM yang dapat langsung diprogram dan juga dihapus dan 2K byte EEPROM serta perintah-perintahnya yang kompatibel dengan keluarga MCS-51. Adapun spesifikasi mikrokontroler Amel AT89S8252 ini adalah sebagai berikut [1]:

(25)

1. Kompatibel dengan produk MCS-51

2. 8K byte In-System ProgramMable Downloadable Flash Memory dengan ketahanan siklus 1,000 Write/Erase.

3. 2K byte EEPROM

4. 2,7V – 6V rentang operasional

5. Dapat bekerja dengan X-Tal 0 Hz– 24 MHz 6. Tiga level penguncian memori secara program 7. 256 x 8 bit Internal RAM

8. 32 buah parallel I/O

9. 3 buah Timer/Counter 16 bit 10. 9 buah sumber interupsi

11. Programable Serial UART Chanel 12. SPI Serial Interface

13. Low Power Idle dan Mode Power Downr

2.1.1. Organisai Memori Mikrokontroler Atmel 89S8252

Mikrokontroler Atmel AT89S8252 mempunyai lokasi RAM yaitu dari 00h-7Fh dan FFh dan 128 byte lokasi Special Function Register (SFR) dari 80h-FFh. Memori data internal ditunjukkan pada Gambar 2.1.

(26)

Gambar 2.1. Peta Memori Data Internal

Semua byte yang berada pada 128 bawah dapat diakses, baik secara langsung maupun tidak langsung dan 128 bagian atas hanya dapat diakses dengan pengalamatan tidak langsung [2]. Lokasi memori pada RAM terdiri atas :

- 32 byte lokasi yang dialamati per-byte (00h-1Fh), lokasi itu dibagi menjadi 4 register bank (bank 0 – bank 3) dengan setiap bank terdiri atas 8 byte/register (R0-R7).

- Pada RAM juga terdapat lokasi memori yang dapat dialamati per-bit maupun per-byte tergantung dari instruksi. Lokasi alamatnya berada pada 20h-2Fh (8 bit x 16 byte = 256 bit).

(27)

- Sisa (lokasi 30h-7Fh dan 80h-FFh) merupakan lokasi memori untuk keperluan umum (General Purpose RAM).

- Pada SFR tiap lokasi memori mempunyai fungsi spesifik untuk memanfaatkan fitur yang terdapat pada mikrokontroler.

Selain memiliki Special Function Register (SFR) seperti halnya pada MCS-51, mikrokontroler Atmel AT89S8252 memiliki tambahan SFR. Hal ini tidak lain karena terdapatnya tambahan fitur pada mikrokontroler ini. Jadi tambahan SFR ini adalah SFR untuk mengontrol alat tambahan pada mikrokontoler Atmel AT89S8252. SFR tambahan meliputi T2CON (Timer 2 Register dengan alamat 0C8H), T2MOD (Timer 2 Mode dengan alamat 0C9H), WMCON (Watchdog and Memory Control Register dengan alamat 96H), SPCR (SPI Contol Register dengan alamat D5H), SPSR (SPI Status Register dengan alamat AAH), SPDR (SPI Data Register dengan alamat 86H) [1].

Berbeda dengan mikrokontroler standard MCS-51, mikrokontroler Atmel AT89S8252 ini dilengkapi dengan data memori yang berupa Elctrically Erasable Programable Read Only Memory (EEPROM) sebesar 2 K byte.

EEPROM On-Chip ini diakses dengan mengeset bit EEMEN pada register WMCON pada alamat 96h. Data dapat diakses dengan menggunakan instruksi MOVX. Yang membedakan antara EEPROM dan pengaksesan memori eksternal adalah jika ingin mengakses data eksternal maka bit EEMEN harus dibuat logika 0 demikian juga bit EEMWE pada register WMCON yang harus di-set sebelum menulis dilokasi EEPROM dan bit EEMWE harus di-reset kembali jika proses penulisan ke EEPROM tidak diperlukan lagi atau sudah selesai. Proses penulisan

(28)

Jika bit ini berlogika rendah maka penulisan ke EEPROM internal sedang berlangsung dan sebaliknya bila bit ini telah berlogika tinggi maka proses penulisan selanjutnya baru dapat dimulai [1].

2.2. LIQUID CRYSTAL DISPLAY (LCD)

Liquid Crystal Display (LCD) digunakan untuk menampilkan bentuk dari tulisan yang dapat berupa huruf, angka, dan tanda baca. LCD dikemas dalam suatu modul siap pakai. LCD yg digunakan adalah M1632, interface atau teknik antarmuka dapat dilakukan dengan sistem 4 bit maupun 8 bit. Memiliki layar tampilan yang terdiri atas 2 baris dan 16 kolom. Total karakter yang dapat ditampilkan dalam waktu yang bersamaan adalah 32 karakter. LCD ini memiliki 16 pin dengan konfigurasi yang ditunjukan pada tabel dibawah ini.

Tabel 2.1 Konfigurasi Pin M1632

No. Simbol Fungsi

1 VCC Masukan power +5V

2 VSS Pin ground

3 VLCD Tegangan masukan pengontrol kontras layar LCD

4 RS Pemilihan pengiriman data atau instruksi 5 R/W Pin masukan Baca dan Tulis

6 E Masukan untuk trigger LCD (tanda ada data yang akan ditulis) 7-14 D0-D7 Jalur data

15 Tegangan positif backlight 16 Tegangan negafif backlight

(29)

2.2.1. Antarmuka LCD

LCD M1632 dapat dipakai dengan sistem 4 bit maupun 8 bit. Dalam pemakaian umum, sistem 4 bit lebih sering digunakan karena lebih ringkas rangkaiannya dan mengurangi kerumitan perkabelan. Berikut cara mengatur lebar data, jumlah baris dan ukuran font karakter:

Tabel 2.2 Function set

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

0 0 0 0 1 DL N F X X

Keterangan: X : Don’t care

DL: 1, Lebar data interface 8 bit ( DB7 s/d DB0) 0, Lebar data interface 4 bit ( DB7 s/d DB4)

Ketika menggunakan lebar data 4 bit, data harus dikirimkan dua kali [3]. N: 0 = Display 1 baris

1 = Display 2 baris

F: 0 = Jumlah titik per huruf 5x7 1 = Jumlah titik per huruf 5x10

Teknik antarmuka sistem 8 bit ini seperti pada Gambar 2.3.

(30)

Pada dasarnya akses dari mikrokontroler ke Modul LCD ini terdiri dari 4 jenis sebagai berikut:

- Pengiriman Instruksi Register

Proses ini dilakukan untuk mengirimkan perintah-perintah ke LCD seperti geser kiri, geser kanan, home posistion dan lain-lain.

- Pembacaan Address Counter dan Busy Flag

Proses ini dilakukan untuk membaca alamat dari DDRAM atau posisi dari karakter yang akan ditampilkan ke modul LCD atau membaca Busy Flag sehingga microcontroller dapat mengetahui bahwa LCD siap untuk menerima data atau perintah lebih lanjut.

- Pengiriman Data Register

Proses ini dilakukan untuk mengirim karakter yang akan ditampilkan di layar LCD dalam bentuk ASCII.

- Pembacaan Data Register

Proses ini dilakukan untuk membaca karakter yang tersimpan pada DDRAM atau yang sudah tampil pada LCD.

2.2.2. Bentuk Karakter LCD

Bentuk karakter LCD adalah karakter dengan font 5x7 titik. Bentuk karakternya terdapat pada gambar berikut:

(31)

Gambar 2.4. Bentuk Karakter LCD

2.3. REAL TIME CLOCK (RTC)

Real Time Clock adalah merupakan komponen utama dari sistem pewaktu nyata yang berfungsi sebagai sebuah rangkaian jam digital yang tetap bekerja selama 10 tahun walaupun power supply tidak diaktifkan dan data-data waktu tersimpan dalam memori yang bersifat Non Volatile pada IC tersebut. Real Time Clock yang digunakan adalah seri DS12887.

RTC DS12887 mempunyai 14 buah register yang terdiri dari 4 buah Register Kontrol dan 10 buah Register Data. Register Data sendiri terpisah menjadi register waktu dan Register Alarm. Setelah Register-register kontrol diinisialisasi, maka data waktu ataupun alarm dapat dilihat atau diatur dengan cara mengakses register-register data tersebut.

(32)

RTC DS 12887 memiliki register yg dapat menunjukkan detik, menit, jam, tanggal, bulan dan tahun. RTC ini didesain memiliki 128 lokasi RAM yang terdiri dari 15 byte untuk data waktu serta kontrol, dan 113 byte sebagai RAM yang dapat digunakan sebagai RAM pada umumnya. RTC DS 12887 menggunakan bus yang termultipleks untuk menghemat pin. RTC ini juga dilengkapi dengan pin IRQ untuk kemudahan dalam proses [4]. Gambar dan tabel berikut ini menjelaskan fungsi masing-masing pin yang ada :

U17 DS12887 4 5 6 7 8 9 10 11 1 13 14 15 17 18 19 23 24 12 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 MOT CS AS R/W DS RST IRQ SQW VC C G ND Gambar 2.5 IC RTC DS12887 Tabel 2.3 Konfigurasi RTC DS12887

Nama Pin Keterangan

MOT Motorola / Intel timing

AD0-AD7 Bus DATA / ADDRESS yang termultipleks

CS Chip Select

AS Address Strobe

R/W Write Strobe

DS Data Strobe

RESET Reset

IRQ Interrupt Request Output SQW Keluaran Sinyal Kotak VCC Catu tegangan +5 volt Gnd Ground

(33)

2.4. PAPAN PENGUNCI (KEYPAD)

Keypad sering digunakan sebagai suatu input pada beberapa peralatan yang berbasis mikroprosessor atau mikrokontroller. Keypad sesungguhnya terdiri dari sejumlah saklar, yang terhubung sebagai baris dan kolom dengan susuan seperti yang ditunjukkan pada gambar 2.5 [5]. Keypad 4x3 di sini adalah sebuah keypad matrix dengan susunan empat baris dan tiga kolom yang tidak menggunakan common.

Gambar 2.6. Konstruksi Keypad

2.5. TRANSISTOR

Transistor adalah alat semikonduktor yang dipakai sebagai penguat, sebagai sirkuit pemutus dan penyambung (switching), stabilisasi tegangan, modulasi sinyal atau sebagai fungsi lainnya. Transistor dapat berfungsi semacam kran listrik, dimana berdasarkan arus inputnya (BJT) atau tegangan inputnya (FET), memungkinkan pengaliran listrik yang sangat akurat dari sirkuit sumber listriknya. Pada umumnya, transistor memiliki 3 terminal. Tegangan atau arus yang dipasang

(34)

di satu terminalnya mengatur arus yang lebih besar yang melalui 2 terminal lainnya [6].

Salah satu fungsi aplikasi dari transistor adalah sebagai saklar (switching) dan transistor yang digunakan adalah 2N2222. Karena berfungsi sebagai saklar maka transistor dioperasikan pada dua daerah titik kerja, dengan tujuan menghasilkan dua kondisi ON dan OFF, yaitu daerah jenuh (saturasi) dan daerah tersumbat (cut off). Pada daerah jenuh (saturasi) transistor berada dalam keadaan saklar ON. Hal ini disebabkan tahanan dan tegangan antara kolektor dan emiter mendekati nol, sehingga kutub kolektor dan emiter akan terhubung singkat (short circuit) yaitu sebesar tegangan transistor yang dipakai.

Pada daerah tersumbat (cut off), transistor berada dalam keadaan OFF. Hal ini terjadi karena besar resistansi antara kolektor dan emitor mendekati tak terhingga sehingga membentuk suatu rangkaian terbuka (open circuit).

Arus dalam rangkaian mengalir melalui kaki kolektor menuju emitor seperti Gambar 2.7. Arus mengalir melalui terminal positif mengelilingi rangkaian dan kembali ke terminal negatif. Arus mengalir melewati transistor menurut tanda panah dari kaki emitor pada simbol diagram rangkaian.

b c e A r u s

(35)

Sewaktu transistor berfungsi sebagai saklar, transistor akan mengalirkan atau menghentikan arus. Transistor tersebut bekerja pada daerah cut-off dan jenuh (saturasi). Rangkaian transistor saklar dapat dilihat pada gambar 2.8.

Gambar 2.8. Transistor sebagai saklar

Dengan menggunakan hokum Kirchof tegangan, maka besarnya arus kolektor (Ic) dapat dicari yaitu:

-Vcc + VRC + VCE = 0 VRC = Vcc- VCE IC .RC = Vcc - VCE IC Rc V VccCE = ……….………(2.1)

Pada keadaan jenuh maka tegangan antara kaki kolektor dan emitter (VCE) dan arus kolektor adalah sebagai berikut:

VCE = VCE (sat)……….……….(2.2) IC (sat) Rc sat V VccCE( ) = ……….………..(2.3)

Karena transistor bekerja pada keadaan jenuh (VCE mendekati 0 volt) maka nilai VCE dapat diabaikan sehingga arus kolektor pada keadaan jenuh menjadi:

(36)

IC (sat)

Rc Vcc

= ……….……….(2.4) Sedangkan arus basis dalam keadaan jenuh yaitu:

IB (min) β ) (sat Ic = ……….………..(2.5)

Transistor bekerja dalam keadaan jenuh apabila IB > IB (min). Besar arus IB dapat dicari dengan menggunakan hukum Kirchof tegangan yaitu sebagai berikut:

B -VB + VRB BB + VBE = 0 VRB = VB - VBE IBB B BE B R V V − = ……….………….………...(2.6)

Transistor dalam daerah cut-off yaitu:

IB = 0………..(2.7) B

VCE = Vcc……….………...(2.8)

2.6. RELAY

Relay adalah jenis kontak yang diaktifkan melalui elektromagnetik. Konstruksi relay terdiri dari lilitan (coil) yang dililit pada inti besi lunak yang akan menghasilkan medan magnet bila diberi tegangan yang sesuai. Medan magnet tersebut akan menarik saklar kontak, sehingga posisi saklar kontak akan berubah dari kutub yang satu ke kutub yang lainnya atau mungkin terlepas dari kutub yang sebelumnya. Keadaan ini akan bertahan selama masih ada arus yang mengalir pada

(37)

coil relay dan bila arus sudah tidak ada lagi, maka relay akan kembali ke keadaan semula. Jenis relay biasanya disebut sebagai :

- Relay normal open (NO) atau relay normal terbuka, yang artinya bila pada coil relay tidak ada arus yang mengalir, maka keadaan saklar kontak relay terbuka.

- Relay normal close (NC) atau relay normal tertutup, yang artinya bila pada coil relay tidak ada arus yang mengalir, maka keadaan sakalar kontak relay tertutup.

(38)

BAB III

PERANCANGAN SISTEM

Pengaturan waktu operasi peralatan listrik secara otomatis ini dapat mengatur peralatan-peralatan listrik seperti alat pemanas, lampu dan lain sebagainya secara real time untuk waktu ON dan OFF. Penjadwalan ini didasarkan atas pemrograman waktu ON dan OFF peralatan litstrik melalui keypad kemudian data-data tersebut dibandingkan dengan data pewaktuan RTC. Bila waktu ON yang diprogram sama dengan waktu pada RTC maka relay akan ON untuk menghidupkan peralatan listrik dan bila waktu OFF yang diprogram sama dengan waktu pada RTC maka relay akan OFF. Peralatan listrik yang bisa diatur waktu ON dan OFF sebanyak 2 buah (2 Jalur) dimana penjadwalan peralatan listrik tersebut dapat berdasarkan : Jam- Hari-Tanggal-Bulan.

3.1. BLOK DIAGRAM

Blok diagram dari pengaturan waktu operasi peralatan listrik secara otomatis dapat dilihat pada Gambar 3.1. Mikrokontroler merupakan basis utama untuk melakukan pengaturan. Proses pemasukan data dan pengesetan dilakukan melalui keypad dan untuk tampilan pewaktuan digunakan LCD 16 x 2 baris. Untuk waktu ON dan OFF diprogram dengan menggunakan keypad. Data-data pemrograman akan disimpan di EEPROM. Mikrokontroler akan membaca register-register pewaktuan di RTC kemudian menampilkanya di LCD. Data pembacaan register-register pewaktuan akan dibandingkan dengan data-data pemrograman yang sudah dilakukan sebelumnya. Hasil perbandingan akan dikirim dan digunakan untuk

(39)

meng-ON/OFF-kan relay melalui transistor (Driver). Apabila transistor pada keadaan ON maka relay akan aktif dan menghubungkan tegangan 220V ke beban yang sudah dihubungkan ke sistem.

Gambar 3.1. Blok Diagram Sistem

3.2. PERANCANGAN PERANGKAT KERAS (HARDWARE)

Perangkat keras (Hardware) merupakan komponen-komponen pendukung yang dibangun untuk dapat melakukan fungsi-fungsi yang diinginkan. Pada perancangan ini, perangkat keras terdiri dari beberapa komponen yaitu : Mikrokontroler AT89S8252, Keypad, RTC DS12887, Unit Penampil (LCD), dan Driver berupa transistor yang difungsikan sebagai saklar untuk menaktifkan relay.

(40)

3.2.1. Mikrokontroler Atmel AT 89S8252

Sistem pengendali yang digunakan pada sistem ini berbasis Mikrokontroler AT89S8252. Mikrokontroler ini merupakan pengembangan dari mikrokontroler standard MCS-51. Adapun fungsi-fungsi port yang digunakan pada sistem adalah sebagai berikut:

Port 0 digunakan untuk mengakses RTC. Mikrokontoler akan melakukan pembacaan (Read) RTC dan penulisan (Write) ke RTC untuk data-data pewaktuan. Jalur pembacaan dan penulisan sama-sama dalam port 0. Sinyal kontrol yang digunakan adalah P3.6 (WR), P3.7 (RD) dan sinyal ALE.

Port 1 digunakan untuk mengakses LCD dengan teknik antarmuka 8 bit. Port yang dipakai adalah P1.0 – P1.7 untuk saluran data dan untuk sinyal kontrol adalah P3.5 sebagai pulsa trigger (E), P3.4 sebagai register selection sinyal (RS).

Port 2 digunakan untuk masukan dari papan pengunci (Keypad). Port yang digunakan adalah P2.0 – P2.6. Port 3 digunakan untuk mengakses relay melalui port P3.0 dan P.3.1.

3.2.2. Sistem Papan Pengunci (KEYPAD)

Sistem papan pengunci (Keypad) adalah suatu papan dengan tombol-tombol yang mewakili karakter-karakter atau numeris. Keypad yang digunakan pada perancangan ini adalah keypad numeris yang terdiri atas 12 tombol yang mewakili angka-angka 0-9, tanda pagar (#) dan tanda bintang (*) yang tersusun dalam bentuk deretan 3 x 4, yang satu dan yang lain saling terhubung pada tiap-tiap baris dan kolom. Hubungan tombol-tombol pada keypad diperlihatkan pada Gambar 3.2.

(41)

Gambar 3.2 Hubungan Mikrokontroler Dengan Keypad

3.2.3. Sistem Penunjuk Waktu (RTC)

Sistem penunjuk waktu merupakan salah satu fasilitas yang terdapat pada peralatan ini. Penunjukan waktu berupa jam, hari dan kalender yang dikendalikan oleh RTC DS 12887 (Real Time Clock). RTC DS12887 menggunakan catu daya DC sebesar 5 Volt dimana AD0 – AD7 merupakan bus alamat dan data dua arah yang termultipleks. Hal ini berarti bus alamat termultipleks dimana informasi alamat dan data digabung dalam satu jalur isyarat. Siklus bus terdiri dari dua tingkat, mula-mula alamat di kunci kemudian diikuti oleh data. Proses multipleks alamat atau data tidak akan memperlambat waktu proses dari RTC karena perubahan bus dari alamat ke data terjadi saat waktu akses register-register dalam memberikan logika tinggi ke AS (Address Strobe Input). Saat perubahan dari tinggi ke rendah AS akan mengunci alamat pada AD0 – AD7 di dalam RTC dan pada saat itu alamat harus sudah valid. Pin AS pada RTC dihubungkan ke Pin ALE (Address Latch Enale) pada mikrokontroler. Pin R/W dari RTC yang terhubung dengan WR pada mikrokontroler

(42)

digunakan sebagai pengunci data ke RTC. Data penulisan (Write) harus sudah valid dan dijaga kestabilannya saat transisi pulsa R/W. Pin DS (Data Strobe Input) juga bisa dianggap sebagai Read (RD). Apabila diberikan masukan rendah pada DS maka akan mengaktifkan keluaran pada siklus pembacaan (Read). Pin CS pada RTC selalu terhubung ke ground, hal ini akan mengakibatkan RTC akan aktif terus dan pengalamatan menjadi 0000H sampai 000DH pada register-register di RTC. Gambar rangkaian RTC DS12887 diperlihatkan pada Gambar 3.3.

GND U1 8252 31 19 18 9 12 13 14 15 1 2 3 4 5 6 7 8 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 17 16 29 30 11 10 EA/VP X1 X2 RESET INT0 INT1 T0 T1 P1.0/T2 P1.1/T2X P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 RD WR PSEN ALE/P TXD RXD 24 VCC +5V 40 20 U2 DS12887 4 5 6 7 8 9 10 11 1 13 14 15 17 18 19 23 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 MOT CS AS R/W DS RST IRQ SQW 12 GND

Gambar 3.3. Hubungan Mikrokontroler Dengan RTC

3.2.4. Driver (Transistor)

Pada perancangan ini, transistor digunakan sebagai saklar atau switching. Untuk mengaktifkan transistor, kaki basis pada transistor harus mendapat tegangan. Tegangan tersebut diperoleh dari output pada port P3.4 dan P3.5 yang masing-masing nantinya digunakan untuk mengaktifkan 2 buah transistor. Caranya adalah

(43)

kedua port pada mikrokontroler tersebut diset ‘1’ sehingga menghasilkan tegangan keluaran sebesar ±VCC (5 Volt). Kedua transistor tersebut kemudian dihubungkan

dengan relay yang nantinya akan dihubungkan ke beban. Berikut ini adalah gambar hubungan mikrokontroler dengan driver.

Gambar 3.4. Hubungan Mikrokontroler Dengan Driver

Untuk mengetahui besarnya arus yang mengalir pada transistor dan besarnya resistor yang digunakan pada rangkaian di atas dapat dicari berdasarkan datasheet karakter transistor dengan menggunakan rumus yang sudah ada pada bab sebelumnya yaitu: β C B I I = , B BE B B I V V R = − , C CE C I V Vcc R = −

(44)

Berdasarkan datasheet diketahui saat IC = 10mA, VCE = 10V, β = 75. Jika dianggap

bahwa output dari mikrokontroler adalah sebesar 5V, sehingga dapat dicari:

mA mA I I C B 0.13 75 10 = = = β ………(3.1) Ω = − = − = 32330 13 . 0 7 , 0 5 mA I V V R B BE B B …………..………..(3.2) Ω = − = − = 200 10 10 12 mA I V Vcc R C CE C ………...(3.3)

3.2.5. Perancangan Perangkat Keras Alat

Panel kendali alat pengaturan waktu yang akan dirancang dapat dilihat pada gambar dibawah ini:

2 1

3

Gambar 3.5 . Rancangan Perangkat Keras alat (tampak depan)

4 5

(45)

Keterangan gambar:

1) Saklar On-Off untuk menyalakan atau mematikan alat. 2) LCD sebagai tampilan.

3) Keypad untuk memasukan data.

4) Stop kontak untuk masing-masing Output. 5) Lampu inditator untuk masing-masing Output.

3.3. PERANCANGAN PERANGAKAT LUNAK (SORTWARE)

Bahasa pemrograman merupakan sebuah perangkat lunak yang diciptakan secara khusus untuk membuat sistem dapat berkomunikasi antara komponen-komponen pendukung dengan komponen-komponen yang diprogram. Untuk perangkat lunak (Software) menggunakan bahasa pemrograman assembly dari mikrokontroler. Langkah pertama dalam perancangan perangkat lunak adalah dengan cara membuat diagram alir terlebih dahulu.

Pada Gambar 3.7. terlihat dengan jelas diagram alir perancangan bahasa pemrograman sistem. Hal pertama yang dilakukan adalah melakukan inisialisasi, yakni menginisialisasikan komponen-komponen pendukung seperti LCD dan RTC. Penginisialisasian ini adalah untuk mempersiapkan komponen pendukung tersebut siap untuk digunakan dengan cara mengeset alamat dan register-register yang akan dibaca ataupun ditulis melalui perangkat lunak (Bahasa Pemrograman).

(46)

3.3.1. Diagram Alir Pemrograman Perancangan Sistem a. Diagram utama

Gambar 3.7. Diagram utama

Gambar 3.7 merupakan diagram alir program utama dengan mekanisme sebagai berikut :

1. Melakukan inisialisasi port, inisialisasi memori dan alamat yang digunakan, inisialisasi LCD dan RTC.

2. Melakukan pembacaan data pewaktuan dari RTC, menyimpannya pada alamat sementara yang sudah ditentukan dan kemudian menampilkannya pada LCD.

3. Bila waktu yang ditampilkan belum sesuai dengan waktu sekarang, maka dilakukan pengesetan terhadap data pewaktuan pada RTC.

(47)

4. Menampilkan tampilan menu utama untuk kemudian dilakukan pemilihan keluaran (output) yang ingin diatur waktu ON/OFF nya.

5. Data yang tersimpan tersebut kemudian dibandingkan data pewaktuan pada RTC. Apabila data-data tersebut sama dengan data pewaktuan RTC yang dimaksud, maka masing-masing keluaran akan ON/OFF pada waktu tersebut.

b. Diagram tampilan Menu utama

Gambar 3.8. Diagram tampilan Menu utama

Proses dari gambar diagram alir di atas akan dijelaskan sebagai berikut: 1. Menampilkan pilihan menu yang berisi perintah untuk menekan

tombol-tombol tertentu.

2. Melakukan pembacaan keypad sehingga bila tombol-tombol yang dimaksud ditekan, maka masuk ke bagian berikutnya yaitu menset waktu

(48)

masing-masing Output. Tombol-tombol yang sudah ditentukan adalah tombol 1, tombol 2 dan tombol 5.

3. Saat tombol 1 ditekan, akan masuk ke menu untuk menset waktu ON/OFF Out-1.

4. Saat tombol 2 ditekan, akan masuk ke menu untuk menset waktu ON/OFF Out-2.

5. Saat tombol 5 ditekan, maka akan menampilkan data pewaktuan RTC.

c. Diagram Set Waktu

(49)

Pada bagian ini, terlebih dahulu dilakukan pembacaan keypad untuk melakukan pengesetan sesuai yang diinginkan. Saat tombol 1 ditekan, maka yang pertama dilakukan adalah memanggil subrutin untuk menset RTC. Subrutin ini beisi perintah untuk megubah bit UIP register A pada RTC sehingga RTC dapat ditulis. Setelah itu data hari pada alamat yang sudah ditentukan akan dinaikan satu bit. Langkah selanjutnya adalah memanggil subrutin update RTC. Subrutin ini berisi perintah untuk menulis atau memindahkan data yang disimpan tersebut ke alamat tertentu pada RTC sehingga data pada RTC berisi data yang telah diubah. Begitu pula saat tombol 2, tombol 3, tombol 4, tombol bintang (*) dan tombol pagar (#) ditekan.

d. Diagram Perbandingan Waktu ON/OFF

Berikut adalah proses kerja dari diagram perbandingan waktu ON/OFF masing-masing Output.

1. Setelah data yang baru disimpan pada RTC, kemudian dilakukan pembacaan RTC.

2. Data pada RTC tersebut kemudian dibandingkan dengan data yang sudah disimpan pada alamat tertentu yang lain yang digunakan untuk meng-ON/OFF-kan masing-masing keluaran.

3. Misalnya, data yang tersimpan untuk meng-ON-kan Out-1 adalah jam 06:00, sejalan dengan sistem pewaktuan RTC, maka Out-1 akan hidup saat data pada RTC menunjukan jam 06:00. Begitu pula untuk waktu OFF-nya.

(50)

4. Hal yang sama juga terjadi pada Out-2 sesuai dengan waktu ONN/OFF yang diprogram.

Gambar 3.10. Diagram Perbandingan Waktu ON/OFF

3.3.2. Perancangan Bentuk Tampilan pada LCD

Setelah diinisialisasi, kemudian dilakukan pengesetan alamat-alamat penyimpanan data hasil pemrograman waktu dan menyimpannya di memori. Data register-register pewaktu RTC kemudian dibaca dan ditampilkan di LCD. Yang ditampilkan adalah data pembacaan pewaktuan detik, menit, jam, hari, tanggal, bulan dan tahun. Tampilan pada LCD dapat dilihat pada gambar berikut:

(51)

7

Gambar 3.11. Tampilan pewaktuan pada LCD

Untuk melakukan pengesetan ulang data-data pewaktuan dilakukan dengan membaca keypad. Untuk pengesetan data menit dilakukan dengan menekan tanda pagar (#) , pengesetan data jam dengan tanda bintang (*), pengesetan data hari dengan tombol 1, pengesetan data tanggal dengan tombol 2, pengesetan data bulan dengan tombol 3, dan pengesetan data tahun dengan tombol 4 serta untuk melakukan pemrograman pewaktuan (program waktu) ON dan OFF masing-masing output (dengan beban relay) dilakukan dengan menekan tombol 0 (Oper).

Apabila dilakukan pemrograman waktu ON dan OFF relay, pertama sekali ditampilkan adalah menu utama. Menu utama ini adalah untuk pemilihan output (keluaran) yang akan diprogram. Pada perancangan ini disediakan 2 jalur dan tiap jalur dipasang relay. Tampilan dari menu utama dapat dilihat pada gambar berikut:

1

-t u O

Gambar 3.12. Tampilan Menu Utama dan Pilihan Out 1

Setelah ditampilkan menu utama, maka keypad kembali dibaca dan pemilihan pemrograman jalur dilakukan dengan penekanan tombol 1 untuk Out-1, bila ditekan tombol 0 pada saat tampilan ini maka akan menampilkan menu berikutnya. Berikut adalah tampilan menu yang dimaksud saat menekan tombol 0.

(52)

-u

O t 2

Gambar 3.13. Tampilan Pilihan Out-2 Dan Pilihan Keluar Menu

Penekanan tombol 2 adalah untuk memilih jalur 2 (Out-2). Untuk berpindah ke unit penampilan waktu yang diakses dari RTC dilakukan dengan penekanan tombol 5 dan kemudian akan kembali ke awal seperti tampilan pada Gambar 3.11

Berikut ini adalah tampilan pemrograman waktu untuk Out-1 saat tombol 1 ditekan ketika pada waktu penampilan menu utama.

u t - 1

O

Gambar 3.14. Tampilan Pemrograman Out-1 Untuk Waktu Jam ON

Pengesetan waktunya dilakukan dengan penekanan keypad pada tanda pagar (#) untuk mengeset waktu menit dan tanda bintang (*) untuk mengeset waktu jam. Pengesetan detik pada sistem ini tidak dilakukan. Untuk masuk ke menu pemrograman waktu kalender, dapat dilakukan dengan penekanan tombol 0. Bila ditekan tombol 0 maka tampilan pemrograman Out-1 akan seperti pada gambar berikut.

(53)

Untuk mengeset hari maka dilakukan dengan penekanan tombol 1 sampai tombol 7. Tombol 1 adalah untuk waktu pengesetan hari Minggu dan seterusnya sampai tombol 7 untuk waktu pengesetan pada hari Sabtu. Untuk melakukan pengesetan data waktu tanggal dan bulan pada pemrograman Out-1 ini dilakukan dengan penekanan tombol pada keypad. Tanda pagar (#) adalah untuk mengeset waktu tanggal dan tanda bintang (*) untuk mengeset data waktu bulan. Kalau ditekan lagi tombol 0 maka akan menampilkan menu pemrograman Out-1 untuk waktu OFF. Berikut adalah tampilan dari pemrograman waktu OFF untuk Out-1.

u - 1

O t

Gambar 3.16. Tampilan Pemrograman Out-1 Untuk Waktu Jam OFF

Pemrograman data waktu Jam OFF pada Out-1 ini sama saja caranya seperti pada pemrograman waktu ON pada Out-1 seperti yang sudah dijelaskan sebelumnya. Untuk beralih ke tampilan pemrograman data waktu tanggal dan bulan pada kondisi OFF Out-1 dilakukan dengan penekanan tombol 0. Setelah di tekan tombol 0, tampilan akan berubah seperti pada gambar berikut ini.

(54)

Untuk mengeset waktu ON/OFF untuk Out-2 caranya adalah sama dengan cara untuk mengeset waktu ON/OFF untuk Out-1. Hasil pemrograman tiap jalur untuk waktu ON dan OFF disimpan di memori (EEPROM).

Pada keadaan awal kondisi tiap jalur berada pada kondisi OFF karena belum diprorogram pewaktuannya. Setelah dilakukan pemrograman waktu ON dan OFF maka dibandingkan data-data pemrograman tiap jalur dengan pembacaan mikrokontroler melalui pewaktuan RTC. Apabila sama waktu ON di pembacaan waktu RTC dan di pemrograman waktu pada jalur / Out-1 yang sudah dilakukan sebelumnya maka jalur 1 akan meng-ON kan relay, dan sebaliknya. Untuk Out-2, pembandingan waktu antara pembacaan RTC dan pemrograman waktu sama saja prinsipnya dengan pembandingan pada Out-1.

(55)

BAB IV

HASIL DAN PEMBAHASAN

Pada bab ini akan ditunjukkan beberapa pengujian dan pengamatan yang telah diambil, beserta pembahasannya untuk mengetahui kesesuaian alat yang dibuat dengan alat yang telah dirancang. Pengujian meliputi hasil kerja alat secara keseluruhan.

4.1 Hasil Akhir Perancangan

Dari perakitan perangkat keras dan pemrograman perangkat lunak telah dihasilkan suatu peralatan untuk mengatur waktu ON/OFF dari alat listrik yang akan digunakan, seperti ditunjukkan pada Gambar 4.1.

Gambar 4.1. Bentuk fisik Alat Pengaturan Waktu Operasi Peralatan Listrik

Sesuai dengan perancangan, sistem dari alat ini terbagi menjadi :

Rangkaian yang terdiri atas mikrokontroler AT89S8252 berfungsi sebagai control unit, display unit berupa LCD, Real Time Clock berupa RTC

(56)

DS12887, catu daya dan Keypad serta rangkaian driver yang berupa transistor. Bentuk fisik rangkaian dapat dilihat pada Gambar 4.2 dan 4.3

1 2 c b a 3

Gambar 4.2. Bentuk Fisik rangkaian per bagian. (1) Display unit yang berupa LCD. (2) Keypad

(3) Control unit(a), catu daya(c) dan Real Time clock(b)

Gambar 4.3. Bentuk Fisik rangkaian driver berupa transistor.

4.2 Pengamatan Sistem

4.2.1 Cara Menjalankan Alat Pengaturan waktu operasi peralatan listrik Sebelum melakukan pengujian alat, terlebih dahulu penulis menjelaskan tata cara pengoperasian alat yang dirancang. Adapun prosedurnya adalah sebagai berikut:

(57)

1. Hubungkan sistem dengan tegangan 220 V kemudian tekan ‘Power’ untuk meng-ON kan sistem. Sistem akan menampilkan data-data pewaktuan detik, menit, jam, hari, tanggal, bulan dan tahun. Data pewaktuan ini adalah data pewaktuan yang dibaca mikrokontroler dari RTC.

2. Untuk melakukan pengesetan pewaktuan dilakukan dengan penekanan tombol pada kepad. Berikut ini dijelaskan tombol-tombol yang digunakan. - Tanda pagar (#) adalah untuk melakukan pengesetan ulang untuk data

menit.

- Tanda bintang (*) adalah untuk melakukan pengesetan ulang untuk data jam.

- Tombol 1 adalah untuk melakukan pengesetan ulang untuk data hari. - Tombol 2 adalah untuk melakukan pengesetan ulang untuk data tanggal - Tombol 3 adalah untuk melakukan pengesetan ulang untuk data bulan - Tombol 4 adalah untuk melakukan pengesetan ulang untuk data tahun. Tombol 0 (Oper) adalah untuk masuk ke menu utama pemrograman waktu ON/OFF nya beban (Peralatan elektronis).

4.2.2 Pengujian Kerja Sistem

Untuk mengetahui tingkat keberhasilan kerja sesuai dengan hasil perancangan, maka dapat dilakukan pengujian dalam penekanan keypad untuk melihat hasil tampilan pada LCD. Hasil pengujian dapat dilihat pada lampiran 1 data percobaan tabel 1 – tabel 3.

(58)

Berdasarkan hasil pengamatan, keypad dapat bekerja dengan baik sesuai dengan yang diinginkan. Tidak terjadi kesalahan dalam pembacaan tombol yang ditekan saat melakukan scanning keypad maupun data hasil pembacaan yang ditampilkan pada LCD.

4.2.3 Pengamatan Kerja Alat Keseluruhan

Setelah scanning keypad bekerja dengan baik, maka dapat dilakukan pengujian secara keseluruhan dari sistem.

Sesaat setelah power di ON-kan, akan muncul tampilan seperti pada Gambar 4.4

Pengesetan menit dilakukan dengan menekan tanda pagar (#) , pengesetan jam dengan tanda bintang (*),pengesetan hari dengan tombol 1, pengesetan tanggal dengan tombol 2, pengesetan bulan dengan tombol 3, dan pengesetan tahun dengan tombol 4 serta untuk melakukan pemrograman pewaktuan tiap keluaran (output) dilakukan dengan menekan tombol 0 (Oper). Saat tombol 0 (Oper) ditekan, akan muncul seperti pada Gambar 4.5a

Gambar 4.4. Tampilan LCD untuk pewaktuan.

a

a

b

(59)

Penekanan tombol 1 untuk memilih Out-1. Bila ditekan tombol 0 maka akan muncul seperti tampilan Gambar 4.4b. Penekanan tombol 2 untuk memilih Out-2. Dan penekanan tombol 5 akan kembali ke tampilan pewaktuan (Gambar 4.4)

Pengujian selanjutnya adalah dengan memprogram pewaktuan tiap keluaran (output) dan pewaktuan yang diisikan ditampilan pada LCD seperti Gambar 4.6. Out-1 diprogram untuk waktu ON pada jam 08:00 hari Senin Tanggal 01 September dan waktu OFF pada jam 10:00 hari Senin Tanggal 1 September. Sedangkan pada gambar 4.7, Out-2 diprogram untuk waktu ON pada jam 07:00 hari Selasa Tanggal 02 September dan waktu OFF pada jam 08:15 hari Selasa Tanggal 02 September. Pembandingan waktu untuk hari, tanggal dan bulan pada pengujian ini diberlakukan (Y). Dengan demikian, sesuai perjalanan pewaktuan RTC maka lampu pilot yang terhubung ke relay pada tiap output akan ON dan OFF tepat dengan waktu yang sudah diprogram.

(60)

Gambar 4.7. Tampilan LCD untuk waktu ON/OFF Out-2.

Namun hal yang memegang peranan penting disini adalah perjalanan pewaktuan RTC yang dikontrol dan dibaca oleh mikrokontroler. Bila terjadi kesalahan pada pemrograman dan atau pembacaan pewaktuan RTC, maka sistem ini tidak dapat bekerja dengan baik dan dapat dikatakan belum mencapai sasaran. Pada pembuatan alat ini, RTC tersebut mengalami masalah sehingga tidak dapat digunakan.

Gambar 4.8 adalah contoh hasil tampilan pewaktuan RTC pada layar LCD dan di sini dapat dilihat adanya kesalahan. Hari, tanggal, bulan, tahun serta jam, menit dan detik belum berjalan seperti yang diharapkan. Data-data yang tampak pada layar LCD berubah dengan cepat sehingga sedikit menyulitkan dalam melakukan pengamatan. Ini bisa terjadi karena adanya kesalahan pada pembacaan dan atau pada pemrograman pewaktuan. Hambatan-hambatan lain yang terjadi saat melakukan pengamatan yaitu pada saat alat ini di-ON-kan, mikrokontroler seakan-akan tidak dapat membaca data pada RTC sehingga hasil tampilan pada LCD adalah “ blank “.

(61)

Data hasil pembacaan RTC juga selalu berubah-ubah antara pengamatan yang satu dengan yang lainnya. Kesalahan-kesalahan yang terjadi dapat dilihat pada tabel berikut:

Tabel 4.1. Hasil tampilan Detik pada LCD Tampilan Detik pada LCD No Yang diharapkan (ASCII) Yang terjadi (ASCII) 1 00 00110000 00110000 00 00110000 00110000 2 01 00110000 00110001 01 00110000 00110001 3 02 00110000 00110010 02 00110000 00110010 4 03 00110000 00110011 03 00110000 00110011 5 04 00110000 00110100 04 00110000 00110100 6 05 00110000 00110101 0< 00110000 00111100 7 06 00110000 00110110 0= 00110000 00111101 8 07 00110000 00110111 0> 00110000 00111110 9 08 00110000 00111000 0? 00110000 00111111 10 09 00110000 00111001 0: 00110000 00111010

Pada tabel ini, data yang diambil adalah data kesalahan yang paling sering muncul dan hanya diambil sampling untuk data detik. Pada tabel tersebut dapat dilihat bahwa tampilan angka 0-4 tidak terjadi perubahan pada kode ASCII yang akan ditampilkan pada LCD, sedangkan untuk tampilan angka 5-9 terjadi perubahan pada kode ASCIInya. Misalnya, data yang seharusnya muncul adalah “05” tetapi pada LCD akan muncul “0<”. Jika dilihat berdasarkan data ASCIInya, perubahan ini terjadi karena increament atau penjumlahan 1 bit sebanyak 7 kali. Untuk lebih jelasnya dapat dilihat pada kode ASCII masing-masing data yaitu ‘05’ = 00110000 00110101 sedangkan ‘0<’= 00110000 00111100. Begitu pula yang terjadi pada data ‘06’ dan seterusnya. Berdasarkan pengamatan, data-data tersebut akan mengalami perulangan untuk setiap angka yang ditampilkan (pada tabel 4.3 hal.59).

(62)

Gambar 4.8. Contoh Tampilan Kesalahan-kesalahan Pembacaan RTC.

Untuk mengamati apakah error yang terjadi adalah karena kesalahan dalam pembacaan RTC dan atau pada pemrograman, berikut ini adalah proses pemrograman tiap subrutin pada RTC. Proses pemrograman ini mengikuti teori yang ada dan sejalan dengan prosedur yang semestinya.

4.2.4. Pengamatan Sistem RTC DS12887 4.2.4.1. Subrutin Sistem Penunjuk Waktu

Cara pembacaan detik, menit,jam, hari, tanggal, bulan dan tahun adalah dengan mengatur register-register yang ada pada RTC. Sebelum melakukan pembacaan data-data tersebut di atas, terlebih dahulu RTC diinisialisasi. Berikut adalah penggalan program yang dipergunakan untuk mengaktifkan atau menginisialisasi RTC DS12887.

1. INIT_RTC: MOV A,#00100000B 2. MOV DPTR,#REG_A 3. MOVX @DPTR,A 4. MOV A,#00010010B 5. MOV DPTR,#REG_B 6. MOVX @DPTR,A 7. RET

(63)

Pada proses inisialisasi RTC ini, register A berada pada alamat 000AH dan akan diisikan dengan data 00100000B. Hal ini berarti bahwa RS0 sampai RS3 = ‘0000’, DV0 sampai DV2 = ‘010’ dan UIP = ‘0’. Kombinasi DV0,DV1,DV2 = 010 pada register A adalah untuk mengaktifkan osilator. Untuk register B berada pada alamat 000BH dan akan diisikan dengan data 00010010B. Hal ini berarti DSE = ‘0’, 24/12 = ‘1’, DM = ‘0’, SQWE = ‘0’, UIE = ‘1’, AIE = ‘0’, PIE = 0 dan SET = ‘0’. Data yang diisikan ke register ini adalah untuk mempersiapkan RTC pada mode data BCD dan sistem pewaktuan berdasarkan 24 jam.

1. READ_RTC: MOV DPTR,#DETIK

2. MOX A,@DPTR 3. MOV DATA_DETIK,A 4. MOV DPTR,#MENIT 5. MOVX A,@DPTR 6. MOV DATA_MENIT,A 7. MOV DPTR,#HOURS 8. MOVX A,@DPTR 9. MOV DATA_HOURS,A 10. MOV DPTR,#DAY 11. MOVX A,@DPTR 12. MOV DATA_DAY,A 13. MOV DPTR,#DATE 14. MOVX A,@DPTR 15. MOV DATA_DATE,A 16. MOV DPTR,#BULAN 17. MOVX A,@DPTR 18. MOV DATA_BULAN,A 19. MOV DPTR,#TAHUN 20. MOVX A,@DPTR 21. MOV DATA_TAHUN,A 22. RET

Potongan program diatas (READ_ RTC) adalah untuk membaca register-register pewaktuan di RTC. Seperti untuk membaca data detik, terlebih dahulu DPTR diisikan dengan alamat detik (0000H) kemudian memindahkan data yang berada di alamat detik ke penampung sementara (Accumulator). Setelah data

(64)

dipindahkan kemudian dipindahkan lagi ke DATA_DETIK untuk diproses atau ditampilkan ke unit penampil nantinya. Cara pembacaan data detik ini sama saja dengan pembacaan data untuk menit, jam, hari, tanggal, bulan dan tahun.

4.2.4.2. Subrutin Pengesetan (UPDATE) Pewaktuan

Untuk melakukan pengesetan (UPDATE) RTC sesuai dengan data-data waktu yang diinginkan maka register A pada RTC harus diubah terlebih dahulu. Pengubahan ini dilakukan dengan pengesetan bit UIP pada register A seperti pada potongan program UPDATE pada baris pertama kemudian mengeset data-data pewaktuan sesuai dengan yang diinginkan.

1. UPDATE: MOV A,#10000000B 2. MOV DPTR,#REG_A

3. MOVX @DPTR,A

4. RET

Setelah dilakukan pengesetan, maka data-data pengesetan tersebut disimpan kembali ke alamat register-register pewaktu RTC. Seperti pada potongan program UPDATE_RTC, pada baris pertama data jam (DATA_HOURS) dipindahkan terlebih dahulu ke akumulator kemudian data akumulator disimpan ke alamat register jam (0004H). Proses untuk register-register yang lain dilakukan dengan cara yang sama.

1. UPDATE_RTC: MOV A,DATA_HOURS

2. MOV DPTR,#HOURS

3. MOVX @DPTR,A

4. MOV A,DATA_MENIT

5. MOV DPTR,#MENIT

(65)

7. MOV A,DATA_DAY 8. MOV DPTR,#DAY 9. MOVX @DPTR,A 10. MOV A,DATA_DATE 11. MOV DPTR,#DATE 12. MOVX @DPTR,A 13. MOV A,DATA_BULAN 14. MOV DPTR,#BULAN 15. MOVX @DPTR,A 16. MOV A,DATA_TAHUN 17. MOV DPTR,#TAHUN 18. MOVX @DPTR,A 19. RET

4.2.4.3. Subrutin Pengesetan Data Menit

Pada bagian ini, tidak dilakukan pengesetan ulang terhadap data detik. Penulis hanya melakukan pengesetan data menit, jam, hari, tanggal, bulan dan tahun. Potongan program pengesetan data menit dapat dilihat di bawah ini dan akan terlaksana apabila tombol tanda pagar (#) di tekan untuk pengesetan data menit. Untuk pengesetan data menit, terlebih dahulu dilakukan UPDATE seperti yang sudah dijelaskan sebelumnya, kemudian DATA_MENIT dinaikan satu bit sampai data yang diinginkan tercapai. DATA_MENIT menit akan berulang terus dari 00 sampai 59 apabila tanda pagar ditekan terus. Setelah proses pengesetan, akan dilakukan tunda waktu kemudian data-data hasil pengesetan disimpan kembali ke register-register pewaktuan (UPDATE_RTC) kemudian RTC diinisialisasi kembali.

1. SET_MENIT: LCALL UPDATE

2. INC DATA_MENIT

3. MOV R6,DATA_MENIT

4. SET_MENIT_1: CJNE R6,#0AH,SET_MENIT_2

5. MOV DATA_MENIT,#10H

6. LJMP OUT_SET_MENIT

7. SET_MENIT_2: CJNE R6,#1AH,SET_MENIT_3

8. MOV DATA_MENIT,#20H

9. LJMP OUT_SET_MENIT

(66)

11. MOV DATA_MENIT,#30H

12. LJMP OUT_SET_MENIT

13. SET_MENIT_4: CJNE R6,#3AH,SET_MENIT_5

14. MOV DATA_MENIT,#40H

15. LJMP OUT_SET_MENIT

16. SET_MENIT_5: CJNE R6,#4AH,SET_MENIT_6

17. MOV DATA_MENIT,#50H

18. LJMP OUT_SET_MENIT

19. SET_MENIT_6: CJNE R6,#5AH,OUT_SET_MENIT

20. MOV DATA_MENIT,#00H

21. OUT_SET_MENIT: LCALL DELAY_BENTAR

22. LCALL UPDATE_RTC

23. LCALL INIT_RTC

24. RET

4.2.4.4. Subrutin Pengesetan Data Jam

Potongan program di bawah ini adalah untuk pengesetan data jam. Pengesetan data jam dilakukan dengan penekanan tomol tanda bintang (*) pada keypad. Cara pengesetan data jam sama saja dengan cara pengesetan pada data menit. Yang membedakannya adalah pada pengesetan jam ini, data jam berada antara 00 sampai 23. Apabila sudah mencapai 23 maka data jam akan kembali ke 00. Pengesetan data jam ini juga menggunakan tunda waktu dan hasil pengesetan tetap disimpan pada register-register pewaktu kemudian RTC diinisialisasi .

1. SET_JAM: LCALL UPDATE 2. INC DATA_HOURS 3. MOV R6,DATA_HOURS 4. CJNE R6,#17H,SET_JAM_1 5. MOV DATA_HOURS,#00H 6. LJMP OUT_SET_JAM

7. SET_JAM_1: CJNE R6,#0AH,SET_JAM_2 8. MOV DATA_HOURS,#10H

9. SET_JAM_2: CJNE R6,#1AH,OUT_SET_JAM 10. MOV DATA_HOURS,#20H

11. OUT_SET_JAM: LCALL DELAY_BENTAR 12. LCALL UPDATE_RTC

13. LCALL INIT_RTC

(67)

4.2.4.5. Subrutin Pengesetan Data Hari

Untuk pengesetan data hari dilakukan dengan menekan tombol 1 pada keypad. Pengesetan data hari ini dimulai dari hari Minggu (Minggu =1) dan dilanjutkan dengan hari selanjutnya sampai hari Sabtu. Dengan demikian data hari berada antara 1-7 dan ketika penjumlahan satu bit pada potongan program baris ke dua mencapai 8, maka data hari akan di reset (hari = 1) atau DATA_DAY = 1.

1. SET_HARI: LCALL UPDATE 2. INC DATA_DAY 3. MOV R6,DATA_DAY 4. CJNE R6,#08H,SET_HARI_1 5. MOV DATA_DAY,#01H 6. SET_HARI_1: LCALL DELAY_BENTAR 7. LCALL UPDATE_RTC

8. LCALL INIT_RTC

9. RET

4.2.4.6. Subrutin Pengesetan Data Tanggal

Penanggalan dalam tiap bulan adalah berbeda-beda, dengan demikian pada pengesetan data tanggal ini digunakan data tanggal yang paling tinggi (Tanggal 31) sebagai batas perulangan (01 – 31). Pengesetan data tanggal dilakukan penekanan tombol 2 pada keypad dan hasil penekanan tombol ini akan menambahkan 1 bit pada data tanggal (DATA_DATE). Bila tombol 2 pada keypad ditekan secara terus-menerus maka data tanggal akan berubah sesuai dengan batasan tanggal dalam satu bulan. Tunda waktu dan penyimpanan ke alamat register tanggal serta inisialisasi RTC tetap dilakukan seperti pada program-program pengesetan data sebelumnya.

1. SET_TANGGAL: LCALL UPDATE 2. INC DATA_DATE 3. MOV R6,DATA_DATE

(68)

4. SET_TANGGAL_1: CJNE R6,#0AH,SET_TANGGAL_2 5. MOV DATA_DATE,#10H

6. LJMP OUT_SET_TGL

7. SET_TANGGAL_2: CJNE R6,#1AH,SET_TANGGAL_3 8. MOV DATA_DATE,#20H

9. LJMP OUT_SET_TGL

10. SET_TANGGAL_3: CJNE R6,#2AH,SET_TANGGAL_4 11. MOV DATA_DATE,#30H

12. LJMP OUT_SET_TGL

13. SET_TANGGAL_4: CJNE R6,#32H,OUT_SET_TGL 14. MOV DATA_DATE,#01H 15. OUT_SET_TGL: LCALL DELAY_BENTAR 16. LCALL UPDATE_RTC

17. LCALL INIT_RTC

18. RET

4.2.4.7. Subrutin Pengesetan Data Bulan

Pengesetan data bulan dilakukan dengan penekanan tombol 3 pada keypad. Data bulan akan bertambah satu bit (01 – 12) bila tombol ini ditekan satu kali dan bila tombol ini ditekan terus menerus dan data bulan mencapai 12 (Desember) maka data bulan akan kembali ke 01 atau bulan Januari. Data data bulan ini dikodekan dengan nama-nama bulan yang sebenarnya. Pengkodean dimulai dari 01 – 12 dengan Januari - Desember. Data bulan yang sudah dilakukan pengesetan disimpan kembali ke register bulan serta dilakukan penundaan waktu dan inisialisasi RTC.

1. SET_BULAN: LCALL UPDATE

2. INC DATA_BULAN

3. MOV R6,DATA_BULAN 4. SET_BULAN_1: CJNE R6,#0AH,SET_BULAN_2 5. MOV DATA_BULAN,#10H 6. LJMP OUT_SET_BULAN

7. SET_BULAN_2: CJNE R6,#13H,OUT_SET_BULAN 8. MOV DATA_BULAN,#01H

9. OUT_SET_BULAN: LCALL DELAY_BENTAR

10. LCALL UPDATE_RTC

11. LCALL INIT_RTC

(69)

4.2.4.8. Subrutin Pengesetan Data Tahun

Untuk data tahun, hanya ditampilkan data tahun dua digit terakhir dari data tahun yang sebenarnya (00 sampai 19). Pengesetan data tahun ini dilakukan dengan penekanan tombol 4 pada keypad. Data tahun ini tidak diikut sertakan dalam pemrograman data waktu ON dan OFF relay yang diprogram. Dengan demikian, disini ditampilkan data tahun secara real time seperti pada penampilan data detik.

1. SET_TAHUN: LCALL UPDATE 2. INC DATA_TAHUN 3. MOV R6,DATA_TAHUN

4. SET_TAHUN_1: CJNE R6,#0AH,SET_TAHUN_2 5. MOV DATA_TAHUN,#10H

6. LJMP OUT_SET_TAHUN

7. SET_TAHUN_2: CJNE R6,#1AH,OUT_SET_TAHUN 8. MOV DATA_TAHUN,#01H

9. OUT_SET_TAHUN: LCALL DELAY_BENTAR 10. LCALL UPDATE_RTC 11. LCALL INIT_RTC

12. RET

Karena RTC tidak dapat digunakan, maka dicoba dengan membuat suatu sistem pewaktuan dari mikrokontroler. Pada bagian ini, program yang digunakan untuk pembacaan data waktu dan program pewaktuan tiap Output adalah sama dengan pada saat menggunakan RTC. Perbedaannya adalah pada bagian ini, data waktu terlebih dahulu ditentukan dan disimpan, kemudian di-rolling sehingga menyerupai sebuah sistem pewaktuan (jam, menit, detik, hari, tanggal, bulan dan tahun).

Gambar

Gambar 2.2. Peta RAM Internal AT89S8252
Tabel 2.1  Konfigurasi Pin M1632
Gambar 2.4.    Bentuk Karakter LCD
Gambar 2.6. Konstruksi  Keypad
+7

Referensi

Dokumen terkait

Keempat metode integrasi langsung yang akan ditinjau, yaitu Central Difference Method , metode Houbolt, metode Wilson dan metode Newmark ditinjau pada struktur rangka dua dimensi

Hasil penelitian Adrianto (2004) menunjukkan bahwa metode perlakuan awal terbaik adalah metode Adrianto (2004) dan metode Martin karena dapat mempermudah pengupasan kulit

Bank Pembangunan Daerah Bali telah membentuk Satuan Kerja Audit Intern yang dilaksanakan oleh Satuan Kerja Audit Intern (SKAI) yang independen terhadap satuan kerja operasional, yang

Kelancaran proses produksi didukung salah satunya adalah aspek keandalan (Reliability) mesin atau equipment yang ada dengan kegiatan perawatan yaitu suatu tindakan

Ketua STISIPOL Raja Haji Ketua Program Studi PEMBANTU KETUA I BIDANG AKADEMIK... Ketua STISIPOL Raja Haji Ketua Program Studi PEMBANTU KETUA I

Dengan kombinasi dari ketiga perlakuan panjang lereng, pemberian lubang resapan, dan pemberian mulsa vertikal, maka terlihat bahwa kombinasi pemberian lubang resapan dan

Bagi siswa, memberikan gambaran mengenai kemalasan sosial dalam mengerjakan tugas kelompok atau kelompok kerja, sehingga siswa dapat menghindari kemalasan sosial serta

Anak dengan nefropati-IgA sering menunjukkan gejala hematuria nyata mendadak segera setelah infeksi saluran napas atas seperti glomerulonefritis