PENGATUR NYALA ATAU PADAM LAMPU DAN TINGKAT KECERAHAN BERBASIS MICROCONTROLLER AT89S51

  PENGATUR NYALA ATAU PADAM LAMPU DAN TINGKAT KECERAHAN BERBASIS MICROCONTROLLER AT89S51 TUGAS AKHIR Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik pada

  Program Studi Teknik Elektro

  disusun oleh:

  GREGORIUS GUNTUR WIJANARKO NIM : 995114055

  ON – OFF AND LIGHT BRIGHTNESS CONTROLLER BASED ON MICROCONTROLLER AT89S51 FINAL PROJECT Presented as Partial Fulfillment of the Requirements To Obtain the SARJANA TEKNIK Degree in Electrical Engineering

  by:

  GREGORIUS GUNTUR WIJANARKO Student Number: 995114055

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, 26 Januari 2007 Gregorius Guntur Wijanarko

MOTO DAN PERSEMBAHAN

  Lakukan sesuatu. Jika masih belum berhasil juga, lakukan sesuatu yang lain. Hanya orang gila yang bisa kehabisan ide Jim Jightower

  Tidak ada yang lebih baik bagi seseorang kecuali makan dan minum dan kemudian berkata pada dirinya sendiri bahwa pekerjaanya telah dilakukan dengan baik

  Amsal 2:24 Kata-kata yang baik bisa singkat dan mudah diucapkan, tetapi gemanya tak akan berakhir

  Ibu Theresa Hanya mereka yang berani mengambil resiko untuk melangkah lebih jauhlah yang akan mengetahui sejauh mana dia dapat melangkah

  T.S.Eliot Iman tanpa perbuatan adalah mati

  Yesus

  

INTISARI

  Pada umumnya pengatur tingkat kecerahan lampu dikendalikan oleh potensio dengan cara memutar potensio tersebut dari tingkat kecerahan terendah sampai tingkat kecerahan tertinggi. Pada penelitian ini pengaturan tingkat kecerahan lampu dikendalikan oleh tombol-tombol yang mempunyai 10 tingkat kecerahan.

  Pengendalian tingkat kecerahan lampu dilakukan dengan cara mengeser waktu penyulutan triac. Pendeteksian titik nol berfungsi untuk menentukan waktu tunda penyulutan gerbang triac. Waktu tunda dipakai untuk menentukan besar prosentase penggunaan daya lampu. Penentuan kapan waktu tunda dilakukan dengan pemrograman MCS-51. Tampilan LCD yang akan menunjukan besarnya skala prosentase luasan penggunaan daya dalam 10 tingkat kecerahan. Untuk mengubah prosentase luasan penggunaan daya dilakukan dengan menekan salah satu dari 10 tombol tingkat kecerahan.

  Hasil pengamatan menunjukan alat ini mampu bekerja untuk pengaturan daya dari 0% sampai 100% dengan kenaikan setiap 10%. Saat kondisi skala penggunaan daya menunjukan angka 50 dan 100 tidak terjadi penyimpangan (error), tetapi pada saat selain kondisi skala 50 dan 100 terjadi penyimpangan. Penyimpangan yang terjadi dikarenakan karena jala-jala listrik yang ada. Kata kunci: Pengaturan daya, MCS-51

  

ABSTRACT

  Basically, light brigtness controller set up by tuning a potensio to set the brightness level from the minimum to maximum.through the research, lamp brightness level controller is using by a button that has ten level of brightness.

  Light intesinty of a bulb is controlled by shifting the triac’s trigger time. Zero point detection used to set the triac’s delay trigger time. Meanwhile, by knowing the time-delay, we can count the percentage of the power consumption wich used by the lamp. To set the time-delay is using MCS-51 programming. LCD display will show the percetage wide using power in ten level of brightness. To change the percentage of the power consumption will can be change by pushing one of the light brightness button.

  The observation shows that this device able to work in 0 percent to 100 percent power setting, whit 10 percent for each interval. When the power consumption scale condition refers to the number 50 and 100, there will be no error. Error only happen cause by the electrical web. Keywords: Phase control, MCS-51

KATA PENGANTAR

  Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa atas berkat dan rahmatNya yang telah diberikan sehingga penulis dapat menyelesaikan Tugas Akhir dengan judul ‘Pengatur Nyala atau Padam lampu dan tingkat kecerahan Berbasis Microcontroller AT89S51’. Semoga apa yang telah penulis sampaikan lewat tugas akhir ini dapat memberikan sumbangan pemikiran untuk pengembangan ilmu pengetahuan pada umumnya dan ilmu teknik elektronika pada khususnya.

  Tugas Akhir ini merupakan buah dari kerja keras, pemikiran, dan pengorbanan yang penulis peroleh sebelumnya di perkuliahan. Namun, penulis menyadari bahwa tugas akhir ini tidak akan selesai jika tidak mendapat bantuan dari banyak pihak yang telah berkenan membantu secara langsung maupun tidak langsung. Penulis juga mengharapkan adanya masukan serta kritik yang membangun dari apa yang telah disampaikan dalam penulisan ini.

  Pada kesempatan yang baik ini, dengan segala kerendahan hati penulis mengucapkan banyak terima kasih kepada :

  1. Bapak Martanto, S.T., M.T. selaku pembimbing I sekaligus pembimbing akademik, yang telah memberikan bantuan ide, saran, masukan, kritik, serta bimbingannya yang sangat berguna selama penulisan Tugas Akhir ini.

  2. Ir. Th. Prima Ari Setyani, M.T. selaku dosen pembimbing II sekaligus Sekretaris Jurusan Teknik Elektro Fakultas Teknik Universitas Sanata Dharma Yogyakarata, yang telah memberikan arahan, semangat, dorongan, serta sumbangan pemikiran yang penulis butuhkan untuk menyelesaikan penulisan Tugas Akhir ini.

  3. Bapak Augustinus Bayu Primawan, S.T., M.Eng., selaku Kepala Jurusan Teknik Elektro Fakultas Teknik Universitas Sanata Dharma Yogyakarata.

  4. Para dosen-dosen Teknik Elektro, yang telah memberikan pengajaran serta

  6. Bapak Aris Sukardjito, S.IP, selaku staf Sekretariat Teknik Elektro, yang telah membantu penulis untuk menyiapkan syarat-syarat akademik maupun administrasi yang dibutuhkan selama perkuliahan.

  7. Bapakku Yosep Soedarko, Ibuku Maria Sri Muryani tercinta, yang telah berusaha memberikan segalanya yang penulis butuhkan secara material dan spiritual dan mendidik dengan tulus dan penuh kasih sayang.

  8. Kakakku, Cony, Beny, Linda, David, Ferly yang telah banyak mengalah. Dan memberikan dukungan serta motivasi

  9. Kekasihku Suci, yang telah banyak mengerti, ,banyak berkorban, dan setia menyanyangiku apa adanya.

  10. Untuk bulek Markesni, bulek Sri dan Bulek Mei, serta saudaraku yang lain yang telah membantu hingga penulis dapat lulus.

  11. Buat teman-temanku Cemplon, Kodok, Asep item, Kubis, Jeglek, Adri( thak’s for all), Yono, yang masih berjuang Wisnu & Lusi (semangat bro),Andre (jangan menyerah),Yuyun, Yosep 03 (thank’s for help me),Didit, Nando, Rony, Gentong, Pukis, Made, Ableh, Boim, Pabrik banyu, She boss,G Bagus,Giri, Jiwo, temenku 99 yang masih beredar Dagul,Tutus, Anci, Maya, Santi, Roni, Cienk,dan yang sudah bekerja Dini, Leo, Khutur, Syamsi, Mas Tom’s, dan buat anak-anak BARABAS tetap rame aja terus coy.

  Penulis juga ingin menyampaikan banyak terima kasih kepada pihak-pihak yang tidak dapat penulis sebutkan satu per satu. Karena tanpa bantuan mereka, penulis menyadari tidak akan mampu menyelesaikan Tugas akhir ini dengan baik.

  Yogyakarta, 26 Januari 2007 Penulis

  Gregorius Guntur Wijanarko

DAFTAR ISI

  1.4 Tujuan Penelitian

  3

  3

  2

  2

  2

  1

  1.6 Sistematika Penulisan

  1.5 Manfaat Penelitian

  JUDUL i LEMBAR PENGESAHAN OLEH PEMBIMBING iii LEMBAR PENGESAHAN OLEH PENGUJI iv PERNYATAAN KEASLIAN KARYA v

  MOTTO DAN PERSEMBAHAN vi

  1.2 Perumusan Masalah

  1.1 Latar Belakang

  1

  BAB I PENDAHULUAN

  DAFTAR TABEL xviii

  DAFTAR GAMBAR xvi

  DAFTAR ISI xii

  INTISARI vii ABSTRACT viii KATA PENGANTAR ix

  1.3 Batasan Masalah

  2.2.2 Set Intruksi

  7

  2.2.2.1 Set Intruksi Dalam Mikrokontroler

  7

  2.2.2.2 Metode Pengamatan

  8

  2.2.3 Port Mikrokontroler AT89S51

  10

  2.2.4 Timer dan Counter Mikrokontroler AT89S51

  13

  2.2.5 On-Chip Osilator

  16

  2.3 ISP (IN-System Programing)

  16

  2.4 Rangkaian Reset

  18

  2.5 Titik Nol (Zero Crossing)

  19

  2.6 Transistor sebagai saklar

  20

  2.7 Triac

  22

  2.7.1 Penentuan Pemicu Triac

  26

  2.7.2 Penentuan Tahanan Gate Triac

  27

  2.8 Regulator LM7805

  27

  2.9 Liqiud Crystal Display (LCD) dengan Kontroler HD44780U

  29 BAB III RANCANGAN PENELITIAN

  34

  3.1. Perancangan Perangkat Keras

  34

  3.1.1 Interfacing Tombol Masukan

  34

  3.1.2 On Chip Osilator

  35

  3.1.3. Interfacing Zero Crossing

  36

  3.1.4 Interfacing Triac

  39 tingkat kecerahan

  3.1.7 Perancangan Waktu Tunda (Delay Time)

  45

  3.2 Papan Penampil

  47

  3.3 Perancangan Perangkat Lunak

  48

  3.3.1 Algoritma Program

  48

  3.3.2 Diagram Alir Program Utama

  49

  3.3.3 Subroutine Penyalaan LCD

  51

  3.3.4 Subroutine Scan Tombol

  52

  3.3.5 Subroutine dari Zero Crossing

  54

  3.3.6 Perancangan Waktu Tunda

  55

  3.3.7 Subroutine dari Timer 0 Untuk Tunda Penyulutan

  57 BAB IV PENGAMATAN DAN ANALISA

  60

  4.1 Cara Kerja Alat Secara Umum

  60

  4.2. Pengamatan dan Analisa

  61

  4.2.1. Zero Crossing (Titik Nol)

  61

  4.2.2 Data Pengamatan Waktu Tunda Untuk Pemicuan Gate

  62 Triac

  4.2.3 Pengamatan Tegangan dan Arus Lampu AC

  63

  4.2.4 Contoh-Contoh Gambar Pengamatan Zero Crossing

  64 dan Waktu Tunda Penyulutan Triac Dengan Osiloskop Digital

  5.1. Kesimpulan

  70

  5.2. Saran

  71 DAFTAR PUSTAKA LAMPIRAN

  DAFTAR GAMBAR

  21 Gambar 2.9. Rangkaian dasar triac

  28 Gambar 2.15. Catudaya dengan regulator LM7805 dan kapasitor mssukan untuk melindungi osilasi dan kapasitor keluaran untuk memperbaiki tanggapan frekuensi

  28 Gambar 2.14. Penggunaan IC LN7805 untuk regulasi tegangan

  26 Gambar 2.13. Bentuk fisik dari IC LM7805

  24 Gambar 2.12. Satu periode sinusoidal

  23 Gambar 2.11. (a),(b) dan (c) Rangkaian triec sebagai pengendali fase

  23 Gambar 2.10. Rangkaian sederhana triac

  21 Gambar 2.8. Saklar transistor NPN dengan tegangan muka dari sebuah sumber

Gambar 2.1. Mikrokontroler AT89S51

  20 Gambar 2.7. Konfigurasi common emiter sebagai saklar transistor NPN

  

V Input dan V Output zero crossing terhadap t (ms)

  20 Gambar 2.6.

  18 Gambar 2.5. Letak titik nol (zero crossing) dari tegangan AC

  15 Gambar 2.4. Rangkaian Power-on Reset AT89S51

  14 Gambar 2.3. Keterangan Register TCON

  10 Gambar 2.2. Keterangan Register TMOD

  29

Gambar 3.4 Gelombang dari V masukan dan V keluaran terhadap t (ms)

  36 Gambar 3.5 Interfacing zero crossing dan catu daya dengan

  38 Microcontroler AT89S51

Gambar 3.6 Interfacing triac dengan Microcontroler AT89S51

  40 Gambar 3.7 Satu periode sinusiodal

  41 Gambar 3.8 Penggunaan daya 50 % dengan waktu tunda selama 5 m

  46 Gambar 3.9 Interfacing LCD dengan microcontroler AT89S51

  47 Gambar 3.10 Diagram alir dari Program Utama

  49 Gambar 3.11 Diagram alir penyalaan LCD

  51 Gambar 3.12 Diagram alir scan tombol masukan

  53 Gambar 3.13 Diagram alir Eksternal 1 dari zero crossing 55

Gambar 3.14 Mode 1 – Pencacah 16-Bit

  55 Gambar 3.15 Proses Penundaan Pengaktifan Timer

  56 Gambar 3.16 Diagram alir interupsi Timer 0 untuk tunda penyulutan

  58 Gambar 4.1 Bentuk zero crossing dilihat dari osiloskop digital

  61 Gambar 4.2 Grafik galat error lama waktu tunda tiap skala penggunaan

  63 daya

Gambar 4.3 Penunjukan skala 10

  65 Gambar 4.4 Penunjukkan skala 50

  66 Gambar 4.5 Penunjukkan skala 100

  67 Gambar 4.6 Kondisi 10% daya

  68

  DAFTAR TABEL

  33 Tabel 3.1 Karakteristik triac Q4004L4

  62 Tabel 4.2 Data pengamatan tegangan dan arus lampu AC untuk tiap penunjukan skala penggunaan daya

  59 Tabel 4.1 Data pengamatan waktu tunda pemicuan gate triac

  57 Tabel 3.5 Tabel keseluruhan dari perancangan

  46 Tabel 3.4 Waktu tunda dalam desimal dan heksa

  45 Tabel 3.3 Perhitungan besar waktu tunda

  40 Tabel 3.2 Besar sudut picu dengan luasan penggunaan daya

  28 Tabel 2.6 Konfigurasi Pin LCD

Tabel 2.1. Port

  25 Tabel 2.5. Karakteristik regulator tegangan IC LM7805

  18 Tabel 2.4. Triac yang tersedia secara komersial

  12 Tabel 2.3. Keterangan Hubungan antara PC dan AT89S51 pada ISP

  3

  11 Tabel 2.2. Port

  1

  64

BAB 1 PENDAHULUAN

1.1 Latar Belakang Masalah

  Di jaman sekarang ini banyak dijumpai sumber energi yang terbuang dengan percuma, sedangkan diketahui bahwa pada saat ini di mana-mana dicanangkan untuk penghematan energi, karena energi yang tersimpan pada saat ini sudah mulai habis. Salah satu energi yang sangat menjadi perhatian adalah energi listrik. Di televisi ataupun di radio banyak dijumpai iklan-iklan atau slogan yang menyampaikan tentang penghematan energi listrik yang, di perkirakan 20 tahun ke depan, akan mengalami kesulitan dalam hal pasokan energi listrik.

  Terdapat banyak cara dalam menanggulangi permasalahan tersebut, diantaranya yaitu mencari sumber energi listrik alternatif. Cara yang lain yaitu dengan cara menghemat pemakaian listrik itu sendiri.

  Dari hal tersebut, penulis akan membuat alat yang bisa digunakan sebagai sarana dalam menghemat listrik, yaitu alat yang dapat mengatur nyala atau padamnya sebuah lampu dan tingkat kecerahan yang diinginkan. Di sini penulis memilih penghematan pada lampu, karena saat ini banyak energi yang terbuang percuma melalui lampu. Bila sistem ini selesai dibuat dan dapat berjalan dengan

  1.2 Perumusan Masalah

  Perumusan masalah yang timbul dalam perancangan pengatur nyala atau padam lampu dan tingkat kecerahan lampu ini adalah :

  1. Bagaimana membuat pengatur nyala atau padam lampu dan tingkat kecerahan lampu menggunakan mikrokontroler AT89S51.

  2. Bagaimana kecerahan nyala lampu disesuaikan dengan kebutuhan pengguna.

  1.3 Batasan Masalah

  Agar permasalahan yang ada tidak berkembang menjadi luas, maka perlu adanya batasan masalah terhadap alat yang akan dibuat adalah :

  1. Terdapat sepuluh tingkat pilihan dalam pengaturan kecerahan cahaya pada lampu pijar.

  2. Mikrokontroler AT89S51 digunakan sebagai pengatur pulsa

  3. Tingkat kecerahan di tampilkan melalui LCD

  1.4 Tujuan Penelitian

  Tujuan dari penilitian ini adalah supaya dapat merancang dan membuat aplikasi mikrokontroler AT89S51 terutama pembuatan alat pengatur nyala atau

  1.5 Manfaat Penelitian

  Berdasar tujuan diatas diaharapkan penilitian ini dapat memberikan bebrapa manfaat, yaitu:

  1. Dapat menguasai mikrokontroler terutama AT89S51 secara baik dan dapat mengaplikasikan dalam pembuatan pengatur nyala atau padam lampu dan tingkat kecerahan lampu pijar.

  2. Menerapkan fungsi transistor NPN sebagai saklar.

  3. Dapat memahami dan mengerti cara kerja MOC sebagai penghubung antara mikrokontroler dengan rangkaian target.

  1.6 Sistematika Penulisan

  Sistematika penulisan proposal ini adalah :

BAB I PENDAHULUAN Bab ini berisi latar belakang, perumusan masalah, batasan masalah, tujuan, manfaat, dan sistem penulisan. BAB II DASAR TEORI Bab ini berisi dasar teori dari piranti atau komponen yang digunakan

BAB III RANCANGAN PENELITIAN Bab ini berisi bagaimana merancang perangkat keras pengatur nyala

  atau padam lampu dan tingkat kecerahan lampu berbasis mikrokontroler AT89S51. Terdapat juga rancangan perangkat keras secara keseluruhan dalam bentuk diagram blok dan juga memaparkan rancangan perangkat lunak mengenai alur algoritma dari perancangan pengatur nyala atau padam lampu dan tingkat kecerahan lampu.

  BAB IV HASIL PENGAMATAN DAN ANALISA Bab ini berisi cara kerja dan hasil penelitian dari alat pengatur nyala atau

  padam lampu dan tingkat kecerahan lampu berbasis Microcontroller AT89S51. Selain itu akan diberikan pembahasan dari hasil pengamatan langsung dari alat tersebut dengan rumusan yang diambil penulis dari dasar teori yang mendasari perancangan dan pembuatan alat pengatur nyala atau padam lampu dan tingkat kecerahan lampu Berbasis Microcontroller AT89S51 tersebut.

  BAB V KESIMPULAN DAN SARAN Bab ini berisikan kesimpulan serta saran-saran untuk pengembangan

BAB II DASAR TEORI

  2.1 Prinsip Kerja

  Prinsip kerja dari alat ini memberi masukkan data yang berupa pilihan tingkat kecerahan yang dimasukkan melalui tombol sesuai keinginan pengguna.

  Data tersebut akan dikirim ke mikrokontroler AT89S51. Jika data yang berupa tingkat kecerahan lampu telah dimasukkan, maka mikrokontroler akan menghidupkan lampu sesuai dengan data masukan dan data masukan akan ditampilkan pada penampil LCD.

  2.2 Mikrokontroler AT89S51

  Mikrokontroler AT89S51 merupakan keluaran terbaru dari keluarga Mikrokontroler MCS-51 buatan Atmel yang menguasai teknologi pembuatan FPEROM (Flash Programmable and Erasable Read Only Memory). FPEROM adalah ROM (Read Only Memory) yang dapat dihapus dan ditulis kembali dengan teknologi flash.

  Mikrokontroler AT89S51 merupakan sebuah mikrokontroler CMOS 8-bit dengan daya rendah (low-power) dengan flash memory sebesar 4K bytes untuk

  

Watchdog Timer dan Two Data Pointers, Flexible ISP Programming (Byte dan

Page Mode ).

2.2.1 Memori Program Dan Memori Data

  Memori program hanya bisa dibaca saja dan dapat diakses langsung hingga 64 Kbyte. Strobe (tanda) untuk akses program memori eksternal diakses melalui sinyal PSEN (Program Store Enable). Lokasi-lokasi dalam pelayanan interupsi lokasi-lokasi dengan jarak 8 byte, misalnya: 0003h untuk eksternal

  interrupt 0, 000Bh untuk timer 0.

  Alamat-alamat yang paling bawah dari memori program dapat berada dalam flash on-chip maupun memori eksternal. Untuk melakukan hal ini dilakukan pengkabelan pada pin EA atau External access ke Vcc (akses internal) atau GND (akses eksternal) sesuai kebutuhan. Apabila EA = GND, maka semua pengambilan instruksi langsung dilakukan pada memori eksternal, sedangkan pengaksesan instruksi pada memori internal tidak melibatkan PSEN. Alamat memori program panjangnya selalu 16 bit, walau demikian jumlah memori program yang digunakan bisa kurang dari 64 Kbyte. Eksekusi program eksternal mengorbankan dua port 8 bit (P0 dan P2), karena kedua port tersebut berfungsi sebagai jalur pengalamatan dan pengiriman instruksi dari memori eksternal. pengalamatan tak langsung (inderect addressing) dengan alamat diatas 7Fh mengakses ruang memori lain yang berbeda.

2.2.2 Set Instruksi

  Semua anggota keluarga Mikrokontroler AT89S51 Atmel mengeksekusi set instruksi yang sama. Set instruksi ini telah dioptimasi untuk aplikasi kontrol 8 bit serta menyediakan berbagai macam mode pengalamatan yang cepat untuk akses RAM internal guna memfasilitasi operasi byte pada struktur data yang kecil.

  Set instruksi juga menyediakan dukungan penuh untuk variabel–variabel 1-bit sebagai tipe data yang terpisah, yang memungkinkan manipulasi bit secara langsung dalam sistem–sistem kontrol dan logika yang memerlukan pemrosesan Boolean.

2.2.2.1 Set Instruksi Dalam Mikrokontroler

  Secara keseluruhan mikrokontroler mempunyai 225 macam instruksi, yang dibentuk dengan mengkombinasikan instruksi dan operan. Instruksi tersebut dikelompokan sebagai berikut : a.

   Kelompok Transfer Data

  Kode dasar untuk kelompik ini adalah MOV, singkatan dari move yang

  b. Kelompok Aritmatika

  Operasi aritmatika terdiri dari : penjumlahan, penambahan satu, pengurangan satu, pengurangan, perkalian dan pembagian.

  c. Kelompok Logika

  Kelompok perintah ini dipakai untuk melakukan operasi logika mikrokontroler MCS51, operasi logika yang bisa dilakukan adalah AND (kode operasi ANL), OR (kode operasi ORL) dan Exclusive (kode operasi XRL).

  d. Kelompok Percabangan

  Urutan pelaksanaan program dapat dikendalikan oleh instruksi percabangan bersyarat maupun tidak bersyarat.

  e. Kelompok Operasi Bit

  Kelompok ini menangani instruksi yang banyaknya 1 bit. Register yang . dipakai adalah register carry

2.2.2.2 Mode Pengalamatan

  Data atau operan bisa berada pada tempat yang berbeda sehingga dikenal beberapa cara untuk mengakses data / operan tersebut yang dinamakan sebagai mode pengalamatan (addressing mode) antara lain : alamat memori tidak disebut secara langsung tapi dititipkan ke register lain.

  Contoh : MOV A, @RO.

  b. Pengalamatan Langsung ( Direct Addressing )

  Cara ini dipakai untuk menunjukkan data yang berada di dalam memori dengan cara mengambil alamat memori tempat data tersebut berada.

  Contoh : MOV A, 3Ah.

  c. Instruksi Register Cara ini digunakan untuk menunjukkan data yang berada dalam register.

  Contoh : MOV A, R3.

  d. Instruksi Register Khusus Beberapa instruksi hanya dikhususkan untuk suatu register tertentu.

  Misalkan saja suatu instruksi yang hanya bekerja pada akumulator saja, sehingga tidak memerlukan alamat byte untuk menunjuk ke akumulator tersebut. Dalam hal ini, op-code sendiri telah mengandung penunjuk ke register yang benar. Instruksi yang mengacu akumulator sebagai A akan dikodekan dengan op-code spesifik akumulator.

  e. Konstanta Segera ( Immediate Constants )

  Nilai dari suatu konstanta dapat segera menyatu dengan op-code dalam

f. Pengalamatan Terindeks ( Indexed Addressing ) Memori program hanya bisa diakses melalui pengalamatan terindeks.

  Mode pengalamatan ini ditujukan untuk membaca tabel tengok ( look-up

  tables ) yang tersimpan dalam memori program ( data yang menyatu

  dengan program ). Tipe lain dari pengalamatan terindeks digunakan dalam instruksi-instruksi ‘lompat bersyarat’. Dalam hal ini, alamat tujuan dari instruksi lompat ( jump ) dihitung sebagai jumlah dari petunjuk dasar ( base pointer ) dengan data akumulator.

2.2.3 Port Mikrokontroler AT89S51

  U1 1 2 3 4 5 6 7 8

  9 10 11 12 13 14 15

  16 17 18 19 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 P1.0 P1.1 P1.2 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

P2.0(A8)

P2.0(A9)

P2.2(A10)

P2.3(A11)

P2.4(A12)

P2.5(A13)

P2.6(A14)

P2.7(A15)

PSEN

ALE/PROG

EA/VPP

P0.7(AD7) P0.6(AD6) P0.5(AD5) P0.4(AD4) P0.3(AD3) P0.2(AD2) P0.1(AD1) P0.0(AD0)

VCC

  Mikrokontroler AT89S51 memiliki 40 pin/kaki, 32 pin diantaranya

digunakan sebagai port pararel. 32 pin tersebut dibagi menjadi 4 buah port

pararel yaitu port 0, port 1, port 2 dan port 3. Bentuk dari mikrokontroler

AT89S51 dapat dilihat pada gambar 2.1.

  1. Port 0 Port 0 adalah port dua arah yaitu keluaran / masukan. Jika angka ‘1’

  tertulis pada pin-pin Port 0, maka pin tersebut akan dapat digunakan sebagai high-impedance inputs. Port 0 juga menerima byte kode selama proses pemrograman Flash dan output byte kode selama verifikasi program.

  2. Port 1 Port 1 berfungsi sebagai I/O biasa atau menerima low order address bytes

  selama pada saat flash programming. Port ini memiliki internal pull up dan berfungsi sebagai input dengan memberikan logika ‘1’. Sebagai output

  port ini dapat memberikan output sink keempat buah input TTL. Untuk tabel Port 1 akan ditunjukkan pada Tabel 2.1.

Tabel 2.1 Port 1

  Port Pin Alternate Functions P1.5 MOSI (used for In-System Programming) P1.6 MISO (used for In-System Programming) P1.7 SCK (used for In-System Programming) 3.

   Port 2 Port 2 berfungsi sebagai I/O biasa. Port ini memiliki internal pull up dan

  berfungsi sebagai input dengan memberikan logika ‘1’. Sebagai output,

  4. Port 3 Port 3 berfungsi sebagai I/O biasa. Port ini memiliki sifat yang sama

  dengan port 1 dan port 2. Port 3 memiliki beberapa fungsi spesial seperti ditunjukkan pada Tabel 2.2.

Tabel 2.2 Port 3

  Port Pin Alternate Functions P3.0 RXD (serial input port) P3.1 TXD (serial output port) P3.2 INT0 (external interrupt 0) P3.3 INT1 (external interrupt 1) P3.4 T0 (timer 0 external input) P3.5 T1 (timer 1 external input) P3.6 WR (external data memory write strobe) P3.7 RD (external data memory read strobe)

  5. PSEN Program Store Enable berfungsi pada saat mengeksekusi program yang terletak pada memori eksternal.

  6. ALE/ PROG

  Keluaran ALE (Address Latch Enable) menghasilkan pulsa-pulsa yang akan digunakan untuk mengancing byte rendah (low byte) alamat selama mengakses memori eksternal. Pin ini juga berfungsi sebagai masukan pulsa program (program pulser input) selama pemrograman flash.

  8. RST

  Merupakan masukan reset, apabila diberi masukan ‘1’ selama dua siklus mesin pada saat osilator bekerja maka akan mereset mikrokontroler tersebut.

  9. XTAL 1 dan XTAL 2

  Mikrokontroler AT89S51 telah memiliki on-chip osilator yang dapat bekerja dengan menggunakan kristal eksternal yang dihubungkan ke kaki

  XTAL 1 dan XTAL 2.

  10. Vcc Port yang akan dihubungkan ke suplai tegangan yaitu + 5 V DC.

  11. GND Port yang akan dihubungkan ke ground.

2.2.4 Timer dan Counter Mikrokontroler AT89S51

  Mikrokontroler AT89S51 dilengkapi dengan dua perangkat timer/ counter yaitu timer 0 dan timer 1. Pencacah biner timer/counter AT89S51 merupakan pencacah biner naik (count up binary counter) yang mencacah dari 0000h sampai FFFFh, saat kondisi pencacah berubah dari FFFFh kembali ke 0000h akan timbul sinyal limpahan (overflow). Register-register yang terdapat dalam timer/counter

  1. TMOD (timer mode register)

  Register TMOD berupa 8 bit register yang terletak pada alamat 89h dengan fungsi setiap bit adalah sebagai berikut:

  • Gate : timer akan berjalan jika bit ini diset
  • C/ T : 1 = counter 0 = timer
  • M1 & M2

  : untuk memilih mode timer

Gambar 2.2 Keterangan Register TMOD

  2. THx dan TLx

  Merupakan register yang menunjukan nilai dari timer. Masing-masing

  timer memiliki dua buah register yaitu: THx untuk timer high byte dan TLx untuk timer low byte.

  3. TCON (timer control register)

  Register ini hanya memiliki 4 bit saja, yaitu bit 4, bit5, bit6 dan bit7 dari register TCON. Yang memiliki fungsi yang berhubungan dengan timer.

  • TF1 : timer 1 over flag yang akan set bila timer 1 overflow.
  • TR1

  : 1 = timer 1 aktif

Gambar 2.3 Keterangan Register TCON

  Timer AT89S51 memiliki empat buah mode kerja timer dimana setiap mode memiliki masing-masing fungsi. Penentuan mode kerja timer dilakukan dengan melakukan inisialisasi pada register TMOD.

  1. Mode 0

  Pada mode ini, timer bekerja dengan mode 13 bit timer ketika overflow terjadi saat terjadi perubahan kondisi dari ketiga belas bit yang tersimpan di register TLx dan THx (x = 0 untuk timer 0 dan x = 1 untuk timer 1) menjadi logika 0 setelah sebelumnya mencapai logika 1. Pada aplikasi sebagai counter kembali menghitung dari awal. Bit TFx akan berlogika 1 pada saat kondisi overflow terjadi.

  2. Mode 1

  Pada mode ini, timer berfungsi sebagai 16 bit timer yang akan menghitung naik mulai dari 0000h hingga FFFFh. Dari perhitungan tersimpan pada register TLx untuk low byte dan THx untuk high byte.

  3. Mode 2

4. Mode 3

  Pada Mode 3 TL0, TH0, TL1 dan TH1 dipakai untuk membentuk 3 untaian pencacah, yang pertama adalah untaian pencacah biner 16 bit tanpa fasiltas pemantau sinyal limpahan yang dibentuk dengan TL1 dan TH1. Yang kedua adalah TL0 yang dipakai sebagai pencacah biner 8 bit dengan TF0 sebagai sarana pemantau limpahan. Pencacah biner ketiga adalah TH0 yang dipakai sebagai pencacah biner 8 bit dengan TF1 sebagai sarana pemantau limpahan.

2.2.5 On-Chip Osilator

  Mikrokontroler AT89S51 buatan Atmel mempunyai osilator on-chip, yang dapat digunakan sebagai sumber detak (clock) ke CPU. Cara menggunakannya adalah dengan menghubungkan sebuah resonator kristal atau keramik di antara kaki-kaki XTAL1 dan XTAL2 pada Mikrokontroler dan hubungkan kapasitornya ke ground.

2.3 ISP (In-System Programming)

  Program MCS-51 ISP dirancang untuk mengisi memori program MCS-51 secara In-System Programming. Didalam perancangan ini, digunakan rangkaian digunakan sangat sederhana, hanya terdiri atas sebuah parallel port DB25 dan beberapa utas kabel.

  Parallel port DB25 ini dihubungkan ke sistem target dengan melalui enam

  utas kabel, yaitu 2 kabel untuk dihubungkan ke ground yang ditempatkan pada pin 24 dan pin 25 pada port paralel DB25, sedangkan 4 kabel lainnya sebagai sinyal kontrol yang berfungsi untuk mengisi memori program MCS-51. Sinyal kontrol yang pertama adalah RESET yang dipakai untuk me-reset MCS-51.

  Sinyal kontrol RESET ini menempati pin 9 pada mikrokontroler AT89S51 yang nantinya akan dihubungkan pada pin 6 (D4) port paralel DB25 dalam pengisian memori program. Sinyal kontrol lainnya adalah MOSI (master out slave

  

in ) yang berfungsi untuk mengirimkan data dari PC ke MCS-51. Sinyal kontrol

  MOSI yang terdapat pada pin 6 (P1.5) pada mikrokontroler AT89S51 yang akan dihubungkan pada pin 7 (D5) pada port paralel DB25.

  Berikutnya adalah sinyal MISO (master in slave out) yang berfungsi untuk mengirimkan data dari MCS-51 ke PC, dimana MISO ini terdapat pada pin 7 (P1.6) pada mikrokontroler AT89S51 yang akan dihubungkan ke pin 10 (ACK) pada parallel port DB25. Sinyal kontrol SCK (serial clock) yang berfungsi untuk mendorong data secara seri yang terdapat pada pin 8 (P1.7) pada mikrokontroler AT89S51 yang akan dihubungkan dengan pin 8 (D6) pada parallel port DB25.

Tabel 2.3 Keterangan Hubungan Antara PC dan AT89S51 pada ISP

  Port Paralel (DB25) MCS-51 (AT89S51)

  Pin 6 (D4) Pin 9 (RESET) Pin 7 (D5) Pin 6 (MOSI / P1.5) Pin 8 (D6) Pin 8 (SCK / P1.7) Pin 10 (ACK) Pin 7 (MISO / P1.6) Pin 20-25 (GND) Pin 20 (GND)

2.4 Rangkaian Reset

  Rangkaian reset digunakan untuk me-reset program yang terdapat pada mikrokontroler pada saat catu daya dihidupkan agar pada saat start awal pin reset mendapat tegangan 5 V sesaat untuk reset. Lamanya waktu reset pada saat awal adalah waktu start up ditambah dengan dua siklus mesin. Vcc 5 V R C RST

  Vcc AT89S51 GND

Gambar 2.4 Rangkaian Power-on Reset AT89S51

  Pada rangakaian reset (gambar 2.4) sebenarnya hanya merupakan rangkaian sedangkan V R (tegangan antara pin RST dengan ground) akan mengecil. Yang perlu diperhatikan untuk rangkaian ini adalah nilai R dan C agar selama minimal 2 siklus mesin (2µd) masih berlogika 1. Dari data sheet AT89S51, tegangan masukan untuk logika 1 pin RST memiliki batas bawah (V

  IH1(min) adalah 0,7 Vcc.

  Untuk menghitung besarnya nilai R dan C dapat menggunakan persamaan

  V R sebagai berikut:

  VccVc

  ≥ 0,7 Vcc

  

t / RC

  1 –

  Vcc Vcce ( ) ≥ 0,7 Vcc t / RC

  {1– 1 }

  Vcce ( ) ≥ 0,7 Vcc

  − t / RC

  − e ≥ 0,7 Vcc

  − t / RC

  • – ln

  e

  ≥ ln0,7 Vcc

  t ⎛ − ⎞

  • RC

  ≥ ln0,7 Vcc

  ⎜ ⎟

  ⎝ ⎠ t

  ≥ ln0,7 Vcc

  RC t

  ≥ RC ln , 7 -6

  2.10 ≥ RC ln0,7

  • 5,607 µs

  ≥ RC

  RC ≥ 5 , 607 µ s ................................ (2.2)

2.5 Titik Nol (Zero Crossing)

  Titik nol berfungsi untuk menentukan di titik mana (pada 1 periode

Gambar 2.5 Letak titik nol (zero crossing) dari tegangan AC

  Dengan menggunakan fungsi transistor sebagai saklar, akan diperoleh bentuk tegangan masukan dan tegangan keluaran. Contoh bentuk gelombang dengan tegangan masukan (misal : 5 volt) dan bentuk tegangan keluaran terhadap waktu periode (= t, dengan satuan millisekon) dapat dilihat dalam gambar 2.6

Gambar 2.6 V Input dan V Output zero crossing terhadap t(ms)

2.6 Transistor sebagai saklar

Gambar 2.7 Konfigurasi common emitter sebagai saklar transistor NPN

  Pada umumnya saklar transistor menggunakan konfigurasi common emitor seperti ditunjukkan pada Gambar 2.7 Saat transistor berada pada kondisi jenuh (saturation) tegangan kolektor-emitor (Vce) mendekati nol dan menyebabkan arus kolektor (Ic) mengalir dari kolektor ke emitor, kondisi ini dianalogikan seperti saklar dalam keadaan tertutup atau on. Pada kondisi menyumbat (cut-off) Vce mendekati tegangan suplai (Vcc), sehingga Ic tidak dapat mengalir dari kolektor ke emitor, kondisi ini dianalogikan seperti saklar yang terbuka atau off.

  • +V Rb Rc

  2 ke beban

  1

  3 Gambar 2.8 Saklar transistor NPN dengan tegangan muka dari sebuah Rc dan tahanan basis Rb yang berfungsi untuk mengaktifkan transistor bekerja pada daerah yang diinginkan dan memberikan efek seperti saklar, yaitu pada daerah jenuh (saturation) dan daerah sumbat (cut-off). Nilai tahanan kolektor Rc dan tahanan basis Rb dihitung dengan persamaan sebagai berikut :

  VbVbe

  R B = ......................................................................(2.3.a)

  Ib

  ( )

  VccVce sat

  R C = .............................................................(2.3.b)

  Ic ( sat )

  Vb merupakan tegangan basis yang harus diberikan untuk membuat transistor dalam keadaan jenuh (saturation) sehingga Vb harus setinggi :

  • Vb = . Ib Rb Vbe ..................................................................(2.3.c) Vbe adalah tegangan basis-emitor atau break down voltage yang harus diberikan ke basis–emitor agar transistor mencapai kondisi jenuh (saturation). I B diperoleh dari persamaan :

  Ic

  I B = ...............................................................................(2.3.d)

  dc

  β Faktor ßdc dapat dilihat dari lembar data transistor yang digunakan atau dihitung dari perbandingan antara Ic dan Ib. Dalam kondisi menyumbat (cut-off) tegangan kolektor-emitor Vce ≈ Vcc dan dalam kondisi jenuh Vce ≈ 0. saklar, seperti pada gambar 2.9 (B). Oleh karena itu, triac dapat mengendalikan arus pada kedua arah. Tegangan penyalaan biasanya tinggi, sehingga cara yang normal untuk menyalakan triac adalah dengan menerapkan pemicu berprategangan maju. Lembaran data untuk triac selalu mencantumkan tegangan pemicu dan arus pemicu ini.

  • + + +

  V V

  V GATE -

  • - - (B) (C) (A)

Gambar 2.9 Rangkaian dasar triac

  Apabila tegangan V mempunyai polaritas seperti yang tampak pada

gambar 2.9 (A), maka harus menerapkan pemicu positif, yang akan menutup saklar di sebelah kiri. Bila tegangan V mempunyai polaritas yang berlawanan

  dibutuhkan pemicu negatif yang akan menutup saklar di sebelah kanan. Gambar 2.9 (C) merupakan lambang skematik dari sebuah triac.

  Rangkaian sederhana pemakaian triac terlihat dalam gambar 2.10 Kaki MT1 dan MT2 merupakan saklar yang mengatur aliran arus beban yang berasal dari sumber tegangan bolak-balik (AC). Dalam keadaan normal kaki MT1 dan MT2 tidak terhubung, sehingga tidak ada arus beban yang mengalir. Saat ada arus gate mengalir, MT1 akan terhubung ke MT2 dan mengalirkan arus beban.

  Arus gate hanya diperlukan untuk menghubungkan MT1 dan MT2, setelah itu MT1 akan tetap terhubung ke MT2 meskipun sudah tidak ada arus gate lagi.

  Pemberian arus gate sesaat untuk menghubungkan MT1 dan MT2 dikatakan sebagai menyulut (men-trigger) triac. MT1 terhubung terus ke MT2 selama arus beban yang mengalir lebih besar dari arus minimum (holding current).

Gambar 2.11 (a) merupakan contoh lain dari rangkaian triac sebagai pengendali fase. Rangkaian RC yang memvariasikan sudut fase tegangan gerbang

  triac. Rangkaian tersebut dapat mengatur arus melalui sebuah beban yang besar.

Gambar 2.11 (b) dan 2.11 (c) menunjukkan tegangan catu dan tegangan gerbang yang tertinggal. Saat tegangan kapasitor cukup besar untuk mencatu arus pemicu,

  triac akan menghantar. Sekali menghantar, triac akan terus menghantar sampai tegangan catu kembali nol.

Gambar 2.11 (b) dan (c) Triac sebagai pengendali faseTabel 2.4. menunjukkan triac yang tersedia secara komersial. Terlihat, tegangan pemicu gerbang pada tabel adalah dari 2 sampai 2,5V dan arus pemicu

  gerbang dari 10 mA sampai 50 mA. Arus maksimum anoda dari 1A sampai dengan 15 A.

Tabel 2.4. Triac yang tersedia secara komersial

  Seri Piranti

  V GT’ (V) I GT’ (mA) I max’ (A) V max’ (V) Q201E3 Q4004L4 Q5010R5 Q6015R5

  2 2,5 2,5 2,5

  10

  25

  50

  50

  1

  4

  10

  15 200 400 500 600

2.7.1 Penentuan Pemicuan Triac

Gambar 2.12. Satu periode sinusoidalGambar 2.12 menunjukkan 1 periode gelombang sinusoidal dengan frekuensi 50 Hz. Apabila diambil setengah periodenya, maka didapatkan waktu

  setengah periodenya 10 ms. Luasan yang diarsir merupakan luasan penggunaan daya yang diterima triac. Untuk menghitung luasan yang diarsir tersebut dapat dicari dengan rumus :

  180 x ∫ Sin x dx = - Cos 180° – ( - Cos x ) ...........................................(2.4.a)

  Misal penggunaan daya 100% (daerah yang diarsir pada gambar 2.13) maka dapat dilakukan perhitungan luasan daya selama setengah siklus gelombang sinusoidal (AC).

2.7.2. Penentuan Tahanan Gate Triac

  Untuk menentukan Rgate dapat dihitung dengan rumus : Vgate = Igate . Rgate

  Vgate

  Rgate = ......................................................................(2.4.b)

  Igate

2.8 Regulator LM7805

  Regulator LM7805 ini adalah IC regulator yang dapat menstabilkan

  tegangan searah positif dengan masukan 8 Volt sampai 20 Volt. LM7805 dapat mengeluarkan tegangan maksimum 5,35 V apabila dilengkapi peredam pada heat yang memadai dan pada daya kurang atau sama dengan 15 Watt. IC regulator

  sink

  seri LM7805 mempunyai karakteristik sebagai berikut :

  a. Menstabilkan tegangan searah positif dengan masukan tegangan dari 8 Volt sampai 20 Volt DC.

  b. Tegangan keluaran dapat mencapai 5,35 V.

  c. Tidak memerlukan tambahan komponen ekstern.

  d. Pembatas arus hubungan singkat intern.

  Seri LM7805 dapat diperoleh dalam kemasan TO-22C plastik dan logam. Pada gambar 2.13 ditunjukkan bentuk fisik dari IC LM7805 yang digunakan, dan

Gambar 2.13. Bentuk fisik dari IC LM7805.Tabel 2.5. Karakteristik regulator tegangan IC LM7805

  I out (Ampere) Vin (Volt) Tipe

  V out (Volt) 78xxC 78Lxx 78Mxx Min Max 7805 5 1 0,1 0,5 7,5 20

  Penggunaan IC LM7805 untuk regulasi tegangan ditunjukkan dalam gambar 2.14. LM7805 VIN 1 GN

D

3

VOUT 2 Gambar 2.14 Penggunaan IC LM7805 untuk regulasi tegangan

  C2 2 VOUT

LM7805

3 GN D VIN 1

0,1 uF 22 uF

C1

Gambar 2.15.

  Catudaya dengan regulator LM7805 dan kapasitor masukan untuk melindungi osilasi dan kapasitor keluaran untuk memperbaiki tanggapan frekuensi.

  Fungsi kapasitor masukan dan keluaran terhadap regulator LM7805 terlihat dalam

gambar 2.15. Untuk memperbaiki respon transient (tanggapan frekuensi) pada tegangan keluaran teregulasi, kapasitor bypass C sering digunakan pada pin 2.

  2 Nilai yang sering digunakan adalah dari 0,1 µF sampai 1 µF. Data sheet IC