• Tidak ada hasil yang ditemukan

PENAMPIL JUMLAH DAN BIAYA PEMAKAIAN ENERGI LISTRIK PADA KWh METER MEKANIK

N/A
N/A
Protected

Academic year: 2019

Membagikan "PENAMPIL JUMLAH DAN BIAYA PEMAKAIAN ENERGI LISTRIK PADA KWh METER MEKANIK"

Copied!
182
0
0

Teks penuh

(1)

PENAMPIL JUMLAH DAN BIAYA PEMAKAIAN ENERGI

LISTRIK PADA KWh METER MEKANIK

TUGAS AKHIR

Diajukan untuk memenuhi salah satu syarat Memperoleh gelar Sarjana Teknik

Program Studi Teknik elektro

Fakultas Teknik Universitas Sanata Dharma

Disusun oleh : Daud Jusuf Massora P

NIM : 995114050

JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK

UNIVERSITAS SANATA DHARMA YOGYAKARTA

2007

(2)

DISPLAY OF AMOUNT AND ELECTRICAL ENERGY

USAGE COST ON MECHANICAL KWh METER

Final Project

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

In Electrcial Engineering

Compiled by:

Daud Jusuf Massora Pakadang NIM : 995114050

ELECTRICAL ENGINEERING STUDY PROGRAM ELECTRICAL ENGINEERING DEPARTMENT

SANATA DHARMA UNIVERSITY YOGYAKARTA

2007

(3)
(4)
(5)

HALAMAN MOTTO DAN PERSEMBAHAN

“Lakukanlah apa yang anda lakukan,

dengan apa yang anda miliki di tempat kini anda berada”

-Theodore Roosevelt-

“Hal terbaik yang dapat anda berikan kepada seseorang adalah

KESEMPATAN”

“Orang yang tidak bisa marah adalah seseorang yang BODOH, tetapi orang yang tidak marah adalah orang yang BIJAKSANA”

Dengan segala kerendahan hati dan kejujuran, secara khusus Tugas Akhir ini kupersembahkan kepada;

Allah Bapa, Allah Putera dan Allah Roh Kudus; Bunda Maria di Surga; Ayahanda A.K Pakadang, Ibunda Ch.G Massora; Kakakku Sesilia, Kresentia, Budi, Sofiani.

(6)

PERNYATAAN KEASLIAN KARYA

Saya menyatakan dengan sesungguhnya bahwa 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, 29 Januari 2007

Penulis

Daud Jusuf Massora Pakadang

(7)

PENAMPIL JUMLAH DAN BIAYA PEMAKAIAN ENERGI

LISTRIK PADA KWh METER MEKANIK

Daud Jusuf Massora Pakadang 995114050

INTISARI

Teknologi mikrokontroler sebagai mesin penghitung bisa diaplikasikan sebagai alat penampil jumlah dan biaya pemakaian energi listrik. Dengan memamfaatkan putaran piringan pada KWh meter mekanik, dimana 1250 putaran piringan sama dengan 1 KWh.

Penampil jumlah dan biaya pemakaian energi listrik menggunakan mikrokontroler AT89S51 sebagai pengontrol utama. Jumlah putaran piringan akan dideteksi oleh sebuah sensor optis, dalam hal ini fototransistor. Dengan menggunakan IC74LS14, sinyal dari sensor akan diubah menjadi pulsa dan menjadi input mikrokontroller. Sinyal akan diolah dan hasilnya akan ditampilkan ke sebuah LCD M1632.

Alat ini mampu menampilkan jumlah pemakaian energi listrik hingga 255 KWh dan menampilkan biaya pemakaian hingga Rp 999999,- Akan tetapi alat ini belum mampu melakukan penghitungan ulang setelah 1 bulan.

Kata kunci: penghitungan cacah pada KWh meter mekanik

(8)

DISPLAY OF AMOUNT AND ELECTRICAL ENERGY USAGE

COST ON KWh METER MECHANIC

Daud Jusuf Massora Pakadang 995114050

ABSTRACT

The Microcontroller technology as a calculate machine can be applicated as display of amount and electrical energy usage cost. By use profit of disk rotations of KWH meter mechanic, where 1250 disk rotations same with 1 KWh.

Display of amount and electrical energy usage cost use microcontroller AT89S51as a main controller. Amount of rotations will be detected by a optical sensor, in this case the optical sensor is phototransistor. By using IC74LS14, the signal from sensor will be changed to clock and became as input microcontroller. The signal will be processed and the result will be displayed in to LCD M1632.

This tool can display amount of usage electrical energy till 255 KWh and display usage cost till Rp 999999,- But the tool can do recalculation yet after 1 month.

Key word: “puncture calculation in KWh meter mechanic”

(9)

KATA PENGANTAR

Puji dan syukur penulis ucapkan kepada Sang Khaliq atas rahmat serta pencerahan-Nya yang telah diberikan sehingga penulis dapat menyelesaikan tugas akhir ini. Cukup banyak hal yang menghambat penulis dalam proses penyusunan tugas akhir ini, tetapi pada akhirnya penulis berhasil menyelesaikan.

Tugas akhir ini disusun untuk memenuhi salah satu syarat untuk meraih gelar sarjana pada Program Studi Teknik Elektro, Jurusan Teknik Elektro, Fakultas Teknik Universitas Sanata Dharma Yogyakarta, dengan judul PENAMPIL JUMLAH DAN BIAYA PEMAKAIAN ENERGI LISTRIK PADA KWh METER

MEKANIK (DISPLAY OF AMOUNT AND ELECTRICAL ENERGY USAGE COST

ON KWh METER MECHANIC).

Penulis menyadari bahwa penulisan skripsi ini tidak lepas dari bantuan dan dukungan dari berbagai pihak. Untuk itu penulis mengucapkan terima kasih kepada:

1. Yesus Kristus dan Bunda Maria atas terang kasihNya kepada penulis.

2. Bapak Ir.Greg.Heliarko, S.J.,S.S.,B.S.T.,M.A.,M.Sc. selaku Dekan Fakultas Teknik.

3. Bapak Martanto, S.T., M.T. selaku dosen pembimbing skripsi, yang telah banyak memberikan pengarahan, petunjuk serta saran selama pengerjaan alat dan skripsi.

4. seluruh staff pengajar yang telah banyak memberikan bimbingan kepada penulis selama menjadi mahasiswa.

5. Bapak Jito dan seluruh karyawan sekretariat Teknik Elektro Fakultas Teknik Universitas Sanata Dharma.

6. Bapak, Ibu dan saudara – saudaraku yang telah banyak mendukung dalam penyelesaian tugas ini, baik dukungan moril maupun dukungan materil yang tidak dapat penulis balas.

7. Gawir, Eko ‘Sugriwa’ dan Iphie ‘Punk’, makasih atas pinjaman printernya. Juga kepada Marsel ‘kriwil’ makasih atas pinjaman downloadernya, serta Kang Jay dan Nanang makasih atas pinjaman jas dan kemejanya.

(10)

8. Mbok Sirup, Mas Jalal dan Pak Yarkoni yang telah memberikan tempat bernaung selama saya menuntut ilmu di Jogja.

9. Rahmad yang telah menuntunku dalam pembuatan program.

10.Tutus, Roni, Maya, Ari, Santi, Anci, Rahmad, Yuyun, Guntur, Darmero, Giri, Oscar ‘Kentir’, Agung, Dini, Dian, Oscar ‘Nuggigs’, Boim, Wahyu, Didik dan teman – teman TE’99 yang lainnya. Makasih atas kerjasama dan kesan yang telah kalian berikan selama ini.

11. Teman – teman Kos Antaxena (Iphie, Win, Ari, Deni, Joko, Paul, Ade, Dodon, Semi, BG dll), tetap kompak dan jaga nama kos.

12.Teman – Teman relawan pasca gempa (Gatot, Maestro, Novi, Adi, Nana, Lulut, Aniet, Eko, Adit, Aster, Joko, Ratno, Yayuk, Bintang, Dwi, Beni, Alex, Koko dan Sari). Cah…ayo ke Muntuk lagi.

13.Dian, Oscar, Hari, Sius, Edy M, Frater – frater Anging Mamiri, Polenk, Lamro, Hernomo dan semua teman – teman seperjuangan di rumput hijau 14.Semua teman – teman di Angkringan Pak Tono. Tetap jadikan angkringan

tempat untuk makan sambil sharing.

15.Teman – teman di Tongkrongan Sicilia (Lesis, Comel, Alex M, Tono, Lepri, Adi, jerry, Dolvy dll).

16.Teman – teman seperjuangan dan para orang tua di IKAPMAJAYA dan K2KAMSY (Bapak dan Ibu Cornelis Guling, Bapak dan Ibu Frans Allo Rerung, Rajus, Lesis, Anto Manan, Devi, Merry, Maxen, Morgan, Bona, William, Ferry, Pandin, Edy M, dll).

17.Komunitas Bengkel (Gozonk, Anom, Ragil, Toto, Genji, Putu, Aji, Iphie, sarno, Deni dll).

18.Komunitas GH (Helen, Marlin, Nana, Santi, Yanti, Lini, Priti, Linda, Gondel, Niush, Revo, Moa, Abu, Aris dll). Kapan ya…kita bisa ngumpul dan touring lagi??

19.Semua Teman – teman yang jauh dimata, dekat dihati (Diego, Sapti, Ratna, Retno, Aris ‘Babe’, Niush, Aphiet, Very ‘Kentung’, Indri ‘Unyil’, Cacuk, Fendi, Danu, Ika, Catur, Moa, Enni, Selvy sekeluarga, dll). Walaupun kalian

(11)

sudah jauh dan telah menemukan banyak teman baru, tapi masih ingat sama teman lama, Thanks Friend.

20.Berbagai Pihak yang tidak dapat penulis sebutkan satu persatu disini. Pokoke Makasih deh….

Akhirnya penulis mengharapkan agar tugas akhir ini dapat bermanfaat bagi semua pihak yang berkepentingan. Penulis menyadari bahwa skripsi ini masih jauh dari sempurna, namun penulis berharap sekiranya ada sedikit manfaat dari skripsi ini yang bisa diambil bagi pihak – pihak yang memerlukannya.

Terima kasih,

Yogyakarta, 29 Januari 2007

Penulis

(12)

DAFTAR ISI

HALAMAN JUDUL ... i

HALAMAN PERSETUJUAN ... iii

HALAMAN PENGESAHAN ... iv

HALAMAN MOTTO DAN PERSEMBAHAN... v

PERNYATAAN KEASLIAN KARYA ... vi

INTISARI ... vii

ABSTRACT ... viii

KATA PENGANTAR ... ix

DAFTAR ISI... xii

DAFTAR GAMBAR ... xv

DAFTAR TABEL... xvii

BAB I PENDAHULUAN ... 1

1.1 Judul ... 1

1.2 Latar Belakang Masalah... 1

1.3 Perumusan Masalah ... 2

1.4 Batasan Masalah ... 2

1.5 Tujuan Penelitian ... 3

1.6 Manfaat Penelitian ... 3

BAB II DASAR TEORI ... 4

(13)

2.1 KWh Meter Mekanik (Analog) ... 4

2.2 Biaya Tarif Listrik Untuk Beban 1300W... 4

2.3 Mikrokontroler AT89S51 ... 5

2.3.1 Organisasi Memori AT89S51 ... 6

2.3.1.1 Memori Program ... 7

2.3.1.2 Memori Data ... 8

2.3.2 Register Fungsi Khusus ... 8

2.3.3 Port Masukan / Keluaran (I/O Port) ... 11

2.4 RTC (Real Time Clock) ... 13

2.5 LCD (Liquid Crystal Display) ... 14

2.6 Sensor Putaran... 17

2.7 Inverter Schmitt Trigger... 21

BAB III PERANCANGAN ALAT... 22

3.1 Perancangan Perangkat Keras ... 22

3.1.1 Rangkaian Sensor... 23

3.1.2 Rangkaian Osilator Mikrokontroler ... 25

3.1.3 Rangkaian Reset... 25

3.1.4 Rangkaian RTC dan Mikrokontroler ... 28

3.1.5 Rangkaian LCD dan Mikrokontroler ... 28

3.2 Perancangan Perangkat Lunak ... 30

3.2.1 Diagram Alir Program Utama... 30

3.2.2 Sub-routine Hitung Biaya Pemakaian... 32

(14)

3.2.3 Sub-routine Aritmatika... 33

3.2.4 Diagram Alir Tampil LCD... 37

3.2.4.1 Inisialisasi LCD... 38

3.2.4.2 Menampilkan Karakter Pada LCD... 38

3.2.5 Menjalankan Waktu (Real Time Clock) ... 39

BAB IV HASIL PENGAMATAN DAN PEMBAHASAN... 40

4.1 Pengamatan Pada Rangkaian Sensor ... 40

4.2 Pembahasan Pada Tampilan LCD... 43

BAB V KESIMPULAN DAN SARAN... 46

DAFTAR PUSTAKA ... 47

LAMPIRAN... 48

(15)

DAFTAR GAMBAR

Gambar 2.1 Diagram Kotak Mikrokontroler AT89S51... 7

Gambar 2.2 Peta Memori Data... 8

Gambar 2.3 Register Program Status Word... 10

Gambar 2.4 Register AUXR1 ... 11

Gambar 2.5 Pengaksesan RTC Serial ... 13

Gambar 2.6 Pengaksesan RTC Paralel ... 13

Gambar 2.7 Dimensi Layar LCD ... 14

Gambar 2.8 Fototransistor... 18

Gambar 2.9 Laser Pointer ... 18

Gambar 2.10 Rangkaian Laser Pointer ... 19

Gambar 2.11 Piranti Laser Dioda Pada Laser Pointer ... 20

Gambar 2.12 Grafik Hubungan Daya Keluaran Dengan Arus Maju Pada Laser Dioda ... 20

Gambar 2.13 Diagram Blok IC 74LS14 ... 21

Gambar 2.14 Watak Alih IC 74LS14... 21

Gambar 3.1 Diagram Blok Utama ... 22

Gambar 3.2 Rangkaian Sensor... 23

Gambar 3.3 Sinyal Masukan IC74LS14 ... 24

Gambar 3.4 Sinyal Keluaran IC74LS14 ... 24

Gambar 3.5 Rangkaian Osilator... 25

(16)

Gambar 3.6 Rangkaian Power on Reset... 26

Gambar 3.7 Antarmuka RTC dengan Mikrokontroler... 28

Gambar 3.8 Antarmuka modul LCD M1632 dengan Mikrokontroler... 29

Gambar 3.9. Diagram Alir Program Utama ... 31

Gambar 3.10 Diagram Alir Sub-routine hitung biaya pemakaian ... 33

Gambar 3.11. Sub-routine Aritmetika... 35

Gambar 3.12. Sub-routine Aritmetika Satuan, Puluhan dan Ratusan ... 35

Gambar 3.13. Diagram Alir Program Tampil LCD ... 37

Gambar 3.14. Diagram Alir Real Time Clock ... 39

Gambar 4.1. Tampilan Awal Pada LCD ... 43

Gambar 4.2. Tampilan setelah 1 KWh... 43

(17)

DAFTAR TABEL

Tabel 2.1 Peta Memori SFR... 9

Tabel 2.2. Fungsi Alternative Port 1... 12

Tabel 2.3. Fungsi Alternative Port 3... 12

Tabel 2.4. Penomoran Pin LCD ... 16

Tabel 2.5. Tabel kebenaran IC 74LS14 ... 21

Tabel 4.1. Hasil Pengamatan Pada Rangkaian Sensor... 41

Tabel 4.2. Pengaruh Intensitas Cahaya Laser Pointer Terhadap Penghitungan Jumlah kwh ... 42

Tabel 4.3. Perbandingan Tampilan Pada KWh Meter Mekanik Dengan Tampilan Pada Hasil Rancangan……… ……..44

(18)

1.1 Judul

Penampil Jumlah dan Biaya Pemakaian Energi Listrik Pada KWh Meter

Mekanik

1.2 Latar Belakang Masalah

Perkembangan teknologi yang sangat pesat saat ini telah banyak membuat

perubahan – perubahan dalam kehidupan manusia sehari – hari. Bahkan telah

banyak ditemukan berbagai macam fasilitas dan kemudahan yang diberikan oleh

kemajuan teknologi, sehingga hal ini membuat manusia merasa sangat

membutuhkan teknologi dalam kehidupannya. Hal – hal yang sebelumnya susah

dan tidak dapat dilakukan, kini dengan kemajuan teknologi hal tersebut dapat

dilakukan dengan cukup mudah.

Perkembangan teknologi saat ini hampir mencakup di segala bidang,

seperti bidang komunikasi, kesehatan, keamanan, transportasi, bahkan juga olah

raga. Salah satu perkembangan teknologi yang cukup banyak digunakan oleh

manusia dalam kehidupannya sehari – hari ialah peralatan dengan menggunakan

sistem mikrokontroler.

Dalam pembahasan kali ini akan dibahas aplikasi teknologi mikrokontroler

sebagai mesin penghitung, yaitu menghitung jumlah dan biaya pemakaian energi

listrik.

(19)

Setiap bulan kita tidak bisa langsung mengetahui berapa besar tagihan

rekening listrik tanpa bertanya / menunggu informasi ke / dari petugas PLN.

Dengan mengaplikasikan mikrokontroler sebagai mesin penghitung, setiap bulan

kita tidak perlu lagi bertanya / menunggu informasi ke / dari petugas PLN. Mesin

penghitung ini akan menampilkan jumlah pemakaian energi listrik (KWh) dan

besar biaya (Rp) yang harus dibayarkan ke PLN pada sebuah LCD.

1.3 Perumusan Masalah

Pokok permasalahan dalam penelitian ini adalah bagaimana menampilkan

jumlah pemakaian energi listrik serta besar biaya atau tagihan setiap bulannya ke

sebuah LCD. Masalahnya bagaimana menghitung jumlah putaran piringan KWh

meter mekanik (analog) kemudian mengalikan jumlah putaran tersebut dengan

biaya tarif listrik perblok dan menampilkan hasil perhitungan ke sebuah LCD.

1.4 Batasan Masalah

Input dari alat ini adalah jumlah putaran piringan pada KWh meter

mekanik. Jumlah putaran piringan akan dideteksi oleh sebuah sensor optis (fototransistor). Sinyal analog dari sensor akan diubah menjadi sinyal digital

(pulsa) menggunakan IC 74LS14 dan selanjutnya sinyal tersebut akan

dimasukkan ke mikrokontroller AT89S51 untuk diproses. Hasil dari pemrosesan

ini akan ditampilkan pada sebuah LCD.

Pengukuran dibatasi untuk kalangan rumah tangga dengan pemakaian

beban daya 1300W dan pada KWh meter dengan 1250 putaran per KWh.

(20)

1.5 Tujuan Penelitian

Tujuan penelitian ini adalah untuk membuat suatu alat yang bisa

menampilkan jumlah dan biaya pemakaian energi listrik selama 1 bulan.

1.6 Manfaat Penelitian

Mamfaat dari penelitian ini adalah:

1. Dapat mengetahui jumlah dan biaya pemakaian listrik setiap hari.

(21)

2.1 KWh Meter Mekanik (Analog)

Satuan yang digunakan untuk mengukur energi listrik adalah kilowatthour

(KWh). Untuk menghitung energi yang digunakan dalam kilowatthour maka kalikan daya dalam kilowatt (KW) dengan waktu dalam jam (h). Kilowatthour

digunakan untuk mengukur jumlah pemakaian energi listrik yang kemudian

digunakan untuk menetukan harga listrik.

Pada KWh Meter mekanik (analog), sensor yang digunakan adalah sebuah piringan yang disekitar piringan tersebut terdapat suatu lilitan/coil, yaitu coil

tegangan dan coil arus. Apabila arus yang melewati piringan semakin besar maka

fluksmagnetik yang menembus piringan akan semakin banyak dan piringan akan berputar semakin cepat. Piringan tersebut akan dihubungkan dengan register counter yang akan menjumlahkan total akumulasi energi yang telah diukur.

Setiap KWh meter mekanik memiliki jumlah putaran piringan per KWh

yang berbeda. Pada perancangan penampil jumlah dan biaya pemakaian energi

listrik ini, KWh meter mekanik yang digunakan adalah KWh meter mekanik yang

memiliki 1250 putaran per KWh.

2.2 Biaya Tarif Listrik Untuk Beban 1300W

Biaya rekening listrik untuk beban 1300W per November 2006,

perinciannya sebagai berikut:

¾ biaya beban 1300W : Rp 39.130,-

¾ biaya blok I per KWh : Rp 385,- per KWh

(22)

¾ biaya blok II per KWh : Rp 445,- per KWh

¾ biaya blok III Per KWh : Rp 495,- per KWh

Biaya blok I adalah biaya pemakaian 20KWh pertama dan biaya blok II

adalah biaya pemakaian 40KWh berikutnya (21KWh sampai 60KWh). Sedangkan

biaya blok III adalah biaya untuk pemakaian di atas 60KWh.

Jika bulan Oktober meteran listrik tercatat sebesar 25804KWh dan

pencatatan bulan November sebesar 26166KWh, maka pemakaian listrik bulan

November adalah

26166KWh – 25804KWh = 362KWh

Perhitungan biaya rekening listrik untuk bulan November adalah sebagai

berikut:

¾ biaya beban 1300W : Rp 39.130,-

¾ biaya blok I

(20KWh x Rp 385,- / KWh) : Rp 7.700,-

¾ biaya blok II

(40KWh x Rp 445,- / KWh) : Rp 17.800,-

¾ biaya blok III

{(362KWh – 60KWh) x Rp 495,- / KWh}

(302KWh x Rp 495,- / KWh) : Rp 149.490,- +

Sehingga total biaya rekening bulan November adalah : Rp 214.120,-

2.3 Mikrokontroler AT89S51

Mikrokontroler AT89S51 adalah mikrokontroler CMOS 8-bit yang

(23)

AT89S51 ini dibuat dengan teknologi Atmel memori non-volatile dan sesuai dengan standar industri pinout dan instruksi set MCS-51. AT89S51 yang dipakai memiliki fitur: 4KB In-System Programmable Flash, 128 Bytes RAM, 32 jalur I/O, dua 16-bit timers / counters, Watchdog Timer, 2 data pointer, 5 vektor dua level interupsi, serial port full duplex, osilator on-chip dan clock circuitry. Diagram blok dari mikrokontroler AT89S51 dapat dilihat pada Gambar 2.1.

2.3.1 Organisasi Memori AT89S51

Memori merupakan rangkaian elektronis yang digunakan untuk

menyimpan informasi secara temporer atau permanent. Memori biasanya

digunakan untuk menyimpan data yang diperoleh dari saluran masukan-keluaran

atau untuk menyimpan program dari sebuah sistem.

Mikrokontroler AT89S51 memiliki ruang alamat untuk memori program

dan memori data yang terpisah. Setiap memori program dan memori data eksternal

(24)

Gambar 2.1 Diagram Kotak Mikrokontroler AT89S51.

2.3.1.1 Memori Program

Memori program atau sering disebut dengan flash memory pada mikrokontroler AT89S51 memiliki kapasitas sebesar 4KB yang hanya bisa dibaca

saja. Bila pin EA dihubungkan pada ground, program memori dapat di akses

(25)

diakses langsung pada alamat 0000H-0FFFH secara internal dan pada alamat

1000H-FFFFH secara eksternal.

2.3.1.2 Memori Data

Memori data menggunakan memori jenis RAM. RAM merupakan memori

yang dapat dibaca dan ditulis. RAM dipakai sebagai penyimpan data pada saat

program bekerja. Isi RAM akan hilang bila catu daya mati (Volatile Memory). Mikrokontroler AT89S51 memiliki memori data 256 bytes dan dapat diakses secara pengalamatan langsung dan pengalamatan tidak langsung.

Pengoperasian stack adalah contoh dari pengalamatan tidak langsung, jadi 128

bytes RAM data tersedia sebagai ruang stack. Peta memori data dapat dilihat pada Gambar 2.2.

Gambar 2.2 Peta Memori Data.

2.3.2 Register Fungsi Khusus (Special Function Register)

(26)

Tabel 2.1 Peta Memori SFR B 00000000 ACC 00000000 PSW 00000000 IP XX000000 P3 11111111 IE 0X000000 P2 11111111 SCON 00000000 SBUF XXXXXXXX P1 11111111 TCON 00000000 P0 11111111 AUXR1 XXXXXXX0 TMOD 00000000 TL0 00000000 TL1 00000000 TH0 00000000 TH1 00000000 AUXR XXX00XX0 PCON 0XXX0000 WDTRST XXXXXXXX SP 00000000 DP0L 00000000 DP0H 00000000 DP1L 00000000 DP1H 00000000 0FFH 0F7H 0EFH 0E7H 0DFH 0D7H 0CFH 0C7H 0BFH 0B7H 0AFH 0A7H 87H 8FH 97H 9FH 80H 0F8H 0F0H 0E8H 0E0H 0D8H 0D0H 0C8H 0C0H 0B8H 0B0H 0A8H 88H 90H 98H 0A0H Akumulator

ACC atau akumulator yang menempati lokasi E0H digunakan sebagai

register untuk penyimpanan data sementara, dalam program.

Register B

Register B (lokasi F0) digunakan selama operasi perkalian dan pembagian

(27)

Program Status Word (PSW)

Register PSW (lokasi D0H) mengandung informasi status program seperti

terlihat pada Gambar 2.3. Fungsi bit pada PSW sebagai berikut:

CY : carry setelah operasi aritmatika.

AC : auxiliary carry setelah operasi aritmatika. F0 : flag untuk fungsi umum.

RS0, RS1 : untuk memilih bank register.

0V : overflow setelah operasi aritmatika. P : paritas

CY AC FO RS1 RS0 0V __ P

Gambar 2.3 Register Program Status Word.

Stack Pointer

Register Stack Pointer (lokasi 81H) merupakan register dengan panjang 8-bit, digunakan dalam proses simpan dan ambil dari / ke stack.

Data Pointer

Register Data Pointer mengandung DPTR untuk byte tinggi (DPH) dan

byte rendah (DPL). Pada AT89S51 memiliki 2 buah DPTR untuk memudahkan pengaksesan baik internal maupun eksternal, yaitu DP0 di lokasi 82H-83H dan

DP1 di lokasi 84H-85H. Untuk menggunakannya harus menginisialisasi bit DPS

(28)

DP0L-DP0H dan bila DPS = 1, maka memilih register DPTR DP1L-DP1H.

Register AUXR1 dapat dilihat pada Gambar 2.4.

__ __ __ __ __ __ __ DPS 7 6 5 4 3 2 1 0

Gambar 2.4. Register AUXR1

Kontrol Register

Register-register IP, IE, TMOD, dan TCON berisi bit-bit kontrol dan status

untuk sistem interupsi, pencacah / pewaktu dan serial port . 2.3.3 Port masukan / keluaran (I/O port)

Sama seperti keluarga MCS-51 lainnya mikrokontroler AT89S51 memiliki

4 port masukan / keluaran (I/O port) yang diberi nama port 0, port 1, port 2 dan

port 3. Setiap port selain sebagai jalur masuk atau keluar data, juga memiliki karakteristik masing-masing.

Port 0 merupakan port keluaran / masukan (I/O) bertipe open drain bidirectional. Port 0 juga dapat dikonfigurasikan sebagai bus alamat / data bagian rendah selama proses pengaksesan memori data dan program eksternal. Port ini berada di alamat 80H pada SFR.

Port 1 merupakan port I/O dwiarah yang dilengkapi dengan pull-up

internal. Jika ‘1’ dituliskan ke kaki-kaki port 1, masing-masing kaki akan di pull

(29)

pemrograman dan verifikasi flash. Selain sebagai piranti I/O, port 1 juga mempunyai fungsi yang lain seperti terlihat pada Tabel 2.2.

Tabel 2.2 Fungsi Alternative Port 1.

Pin Port Fungsi Alternatif

P1.5 MOSI (digunakan untuk In-System Programming) P1.6 MISO (digunakan untuk In-System Programming) P1.7 SCK (digunakan untuk In-System Programming)

Port 2 berada di alamat A0H dan memiliki karakteristik yang mirip dengan

port 1. Port 2 akan memberikan byte alamat bagian tinggi selama pengambilan instruksi dari memori program eksternal dan selama pengaksesan memori data

eksternal yang menggunakan perintah dengan alamat 16-bit (misalnya: MOVX

@DPTR). Port ini juga menerima alamat bagian tinggi selama pemrograman dan verifikasi flash.

Port 3 terletak di alamat B0H. Selain berfungsi untuk menerima sinyal-sinyal kontrol untuk pemrograman dan verifikasi flash, dapat juga digunakan untuk fungsi-fungsi yang lain seperti terlihat pada Tabel 2.3.

Tabel 2.3 Fungsi Alternative Port 3.

Pin Port Fungsi Alternatif

P3.0 RXD (masukan port serial) P3.1 TXD (keluaran port serial) P3.2 INT0 (interupsi 0 eksternal) P3.3 INT1 (interupsi 1 eksternal) P3.4 T0 (input eksternal timer 0) P3.5 T1 (input eksternal timer 1)

(30)

2.4 RTC ( Real Time Clock )

Merupakan cip yang didesain khusus sebagai pembangkit waktu. Cip ini digunakan pada rangkaian – rangkaian yang membutuhkan data berupa waktu

yang real time, seperti jam dan mainboard komputer. Untuk mendukung kehandalan data waktu yang real time, RTC dilengkapi dengan input tegangan

backup yang dapat berasal dari battery backup. Data waktu yang dihasilkan RTC meliputi : detik, menit, jam, hari, tanggal, bulan dan tahun. Masing – masing data

memiliki alamat yang dapat diakses oleh mikroprosesor ataupun mikrokontroler

secara serial (gambar 2.5) maupun parallel (gambar 2.6) sesuai spesifikasi RTC.

SCL

SDA

Mikrokontroler Serial RTC

SCL = Serial Cloc k SDA = Serial Data

Gambar 2.5 Pengaksesan RTC Serial

ALE

Mikrokontroler Parallel RTC R / W

AD(0-7)

ALE = Address Latc h Enable R/W = Read/Write Input

AD(0-7) = 8-bit Address/Data Bus

(31)

2.5 LCD ( Liquid Crystal Display )

LCD (Liquid Crystal Dysplay) merupakan suatu tampilan (display) yang terdiri dari bahan cairan kristal yang dioperasikan dengan menggunakan sistem

dot matrik.

LCD HD44780U dapat menampilkan angka – angka, huruf jepang, abjad,

dan juga simbol – simbol lainnya. Interface LCD HD44780U dengan mikrokontroler ATS89S51 dapat dilakukan dengan system 4 bit maupun 8 bit.

Dimensi LCD HD44780U yang digunakan memiliki ukuran 2 x 16. Hal ini

berarti LCD tersebut memiliki layar tampilan yang terdiri atas 2 baris dan 16

kolom seperti yang ditunjukkan pada gambar 2.7.

Tiap segment

Dimensi Layar LCD 2 x 16 terdiri dari 8 x 5 dot

Gambar 2.7. Dimensi Layar LCD

Dengan demikian total jumlah karakter yang ditampilkan sekaligus dalam

satu layar adalah sebanyak 32 karakter. Dimana setiap karakter terbentuk dari

(32)

LCD HD44780U memiliki beberapa bagian sebagai berikut:

Register

HD44780U memiliki dua buah register 8 bit, yaitu IR (Intruction

Register) dan DR (Data Register). IR merupakan register yang hanya dapat ditulis dan berguna untuk menyimpan kode – kode instruksi seperti Display Clear, Cursor Shift, dan juga untuk alamat dari DDRAM (Display Data RAM) ataupun CGRAM (Character Generator RAM). Sedangkan DR merupakan register yang bisa ditulis maupun dibaca dan juga berguna penyimpanan sementara data yang

akan ditulis atau dibaca dari / ke dalam DDRAM ataupun CGRAM.

BF (Busy Flag)

Sewaktu BF (Busy Flag) bernilai “1” maka driver HD44780U akan menjalankan operasi internal sehingga instruksi selanjutnya tidak dapat dijalankan. Maka untuk menjalankan instruksi selanjutnya perlu diperiksa apakah

busy flag tersebut telah bernilai “0”, atau dapat dilakukan dengan memberikan waktu lebih lama dari waktu yang dibutuhkan oleh eksekusi instruksi itu sendiri

diantara instruksi pertama dengan instruksi selanjutnya.

AC (Address Counter)

Fungsi dari AC adalah untuk mengalamati DDRAM dan juga CGRAM.

DDRAM (Display Data RAM)

DDRAM digunakan untuk menyimpan tampilan data yang

direpresentasikan dalam bentuk 8 bit kode karakter. DDRAM memiliki kapasitas

(33)

CGROM (Character Generator ROM)

CGROM merupakan ROM (Random Only Memory) berukuran 80 x 8 bit yang mampu membangkitkan bentuk dot matriks berukuran 5 x 8 maupun 5 x 10

dari 8 bit kode karakter.

CGRAM (Character Generator RAM)

CGRAM merupakan RAM (Random Access Memory) berukuran 64 x 8 bit yang memungkinkan untuk memprogram karakter yang diinginkan.

Pin LCD

LCD ini memiliki 14 kaki pin dengan konfigurasi pin seperti yang

ditunjukkan pada table 2.4.

Tabel 2.4. Penomoran Pin LCD

Nomor Pin Simbol

1 Vcc ( +5V )

2 Vee ( 0V )

3 GND ( 0V )

4 RS

5 R / W

6 E 7 DB0 8 DB1 9 DB2 10 DB3 11 DB4 12 DB5 13 DB6 14 DB7

Untuk LCD M1632 jenis Hyundai memiliki 16 pin, dimana pin nomor 15

(34)

Deskripsi LCD

DB0 sampai dengan DB7 merupakan jalur data yang dipakai untuk

menyalurkan kode ASCII maupun perintah pengatur kerja LCD tersebut.

RS merupakan Register Select yang dipakai untuk membedakan jenis data yang dikirim ke LCD. Jika RS = 0, maka data yang dikirim adalah perintah untuk

mengatur kerja LCD tersebut. Sebaliknya jika RS = 1, maka data yang dikirim

adalah kode ASCII yang ingin ditampilkan.

R / W merupakan Read / Write. Jika R / W = 0, menandakan akan diadakan pengiriman data ke LCD. Dan jika R / W = 1, menandakan akan

diadakan pengambilan data dari LCD.

E (Enable) merupakan sinyal sinkronisasi. Saat E berubah dari “1” menjadi “0”, maka data di DB0 hingga DB7 akan diterima atau diambil dari atau

oleh LCD.

Untuk menyalakan backlight pada layar LCD maka Anoda dan Katoda

akan dihubungkan pada +5V dan ground. Letak Anoda dan Katoda terpisah dari

pin, namun kadang pada LCD lain sudah ada yang termasuk pada pin.

2.6 Sensor Putaran

Sensor putaran terdiri dari dioda laser dan fototransistor. Fototransistor

Fototransistor adalah sebuah piranti semikonduktor yang peka terhadap

cahaya yang diterima dan mengubah efek cahaya tersebut menjadi sinyal listrik.

Fototransistor termasuk dalam transduser optis. Bahan untuk membuat

(35)

dilengkapi dengan lensa kecil (transparan) yang memungkinkan cahaya untuk masuk melalui pembungkus sehingga dapat mengenai persambungan antara basis

dan emitor. Di sini cahaya yang datang menghasilkan electron bebas.

Fototransistor dapat menghasilkan sinyal listrik yang besarnya tergantung pada

jumlah cahaya yang mengenainya. Fototransistor memiliki keluaran berupa arus,

dan arus yang dimamfaatkan pada fototransistor adalah arus basis.

Collector

Emitter Gambar 2.8. Fototransistor Laser Pointer

Laser pointer merupakan peralatan yang sering digunakan sebagai penunjuk objek dalam presentasi. Salah satu jenis laser pointer yang mudah

dijumpai adalah keychain laser pointer seperti ditunjukkan pada gambar 2.9.

(36)

Komponen inti dari sebuah laser pointer adalah Laser Dioda. Pada laser pointer, piranti laser diodanya memiliki dua buah semikonduktor di dalamnya LD (laser dioda) dan PD (photodiode). Tegangan yang dibutuhkan untuk mengoperasikan laser pointer ini adalah 4,5 volt. Rangkaian dasar laser pointer

ditunjukkan pada gambar 2.10.

Gambar 2.10. Rangkaian Laser Pointer

Laser dioda yang merupakan common katoda (LDC = Laser Dioda Cathode) akan dibias maju. Laser dioda driver (transistor) akan mengatur besarnya arus yang mengalir pada laser dioda yang didasari pada arus yang dihasilkan photodiode. Photodiode yang merupakan common anoda (PDA =

Photodiode Anode) akan dibias balik. Besarnya arus yang dihasilkan pada

(37)

Gambar 2.11. Piranti Laser Dioda Pada Laser Pointer

Pada gambar ditunjukkan bahwa laser diode yang ada pada laser pointer

memiliki 3 pin, yaitu LDC (Laser Diode Chatode), PDA (Photo Diode Anoda) dam COM+ (Common Positive Terminal). Di dalam piranti laser dioda akan ditemukan laser dioda itu sendiri dan sebuah photodiode. Photodiode ini digunakan untuk mengatur arus laser dioda dengan sebuah eksternal loop feedback. Laser dioda ini memiliki typical panjang gelombang 635nm. Daya maksimum pancaran cahaya pada dioda laser adalah 3mW. Tegangan minimum

yang dibutuhkan untuk mengoperasikan laser dioda adalah 2,2 volt dan typical

arus maju pada laser dioda adalah 20mA. Grafik hubungan antara daya keluaran

pancaran laser dengan arus maju pada laser dioda adalah sebagai berikut:

(38)

2.7 Inverter Schmitt Triggers 74LS14

Schmitt trigger adalah rangkaian yang digunakan untuk membersihkan

desah, atau membersihkan isyarat yang lambat naik atau lambat turun menjadi

pulsa digital yang cepat naik dan cepat turun.

Salah satu IC Schmitt trigger yang banyak dijumpai di pasar adalah 74LS14. IC 74LS14 merupakan inverter Schmitt trigger yang memiliki 6 buah pin masukan dan 6 buah pin keluaran. Diagram blok IC 74LS14 ditunjukkan pada

gambar 2.13.

Gambar 2.13. Diagram Blok IC 74LS14

Tabel kebenaran inverter Schmitt trigger 74LS14 adalah sebagai berikut: Tabel 2.5. Tabel kebenaran IC 74LS14

INPUT OUTPUT 0 1 1 0 Keterangan: 0 = logika rendah

1 = logika tinggi

Watak alih inverter 74LS14 ditunjukkan pada gambar 2.14.

(39)

Dalam penulisan tugas akhir ini, alat penampil jumlah dan biaya

pemakaian listrik pada KWh meter mekanik (analog) meliputi 2 perancangan yaitu perancangan perangkat keras dan perancangan perangkat lunak. Pada bab ini

masing – masing perangkat akan dirancang agar terbentuk sebuah sistem yang

ideal.

3.1 Perancangan Perangkat Keras

Perancangan perangkat keras memiliki 3 bagian utama, yaitu masukan,

pengendali utama dan keluaran seperti yang ditujukkan pada gambar 3.1.

Gambar 3.1. Diagram Blok Utama

(40)

Pada bagian masukan terdapat sensor yang akan mendeteksi putaran piringan pada KWh meter makanik (analog). Sebelum masuk ke bagian

pengendali utama, sinyal analog dari sensor akan diubah menjadi sinyal digital oleh IC 74LS14. Bagian masukan yang lain adalah Real Time Clock (RTC). Di sini RTC akan berfungsi sebagai pembangkit waktu. Bagian keluaran terdapat

LCD dengan driver HD44780U yang berfungsi sebagai penampil jumlah dan besar biaya pemakaian energi listrik selama1 bulan.

3.1.1 Rangkaian Sensor

Sensor akan mendeteksi jumlah putaran piringan pada KWh meter. Sensor ini akan menghasilkan pulsa dari piringan KWh meter yang berputar, selanjutnya

pulsa ini akan digunakan sebagai masukan pada mikrokontroler. Rangkaian

sensor terdiri dari laser dioda, Phototransistor dan IC 74LS14.

Gambar 3.2. Rangkaian sensor

Cahaya yang dipancarkan oleh laser pointer mempengaruhi besarnya arus pada phototransistor yang akan menghasilkan suatu perubahan tegangan pada terminal kolektor – emiter. Besarnya arus yang diperlukan fototransistor pada

(41)

1 1

I VCE Vcc

R = −

mA V V

3 , 0

2 , 0 5 −

=

Ω =16000 1

R

Nilai R1 tersebut adalah nilai batas maksimum. Jika nilai tersebut

diperkecil misalkan menjadi 10000Ω, maka akan menaikkan arus I1 menjadi:

Ω − =

10000 2 , 0 5

1 V V

I

mA I1 = 0,48

IC 74LS14 dipakai sebagai pembentuk gelombang kotak dengan keluaran

0V dan 5V.

Gambar 3.3. Sinyal masukan IC 74LS14

(42)

3.1.2 Rangkaian Osilator Mikrokontroler

Mikrokontroler AT89S51 mempunyai rangkaian osilator internal (on-chip oscilator) yang dapat digunakan sebagai sumber clock bagi CPU (Central Processing Unit). Rangkaian ini membutuhkan sebuah kristal pembangkit

frekuensi dan 2 buah kapasitor eksternal. Frekuensi osilator

(

1

t

CLCL

)

untuk

mikrokontroler AT89S51 maksimumnya adalah 33MHz. Pada perancangan

kapasitor yang digunakan (C1 dan C2) berkapasitansi 30pF sesuai dengan data

sheet mikrokontroler AT89S51 yaitu C1 dan C2 sebesar 30pF untuk penggunaan

kristal. Pemilihan kristal 12 MHz dengan alasan untuk mempermudah perhitungan

karena satu siklus mesin mikrokontroler AT89S51 dikerjakan dalam 12 periode

osilator, sehingga diperoleh periode sebesar 1μd.

T=

f

osc

12

= 6

10 12

12

× =1μd

Gambar 3.5. Rangkaian osilator

3.1.3 Rangkaian Reset

(43)

mesin pada pin 9 (RST). Dalam perancangan ini karena menggunakan osilator

kristal 12 MHz dan 1 siklus mesin dikerjakan dalam 12 periode osilator, maka 1

siklus mesin dikerjakan selama:

T=

f

osc

1

= 6

10 12

1

×

Sehingga 1 siklusnya adalah:

1siklus = 12×T = 12× 6

10 12

1

× = 1μd

Dengan demikian, untuk keperluan reset dibutuhkan logika 1 pada pin RST selama 2 x 1μd= 2μd.

Rangkaian power on reset akan ditunjukkan pada gambar 3.6.

Gambar 3.6. Rangkaian Power on reset

Pada perancangan ini, digunakan nilai kapasitor sebesar C = 1 µF dan nilai

(44)

kapasitor masih kosong (VC = 0), maka pin RST akan terhubung langsung dengan Vcc (logika 1).

Sejalan dengan pertambahan waktu, kapasitor akan diisi muatannya yang

mengakibatkan VC bertambah besar dan VR akan mengecil. Perlu diperhatikan di

sini untuk power-on reset adalah nilai R dan C, agar VR selama minimal 2 µd (2 siklus mesin) masih dianggap berlogika 1. Dari lembar data sheet AT89S51,

didapat tegangan masukan logika 1 pin RST memiliki batas bawah VIH1(min) =

0,7Vcc. Dengan memasukkan rumus VR, maka didapatkan perhitungan:

Vcc – Vc ≥ 0,7 Vcc

Vcc – Vcc (1−e-t/RC) ≥ 0,7 Vcc

(e-2µ/RC) ≥ 0,7

RC

6

10 2× −

− ≥ ln (0,7)

6

10

2× − ≤ RC (0,357)

RC ≥

357 , 0

10 2× −6

RC ≥ 5,602×10−6

Dengan demikian konstanta waktu RC haruslah lebih besar dari 5,602 µd.

jika toleransi komponen R dan C diperhitungkan, maka pada perancangan

digunakan waktu reset (konstanta waktu RC) yang jauh lebih besar dari syarat, yaitu 100 ms dengan menggunakan kapasitor C = 1 µF dan resistor R = 100 KΩ

(45)

(dibutuhkan waktu 100 ms), yang berarti pin RST akan berlogika 0 dan selesailah proses reset.

3.1.4 Rangkaian RTC dan Mikrokontroler

VCC (+5V) C1 1uF U1 AT89S51 9 18 19 20 29 30 31 40 1 2 3 4 5 6 7 8 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 39 38 37 36 35 34 33 32 RST XTAL2 XTAL1 GN D PSEN ALE/PROG EA/ VPP VC C P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INTO P3.3/INT1 P3.4/TO P3.5/T1 P3.6/WR P3.7/RD P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 U2 DS1287 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 GND VCC (+5V) R1 10K

Gambar 3.7. Antarmuka RTC dengan mikrokontroler

3.1.5 Rangkaian LCD dan Mikrokontroler

Unit penampil menggunakan LCD (Liquid Crystal Display). Modul LCD M1632 adalah LCD dengan display 16 x 2 baris dan driver HD44780. Modul LCD M1632 dapat diakses secara 4 bit maupun 8 bit interface. Dengan adanya sistem 4 bit interface maka selain mereduksi jumlah port yang digunakan juga mempermudah sistem wiring pada PCB.

(46)

1. Pengiriman Instruksi Register

2. Pembacaan Address Counter dan Busy Flag 3. Pengiriman Data Register

4. Pembacaan Data Register

Built In Routine untuk LCD M1632 hanya dapat bekerja pada DST-51 bila diletakkan pada Flash PEROM AT89S51 dan tidak dapat didownload ke memori eksternal, sehingga untuk mengaksesnya cukup memanggil alamat dari Built In Routine yang sudah berada pada Flash PEROM AT89S51 dalam DST-51. Hal ini disebabkan karena akses LCD menggunakan jalur data bus dan modul M1632 ini

mempunyai sistem bus MCS51 (intel). Fungsi seperti ini hanya dapat dikerjakan oleh program yang sudah berada pada Flash PEROM AT89S51.

(47)

3.2 Perancangan Perangkat Lunak

3.2.1 Diagram Alir Program Utama

Program utama merupakan bagian yang dikerjakan saat mikrokontroler

dicatu daya atau saat mikrokontroler direset. Program utama dimulai dengan proses inisialasi LCD, inisialisasi RTC, dan inisialisasi alamat data. Setelah proses inisialisasi selesai, pada LCD akan ditampilkan biaya beban untuk listrik rumah tangga 1300W sebagai total biaya awal. Langkah selanjutnya yaitu

menghitung banyaknya putaran piringan KWh meter mekanik yang mana besar

pemakaian energi listrik akan bertambah 1 KWh untuk setiap 1250 putaran. Nilai

dari banyaknya pemakaian energi listrik akan ditampilkan ke LCD untuk setiap

perubahannya. Setelah menerima data besar pemakaian energi listrik, selanjutnya

program akan menghitung besar biaya pemakaian energi listrik dan menampilkan ke LCD. Langkah terakhir adalah menanyakan waktu. Jika waktu sudah 1 bulan,

maka program akan menyimpan data jumlah dan besar biaya pemakaian energi

listrik bulan tersebut dan memulai perhitungan baru untuk 1 bulan berikutnya

(reset program). Diagram alir program utama alat penampil jumlah dan biaya pemakaian energi listrik pada KWh meter mekanik (analog) ditunjukkan pada

(48)

MULAI

INISIALISASI ALAMAT DATA, LCD, RTC

TAMPILKAN TOTAL BIAYA AWAL (BIAYA BEBAN)

COUNTER + 1

KWh + 1

RESET P3.4 = 1

COUNTER = 1250

1BULAN TAMPILKAN JUMLAH

KWh KE LCD

TAMPILKAN TOTAL BIAYA KE LCD Y

T

Y

T

Y T

P3.4 = 0 T

Y

SIMPAN DATA HITUNG BIAYA

PEMAKAIAN

(49)

3.2.2 Sub-routine Hitung Biaya Pemakaian

Proses ini akan diawali dengan menentukan jumlah KWh sekarang

termasuk dalam blok 1, 2, atau 3. Jumlah KWh akan dikurangkan 21, dimana nilai

21 ini adalah nilai awal untuk blok 2. Jika hasil pengurangan bernilai negatif

(cy=1), berarti jumlah KWh masih berada dalam perhitungan blok 1 (KWh<21).

Jika hasil pengurangan bernilai positif (cy=0), berarti jumlah KWh tidak berada

dalam perhitungan blok 1 tapi mungkin berada dalam perhitungan blok 2 atau

blok 3. Untuk memastikan hal itu maka proses berikutnya adalah mengurangkan

jumlah KWh dengan 61, dimana nilai 61 ini adalah nilai awal untuk blok 3. Jika

hasil pengurangan bernilai negatif (cy=1), berarti jumlah KWh berada dalam

perhitungan blok 2 (KWh<61). Jika hasil pengurangan bernilai positif (cy=0),

berarti jumlah KWh tidak berada dalam perhitungan blok 2 tapi berada dalam

perhitungan blok 3. Setelah mengetahui jumlah KWh termasuk dalam blok 1, 2,

atau 3, maka proses berikutnya adalah melakukan proses aritmatika untuk

menghitung biaya pemakaian listrik sesuai dengan jumlah KWh yang terpakai.

Berikut adalah potongan program untuk sub-routine hitung biaya pemakaian dan diagram alir sub-routine hitung biaya pemakaian:

biaya:

mov a,kwh ; ambil data jumlah kwh subb a,#21 ; data jumlah kwh dikurang 21

jnb cy,hitblok2 ; lompat ke ‘hitblok2’ jika hasil pengurang bernilai positif (cy = 0), lanjutkan program jika cy = 1 mov dptr,#blok1 ; ambil data harga blok 1

lcall aritma ; hitung biaya ljmp balik

hitblok2:

mov a,kwh ; ambil data jumlah kwh subb a,#61 ; data jumlah kwh dikurang 61

(50)

positif (cy = 0), lanjutkan program jika cy = 1

mov dptr,#blok2 ; ambil data harga blok 2 lcall aritma ; hitung biaya

ljmp balik hitblok3:

mov a,kwh ; ambil data jumlah kwh mov dptr,#blok3 ; ambil data harga blok 3 lcall aritma ; hitung biaya

balik:

lcall ubah_ascii1 ; ubah bcd dan ascii untuk tampilan biaya total ret

mulai

Isi Alamat DPTR DPTR = Blok 1

KWh < 21

Panggil Sub-routine Proses Aritmatika (menghitung Biaya)

selesai

Isi Alamat DPTR DPTR = Blok 2

Isi Alamat DPTR DPTR = Blok 3 Ambil Data

Variabel KWh

KWh < 61

Panggil Sub-routine Proses Aritmatika (menghitung Biaya)

Panggil Sub-routine Proses Aritmatika (menghitung Biaya)

T

Y Y

T

Gambar 3.10. Diagram Alir Sub-routine hitung biaya pemakaian

3.2.3 Sub-routine Aritmetika

Proses aritmatika diawali dengan pengisian register 0 (R0) dengan data 3

desimal, maksudnya karena ada 3 data pada harga blok yang akan diambil.

Masing – masing data itu adalah data satuan, data puluhan, dan data ratusan.

Sebelumnya perlu diketahui bahwa data – data baik pada harga blok maupun pada

(51)

jika hasilnya lebih dari 1 digit decimal (menghasilkan puluhan), maka data

puluhan dari hasil penjumlahan akan ditambahkan ke data berikutnya. Saat R0 =

3, maka akan dilakukan penjumlahan data satuan antara harga blok dan biaya total

(saat kwh = 0, biaya total = biaya beban). Selanjutnya DPTR akan diisi dengan

data puluhan harga blok dan isi R0 dikurang 1 (R0 = 2), maka data puluhan antara

harga blok dan biaya total akan dijumlahkan. Saat R0 = 1 dan DPTR berisi data

ratusan harga blok, maka data ratusan antara harga blok dan biaya total akan

dijumlahkan.

Berikut adalah potongan program untuk sub-routine aritmatika dan

diagram alir sub-routine aritmatika:

aritma:

mov r0,#3 ; isi R0 untuk proses pengambilan data ulang:

clr a

movc a,@a+dptr ; ambil data di DPTR

cjne r0,#3,puluhan1 ; R0=3? Jika YA ke proses berikutnya ; Jika TIDAK lompat ke ‘puluhan1’ lcall satuan

ljmp balik1 puluhan1:

cjne r0,#2,ratusan1 ; R0=2? Jika YA ke proses berikutnya ; Jika TIDAK lompat ke ‘ratusan1’ lcall puluhan

ljmp balik1 ratusan1:

lcall ratusan balik1:

inc dptr ; isi DPTR dengan data berikutnya (DPTR + 1) djnz r0,ulang ; R0=0? Jika YA ke proses berikutnya

(52)

Gambar 3.11. Sub-routine Aritmetika

Kemudian pada sub-routine satuan, puluhan dan ratusan. Berikut adalah potongan program dan diagram alirnya:

(53)

satuan:

add a,r7 ; jumlahkan data satuan lcall cantik2

jnb cy,ambil1

mov r7,50h ; simpan data satuan ret

puluhan:

add a,r6 ; jumlahkan data puluhan lcall cantik2

jnb cy,ambil2

mov r6,50h ; simpan data puluhan ret

ratusan:

add a,r5 ; jumlahkan data ratusan lcall cantik2

jnb cy,ambil3

mov r5,50h ; simpan data ratusan ret

Jika cy = 1 berarti pengurangan menghasilkan carry. Dengan perintah JNB, maka

lompat bila tidak bit (cy = 0). Pada sub-routine ini, alamat 50h digunakan sebagai alamat penyimpan hasil sementara. Sebagai contoh untuk menghitung harga 1

KWh, maka biaya beban akan ditambah harga blok 1 yang prosesnya sebagai

berikut:

R7 = 0 (data satuan biaya beban), Acc = 5 (data satuan harga blok 1).

R7 + Acc = 5 (hasil disimpan di Acc kemudian simpan sementara di 50h).

Subb a,#10 (Acc – 10 desimal; hexa = 0A).

Hasil pengurangan menghasilkan cy = 1, maka R7 = 50h (data di 50h dipindahkan

ke R7 sebagai data satuan).

R6 = 3, Acc = 8

(54)

Subb a,#10 (hasil 1 simpan di Acc, kemudian disimpan di 50h), karena cy = 0

maka ambil data ratusan (R5 = 1) kemudian jumlahkan dengan hasil (1) dan

kemudian dengan data ratusan harga blok 1 (3), hasil penjumlahan disimpan di

Acc.

Subb a,#10 (5 – 10), menghasilkan cy =1; maka data di 50h (1) akan disimpan di

R6 sebagai data satuan dan hasil pengurangan akan disimpan di R5 sebagai data

ratusan yang mana data tersebut dipindahkan dulu dari Acc ke 50h, karena Acc

akan digunakan untuk proses berikutnya (hitung data ribuan sampai ratusan ribu).

3.2.4 Diagram Alir Tampil LCD

(55)

3.2.4.1Inisialisasi LCD

Proses inisialisasi LCD merupakan proses pengiriman data ke LCD yang mana di dalam data tersebut diatur sedemikian rupa agar LCD dapat bekerja

sesuai keinginan. Adapun program untuk inisialisasi LCD adalah sebagai berikut:

init_lcd:

mov a,#3fh ; set LCD untuk 8 bit, 2 baris, 5 x 10 dot lcall tulis_perintah

lcall tulis_perintah

mov a,#0dh ; display ON, cursor OFF, blinking ON lcall tulis_perintah

mov a,#06h ; set mode (pergeseran_bertambah atau kekanan) lcall tulis_perintah

mov a,#01h ; clear display lcall tulis_perintah

mov a,#0ch ; display ON, cursor OFF, blinking OFF lcall tulis_perintah

ret

3.2.4.2Menampilkan Karakter pada LCD

Pada proses menampilkan karakter pada LCD, yang perlu diingat adalah

membuat pin R/W dan RS berlogika ‘0’ untuk perintah pengiriman instruksi, dan

membuat pin R/W berlogika ‘0’ dan pin RS berlogika ‘1’ untuk perintah

(56)

3.2.5 Menjalankan Waktu (Real Time Clock)

MULAI

NAIKKAN DETIK

NOLKAN DETIK MENIT = MENIT + 1

NOLKAN MENIT JAM = JAM + 1

NOLKAN JAM HARI = HARI + 1 DETIK = 60 ?

MENIT = 60 ?

JAM = 24 ?

HARI = 30 ?

RETURN

T Y

T Y

Y T

T

Y

(57)

BAB IV

HASIL PENGAMATAN DAN PEMBAHASAN

Pada bab ini akan dibuktikan hasil perancangan dengan menampilkan

beberapa hasil percobaan beserta analisanya.

4.1 Pengamatan Pada Rangkaian Sensor

Rangkaian sensor terdiri atas laser pointer, fototransistor dan IC 74LS14. Saat fototransistor aktif karena pengaruh intensitas cahaya yang dipancarkan oleh

laser pointer, maka IC 74LS14 akan mendapat input logika ‘0’ sehingga output

berupa logika ‘1’. Dan sebaliknya, jika fototransistor tidak aktif, maka IC 74LS14

akan mendapat input logika ‘1’ sehingga output berupa logika ‘0’.

Berikut adalah tabel hasil pengukuran dan pengamatan pada rangkaian

sensor, dimana Vin pada IC 74LS14 sama dengan Vout pada rangkaian fototransistor dan Vout dari IC 74LS14 adalah input bagi mikrokontroller

AT89S51. Pengukuran menggunakan alat ukur berupa multimeter digital.

(58)

Tabel 4.1. Hasil Pengamatan Pada Rangkaian Sensor

Kondisi Pada Fototransistor

NO Tegangan Pada

IC 74LS14

Kena Cahaya Tidak Kena Cahaya

Vin 0,46 4,6

1

Vout 4,5 0,18

Vin 0,55 4,58

2

Vout 4,5 0,18

Vin 0.9 4,48

3

Vout 4,47 0,18

Vin 1,1 4,51

4

Vout 4,9 0,18

Vin 3,2 4,49

5

Vout 0,18 0,18

Vin 4,38 4,53

6

Vout 0,18 0,18

Dari data di atas dapat diketahui bahwa fototrasistor akan aktif (ON) tergantung dari intensitas cahaya yang dipancarkan oleh laser pointer. Pada pengukuran pertama sampai ke empat, intensitas cahaya yang dihasilkan oleh

laser pointer masih bisa mengaktifkan fototransistor. Akan tetapi pada pengukuran ke lima dan ke enam, intensitas cahaya yang dihasilkan oleh

fototransistor sudah tidak dapat mengaktifkan fototransistor. Melemahnya

intensitas cahaya yang dipancarkan oleh laser pointer disebabkan oleh

menurunnya arus yang dihasilkan oleh battery pada laser pointer. Hal ini sangat menghambat dalam proses penghitungan jumlah putaran piringan pada KWh

(59)

hasil penghitungan jumlah putaran piringan pada KWh meter mekanik dapat

dilihat pada tabel dibawah ini:

Tabel 4.2. Pengaruh Intensitas Cahaya Laser Pointer Terhadap Penghitungan Jumlah kwh

Tampilan Pada Alat Tampilan Pada KWh

Meter Mekanik Jumlah KWh Total Harga (Rp)

27251,3 0 39130

27252,7 1 39515

27253,5 1 39515

27254,2 2 39900

27254,3 2 39900

27255,0 2 39900

27255,5 3 40285

Dari tabel di atas, jelas terlihat adanya perbedaan penghitungan jumlah

pemakaian energi listrik antara KWh meter mekanik dengan alat. Pada KWh

meter mekanik jumlah pemakaian energi listrik telah terhitung sebanyak 4,2

KWh. Sedangkan pada tampilan LCD tertera jumlah pemakaian sebesar 3 KWh.

Hasil ini memiliki galat (true error) yang sangat besar, yaitu:

[

4,2−3

]

=1,2KWh

= Ε

Dengan persen galat sebesar

% 57 , 28 % 100 2 , 4

2 ,

1 × =

=

e

Untuk mengatasinya, maka sumber tegangan battery diganti dengan sebuah

sumber tegangan yang menghasilkan tegangan DC 4,5V dan arus sebesar 50mA

sehingga intensitas cahaya laser pointer tidak akan melemah. Hasil dari pengamatan dengan menggunakan sumber tegangan DC 4,5V dan arus sebesar

(60)

4.2 Pengamatan Pada Tampilan LCD

Pada counter KWh meter Mekanik ada 6 digit angka yang ditampilkan, dimana digit angka terakhir (paling kanan) adalah nilai sepersepuluh dari nilai 1 KWh. Jadi nilai ini akan bertambah 1 setiap 125 putaran piringan pada KWh

meter mekanik.

Penampil jumlah dan biaya pemakaian energi listrik ini bekerja dengan

catu daya +5V. Saat alat dinyalakan, maka pada LCD akan ditampilkan set awal

bulan (januari) dan jumlah pemakaian energi listrik (000 KWh) pada baris

pertama serta set biaya awal (biaya beban) pada baris kedua.

Januari :000KWh Biaya:Rp.039130

Gambar 4.1. Tampilan Awal Pada LCD

Selanjutnya sensor akan mulai menghitung jumlah putaran piringan KWh meter

mekanik. Ketika sensor telah mencacah piringan sebanyak 1250 kali, maka nilai

KWh pada tampilan LCD akan bertambah 1. Begitu juga pada tampilan biaya ,

akan bertambah sesuai harga blok nilai KWh ( 1 KWh termasuk blok I; harga blok

I = Rp 385,-).

Januari :001KWh Biaya:Rp.039515

Gambar 4.2. Tampilan setelah 1 KWh

Berikut adalah tabel hasil pengamatan antara tampilan pada KWh meter

(61)

Tabel 4.3. Perbandingan Tampilan Pada KWh Meter Mekanik Dengan Tampilan Pada Hasil Rancangan

Tampilan Pada Alat Tampilan Pada KWh

Meter Mekanik Jumlah KWh Total Harga (Rp)

27260,7 0 39130

27261,8 1 39515

27263,4 2 39900

27264,3 3 40285

27264,9 4 40678

27266,5 5 41055

27267,3 6 41440

27268,0 7 41825

27268,9 8 42210

27269,8 9 42595

27271,0 10 42980

27271,8 11 43365

27272,7 12 43750

27273,9 13 44135

27275,0 14 44520

27276,1 15 44905

27277,2 16 45290

27278,3 17 45675

27279,1 18 46060

27279,7 19 46445

27280,9 20 46830

27282,2 21 47275

27283,5 22 47720

27283,9 23 48165

Dari tabel di atas, dapat hitung jumlah pemakaian berdasarkan tampilan

pada KWh meter mekanik sebesar 27283,9 – 27260,7 = 23,2 KWh. Dengan hasil

penghitungan oleh alat sebesar 23 KWh, maka persen galat sebesar

% 86 , 0 % 100 2 , 23

2 ,

0 × =

=

e

Data pada tabel telah membuktikan bahwa alat telah bekerja sesuai rancangan,

(62)

mekanik.sebagai bukti pada pengamatan ke-12, pada tampilan LCD tertera 12

KWh dan pada KWh meter mekanik tertera 27272,7 yang berarti jumlah

pemakaian sebanyak 27272,7 - 27260,7 = 12 KWh. Bukti lain bisa dilihat pada

pengamatan ke-19, dimana tampilan LCD tertera 19 KWh dan pada KWh meter

mekanik tertera 27279,7 yang berarti jumlah pemakaian sebanyak

(63)

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Dari hasil pengamatan dan pembahasan pada bagian sebelumnya dapat

diambil beberapa kesimpulan, antara lain:

1. Alat penampil jumlah dan biaya pemakaian energi listrik yang telah dirancang

dan diimplementasikan terbukti telah mampu menghitung jumlah dan biaya

pemakaian energi listrik berdasarkan jumlah putaran piringan pada KWh

meter mekanik dan menampilkan ke LCD.

2. Alat ini belum mampu menyimpan data yang telah dihitung dan juga belum

mampu melakukan perhitungan ulang setelah 1 bulan.

5.2 Saran

Alat Penampil jumlah dan biaya pemakaian energi listrik yang telah dibuat

masih jauh dari sempurna, karena itu penulis mencoba untuk memberikan saran -

saran bagi pengembangan lebih lanjut agar dapat menjadi lebih baik, yaitu:

1. Untuk menghindari terputusnya catu daya secara tiba-tiba (listrik padam)

maka akan lebih baik apabila dilengkapi dengan catu daya cadangan di

dalamnya, yang dapat berupa battery recharged.

2. Begitu juga pada laser pointer sebaiknya memakai sumber tegangan DC 4,5V

dengan arus 50mA agar intensitas cahaya yang dipancarkan tidak berkurang

(meredup).

(64)

DAFTAR PUSTAKA

Eko Putra, Agfianto, 2002, Belajar Mikrokontroler AT89C51/52/55, Penerbit Gava Media, Yogyakarta

______, HD44780U, (Dot Matrix Liquid Crystal Display Controller/Driver), HITACHI, Data Sheet

http://www.atmel.com

http://www.delta-electronic.com

http://www.dalsemi.com

http://www.onsemi.com

______, Keychain Laser Driver Circuit Data Sheet

______, LPT85A Phototransistor Data Sheet

(65)

LAMPIRAN

(66)
(67)

;# Jurusan Teknik Elektro #

;# Fakultas Teknik #

;# Universitas Sanata Dharma #

;################################################################

kwh equ 40h del1 equ 6ah del2 equ 6bh bulan equ 49h rs bit p2.5 rw bit p2.6 e bit p2.7

org 0

clr rw

lcall delay

lcall delay

lcall init_lcd

mov bulan,#01h

setb p3.4

mov 55h,#01001011b

mov 56h,#01010111b

mov 57h,#01101000b

reset:

mov r2,#0

mov r3,#3

mov r4,#9

mov r5,#1

mov r6,#3

mov r7,#0

mov 60h,r2

mov 61h,r3

mov 62h,r4

mov 63h,r5

mov 64h,r6

mov 65h,r7

lcall ubah_ascii1

lcall ubahbcd&ascii

lcall tampil_LCD

mov dptr,#0

(68)

inc dptr

mov a,dph

cjne a,#04h,cek

mov a,dpl

cjne a,#0e2h,cek

lcall hit_kwh

mov dptr,#0

cek:

jnb p3.4,$

ajmp loop

;##################################################

;# Perhitungan KWH & Biaya total #

;################################################## hit_kwh:

inc kwh

lcall ubahbcd&ascii

lcall biaya

lcall tampil_LCD

ret biaya:

mov a,kwh

subb a,#21

jnb cy,hitblok2

mov dptr,#blok1

lcall aritma

ljmp balik

hitblok2:

mov a,kwh

subb a,#61

jnb cy,hitblok3

mov dptr,#blok2

lcall aritma

ljmp balik

hitblok3:

mov a,kwh

mov dptr,#blok3

lcall aritma

balik:

lcall ubah_ascii1

(69)

cjne r0,#3,puluhan1

lcall satuan

ljmp balik1

puluhan1:

cjne r0,#2,ratusan1

lcall puluhan

ljmp balik1

ratusan1:

lcall ratusan

balik1:

inc dptr

djnz r0,ulang

ret satuan:

add a,r7

lcall cantik2

jnb cy,ambil1

mov r7,50h

ret puluhan:

add a,r6

lcall cantik2

jnb cy,ambil2

mov r6,50h

ret ratusan:

add a,r5

lcall cantik2

jnb cy,ambil3

mov r5,50h

ret ambil1:

mov r7,a

mov a,r6

lcall cantik1

jnb cy,ambil2

mov r6,50h

ljmp abis3

ambil2:

mov r6,a

(70)

mov r5,a

mov a,r4

lcall cantik1

jnb cy,ambil4

mov r4,50h

ljmp abis3

ambil4:

mov r4,a

mov a,r3

lcall cantik1

jnb cy,ambil5

mov r3,50h

ljmp abis3

ambil5:

mov r3,a

mov a,r2

lcall cantik1

jnb cy,ambil6

mov r2,50h

ljmp abis3

ambil6:

mov r2,a

abis3:

ret cantik1:

add a,#1

cantik2:

mov 50h,a

subb a,#10

ret

;################################################## ;# ubah bcd dan ascii untuk tampilan kwh # ;################################################## ubahbcd&ascii:

mov r0,kwh

mov a,r0

mov b,#10

div ab

mov 54h,b

mov b,#10

(71)

mov a,@r1

add a,#30h

mov @r1,a

dec r1

djnz r0,asi

ret

;################################################## ;# ubah bcd dan ascii untuk tampilan biaya total # ;################################################## ubah_ascii1:

mov 60h,r2

mov 61h,r3

mov 62h,r4

mov 63h,r5

mov 64h,r6

mov 65h,r7

mov r1,#65h

mov r0,#6

lagi:

mov a,@r1

add a,#30h

mov @r1,a

dec r1

djnz r0,lagi

ret

;##################################################

; inisialisasi LCD #

;################################################## init_lcd:

mov a,#3fh

lcall tulis_perintah

lcall tulis_perintah

mov a,#0dh

lcall tulis_perintah

mov a,#06h

lcall tulis_perintah

mov a,#01h

lcall tulis_perintah

mov a,#0ch

lcall tulis_perintah

(72)

setb e

mov p1,a

tulis:

clr e

setb e

lcall delay

mov p1,#0ffh

ret

;##################################################

;# tulis data ascii lcd #

;################################################## tulis_data:

setb rs

setb e

mov p1,a

ajmp tulis

delay:

mov del1,#5

delay1:

mov del2,#0

djnz del2,$

djnz del1,delay1

ret tampil_LCD:

mov a,#80h

lcall tulis_perintah

mov r1,#52h

mov a,bulan

cjne a,#01,feb

mov dptr,#jans

lcall ambil_data

ljmp back

feb:

cjne a,#02,mar

mov dptr,#febs

lcall ambil_data

ljmp back

mar:

cjne a,#03,apr

mov dptr,#mars

(73)

ljmp back mei:

cjne a,#05,jun

mov dptr,#meis

lcall ambil_data

ljmp back

jun:

cjne a,#06,jul

mov dptr,#juns

lcall ambil_data

ljmp back

jul:

mov dptr,#juls

lcall ambil_data

back:

mov a,#0c0h

lcall tulis_perintah

mov r1,#60h

mov dptr,#biayas

lcall ambil_data

ret ambil_data:

mov r0,#9

ulang1:

clr a

movc a,@a+dptr

lcall tulis_data

inc dptr

djnz r0,ulang1

mov r0,#6

ulang2:

mov a,@r1

lcall tulis_data

inc r1

djnz r0,ulang2

ret

blok1:

db 05h,08h,03h

blok2:

(74)

db 'Febuari :' mars:

db 'Maret :' aprs:

db 'April :' meis:

db 'Mei :' juns:

db 'Juni :' juls:

db 'Juli :' biayas:

(75)

1

Three-level Program Memory Lock

128 x 8-bit Internal RAM

32 Programmable I/O Lines

Two 16-bit Timer/Counters

Six Interrupt Sources

Full Duplex UART Serial Channel

Low-power Idle and Power-down Modes

Interrupt Recovery from Power-down Mode

Watchdog Timer

Dual Data Pointer

Power-off Flag

Fast Programming Time

Flexible ISP Programming (Byte and Page Mode)

Description

The AT89S51 is a low-power, high-performance CMOS 8-bit microcontroller with 4K bytes of in-system programmable Flash memory. The device is manufactured using Atmel’s high-density nonvolatile memory technology and is compatible with the indus-try-standard 80C51 instruction set and pinout. The on-chip Flash allows the program memory to be reprogrammed in-system or by a conventional nonvolatile memory pro-grammer. By combining a versatile 8-bit CPU with in-system programmable Flash on a monolithic chip, the Atmel AT89S51 is a powerful microcontroller which provides a highly-flexible and cost-effective solution to many embedded control applications. The AT89S51 provides the following standard features: 4K bytes of Flash, 128 bytes of RAM, 32 I/O lines, Watchdog timer, two data pointers, two 16-bit timer/counters, a five-vector two-level interrupt architecture, a full duplex serial port, on-chip oscillator, and clock circuitry. In addition, the AT89S51 is designed with static logic for operation down to zero frequency and supports two software selectable power saving modes. The Idle Mode stops the CPU while allowing the RAM, timer/counters, serial port, and interrupt system to continue functioning. The Power-down mode saves the RAM con-tents but freezes the oscillator, disabling all other chip functions until the next external interrupt or hardware reset.

8-bit

Microcontroller

with 4K Bytes

In-System

Programmable

Flash

AT89S51

(76)

2

AT89S51

2487A–10/01 TQFP 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 P1.3 P1.4 (MOSI) P1.5 (MISO) P1.6 (SCK) P1.7 RST (RXD) P3.0 (TXD) P3.1 (INT0) P3.2 (INT1) P3.3 (T0) P3.4 (T1) P3.5 (WR) P3.6 (RD) P3.7 XTAL2 XTAL1 GND P0.2 (AD2) P0.3 (AD3) P0.4 (AD4) P0.5 (AD5) P0.6 (AD6) P0.7 (AD7) EA/VPP ALE/PROG PSEN P2.7 (A15) P2.6 (A14) P2.5 (A13) P2.4 (A12) P2.3 (A11) P2.2 (A10) P2.1 (A9) P2.0 (A8) 1 2 3 4 5 6 7 8 9 10 11 33 32 31 30 29 28 27 26 25 24 23 44 43 42 41 40 39 38 37 36 35 34

12 13 14 15 16 17 18 19 20 21 22 (MOSI) P1.5 (MISO) P1.6 (SCK) P1.7 RST (RXD) P3.0 NC (TXD) P3.1 (INT0) P3.2 (INT1) P3.3 (T0) P3.4 (T1) P3.5 P0.4 (AD4) P0.5 (AD5) P0.6 (AD6) P0.7 (AD7) EA/VPP NC ALE/PROG PSEN P2.7 (A15) P2.6 (A14) P2.5 (A13) P1.4 P1.3 P1.2 P1.1 P1.0 NC VCC P0.0 (AD0) P0.1 (AD1) P0.2 (AD2) P0.3 (AD3)

(WR) P3.6 (RD) P3.7

XTAL2 XTAL1 GND GND

(A8) P2.0 (A9) P2.1 (A10) P2.2 (A11) P2.3 (A12) P2.4

7 8 9 10 11 12 13 14 15 16 17 39 38 37 36 35 34 33 32 31 30 29 (MOSI) P1.5 (MISO) P1.6 (SCK) P1.7 RST (RXD) P3.0 NC (TXD) P3.1 (INT0) P3.2 (INT1) P3.3 (T0) P3.4 (T1) P3.5 P0.4 (AD4) P0.5 (AD5) P0.6 (AD6) P0.7 (AD7) EA/VPP NC ALE/PROG PSEN P2.7 (A15) P2.6 (A14) P2.5 (A13) 6 5 4 3 2 1 44 43 42 41 40

18 19 20 21 22 23 24 25 26 27 28

(WR) P3.6 (RD) P3.7 XTAL2 XTAL1 GND

NC

(77)

3

2487A–10/01

PORT 2 DRIVERS

PORT 2 LATCH

P2.0 - P2.7

FLASH PORT 0

LATCH RAM

PROGRAM ADDRESS REGISTER

BUFFER

PC INCREMENTER

PROGRAM COUNTER

DUAL DPTR INSTRUCTION

REGISTER B

REGISTER

INTERRUPT, SERIAL PORT, AND TIMER BLOCKS

STACK POINTER ACC

TMP2 TMP1

ALU

PSW

TIMING AND CONTROL

PORT 1 DRIVERS

P1.0 - P1.7 PORT 3

LATCH

PORT 3 DRIVERS

P3.0 - P3.7 OSC

GND VCC

PSEN

ALE/PROG EA / VPP

RST

RAM ADDR. REGISTER

PORT 0 DRIVERS P0.0 - P0.7

PORT 1 LATCH WATCH

(78)

Gambar

Gambar 2.1 Diagram Kotak Mikrokontroler AT89S51.
Gambar 2.2.
Tabel 2.4. Penomoran Pin LCD
Gambar 3.1. Diagram Blok Utama
+7

Referensi

Dokumen terkait

Berdasarkan Tingkat Pencapaian Perkembangan (TPP) Kognitif anak didik akan mengenal mengenai sebab akibat yang terjadi di lingkungannya, anak didik diajak untuk membuktikan

5. Terdapat pengaruh yang signifikan secara parsial, baik secara langsung atau tidak langsung dari variabel motivasi kerja terhadap kepuasan kerja dengan pengaruh langsung

Sebanyak 2 dari 7 pasien (28,57%) di pusat terapi akupuntur “X” di Kota Bandung yang memiliki keyakinan terhadap kemampuan mereka untuk mencapai keberhasilan terapi ini

diberi perlakuan dengan menggunakan metode grup investigasi, Nilai hasil belajar yang diperoleh siswa kelas X Busana Butik tersebut masih terdapat 8 siswa (43%) yang belum

Panitia Pengadaan Jasa Konstruksi Pada Dinas Bina Marga Dan Pengairan Kota Pematangsiantar.. JL.PDT.J.WISMARK SARAGIH KEL.PONDOK SAYUR KEC.SIANTAR MARTOBA TELP.0622-21503

Kajian Analisis Efektifitas Birokrasi Kantor Pusat Kementerian Pertanian Tahun 2011. Jakarta, 18

Jika pengguna memilih sub-menu Laporan Pemasukan Barang, maka program akan menampilkan input box yang meminta input bulan (format harus angka) dan kemudian diikuti input box

Dalam Negeri: saat buruh migran bermasalah dengan PPPILN (Pelaksana Penempatan Pekerja Indonesia di Luar Negeri) saat masih berada di wilayah Negara Indonesia,