1 MODUL PRAKTIKUM MIKROKONTROLLER DAN PENGGANTI PLC DENGAN MENGGUNAKAN AT89S52 Diajukan Guna Melengkapi Salah Satu Persyaratan Untuk Memperoleh Gelar Sarjana ( S1) Program Studi Teknik Elektro Disusun oleh: AKHMAD WAHYU DANI 4140401-024 PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS TEKNOLOGI INDUSTRI UNIVERSITAS MERCU BUANA JAKARTA 2009 2 LEMBAR PENGESAHAN TUGAS AKHIR Nama : Akhmad Wahyu Dani NIM : 4140401 - 024 Fakultas : Teknik Program Studi : Teknik Elektro Peminatan : Elektronika Judul Tugas Akhir : " MODUL PRAKTIKUM MIKROKONTROLLER SEBAGAI PENGGANTI PLC DENGAN MENGGUNAKAN AT89S52 " Jakarta, 14 Februari 2009 Di setujui dan diterima Mengetahui Pembimbing Utama Koordinator Tugas Akhir ( Ir.Eko Ihsanto M.Eng. ) ( Drs. Jaja Kustija, MSc.) 3 SURAT PERNYATAAN Saya yang bertanda tangan dibawah ini: Nama : Akhmad Wahyu Dani NIM : 4140401-024 Jurusan / Fakultas : Teknik Elektro / Fakultas Teknologi Industri Dengan ini menyatakan bahwa skripsi yang saya buat ini dengan judul “MODUL PRAKTIKUM MIKROKONTROLLER SEBAGAI PENGGANTI PLC DENGAN MENGGUNAKAN AT89S52” adalah murni buatan saya sendiri berdasarkan data yang saya peroleh melalui hasil pengujian, pengamatan, internet, dan buku referensi. Demikian surat pernyataan ini dibuat untuk keperluan yang semestinya. Jakarta Februari 2009 Penyusun Akhmad Wahyu Dani 4 ABSTRAK MODUL PRAKTIKUM MIKROKONTROLLER DAN PENGGANTI PLC DENGAN MENGGUNAKAN AT89S52 Oleh Akhmad Wahyu Dani 4140401-024 Programmable Logic Controller (PLC) adalah piranti elektronik yang dibuat sebagai pengganti kumpulan relay-relay mekanik yang digunakan dalam sistem kontrol. Perubahan status keluaran PLC tergantung dari logika-logika proses yang diterapkan pada masukannya. Logika-logika proses tersebut dibuat menggunakan Statement list dengan menggunakan bahasa basic yang di kompailer (BASCOM). Alat ini telah dirancang dan dibuat dengan spesifikasi dua belas buah masukan digital, dua belas buah keluaran digital, dan komunikasi serial. Modul ini di buat sebagai salah satu cara untuk mengajarkan aplikasi mikrokontroller dengan mudah dan jelas dan juga bertujuan untuk menyediakan PLC dengan spesifikasi minimum menggunakan mikrokontroler AT89S52. 5 ABSTRACT MODULE PRACTICE OF MICROCONTROLLER AND IN THE PLACE OF PLC BY USING AT89S52 By Akhmad Wahyu Dani 4140401-024 Programmable Logic Controller (PLC) is an electronic device made to replace a set of mechanical relays in a control system. The change in output status of the PLC depends on process logics applied to inputs. The process logics are programmed by a statement list using basic language which in compiler ( BASCOM ). This Device has been designed and implemented with the spesifications of twelve digital input, twelve digital output, and a serial communication. This module in making as one of [the] way to teach the application mikrokontroller easily and clearly as well as aim to provide PLC with minimum specification use mikrokontroller AT89S52. 6 KATA PENGANTAR Dengan nama Allah yang maha pengasih lagi maha penyayang. Alhamdulillah, Puji syukur atas segala Rahmat dan Karunia-Nya, disertai doa restu keluarga, akhirnya dapat menyelesaikan skripsi ini. Penulis bersyukur, bahwa setelah berupaya keras, berdo’a dan bertawakal kepada Allah SWT serta atas bantuan dan dukungan dari semua pihak, akhirnya dapat menyelesaikan pembuatan dan penulisan tugas akhir ini dengan baik dan sesuai dengan waktu yang telah ditentukan. Pada kesempatan ini, penulis ingin mengucapkan terima kasih kepada: Pada kesempatan ini, penulis ingin mengucapkan terima kasih kepada: 1. Bapak dan Ibu tercinta yang selalu mendo’akan dan memberikan semangat agar penulis dapat menyelesaikan tugas akhir ini. 2. Bapak Ir. Eko Ihsanto, M.Eng, selaku Dosen Pembimbing yang telah banyak memberikan masukan dan dorongan dalam pembuatan dan penulisan tugas akhir ini. 3. Bapak Drs. Jaja Kustija, Msc, selaku Kepala Laboratorium jurusan Teknik Elektro yang telah mengizinkan penulis untuk menyelesaikan tugas akhur di Lab Elektro. 4. Bapak Yudhi Gunardi, ST. MT, Selaku Ketua Jurusan Teknik Elektro FTI – UMB. 5. Bapak DR. Ir. Andi Adriansyah, M. Eng, Selaku Dosen Jurusan Teknik Elektro FTI – UMB. 6. Bapak Nasir, ST Selaku Laboran Teknik Elektro, teman-teman Asisten Lab.Teknik Elektro, teman-teman angkatan 2004 7. Semua Pihak yang telah membantu menyelesaikan pembuatan dan penulisan tugas akhir ini Saya menyadari bahwa dalam penulisan tugas akhir ini masih banyak terdapat kekurangan. Oleh karena itu saran dan kritik yang membangun akan penulis terima dengan senang hati. Akhir kata penulis berharap agar tugas akhir ini bermanfaat khususnya bagi saya maupun pihak-pihak yang berkepentingan. Jakarta Februari 2009 Penulis 7 DAFTAR ISI Halaman Lembar Judul……..…………………………………………………………… i Lembar Pengesahan…………………………………………………………… ii Lembar Pernyataan……………………………………………………………. iii Abstrak………………………………………………………………………… iv Kata Pengantar………………………………………………………………… vi Daftar Isi………………………………………………………………………. vii Daftar Gambar………………………………………………………………… x BAB I BAB II PENDAHULUAN 1.1 Latar Belakang…………………………………………… 1 1.2 Rumusan Masalah………………………………………... 1 1.3 Batasan Masalah…………………………………………. 1 1.4 Tujuan Tugas Akhir……………………………………… 2 1.5 Blok Diagram Rancangan………………………………... 2 1.6 Sistematika penulisan…………………………………….. 3 LANDASAN TEORI 2.1 Programmable Logic Control (PLC)………………….. 4 2.1.1 Bagian - Bagian PLC………………………………….. 4 2.1.2 Prinsip Operasi PLC…………………………………... 6 2.1.3 Modul Output PLC……………………………………. 7 2.2 Relai…………………………………………………… 8 2.3 Transistor……………………………………………… 8 2.3.1 Prategangan Transistor………………………………… 11 2.3.2 Rangkaian Transistor Sederhana ................................... 17 2.4 TRIAC BTA08………………………………………... 19 2.5 Opto Isolator MOC 3020……………………………… 20 2.6 Mikrokontroller AT89S52 (MCS – 51 FAMILY)……... 21 2.6.1 PIN DESKRIPSI…………………………………….... 22 8 BAB III BAB IV 2.6.2 Konstruksi AT89S52……………………………………. 25 2.6.3 Oscilator………………………………………………... 27 2.6.4 Reset……………………………………………………. 27 2.6.5 Dasar kerja program……………………………………. 28 2.6.6 RAM dan Register dalam AT89S52……………………. 30 2.6.7 Register Serba Guna……………………………………. 32 2.6.8 Memori level Bit………………………………………... 33 2.6.9 Register Dasar MCS51…………………………………. 34 2.6.9.1 Program Counter……………………………………….. 35 2.6.9.2 Akumulator……………………………………………... 35 2.6.9.3 Program Status Word…………………………………… 36 2.6.9.4 Special Function Register (SFR) AT89S52…………….. 36 2.6.10 Uraian Singkat SFR…………………………………….. 39 2.7 42 AT89S ISP Programmer………………………………………… PERANCANGAN ALAT 3.1 Blok Diagram………………………………………………………. 45 3.2 Port Input Dan Output…………………………………… 46 3.3 Skematik Modul Power Supply…………………………… 49 3.4 Skematik Modul CPU……………………………………... 49 3.5 Skematik Modul Input…………………………………….. 50 3.5.1 Skematik Modul Input menggunakan Toggle Switch……... 54 3.5.2 Skematik Modul Input menggunakan Device Push Button.. 54 3.6 Skematik Modul Output…………………………………… 55 3.6.1 Output Transistor menggunakan Device LED…………….. 55 3.6.2 Output Relai menggunakan Device Motor DC……………. 55 3.6.3 Output TRIAC menggunakan Device Lampu Pijar……….. 56 3.7 56 Programming Device……………………………………… PERANCANGAN ALAT 4.1 Pengujian dengan menggunakan 2 Input Dan 2 Output…… 4.2 Pengujian dengan menggunakan Input Toogle Switch dan Output Triac (lampu)………………………………………. 57 60 9 4.3 Pengujian dengan menggunakan Input Push ON dan Output Triac (lampu)………………………………………. 4.4 Pengujian dengan menggunakan Input Push OFF dan Output Triac (lampu)………………………………………. 4.5 BAB V 62 Pengujian dengan menggunakan Sensor Cahaya dan Output Transistor (led)…………………………………….. 62 4.6 Contoh Prosedur Praktikum……………………………….. 64 4.7 Pengisian Program…………………………………………. 68 KESIMPULAN…………………………………………………. 74 DAFTAR PUSAKA LAMPIRAN 61 10 DAFTAR GAMBAR Gambar 1.1 Blok Diagram PLC 2 Gambar 1.2 Rancangan Sistem PLC 2 Gambar 2.1 Jenis-jenis PLC 5 Gambar 2.2 Flow Chart PLC 7 Gambar 2.3 Relay 8 Gambar 2.4 Transistor (a) Fisik dan (b) Diagram 9 Gambar 2.5 (a)Transistor NPN dan (b)Transistor PNP 10 Gambar 2.6 Penampang Transistor 11 Gambar 2.7 Blok diagram, skematik, dan simbol Transistor NPN 12 Gambar 2.8 Prategangan Maju-Mundur Transistor 13 Gambar 2.9 Arah Arus pada Rangkaian Basis Sekutu (Common Base) 14 Gambar 2.10 Transistor dengan Prategangan Common Emitter 14 Gambar 2.11 Pembagian Arus pada Common Emitter Transistor 15 Gambar 2.12 Arah Arus pada Rangkaian Emitter Sekutu (Common Emitter) 15 Gambar 2.13 Rangkaian Transistor Sederhana 17 Gambar 2.14 Simbol Transistor 18 Gambar 2.15 Transistor S9013 19 Gambar 2.16 Pin Transistor 19 Gambar 2.17 TRIAC BTA08 20 Gambar 2.18 Simbol TRIAC 20 Gambar 2.19 Simbol MOC 3020 20 Gambar 2.20 Opto Isolator MOC 3020 20 Gambar 2.21 AT89S52 21 Gambar 2.22 PIN AT89S52 22 Gambar 2.23 Osilator External 27 Gambar 2.24 Rangkaian Reset 28 Gambar 2.25 Intrupsi Program 30 Gambar 2.26 Denah Memori-Data 31 Gambar 2.27 Register Dasar 35 Gambar 2.28 SFR AT89S52 39 11 Gambar 2.29 Kabel ISP 42 Gambar 2.30 Pararel Port 43 Gambar 2.31 ISP Connector 43 Gambar 2.32 Pin ISP 44 Gambar 2.33 ISP Connector 44 Gambar 3.1 Blok Diagram 45 Gambar 3.2 Skematik Alat 47 Gambar 3.3 Skematik Power Supply 49 Gambar 3.4 Skematik Modul CPU 49 Gambar 3.5 Rangkaian Transistor sebagai saklar 50 Gambar 3.6 Garis Beban dan Titik Operasi Transistor 51 Gambar 3.7 (a) Input (off) (b) Input (on) 52 Gambar 3.8 Input 24 Volt. (a) Saklar OFF (b) Saklar ON 53 Gambar 3.9 Skematik Modul Input menggunakan Toggle Switch 54 Gambar 3.10 Skematik Modul Input dengan menggunakan Push Button 54 Gambar 3.11 Output Transistor menggunakan Device LED 55 Gambar 3.12 Modul Output Relai menggunakan Device Motor DC 55 Gambar 3.13 Modul Output TRIAC menggunakan Device Lampu Pijar 56 Gambar 3.14 Pin ISP 56 Gambar 4.2 Gambar alat 57 Gambar 4.1 Tegangan di P2.0 ketika Input OFF 58 Gambar 4.2 Tegangan di P2.0 ketika input ON 58 Gambar 4.3 Pin Output P3.1 59 Gambar 4.4 Pin Output P3.0 59 Gambar 4.5 Pengukuran Output Relai 3 dan 4 60 Gambar 4.6 Led 3 dan 4 menyala berdasarkan Sensor Cahaya 2 63 Gambar 4.7 Led 1,2,3, dan 4 mati berdasarkan Sensor Cahaya 63 Gambar 4.8 led 1 dan 2 menyala berdasarkan Sensor Cahaya 1 64 Gambar 4.9 Open BASCOM-8051 DEMO 64 Gambar 4.10 Tampilan BASCOM-8051 DEMO 65 Gambar 4.11 New file 65 Gambar 4.12 New Editor 66 Gambar 4.13 Pemberian Nama 66 Gambar 4.14 Penulisan Program 67 12 Gambar 4.15 Save File 67 Gambar 4.16 Compile 68 Gambar 4.17 Report 68 Gambar 4.18 ISP Connector 68 Gambar 4.19 Pin Connector 69 Gambar 4.20 Open Microcontroller ISP Software 69 Gambar 4.21 Tampilan Software 70 Gambar 4.22 LPT 70 Gambar 4.23 Select Device 71 Gambar 4.24 Device Not Connect 71 Gambar 4.25 Blank Program 72 Gambar 4.26 Select Program 72 13 BAB 1 PENDAHULUAN 1.1 Latar Belakang Salah satu sektor penting dalam kehidupan manusia adalah Industri. Hampir semua kebutuhan manusia tidak dapat lepas dari proses yang terjadi di industri. Dengan terus mengembangkan sistem pengendalian proses produksi merupakan salah satu cara industri untuk meningkatkan hasil produksi. Pengembangan ini dimulai dengan menggunakan sistem mekatronik ( sistem pengendali mekanik ) sebagai pengendali proses yang terjadi di industri. Programmable Logic Controller (PLC) adalah hasil Perkembangan di bidang elektronika yang melahirkan teknologi sistem pengendali yang bisa melakukan pengendalian secara diskrit dan analog, memiliki kemudahan dalam pemrograman dan handal untuk digunakan sebagai basis sistem otomasi di industri-industri. Menurut NEMA ( National Electrical Manufacturing Association ) PLC adalah perangkat elektronik digital yang memakai programmable memory untuk media simpan internal dari instruksi-instruksi yang mengimplementasikan fungsi-fungsi spesifik seperti logic sequential, timer, counter, dan aritmatika untuk mengontrol modul-modul input/output digital ataupun analog dari berbagai mesin atau Modul praktikum ini merupakan implementasi mikrokontroller yang dapat mempermudah dalam pengajaran mikrokontroller dan belum adanya PLC produduksi lokal merupakan alasan yang kuat untuk mengembangkan teknologi ini. 1.2 Rumusan Masalah Di karenakan latar belakang masalah di atas pertanyaan yang muncul adalah Bagaimana mengembangkan implementasi mikrokontroller dan Programmable Logic Controller (PLC) produksi lokal dengan harga yang lebih terjangkau dibandingkan dengan produk buatan luar negeri. 1.3Batasan Masalah Hal-hal yang akan dibahas dalam tugas akhir ini adalah perancangan dan pembuatan perangkat keras Modul menggunakan AT89S52. praktikum mikrokontroller sebagai pengganti PLC dengan 14 1.4 Tujuan Tugas Akhir Tujuan utama dari tugas akhir ini adalah membuat modul hardware yang dapat mewakili fungsi PLC antara lain : • Koneksi ke PC • I/O bertegangan 24 V 1.5 Blok Diagram Rancangan I/O Driver 1. 2. 3. 4. 5. Gambar 1.1 Blok Diagram PLC Ket : 1. P C ( computer ) 2. ISP konektor 3. Mikrokontroller 4. I/O Driver 24 V 5. Sistem Mekanik Programming device Program diagram ladder Program dalam intruksi PLC CPU PLC I N P U T Program aplikasi kendali Gambar 1.2 Rancangan Sistem PLC. O U T P U T Sistem Mekanik 15 1.6 Sistematika Penulisan Penulisan laporan tugas akhir ini dibagi menjadi lima bab. Setiap bab terdiri dari beberapa sub. BAB 1 PENDAHULUAN Bab 1`merupakan pendahuluan yang berisi latar belakang dan rumusan masalah, tujuan penelitian, ruang lingkup kajian, serta sistematika penulisan. BAB 2 TEORI DASAR Bab kedua menjelaskan tentang dasar teori yang digunakan untuk tujuan rancang bangun pembuatan sistem minimum PLC. BAB 3 PERANCANGAN ALAT Pada bab ketiga membahas tentang perancangan dan pembuatan sistem, meliputi pemrograman sistem operasi PLC pada mikrokontroler AT89S52 menggunakan bahasa Assembler dengan compiler PV32, pemrograman ladder diagram dengan perangkat lunak buatan sendiri yang menggunakan bahasa pemrograman Delphi dan implementasi hardware menggunakan mikrokontroler AT89S52. BAB 4 PENGUJIAN ALAT Bab keempat menganalisa hasil rancang bangun sistem yang diperoleh pada bab sebelumnya. BAB 5 KESIMPULAN DAN SARAN Bab ini merupakan kesimpula dan saran dari keseluruhan tugas akhir ini. DAFTAR PUSAKA 16 BAB 2 LANDASAN TEORI Dalam Proses perancangan Tugas akhir ini saya menggunakan berbagai Sumber Landasan Teori yang saling dihubungkan menjadi 1 kesatuan sehingga Rancangan tersebut dapat bekerja sesuai dengan apa yang diinginkan. Berikut ini akan saya jelaskan satu per satu dari Landasan Teori yang akan saya gunakan untuk Penulisan Tugas akhir ini. 2.1 Programmable Logic Control (PLC) PLC pada dasarnya adalah sebuah Komputer yang di design untuk dipakai di mesin Control, tetapi PLC bukan benar benar Komputer PC karena PLC dirancang untuk beroperasi di lingkungan Industri & disertai dengan Input / Output & bahasa pemrograman Control tersendiri. Pada awalnya PLC dipakai untuk menggantikan perangkat keras Relai Logika, tetapi karena perkembangan dari fungsi yang dipakai, sehingga aplikasi yangt dapat berjalan di PLC juga semakin Kompleks. Struktur PLC yang hampir sama dengan Komputer menyebabkan PLC mampu untuk menjalankan tidak hanya Relai Switching tetapi juga aplikasi lain seperti Timer, Counter, Comparator & lain lain. Keuntungan penggunaan PLC dibanding perangkat keras Relai Logika antara lain : • Ukuran yang Relatif lebih kecil. • Kemampuan untuk diprogram. • Relatif lebih murah. • Beberapa jenis PLC dapat diperbanyak Modul modulnya. • Dapat digunakan untuk memonitor jalannya Proses pengendalian yang sedang berlangsung. 2.1.1 Bagian - Bagian PLC Pada dasarnya bagian bagian PLC dapat dibagi menjadi 4 bagian utama, yaitu : • CPU • Modul Input / Output • Power Supply • Programming Device CPU adalah Otak dari sebuah Sistem PLC yang berfungsi untuk mengeksekusi Program yang ditanam oleh Programming Device, mengontrol Komunikasi antar Modul & melakukan perubahan Status I/O berdasarkan Program yang ada di Memori. Power Supply adalah Komponen PLC yang berfungsi untuk memberikan Arus Listrik ke Komponen PLC yang lain. Pada beberapa PLC arus listrik yang diberikan ke PLC dibedakan dengan arus listrik untuk Device External. Modul Input & Output adalah antarmuka PLC dengan Device External. Antarmuka ini 17 mengkonversi sinyal yang diterimanya dari Device External menjadi Sinyal Logika yang dapat dimengerti Oleh CPU Programming Device adalah alat untuk membuat Program yang nantinya akan ditanam di Memori Program PLC. Programming Device dapat berupa Personal Komputer ataupun Hand Held unit. Untuk dapat membuat Program yang dapat menjalan sebuah Sistem PLC. Ada 2 jenis PLC dilihat dari bentuknya yaitu PLC Modular & PLC Fixed seperti terlihat pada gambar dibawah ini. Gambar 2.1 Jenis-jenis PLC PLC yang kecil & memiliki I/O yang sedikit biasanya hadir dalam bentuk PLC Fixed. PLC jenis ini hadir dalam 1 paket, semua komponennya seperti CPU, antarmuka I/O, Power Supply & Port Komunikasi terintegrasi di dalamnya. Kelebihan utama dari PLC ini adalah harganya yang lebih murah & biasanya jenis serta jumlah I/O dapat ditambah dengan membeli Unit tambahannya (Expander Unit). Kelemahan PLC ini adalah keterbatasan Fitur yang tersedia, Jumlah I/O yang sedikit & yang paling utama jika terjadi kegagalan dalam 1 komponen Sistemnya maka komponen yang lain juga akan mengalami hal yang sama. PLC Modular adalah PLC dengan Fitur yang Relatif lengkap, jumlah & jenis I/O yang banyak, Fungsi yang dapat dijalankan juga banyak. Pada PLC ini Komponen Komponen terpisah menjadi Modul Modul. Setiap Modul memiliki fungsi tersendiri & terpisah dari Modul yang lain. Sebuah Back Plan mengkoneksikan Modul Modul tersebut secara Elektrik sehingga dapat berkomunikasi 1 sama lain. 2.1.2 Prinsip Operasi PLC PLC bekerja dengan melakukan Scanning Program secara Kontinyu berulang ulang. Proses Scanning terdiri dari 3 langkah yaitu : • Cek Status masukkan Modul Masukkan menerima Sinyal dari Device External & mengkonversikannyake Sinyal Logika yang dapat dimengerti oleh CPU serta menyimpannya dalam Register Input. • Eksekusi Program 18 CPU menjalankan Program Aplikasi Kontrol yang terdapat pada Memori dengan sinyal Logika yang ada di Register Modul Input sebagai masukkan dari Program tersebut. • Update Status keluaran Setelah mengeksekusi Program Aplikasi maka PLC akan mengupdate sinyal Logika pada Register Modul Keluaran. Modul keluaran mengkonversi Sinyal Logika yang ada di Register Keluaran menjadi Sinyal yang dapat dipakai untuk mengkontrol External Device yang lain. Setelah itu kembali lagi ke langkah pertama secara terus menerus & berulang ulang. Waktu untuk menjalankan ketiga Proses Scanning tersebut selama 1 kali disebut waktu Respon dari PLC. Waktu Respon ini berpengaruh terhadap kesalahan pembacaan Status input, semakin kecil waktu Respon PLC maka semakin kecil kemungkinan terjadi kesalahan pembacaan Status masukkan. Urutannya dapat dilihat pada Flowchart di bawah ini. Start Tidak Ada Input? Ya Eksekusi Program Update Status Output Program Selesai? Ya Stop Gambar 2.2 Flow Chart PLC Tidak 19 2.1.3 Modul Output PLC PLC memiliki 3 jenis Modul Output yang dapat digunakan untuk keperluan yang berbeda beda tergantung kebutuhan. 3 jenis Modul Output tersebut adalah : 2.2 o Output Relai o Output Transistor o Output TRIAC Relay Relai adalah sebuah Switch yang dibentuk dari sebuah plat inti yang dapat menempel pada plat lainnya yang berada di sebelah kiri & kanannya. Posisi default dari kondisi plat inti adalah menempel pada Plat yang berada di sebelah kanannya karena terdapat sebuah pegas yang mendorongnya ke arah kanan. Plat sebelah kiri menempel sebuah kumparan yang dapat berfungsi sebagai Magnet penarik Plat Inti. Apabila kumparan tersebut mendapatkan tegangan & Ground maka kumparan tersebut akan menjadi Magnit yang akan menarik Plat inti untuk menempel ke plat sebelah kiri & tidak menempel ke plat yang sebelah kanan. Relai mempunyai 5 buah kaki dengan fungsi : 1. Coil1 yang harus mendapat +VCC 24 Volt. 2. Coil2 yang harus mendapat Ground. 3. Common yaitu kaki untuk dihubungkan pada arus input yang ingin dilewatkan pada switch. 4. Normally Open yaitu switch yang belum terhubung pada saat relai belum bekerja. 5. Normally Close yaitu switch yang sudah terhubung pada saat relai belum bekerja. Gambar 2.3 Relay 2.3 Transistor Transistior adalah komponen yang merupakan bangunan utama dari perkembangan elektronika. Divais semikonduktor biasanya diklasifikasikan dalam 2 pembagian besar, yaitu: Bipolar Juction Transistor (BJT) atau biasa disebut dengan Transistor saja dan Field Effect Transistor (FET). Pada umumnya, Transistor digunakan pada 3 fungsi, yaitu: sebagai saklar, pembentuk sinyal dan penguat rangkaian. Contoh sebuah Transistor dan terminal-terminalnya tampak pada Gambar 2.4 20 (a) (b) Gambar 2.4 Transistor (a) Fisik dan (b) Diagram Transistor adalah divais 3 terminal (kaki) dan terdiri dari 2 tipe yang berbeda, yaitu Transistor NPN dan Transistor PNP. Blok diagram, skematik dan simbol Transistor, baik NPN dan PNP dapat dilihat pada Gambar 2.4. Transistor dibuat dengan menggabungkan 3 keping semikonduktor dengan doping dan ketebalan yang berbeda. Transistor NPN memilki 1 daerah p yang diapit oleh 2 daerah n, sedangkan Transistor PNP memiliki 1 daerah n yang diapit oleh 2 daerah n. Dari penggabungan ketiga terminal tersebut, maka terdapat 2 persambungan (junction) antara daerah n dan daerah p. Persambungan ini memiliki sifat dan karakteristik seperti Dioda biasa, yang telah dibahas pada modulmodul sebelumnya. (a) 21 (b) Gambar 2.5 Blok diagram, skematik, dan simbol (a)Transistor NPN dan (b)Transistor PNP Sebagaimana terlihat pada Gambar 2.5 diatas, terminal-terminal Transistor disebut dengan Emiter (E), Basis (B), dan Kolektor (C). Terminal Emiter didop sangat banyak dengan bagian yang sedang, Basis didop dengan konsentrasi sedikit sekali dengan bagian yang paling tipis, dan Kolektor didop sedang dengan bagian yang besar. Pendopan dan pembagian ini akan bermanfaat untuk mendukung fungsi dan cara kerja Transistor. Gambar 2.6 memperlihatkan sebuah penampang semikonduktor yang difabrikasi untuk membuat sebuah Transistor. Gambar 2.6 Penampang Transistor Perbandingan konsentrasi doping antara terminal Basis, Kolektor, dan Emiter adalah 1015, 1017, dan 1019. Jadi, sifat elektrik masing-masing terminal tidak simetris dan masing-masing keluaran tidak dapat dipertukarkan. Agar tidak menimbulkan kebingungan, pada pembahasan awal, hanya akan dipusatkan pada Transistor NPN terlebih dahulu. 2.3.1 Prategangan Transistor Sebagaimana diperlihatkan pada Gambar 2.7 Transistor memiliki 2 persambungan, satu diantara Emiter dan Basis, disebut dengan Dioda Basis - Emiter, dan lainnya diantara Kolektor dan Basis, disebut dengan Dioda Basis - Kolektor. Karena setiap dioda memiliki 2 kemungkinan prategangan, yaitu Prategangan Manu (forward biased) dan Prategangan Mundur (reverse biased), 22 maka Transistor memiliki 4 (empat) kemungkinan prategangan. Kemungkinan prategangan masingmasing dioda ditampilkan pada Tabel 2.1. Gambar 2.7 Blok diagram, skematik, dan simbol Transistor NPN Tabel 2.1 Kemungkinan Prategangan Dioda Basis-Emiter dan Basis-Kolektor Dioda Basis-Emiter Dioda Basis-Kolektor Forwar Biased Forwar Biased Forwar Biased Reverse Biased Reverse Biased Forwar Biased Reverse Biased Reverse Biased Jika kedua Dioda (Dioda Emiter dan Dioda Kolektor) diberi prategangan maju, maka kedua Dioda tersebut akan menghantarkan arus yang cukup besar. Demikian juga, jika kedua dioda diberi prategangan mundur, maka hanya arus yang sangat kecil, kalau tidak bisa dikatakan tidak terjadi arus, yang melalui kedua dioa. Kedua prategangan ini, tidak menghasilkan karakteristik yang cukup menarik untuk dibahas. Pembahasan akan mulai menarik, jika Dioda Emiter diberiprategangan maju dan Dioda Kolektor diberi prategangan mundur (disebut dengan Prategangan Maju-Mundur), seperti tampat pada Gambar 2.8. 23 Gambar 2.8 Prategangan Maju-Mundur Transistor Dari gambar diatas, tampak bahwa Dioda Emiter diberiprategangan maju oleh VBE dan Dioda Kolektor diberiprategangan mundur oleh VCB. Dikarenakan perbedaan konsentrasi doping pada daerah Emiter dan Basis, maka elektron dari VBE diijeksikan (emitted) dari daerah Emiter ke daerah Basis, sehingga menghasilkan Arus Emiter, IE. Kemudian, karena daerah Basis didop dengan konsentrasi yang sangat sedikit dan memiliki struktur yang sangat tipis, hanya sangat sedikit elektron yang terjatuh ke daerah Basis yang menghasilkan arus Basis, IB, sehingga sebagian besar elektron dilewatkan terus menuju daerah Kolektor. Kolektor akan mengumpulkan (collected) elektron-elektron yang menuju padanya, dan menggerakkannya ke tegangan VCB, sehingga menghasilkan Arus Kolektor, IC. Rangkaian yang nampak pada Gambar 8.5 menyatukan tegangan pada terminal Basis, sehingga dikenal dengan istilah Basis Sekutu (Common Base). Dari besaran-besaran arus yang terjadi, IE, IB dan IC, dapat diilustrasikan pada Gambar 2.9 di bawah ini. Namun, rangkaian ini tidak dapat menampilkan proses yang menarik, dimana tidak terdapat hubungan yang dapat disimpulkan. Sehingga, rangkaian ini jarang dipergunakan secara praktis. IE IC IB Gambar 2.9 Arah Arus pada Rangkaian Basis Sekutu (Common Base) 24 Sementara itu, terdapat rangkaian yang sering digunakan untuk menampilkan keistimewaan kerja transistor. Rangkaian ini menyatukan prategangannya pada terminal Emiter, sehingga dikenal dengan rangkaian Emiter Sekutu (Common Emitter), seperti tampak pada Gambar 2.10 di bawah ini. Gambar 2.10 Transistor dengan Prategangan Common Emitter Tampak pada gambar diatas bahwa, Dioda Emiter diberi prategangan maju VBB dan Dioda Kolektor diberi prategangan mundur VCC. Sehingga, pembagian arah arusnya adalah seperti yang diperlihatkan pada Gambar 8.8 di bawah ini: Gambar 2.11 Pembagian Arus pada Common Emitter Transistor Pembagian arus diatas dapat diilustrasikan seperti pada Gambar 2.11 si bawah ini. Dari gambar tersebut tampak bahwa dengan arus Basis, IB, yang kecil dapat menghasilkan arus Kolektor, IC, yang besar. Dari sinilah kerja transistor jadi sangat menarik untuk dikaji lebih lanjut. 25 IC IB IE Gambar 2.12 Arah Arus pada Rangkaian Emitter Sekutu (Common Emitter) Jika Hukum Arus Khirchoff (KCL) diterapkan pada rangkaian diatas, akan didapatkan, bahwa: IE = IC + IB (2.1) Dan, karena dikatakan bahwa hanya sedikit elektron yang terjatuh pada daerah Basis, sedangkan sebagian besar elektron diteruskan ke daerah Kolektor, maka terdapat hubungan antara arus IB dengan arus IC, yang didefinisikan dengan Beta DC, βdc, yaitu: β dc = IC , atau IB IC = βdc IB (2.2) Selain itu, terdapat pula hubungan antara arus IE dengan arus IC, dimana hampir semua elektron yang diemisikan oleh daerah Emiter dikumpulkan oleh daerah Kolektor. Berarti, arus kolektor, IC, hampir sama dengan arus emiter, IE, yang didefinisikan dengan Aplha DC, αdc, yaitu: α dc = IC , atau IB IC = αdc IE (2.3) Biasanya, harga βdc berkisar antara 50 hingga 300, sedangkan harga αdc berkisar antara 0.95 hingga 1. Hubungan antara βdc dengan αdc adalah sebagai berikut: 26 α dc = β dc (2.4) β dc + 1 Jika diasumsikan bahwa putaran arus pada Dioda Emiter sebagai putaran Input dan putaran arus pada Dioda Kolektor sebagaia putaran output, maka dapat dikatakan bahwa, terjadi penguatan arus IB sebesar βdc sehinga menghasilkan arus IC. Inilah yang menjadi salah satu karakteristik utama dari Transistor, yaitu dengan syarat: • Dioda Emiter harus diberi prategangan maju. • Dioda Kolektor harus diberiprategangan mundur. • Tegangan pada Dioda Kolektor harus lebih kecil dari tegangan Breakdown-nya. 2.3.2 Rangkaian Transistor Sederhana Berikut ini, akan dibahas secara global, sebuah rangkaian transistor sederhana. Rangkaian Transistor Emitter Sekutu ini terdiri dari sebuah transistor, 2N1711, prategangan pada dioda emiter, VBB, prategangan pada dioda kolektor, VCC, tahanan basis, RB dan tahanan kolektor, RC, sebagaimana tampak Gambar 8.10. RC 3.0kΩ Q RB VCC 10 V 200kΩ 2N1711 VBB 5V Gambar 2.13 Rangkaian Transistor Sederhana Rangkaian transistor sederhana diatas dianalisa dengan melhatnya dari dua lup, yaitu lup dioda Basis –Emitter dan lup dioda Basis – Kolektor. Persamaan Lup Emiter: − VBB + I B RB + VBE = 0 I B RB = VBB − VBE IB = V BB − VBE RB Persamaan Lup Kolektor: (2.5) 27 − VCC + I C RC + VCE = 0 I C RC = VCC − VCE IC = (2.6) VCC − VCE RC Transistor yang digunakan pada Modul Output PLC adalah jenis yang NPN. Transistor ini digunakan sebagai saklar tetapi hanya untuk memberikan Logika 0 saja. Dibawah ini adalah Simbol dari Transistor NPN. Gambar 2.14 Simbol Transistor Transistor yang digunakan adalah S9013 bertipe NPN dengan kapasitas Arus yang dapat melaluinya adalah 500 mA. Gambar 2.15 Transistor S9013 Gambar dibawah ini adalah Urutan kaki yang terdapat pada Transistor S9013: Gambar 2.16 Pin Transistor 2.4 TRIAC BTA08 TRIAC adalah sebuah DIAC yang dapat melewatkan tegangan 220 VAC apabila kaki Gate dari TRIAC tersebut mendapatkan Trigger berupa Tegangan 220 VAC yang akan dilewatkan dalam Phase yang sama. Arus yang dilewatkan dapat mencapai 8 Ampere sehingga Arus yang dilewatkan 28 dapat langsung menggerakkan Beban. TRIAC dapat berfungsi sebagai Relai tetapi Khusus hanya untuk melewatkan Tegangan 220 VAC & akan mempunyai banyak sekali kelebihan dibandingkan Relai, yaitu : • Memiliki Umur yang jauh lebih panjang daripada Relai • Kecepatan On & Off dalam waktu yang jauh lebih cepat dibandingkan Relai • Penggunaan Arus yang lebih kecil dibandingkan Relai • Tidak mengeluarkan Bunyi seperti Relai Kekurangan dibandingkan Relai, yaitu : • Relai dapat melewatkan Tegangan AC maupun DC • Relai dapat diaktifkan menggunakan Tegangan DC kecil sehingga Rangkaian akan menjadi lebih Murah Gambar dibawah ini adalah merupakan Simbol dari TRIAC: Gambar 2.17 TRIAC BTA08 2.5 Gambar 2.18 Simbol TRIAC Opto Isolator MOC 3020 Opto Isolator adalah sebuah IC yang berisi sebuah INFRA LED & sebuah DIAC yang dapat melewatkan Tegangan 220 VAC apabila Kaki Anoda mendapat Tegangan + & Kaki Katoda mendapatkan Ground karena INFRALED tersebut akan memancarkan Sinar Infra Merahnya untuk mengaktifkan DIAC tersebut. Sifat asli dari DIAC adalah akan melewatkan Tegangan yang masuk jika berada diatas batas tegangan karakteristiknya dalam hal ini tegangan yang dapat dilewatkan adalah Tegangan AC. Tetapi di dalam Opto Isolator DIAC yang dimaksud akan dapat melewatkan tegangan apabila mendapatkan pancaran Sinar Infra Merah. Opto Isolator adalah sebuah Komponen yang dapat menghubungkan Tegangan 220 VAC dengan Tegangan DC kecil seperti 5 VDC dan lainnya. Sinyal yang keluar dari Mikrokontroller adalah Tegangan 5 VDC untuk Logika 1 & Ground untuk Logika 0 sehingga untuk dapat merubah Logika 1 tersebut menjadi 220 VAC harus menggunakan MOC3020 ini. MOC3020 hanya dapat melewatkan Arus 220 VAC yang kecil saja, jika dilewatkan Arus yang besar komponen ini akan rusak sehingga biasanya Arus yang dilewatkan tidak langsung ke beban tetapi hanya untuk Trigger saja. Kita dapat melihat Simbol dari MOC 3020 dengan Gambar dibawah ini. 29 Gambar 2.19 Gambar 2.20 Simbol MOC 3020 2.6 Opto Isolator MOC 3020 Mikrokontroller AT89S52 (MCS – 51 FAMILY) Meskipun termasuk tua, keluarga Mikrokontroler MCS51 adalah Mikrokontroler yang paling populer saat ini. Belakangan ini, pabrik IC Atmel ikut menambah anggota keluarga MCS51. Atmel merupakan pabrik IC yang sangat menguasai teknologi pembuatan Flash ROM, jadi sudah selayaknya kalau Atmel memasukkan Flash PEROM ke dalam mikrokontroler buatannya. Usaha Atmel ini ternyatakan bagaikan menambah ‘darah’ baru bagi keluarga MCS51, dengan adanya Flash ROM yang harganya murah maka tercapailah angan-angan banyak orang untuk membuat alat berbasis mikrokontroler yang sesederhana mungkin dan semurah mungkin. Produksi mikrokontroler MCS51 Atmel dibagi dua macam, yang berkaki 40 setara dengan 8051 yang asli, bedanya mikrokontroler Atmel berisikan Flash ROM dengan kapasitas berlainan. Bentuk dari Mikrokontroller dapat kita lihat pada gambar di bawah ini Gambar 2.21 AT89S52 AT89S52 adalah sebuah Mikrokontroller dengan Fitur yang terdapat didalamnya adalah : 1. 8 Kilo Byte Reprogrammable Flash Memory 2. 256 Byte RAM Internal 3. 32 buah Programmable I/O Lines 4. 2 Buah 16 Timer 5. Full Duplex Serial Port 6. On chip Oscilator & Clock Circuit 30 Gambar 2.22 PIN AT89S52 Berikut ini adalah Tabel yang berisi Deskripsi Pin dari kaki AT89S52 : 2.6.1 PIN DESKRIPSI Nomor Nama Pin Pin 20 Alternatif Keterangan Ground - Ground dari Power Supply 40 VCC - +5 VDC dari Power Supply 39 P0.0 AD0 38 P0.1 AD1 37 P0.2 AD2 36 P0.3 AD3 35 P0.4 AD4 34 P0.5 AD5 33 P0.6 AD6 32 P0.7 AD7 1 P1.0 - Port I/O Bit 0 dengan Internal Pull Up 2 P1.1 - Port I/O Bit 1 dengan Internal Pull Up Port I/O Bit 0 tanpa Internal Pull Up & juga berfungsi sebagai Address 0 & Data 0 jika menggunakan Memori External Port I/O Bit 1 tanpa Internal Pull Up & juga berfungsi sebagai Address 1 & Data 1 jika menggunakan Memori External Port I/O Bit 2 tanpa Internal Pull Up & juga berfungsi sebagai Address 2 & Data 2 jika menggunakan Memori External Port I/O Bit 3 tanpa Internal Pull Up & juga berfungsi sebagai Address 3 & Data 3 jika menggunakan Memori External Port I/O Bit 4 tanpa Internal Pull Up & juga berfungsi sebagai Address 4 & Data 4 jika menggunakan Memori External Port I/O Bit 5 tanpa Internal Pull Up & juga berfungsi sebagai Address 5 & Data 5 jika menggunakan Memori External Port I/O Bit 6 tanpa Internal Pull Up & juga berfungsi sebagai Address 6 & Data 6 jika menggunakan Memori External Port I/O Bit 7 tanpa Internal Pull Up & juga berfungsi sebagai Address 7 & Data 7 jika menggunakan Memori External 31 3 P1.2 - Port I/O Bit 2 dengan Internal Pull Up 4 P1.3 - Port I/O Bit 3 dengan Internal Pull Up 5 P1.4 - Port I/O Bit 4 dengan Internal Pull Up 6 P1.5 - Port I/O Bit 5 dengan Internal Pull Up 7 P1.6 - Port I/O Bit 6 dengan Internal Pull Up 8 P1.7 - Port I/O Bit 7 dengan Internal Pull Up 21 P2.0 A8 22 P2.1 A9 23 P2.2 A10 24 P2.3 A11 25 P2.4 A12 26 P2.5 A13 27 P2.6 A14 28 P2.7 A15 10 P3.0 RXD 11 P3.1 TXD 12 P3.2 INT0 13 P3.3 INT1 14 P3.4 T0 15 P3.5 T1 16 P3.6 WR Port I/O Bit 0 dengan Internal Pull Up & juga berfungsi sebagai Address 8 jika menggunakan Memori External Port I/O Bit 1 dengan Internal Pull Up & juga berfungsi sebagai Address 9 jika menggunakan Memori External Port I/O Bit 2 dengan Internal Pull Up & juga berfungsi sebagai Address 10 jika menggunakan Memori External Port I/O Bit 3 dengan Internal Pull Up & juga berfungsi sebagai Address 11 jika menggunakan Memori External Port I/O Bit 4 dengan Internal Pull Up & juga berfungsi sebagai Address 12 jika menggunakan Memori External Port I/O Bit 5 dengan Internal Pull Up & juga berfungsi sebagai Address 13 jika menggunakan Memori External Port I/O Bit 6 dengan Internal Pull Up & juga berfungsi sebagai Address 14 jika menggunakan Memori External Port I/O Bit 7 dengan Internal Pull Up & juga berfungsi sebagai Address 15 jika menggunakan Memori External Port I/O Bit 0 dengan Internal Pull Up & juga berfungsi sebagai Input Serial Port Port I/O Bit 1 dengan Internal Pull Up & juga berfungsi sebagai Output Serial Port Port I/O Bit 2 dengan Internal Pull Up & juga berfungsi sebagai Interrupt External 0 Port I/O Bit 3 dengan Internal Pull Up & juga berfungsi sebagai Interrupt External 1 Port I/O Bit 4 dengan Internal Pull Up & juga berfungsi sebagai Input External Timer 0 Port I/O Bit 5 dengan Internal Pull Up & juga berfungsi sebagai Input External Timer 1 Port I/O Bit 6 dengan Internal Pull Up & juga berfungsi sebagai External Data Memory Write Strobe 32 17 P3.7 RD Port I/O Bit 7 dengan Internal Pull Up & juga berfungsi sebagai External Data Memory Read Strobe Apabila diberikan Logika 1, semua Port akan berlogika 1 & 9 Reset - kembali membaca Instruksi Program dari Address yang paling awal Pada Saat mengakses Memori Internal Pin ini akan 30 ALE PROG mengeluarkan Pulsa sebesar 1/16 dari Frekwensi Oscilator yang sedang digunakan & Pada Saat mengakses Memori External berfungsi untuk me-Latch Low Byte Address 29 Pada saat mengeksekusi Program yang berada pada Memori PSEN External Pin ini akan aktif 2 kali setiap Cycle Jika mendapatkan Logika 1 Mikrokontroller akan mengakses 31 EA VPP Memori Internal, tetapi pada saat mendapatkan Logika 0 Mikrokontroller akan mengakses Memori External. Pada Saat Flash Programming Pin ini akan mendapatkan 12 VDC 19 XTAL1 - Input Oscilator 18 XTAL2 - Output Oscilator 2.6.2 Konstruksi AT89S52 Memori merupakan bagian yang sangat penting bagi mikrokontroler, oleh karena itu terdapat 2 macam memori yang sifatnya berbeda yaitu : o ROM (Read Only Memory) o RAM (Random Access Memory) Read Only Memory (ROM) adalah jenis Memory yang isinya tidak berubah meskipun IC kehilangan catu daya, dipakai untuk menyimpan program, begitu di-reset mikrokontroler akan langsung bekerja dengan program dalam ROM tersebut. Sesuai dengan keperluannya, dalam susunan MCS51 memori penyimpan program ini dinamakan sebagai MEMORI PROGRAM. Random Access Memory (RAM) isinya akan sirna begitu IC kehilangan catu daya, dipakai untuk menyimpan data pada saat program bekerja. Di samping untuk data, RAM dipakai pula untuk Stack. RAM yang dipakai untuk menyimpan data ini disebut pula sebagai MEMORI DATA. Ada berbagai jenis ROM. Untuk mikrokontroler dengan program yang sudah baku dan diproduksi secara massal, program diisikan ke dalam ROM pada saat IC mikrokontroler dicetak di pabrik IC. Untuk keperluan yang jumlahnya tidak banyak biasanya tidak dipakai ROM, tapi dipakai ROM yang bisa di-isi-ulang atau Programable-Eraseable ROM (disingkat menjadi PEROM atau PROM). Dulu banyak dipakai UV-EPROM (Ultra Violet Eraseable Programable ROM) yang kemudian dinilai mahal harganya dan ditinggalkan setelah ada Flash PEROM yang harganya jauh lebih murah. 33 Jenis memori yang dipakai untuk Memori Program AT89S52 adalah Flash ROM, program untuk mengendalikan mikrokontroler diisikan ke memori itu lewat bantuan alat yang dinamakan ISP Programmer. Memori Data yang disediakan dalam chip AT89S52 sebesar 256 byte, meskipun hanya kecil saja tapi untuk banyak keperluan memori kapasitas itu sudah mencukupi. AT89S52 dilengkapi UART (Universal Asynchronous Receiver/Transmiter) yang biasa dipakai untuk komunikasi data secara seri. Jalur untuk komunikasi data seri (RXD dan TXD) diletakan berhimpitan dengan P3.0 dan P3.1 di kaki nomor 10 dan 11, sehingga kalau sarana UART ini dipakai maka P3.0 dan P3.1 tidak lagi bisa dipakai untuk jalur input/output paralel. Timer 0 dan Timer 1 masing-masing adalah untaian pencacah biner 16 bit (16 bit binary counter) di dalam chip yang dipakai sebagai sarana input/output yang bekerja menurut fungsi waktu. Clock penggerak untaian pencacah ini bisa berasal dari oscilator kristal atau clock yang diumpan dari luar lewat T0 dan T1. T0 dan T1 berhimpitan dengan P3.4 dan P3.5, sehingga P3.4 dan P3.5 tidak bisa dipakai untuk jalur input/output paralel kalau T0 dan T1 dipakai. AT89S52 mempunyai 5 sumber pembangkit interupsi, 2 diantaranya adalah sinyal interupsi yang diumpankan ke kaki INT0 dan INT1, kedua kaki ini berhimpitan dengan P3.2 dan P3.3 sehingga tidak bisa dipakai sebagai jalur input/output paralel kalau INT0 dan INT1 dipakai untuk menerima sinyal interupsi. 3 sumber interupsi yang lain berasal dan sarana komunikasi data seri dan dari sistem Timer 0 dan Timer 1. Port 0,Port 1, Port 2, Port3, UART, Timer 0, Timer 1 dan sarana lainnya merupakan register yang secara fisik merupakan RAM khusus, yang ditempatkan di Special Function Register (SFR). 2.6.3 Oscilator Mikrokontroller AT89S52 membutuhkan Pulsa Generator untuk dapat membaca & menjalankan Instruksi yang terdapat pada Memori Internal maupun Memori External. Oleh karena itu Mikrokontroller membutuhkan sebuah Oscilator External yang dihasilkan oleh XTAL sebesar 11.0592 Mhz yang memiliki 2 buah kaki yang setiap kakinya di Seri dengan sebuah Kapasitor sebesar 33pf untuk dapat menyaring Pulsa yang keluar dari XTAL tersebut sehingga Pulsa yang dihasilkan menjadi lebih sempurna. Cara merangkai Oscilator tersebut berikut dengan Kapasitornya dapat kita lihat pada Gambar dibawah ini. Gambar 2.23 Osilator External 34 2.6.4 Reset Pada saat pertama kali Mikrokontroller mendapatkan Power Supply, Mikrokontroller akan langsung membaca Instruksi yang terdapat pada Memori kemudian menjalankannya, tetapi Mikrokontroller akan memulai Proses membaca Memori tidak dari awal melainkan Random. Jadi kita harus memerintahkan Mikrokontroller untuk membaca Memori mulai dari Address yang paling awal yaitu dengan cara Mereset Mikrokontroller yaitu dengan memberikan Logika 1 ke kaki Reset dari Mikrokontroller. Setelah proses Reset selesai Mikrokontroller akan membaca Memori mulai dari Address yang paling awal. Untuk dapat melakukan Proses Reset secara Otomatis, kita harus memberikan Rangkaian Kapasitor ke kaki Reset terhadap VCC. Dengan begitu maka pada saat pertama kali kita memberikan Power Supply, +5VDC akan mengisi ke Kapasitor pada Kutub yang terhubung dengan +5VDC, sedangkan Kutub yang 1 lagi akan melakukan Proses Pembuangan dari Logika 1 menjadi 0. Logika 0 yang digunakan untuk pembuangan didapat dari Resistor yang terhubung ke Ground. Cara merangkai Rangkaian tersebut dapat kita lihat pada Gambar dibawah ini Gambar 2.24 Rangkaian Reset 2.6.5 Dasar kerja program Program untuk mengendalikan kerja dari mikrokontroler disimpan di dalam memori program. Program pengendali tersebut merupakan kumpulan dari instruksi kerja mikrokontroler, 1 instruksi MCS51 merupakan kode yang panjangnya bisa satu sampai empat byte. Sepanjang mikrokontroler bekerja, instruksi tersebut byte demi byte diambil ke CPU dan selanjutnya dipakai untuk mengatur kerja mikrokontroler. Proses pengambilan instruksi dari memori program dikatakan sebagai ‘fetch cycles’ dan saat-saat CPU melaksanakan instruksi disebuat sebagai ‘execute cycles’. Semua mikrokontroler maupun mikroprosesor dilengkapi sebuah register yang berfungsi khsus untuk mengatur ‘fetch cycles’, register tersebut dinamakan sebagai Program Counter. Nilai Program Counter secara otomatis bertambah satu setiap kali selesai mengambil 1 byte isi memori program, dengan demikian isi memori program bisa berurutan diumpankan ke CPU. 35 Saat MCS51 di-reset, isi Program Counter di-reset menjadi 0000. Artinya sesaat setelah reset isi dari memori program nomor 0 dan seterusnya akan diambil ke CPU dan diperlakukan sebagai instruksi yang akan mengatur kerja mikrokontroler. Dengan demikian, awal dari program pengendali MCS51 harus ditempatkan di memori nomor 0, setelah reset MCS51 menjalankan program mulai dari memori-program nomor 0000, dengan melakukan proses ‘fetch cycles’ dan ‘execute cycles’ terus menerus tanpa henti. Jika sarana interupsi diaktipkan, dan tegangan di kaki INT0 merubah dari ‘1’ menjadi ‘0’, maka proses menjalankan program di atas akan dihentikan sebentar, mikrokontroler melayani dulu permintaan interupsi, selesai melayani permintaan interupsi CPU akan melanjutkan mengerjakan program utama lagi. Untuk melaksanakan hal tersebut, pertama-tama CPU menyimpan nilai Program Counter ke Stack (Stack merupakan satu bagian kecil dari data memori – RAM), kemudian mengganti isi Program Counter dengan 0003. Artinya MCS51 akan melaksanakan program yang ditempatkan di memori program mulai byte ke 3 untuk melayani interupsi yang diterima dari kaki INT0. Adalah tugas programer untuk mengatur agar program yang dipakai untuk melayani interupsi lewat INT0 diletakkan disitu. Selesai melayani interupsi, nilai Program Counter yang tadi disimpan ke dalam Stack akan dikembalikan ke Program Counter, dengan demikian CPU bisa melanjutkan pekerjaan di program Utama. Selain INT0, AT89S52 bisa menerima interupsi dari INT1, dari UART dan dari Timer. Agar permintaan interupsi itu bisa dilayani dengan program yang berlainan, maka masing-masing sumber interupsi itu mempunyai nomor awal program untuk layanan interupsi yang berlainan. Nomor-nomor awal tersebut digambarkan dalam Gambar di bawah ini. 36 Gambar 2.25 Intrupsi Program 2.6.6 RAM dan Register dalam AT89S52 Bagi mereka yang sudah terbiasa memakai komputer, kapasitas Random Access Memory (RAM) yang dimiliki AT89S52 ‘mengerikan’ karena sangat sedikit, hanya 256 byte! Itupun tidak semuanya bisa dipakai sebagai memori penyimpan biasa, lebih dari setengahnya merupakan memori dengan keperluan khusus yang biasa dikenal sebagai register. Meskipun demikian bagi mikrokontroler kapasitas itu sudah mencukupi. Dalam pengertian MCS51, Random Access Memory dalam chip AT89S52 adalah memoridata, yaitu memori yang dipakai untuk menyimpan data, sedangkan Flash PEROM merupakan memori penampung program pengendali AT89S52, dikenal sebagai memori-program. Karena kedua memori itu memang dibedakan dengan tegas, maka kedua memori itu mempunyai penomoran yang terpisah. Memori-program dinomori sendiri, pada AT89S52 mulai dari Address 0000H sampai 1FFFH. Sedangkan memori-data yang hanya 256 byte dinomori dari nomor 00H sampai FFH. 37 Gambar 2.26 Denah Memori-Data Seperti terlihat dalam denah memori-data Gambar 3, memori-data dibagi menjadi dua bagian, memori nomor 00H sampai 7FH merupakan memori seperti RAM selayaknya meskipun beberapa bagian mempunyai kegunaan khusus, sedangkan memori nomor 80H sampai FFH dipakai sangat khusus yang dinamakan sebagai Special Function Register (akan dibahas tersendiri dibagian lain). Memori-data nomor 00H sampai 7FH bisa dipakai sebagai memori penyimpan data biasa, dibagi menjadi 3 bagian: • Memori nomor 00H sampai 18H selain sebagai memori-data biasa, bisa pula dipakai sebagai Register Serba Guna (General Purpose Register). • Memori nomor 20H sampai 2FH selain sebagai memori-data biasa, bisa dipakai untuk menyimpan informasi dalam level bit. • Memori nomor 30H sampai 7FH (sebanyak 80 byte) merupakan memori-data biasa, bisa dipakai untuk menyimpan data maupun dipakai sebagai Stack. 38 2.6.7 Register Serba Guna Register Serba Guna (General Purpose Register) menempati memori-data nomor 00H sampai 18H, memori sebanyak 32 byte ini dikelompokkan menjadi 4 Kelompok Register (Register Bank), 8 byte memori dari masing-masing Kelompok itu dikenali sebagai Register 0, Register 1 .. Register 7 (R0, R1, R2, R3, R4, R5, R6 dan R7). Dalam penulisan program memori-memori ini bisa langsung disebut sebagai R0, R1, R2, R3, R4, R5, R6 dan R7, tidak lagi dengan nomor memori. Dengan cara ini instruksi yang terbentuk bisa lebih sederhana dan bekerja lebih cepat. Pengertian ini bisa diperjelas dengan contoh 2 instruksi berikut : MOV A,04H MOV A,R4 Instruksi pertama mempunyai makna isi memori-data nomor 4 di-copy-kan ke Akumulator A, sedangkan instruksi kedua artinya isi R4 di-copy-kan ke Akumulator A. Karena R4 menempati memori-data nomor 4, jadi kedua instruksi itu berakibat sama bagi Akumulator A. Tapi saat diterjemahkan ke kode mesin, intruksi pertama dirubah menjadi E5 04 (heksadesimal) dan instruksi kedua menjadi E6 (heksadesimal), jadi instruksi kedua lebih sederhana dari instruksi pertama. Selain itu, khusus untuk Register 0 dan Register 1 (R0 dan R1) masih punya mempunyai kemampuan lain, kedua register ini bisa dipakai sebagai register penampung alamat yang dipakai dalam penyebutan memori secara tidak langsung (indirect memori addressing), hal ini akan dibicarakan lebih lanjut di belakang. Empat kelompok Register Serba Guna itu tidak bisa dipakai secara bersamaan, saat setelah reset yang aktip dipakai adalah Kelompok Register 0 (Register Bank 0). Kalau yang diaktipkan adalah Kelompok Register 1, maka yang dianggap sebagai R0 bukan lagi memori-data nomor 0 melainkan memori-data nomor 8, demikian pula kalau yang diaktipkan Kelompok Register 3 maka memori-data nomor 18H yang menjadi R0. Kelompok Register yang aktip dipilih dengan cara mengatur bit RS0 dan RS1 yang ada di dalam Register PSW (Program Status Word), hal ini akan dibicarakan lebih lanjut di bagian lain. 2.6.8 Memori level Bit Memori-data nomor 20H sampai 2FH bisa dipakai menampung informasi dalam level bit. Setiap byte memori di daerah ini bisa dipakai menampung 8 bit informasi yang masing-masing dinomori tersendiri, dengan demikian dari 16 byte memori yang ada bisa dipakai untuk menyimpan 128 bit (16 x 8 bit) yang dinomori dengan bit nomor 00H sampai 7FH. Informasi dalam level bit tersebut masing-masing bisa di-‘1’-kan, di - ‘0’-kan dengan instruksi. Pengertian di atas bisa dipikirkan seolah-olah MCS51 mempunyai jenis memori yang lain, tapi sesungguhnya kedua jenis memori itu tetap sama, hanya saja cara penyebutannya saja yang berlainan. 39 Instruksi SETB 00H mengakibatkan memori-bit nomor 0 menjadi ‘1’, atau sama dengan membuat bit nomor 0 dari memori-data nomor 20H menjadi ‘1’, sedangkan bit-bit lainnya dalam memori nomor 20H tidak berubah nilai. Sedangkan instruksi CLR 7FH mengakibatkan memori-bit nomor 7FH menjadi ‘0’, satau sama dengan membuat bit nomor 7 dari memori-data nomor 2FH menjadi ‘0’, sedangkan bit-bit lainnya dalam memori nomor 2FH tidak berubah nilai. Pengertian ini dipertegas dengn intsruksi-instruksi berikut: MOV 21H,#0FH Sama dengan hasil kerja instruksi-instruksi berikut : SETB 08H SETB 09H SETB 0AH SETB 0BH CLR 0CH CLR 0DH CLR 0EH CLR 0FH Instruksi MOV 21H,#0FH mempunyai makna mengisi memori-data nomor 21H dengan nilai 0FH (atau bilangan biner 00001111), berarti mengisi memori-bit nomor 0FH sampai 08H dengan bilangan biner 00001111 yang bisa dinyatakan dengan 8 baris instruksi berikutnya. 2.6.9 Register Dasar MCS51 Untuk keperluan penulisan program, setiap mikroprosesor/mikrokontroler selalu dilengkapi dengan Register Dasar. Ada beberapa macam register merupakan register baku yang bisa dijumpai disemua jenis mikroprosesor/ mikrokontroler, ada register yang spesifik pada masing-masing prosesor. Yang termasuk Register Baku antara lain Program Counter, Akumulator, Stack Pointer Register, Program Status Register. MCS51 mempunyai semua register baku ini. Sebagai register yang khas MCS51, antara lain adalah Register B, Data Pointer High Byte dan Data Pointer Low Byte. Semua ini digambarkan dalam Gambar 4. Di samping itu MCS51 masih mempunyai Register Serba Guna R0..R7 yang sudah disebut dibagian atas. Dalam mikroprosesor/mikrokontroler yang lain, register-register dasar biasanya ditempatkan ditempat tersendiri dalam inti prosesor, tapi dalam MCS51 register-register itu ditempatkan secara terpisah. • Program Counter ditempatkan ditempat tersendiri di dalam inti prosesor • Register Serba Guna R0..R7 ditempatkan di salah satu bagian dari memori-data • Register lainnya ditempatkan dalam Special Function Register (SFR). 40 Gambar 2.27 Register Dasar Kegunaan dan pemakaian register-register dasar tersebut antara lain sebagai berikut: 2.6.9.1 Program Counter Program Counter (PC) dalam AT89S52 merupakan register dengan kapasitas 16 bit. Di dalam PC dicatat nomor memori-program yang menyimpan instruksi berikutnya yang akan diambil (fetch) sebagai instruksi untuk dikerjakan (execute). Saat setelah reset PC bernilai 0000h, berarti MCS51 akan segera mengambil isi memoriprogram nomor 0 sebagai instruksi. Nilai PC otomatis bertambah 1 setelah prosesor mengambil instruksi 1 byte. Ada instruksi yang hanya 1 byte, ada instruksi yang sampai 4 byte, dengan demikian pertambahan nilai PC setelah menjalankan instruksi, tergantung pada jumlah byte instruksi bersangkutan. 2.6.9.2 Akumulator Sesuai dengan namanya, Akumulator adalah sebuah register yang berfungsi untuk menampung (accumulate) hasil hasil pengolahan data dari banyak instruksi MCS51. Akumulator bisa menampung data 8 bit (1 byte) dan merupakan register yang paling banyak kegunaannya, lebih dari setengah instruksi-instruksi MCS51 melibatkan Akumulator. Instruksi-instruksi berikut memperjelas pengertian di atas : MOV A,#20H ADD A,#30H Instruksi pertama menyimpan nilai 20H ke Akumulator, instruksi kedua menambahkan bilangan 30H ke Akumulator, hasil penjumlahan sebesar 50H ditampung di Akumulator. 41 Stack Pointer Register Salah satu bagian dari memori-data dipakai sebagai Stack, yaitu tempat yang dipakai untuk menyimpan sementara nilai PC sebelum prosesor menjalankan sub-rutin, nilai tersebut akan diambil kembali dari Stack dan dikembalikan ke PC saat prosesor selesai menjalankan sub-rutin. Stack Pointer Register adalah register yang berfungsi untuk mengatur kerja stack, dalam Stack Pointer Register disimpan nomor memori-data yang dipakai untuk operasi Stack berikutnya. 2.6.9.3 Program Status Word Program Status Word (PSW) berfungsi mencatat kondisi prosesor setelah melaksanakan instruksi. Pembahasan tentang PSW secara rinci akan dilakukan dibagian lain. Register B Merupakan register dengan kapasitas 8 bit, merupakan register pembantu Akumulator saat menjalankan instruk perkalian dan pembagian. DPH dan DPL Data Pointer High Byte (DPH) dan Data Pointer Low Byte (DPL) masing-masing merupakan register dengan kapasitas 8 bit, tapi dalam pemakaiannya kedua register ini digabungkan menjadi satu register 16 bit yang dinamakan sebagai Data Pointer Register (DPTR). Sesuai dengan namanya, Register ini dipakai untuk mengalamati data dalam jangkauan yang luas. 2.6.9.4 Special Function Register (SFR) AT89S52 Register Khusus (SFR - Special Function Register) adalah satu daerah RAM dalam IC keluarga MCS51 yang dipakai untuk mengatur perilaku MCS51 dalam hal-hal khusus, misalnya tempat untuk berhubungan dengan port paralel P1 atau P3, dan sarana input/output lainnya, tapi tidak umum dipakai untuk menyimpan data seperti layaknya memori-data. Meskipun demikian, dalam hal penulisan program SFR diperlakukan persis sama dengan memori-data. Untuk mengisi memori-data nomor 60H dengan bilangan 0FH, instruksi yang dipergunakan adalah : MOV 60H,#0FH Sedangkan untuk memenyimpan 0FH ke Port 1 yang di SFR menempati memori-data nomor 90H, instruksi yang dipergunakan adalah : MOV 90H,#0FH Membandingkan kedua instruksi di atas bisa dimengerti dalam segi penulisan program SFR diperlakukan persis sama dengan memori-data. Meskipun demikian, dalam menyebut memori-data bisa dipakai dua cara, yakni penyebutan nomor memori secara langsung (direct memory addressing) dan penyebutan nomor memori secara tidak langsung (indirect memory addressing) lewat bantuan R0 dan R1. Tapi untuk SFR hanya bisa dipakai penyebutan nomor memori secara langsung (direct memory addressing) saja. Random Access Memory (RAM) dalam AT89S52 hanya 256 byte, hanya setengahnya yang 42 dipakai sebagai memori-data biasa, setengahnya lagi dipakai untuk register-register untuk mengatur perilaku MCS51 dalam hal-hal khusus, misalnya tempat untuk berhubungan dengan port paralel P1 atau P3, dan sarana input/output lainnya, tapi tidak dipakai untuk menyimpan data seperti layaknya memori-data. Meskipun demikian, dalam hal penulisan program SFR diperlakukan persis sama dengan memori-data. Nomor memori-data yang disediakan untuk Special Function Register mulai dari 80H sampai dengan FFH, area sebanyak 128 byte ini tidak semuanya dipakai, hal ini digambarkan dalam Denah Special Function Register. Masing-masing register dalam Special Function Register mempunyai nomor dan nama. Dianjurkan agar nomor-nomor yang tidak dipakai jangan dipergunakan, karena bisa mengakibatkan terjadinya sesuatu yang tidak terduga. Sebagian register dalam Special Function Register sudah dibicarakan sebagai Register Dasar, merupakan piranti dasar untuk penulisan program. Register-register dasar tersebut antara lain adalah Akumulator (ACC), Stack Pointer Register (SP), Program Status Register (PSW), Register B, Data Pointer High Byte (DPH) dan Data Pointer Low Byte (DPL). Di dalam area Special Function Register. Register-register ini diperlakukan sebagai memori dengan nomor yang sudah tertentu. Akumulator menempati memori-data nomor E0H, Stack Pointer Register menempati memoridata nomor 81H, Program Status Register ada di D0H, Register B di F0H, DPL di 82H dan DPH di 83H. Kemampuan MCS51 untuk menomori memori-data dalam level bit, dipakai juga dalam Special Function Register. Secara keseluruhan nomor bit yang disediakan dalam MCS51 sebanyak 256, nomor bit 0 sampai 127 sudah dipakai untuk nomor bit memori-data nomor 20H sampai 2FH, sisanya sebanyak 128 nomor dipakai di Special Function Register. Special Function Register yang bisa dinomori dengan nomor bit, adalah yang mempunyai nomor memori dengan digit heksadesimal kedua adalah 0 atau 8, misalnya nomor 80H, 88H, 90H, 98H..F0H dan F8H. Akumulator merupakan Special Function Register dengan nomor E0H, sehingga semua bit dalam Akumulator bisa di-nomor-i satu per satu. Dalam penulisan program bit 0 Akumulator bisa dituliskan sebagai A.0, bit 1 Akumulator ditulis sebagai A.1 dan seterusnya. Instuksi SETB A.0 mengakibatkan bit 0 dari Akumulator menjadi ‘1’ sedangkan bit-bit lainnya tidak terpengaruh. Instruksi CLR A.6 mengakibatkan bit 6 dari Akumulator menjadi ‘0’ tapi tidak memengaruhi bit-bit yang lain. Pengelompokan SFR Selain register yang berfungsi sebagai register dasar yang sudah dibicarakan diatas, registerregister dalam SFR dipakai untuk mengatur Input/Output dari MCS51 yang dikelompokan menjadi : • Register Penampung Data Input/Output, misalnya data yang diisikan ke register P1 akan diteruskan (di-output-kan) ke Port 1 yang terdapat di kaki IC AT89S52. 43 • Register Pengatur Input/Output dan Register Status Input/Output, misalnya register SCON dipakai untuk mengatur UART dan dipakai untuk memantau kondisi UART, register TCON dipakai untuk mengatur kerja Timer. Gambar 2.28 SFR AT89S52 2.6.10 Uraian Singkat SFR Berikut ini dibahas secara singkat fungsi dan sifat masing-masing register dalam Special Function Register. P1 (Port 1, nomor 90H, bisa dinomori dengan nomor bit): merupakan sarana input/output port 1, masing-masing bit dalam register ini setara dengan salah satu kaki IC AT89S52. Misalnya bit 3 dari register P1 terhubung ke kaki P1.3 (kaki nomor 15 AT89S52), instruksi SETB P1.3 mengakibatkan kaki nomor 15 tersebut menjadi ‘1’ dan instruksi CLR P1.3 akan membuatnya menjadi ‘0’. P3 (Port 3, nomor B0H, bisa dinomori dengan nomor bit): merupakan sarana input/output port 3, masing-masing bit dalam register ini setara dengan salah satu kaki IC AT89S52. Misalnya bit 5 dari register P3 terhubung ke kaki P3.5 (kaki nomor 9 AT89S52), instruksi SETB P3.5 mengakibatkan kaki 44 nomor 9 tersebut menjadi ‘1’ dan instruksi CLR P3.5 akan membuatnya menjadi ‘0’. SBUF (Serial Buffer, nomor 99H): Register Serial Buffer (SBUF) dipakai untuk mengirim data dan menerima data dengan UART yang terdapat dalam IC AT89S52. Angka yang disimpan ke SBUF akan dikirim keluar secara seri lewat kaki TXD (kaki nomor 3 IC AT89S52). Sebaliknya data seri yang diterima di kaki RXD (kaki nomor 2 IC AT89S52) bisa diambil di register SBUF. Jadi SBUF akan berfungsi sebagai port output pada saat register ini diisi data, dan SBUF akan menjadi port input kalau isinya diambil. SCON (Serial Control, nomor 98H, bisa dinomori dengan nomor bit): register SCON dipakai untuk mengatur perilaku UART di dalam IC AT89S52, hal-hal yang diatur meliputi penentuan kecepatan pengiriman data seri (baud rate); mengakitpkan fasilitas penerimaan data seri (fasilitas pengiriman data seri tidak perlu di atur), disamping itu register ini dipakai pula untuk memantau proses pengiriman data seri dan proses penerimaan data seri. TL0/TH0 (Timer 0 Low/High, nomor 8AH/8CH): Kedua register ini bersama membentuk Timer 0, yang merupakan pencacah naik (count up counter). Perilaku kedua register ini diatur oleh register TMOD dan register TCON. Hal-hal yang bisa diatur antara lain adalah sumber clock untuk pencacah, nilai awal pencacah, bilamana proses pencacahan mulai atau berhenti, dan lain sebagainya. TL1/TH1 (Timer 1 Low/High, nomor 8BH/8DH): Kedua register ini bersama membentuk Timer 1, yang merupakan pencacah naik (count up counter). Perilaku kedua register ini diatur oleh register TMOD dan register TCON. Hal-hal yang bisa diatur antara lain adalah sumber clock untuk pencacah, nilai awal pencacah, bilamana proses pencacahan mulai atau berhenti, dan lain sebagainya. TMOD (Timer Mode, nomor 89H): register TMOD dipakai untuk mengatur mode kerja Timer 0 dan Timer 1, lewat register ini masing-masing timer bisa diatur menjadi timer 16-bit, timer 13-bit, timer 8-bit yang bisa isi ulang secara otomatis, atau 2 buah timer 8 bit yang terpisah. Di samping itu bisa diatur agar proses proses pencacahan timer bisa dikendalikan lewat sinyal dari luar IC AT89S52, atau timer dipakai untuk mencacah sinyal-sinyal dari luar IC. TCON (Timer Control, nomor 88H, bisa dinomori dengan nomor bit): register TCON dipakai untuk memulai atau menghentikan proses pencacahan timer dan dipakai untuk memantau apakah terjadi limpahan dalam proses pencacahan. Disamping itu masih tersisa 4 bit dalam register TCON yang tidak dipakai untuk mengatur Timer, melainkan dipakai untuk mengatur sinyal interupsi yang diterima di INT0 (kaki nomor 6) atau INT1 (kaki nomor 7), dan dipakai untuk memantau apakah ada permintaan interupsi pada kedua kaki itu. IE (Interrupt Enable, nomor A8H, bisa dinomori dengan nomor bit): register ini dipakai untuk mengaktipkan atau me-non-aktipkan sarana interupsi, bit 0 sampai bit 6 dari register IE (IE.0..IE.6) dipakai untuk mengatur masing-masing sumber interupsi (sesungguhnya IE.6 tidak dipakai) sedangkan IE.7 dipakai untuk mengatur sistem interupsi secara keseluruhan, jika IE.7 =’0’ akan sistem interupsi menjadi non-aktip tidak mempedulikan keadaan IE.0.. IE.6. IP (Interrupt Priority, nomor B8H, bisa dinomori dengan nomor bit): register ini dipakai untuk mengatur perioritas dari masing-masing sumber interupsi. Masing-masing sumber interupsi bisa diberi 45 perioritas tinggi dengan memberi nilai ‘1’ pada bit bersangkutan dalam register ini. Sumber interupsi yang perioritasnya tinggi bisa menginterupsi proses interupsi dari sumber interupsi yang perioritasnya lebih rendah. PCON (Power Control, nomor 87H): Register PCON dipakai untuk mengatur pemakaian daya IC AT89S52, dengan cara ‘menidurkan’ IC tersebut sehingga memerlukan arus kerja yang sangat kecil. Satu satu bit dalam register ini dipakai untuk menggandakan kecepatan pengiriman data seri (baud rate) dari UART di dalam AT89S52. Variasi dari SFR Seperti sering disebut, MCS51 merupakan satu keluarga IC mikrokontroler yang terdiri dari ratusan macam IC, ratusan macam IC tersebut umumnya mempunyai fasilitas input/output yang berlainan. Keragaman ini ditampung dalam Special Function Register. Register baku dalam keluarga MCS51, ada yang tidak dimiliki oleh keluarga AT89S52, register-register tersebut antara lain adalah : P0 (Port 0, nomor 80H, bisa dinomori dengan nomor bit): merupakan sarana input/output port 0, masing-masing bit dalam register ini setara dengan salah satu kaki IC AT89S52. P2 (Port 2, nomor A0H, bisa dinomori dengan nomor bit): merupakan sarana input/output port 2, masing-masing bit dalam register ini setara dengan salah satu kaki IC AT89S52. Di samping dipakai sebagai port input/output, Port 0 dan Port 2 bisa pula dipakai untuk saluran-data (data bus) dan saluran-alamat (address bus) yang diperlukan AT89S52 untuk bisa menambah memori diluar chip. 2.7 AT89S ISP Programmer ISP singkatan dari In System Programming. ISP Programmer berbentuk sebuah kabel yang diujungnya terdapat sebuah Rangkaian yang sudah dikemas menggunakan Casing yang menutupi DB25 Male. Kabel AT89S ISP Programmer dapat kita lihat bentuknya pada gambar di bawah ini Gambar 2.29 Kabel ISP Salah satu ujung yang besar yang terdapat Rangkaian Elektronik untuk Proses pengisian 46 Memori Mikrokontroller berupa konektor DB25 Male sedangkan pada Komputer PC, sarana yang digunakan adalah Paralel Port yang Konektornya berupa DB25 FEMALE seperti gambar di bawah ini. Gambar 2.30 Pararel Port Untuk mengisi Program ke dalam Memori Internal dari Mikrokontroller adalah dengan cara menghubungkan Kabel AT89S ISP Programmer dengan Komputer PC seperti gambar di bawah ini. Gambar 2.31 ISP Connector Untuk menghubungkan Pin yang terdapat pada Mikrokontroller dengan Kabel AT89S ISP Programmer, perlu diperhatikan Pin out dari Konektor ISP supaya tidak salah menghubungkannya. 47 Gambar 2.32 Pin ISP Kelebihan menggunakan AT89Sxx Kelebihan dari menggunakan AT89S52 adalah dapat mengisikan Program ke dalam Memori Internalnya tanpa harus mencabut IC dari kedudukannya, melainkan cukup menghubungkan kabel ISP sesuai dengan ketentuan konektornya dengan AT89S52 kemudian buka Program untuk mengisinya, membuka Program yang sudah di assembly lalu Program. Gambar 2.33 ISP Connector 48 BAB 3 PERANCANGAN ALAT 3.1 Blok Diagram Gambar 3.1 Blok Diagram Alat yang saya buat adalah sebuah Modul pengganti PLC menggunakan Mikrokontroller AT89S52 dengan Blok Diagram Rancangan seperti yang dapat dilihat pada Gambar 3.1. Dari Gambar 3.1 terlihat Mikrokontroller tersebut memiliki Modul Input & Output, sedangkan Mikrokontroller berfungsi sebagai CPU. Modul Input disini menggunakan Tegangan Input 24 VDC sebagai Input Logika 1 dan 49 Ground atau bisa juga Floating sebagai Input Logika 0. Logika Input dapat diperoleh dari Device Input yang kita gunakan seperti Photo Sensor, Proximity Sensor, Limit Switch, Toggle Switch, Push Button, dan lain lain. Pada Perancangan Tugas akhir ini yang akan digunakan sebagai Device Input adalah: • Toggle Switch • Push Button ON • Push BottON OFF Toggle Switch akan digunakan sebagai Input yang tetap saat terjadi suatu kondisi, lalu saat Input berubah akan terjadi kondisi yang sebaliknya. Push Button akan digunakan sebagai Input untuk Trigger yaitu kondisi yang diinginkan akan tercapai apabila Push Button tersebut ditekan kemudian dilepas kembali. Modul Output disini digunakan sebagai Output Port yang berfungsi mengeluarkan Logika untuk dapat menjalankan Device Output yang akan digunakan seperti LED, Relai, Magnetic Contactor, Motor DC, Motor Stepper, Motor Servo, Lampu Pijar, Solenoid, Motor Conveyor dan lain lain. Pada Penulisan Tugas akhir ini yang akan digunakan sebagai Device Output adalah LED, Motor DC & Lampu Pijar. Terdapat 3 buah Modul Output dengan Fungsi yang berbeda, yaitu : • Modul Output Transistor • Modul Output Relai • Modul Output TRIAC 3.2 Port Input Dan Output Perancangan Modul Praktikum Mikrokontroller Sebagai Pengganti PLC Dengan Menggunakan AT89T52 memiliki 12 Port Output dan 12 Port Input dapat kita lihat pada gambar 3.2. 50 Gambar 3.2 Skematik Alat 51 Dari gambar 3.2 dapat kita lihat ada 3 jenis Device Input yang digunakan, yaitu : 1. Device Input menggunakan Switch In_switch1 adalah Port2.0 In_switch2 adalah Port2.3 In_switch3 adalah Port2.6 In_switch4 adalah Port2.7 2. Device Input menggunakan Push ON Button In_push_ON1 adalah Port0.7 In_push_ON2 adalah Port0.6 In_push_ON3 adalah Port0.5 In_push_ON4 adalah Port0.4 3. Device Input menggunakan Push OFF Button In_push_OFF1 adalah Port0.3 In_push_OFF2 adalah Port0.2 In_push_OFF3 adalah Port0.1 In_push_OFF4 adalah Port0.0 Dari gambar 3.2 dapat kita lihat ada 3 jenis Device Output yang digunakan, yaitu : 1. Device Output menggunakan Transistor Out_transistor1 adalah Port3.7 Out_transistor2 adalah Port3.6 Out_transistor3 adalah Port3.5 Out_transistor4 adalah Port3.4 2. Device Output menggunakan Relai Out_relai1 adalah Port3.3 Out_relai2 adalah Port3.2 Out_relai3 adalah Port3.1 Out_relai4 adalah Port3.0 3. Device Output menggunakan Triac Out_triac1 adalah Port1.3 Out_triac2 adalah Port1.2 Out_triac3 adalah Port1.1 Out_triac4 adalah Port1.0 3.3 Skematik Modul Power Supply Pada rangkaian ini ada 2 buah output yang akan digunakan sebagai input dan tegangaan Mikrokontroller yaitu : • 32 VDC sebagai input yang dihubungkan ke saklar 52 • 5 VDC sebagai tegangan Mikrokontroller Gambar 3.3 Skematik Power Supply 3.4 Skematik Modul CPU Alat yang akan saya buat ini merupakan Active Low ketika modul input ON maka pada pin Mikrokontroller tidak ada tegangan (OFF) tapi ketika input OFF pin pada Mikrokontroller bertegangan 5 Volt. Gambar dibawah ini merupakan gambar rangkaian sistem minimum AT89S52 yang terdiri dari: 1. Rangkaian Clock. 2. Rangkaian Reset. 3. Power Supply Mikrokontrolller ( 5 VDC ). Gambar 3.4 Skematik Modul CPU 3.5 Skematik Modul Input Untuk dapat memahami fungsi dasar Transistor sebagai saklar, maka dapat diperhatikan sebuah rangkaian seperti yang tampak pada Gambar 3.5. Jika tegangan input, vi, memiliki harga kurang dari tegangan yang diperlukan untuk membuat Dioda Emiter berprategangan maju, maka arus IB = 0, sehingga transistor akan jatuh pada 53 Daerah Potong dan IC = 0. Karena IC = 0, maka tegangan yang melintas tahanan beban RC adalah nol dan tegangan output VO = Vcc. Pada kondisi ini, seolah-olah Transistor seperti sebuah saklar yang terputus (OFF). Gambar 3.5 Rangkaian Transistor sebagai saklar Jika tegangan input, vi, terus meningkat sehingga Dioda Emiter diberi prategangan maju, Transistor akan mulai masuk ke daerah aktif, sehingga: IB = vi − VBE RB (3.1) Sekali Transistor mulai aktif, belum diketahui apakah Transistor berada pada Daerah Aktif atau berada pada Daerah Saturasi. Dengan menggunakan aturan tegangan Kirchoff (KVL) pada putaran Dioda Kolektor, akan didapat: VCC = I C RC + VCE (3.2) sehingga: IC = VCC − VCE RC (3.3) Persamaan (3.3) adalah persamaan Garis Beban Transistor. Dalam bentuk grafik, garis ini diperlihatkan dalam Gambar 3.6. Bersamaan dengan terus menaiknya arus Basis, IB, Transistor dapat beroperasi sepanjang Garis Beban. Hal ini terus terjadi, sehingga arus Basis, IB, mencapai harga arus yang terbesar, IB3. Arus ini dikenal dengan arus saturasi dan jika Transistor beroperasi pada kondisi ini, maka dikatakan ia berada pada Daerah Saturasi. Oleh karena itu, arus Kolektor adalah: 54 I C ( sat ) = VCC − VCE ( sat ) RC (3.4) Biasanya, harga VCE(sat) adalah 0.2 volt. Pada kondisi ini, Transistor bekerja seperti sebuah saklar yang terhubung (ON). SWITCH ON SWITCH OFF Gambar 3.6 Garis Beban dan Titik Operasi Transistor Berikut ini adalah skematik modul input menggunakan transistor sebagai saklar yang berperan sebagai input Digital. Jika tegangan rendah (VBB = 0 volt), transistor akan tersumbat dan input akan (0) OFF dan LED dalam keadaan padam, seperti tampak pada Gambar 3.7 (a). Sedangkan jika tegangan tinggi (VBB = 32 volt), seperti tampak pada Gambar 3.7 (b), transistor berperan sebagai saklar ON dan input akan ON memberikan masukan (1) , dan LED menyala. Gambar 3.7 dijalankan menggunakan perangkat lunak MULTISIM. Pada gambar tersebut, LED tampak tidak berwarna (kosong) pada saat input dalam keadaan OFF dan memberikan warnanya ketika input dalam keadaan ON. R2 549Ω LED1 R1 V1 S1 2 T1 220 Vrms 50 Hz 0° 10kΩ 4 LM7805CT 1 3 LINE VOLTAGE C3 1mF C1 100uF VREG COMMON C2 220uF 55 (a) R2 549Ω LED1 S1 R1 V1 2 T1 220 Vrms 50 Hz 0° 10kΩ 4 LM7805CT 1 LINE VOLTAGE C1 100uF C3 1mF 3 VREG C2 220uF COMMON (b) Gambar 3.7 (a) Transistor sebagai Input Digital (OFF) (b) Transistor sebagai Input Digital (ON) Alat yang akan saya buat ini bisa digunakan sebagai pengganti PLC. PLC memiliki masukan (input) yang besarnya 24 volt dan memiliki keluaran (output) 24 volt juga. Gambar di bawah ini adalah skematik modul input dengan menggunakan tegangan 24 volt. Sama seperti skematik modul input di atas modul input ini pun berfungsi sebagai input digital. 549Ω 549Ω LED2 LED2 5V 5V 10kΩ 10kΩ 24 V 24 V (a) (b) Gambar 3.8 Transistor sebagai Input Digital 24 Volt. (a) Saklar OFF (b) Saklar ON 56 Dari persamaan-persamaan matematik diatas, pada saat VBB = 0, maka: IB = 0 mA sehingga, IC = 0 mA, dan VCE = VCC = 5 volt maka Transistor berada pada daerah Potong dan LED padam. Jika VBB = 24 volt, maka, menurut persamaan (3.1) IB = VBB − VBE 24 − 0.7 = = 2,33 mA RB 10K sedangkan, menurut persamaan (3.4), harga IC saturasi adalah: I C ( sat ) = VCC − VCE ( sat ) − V LED 5 − 0 − 2 = = 5,45 mA RC 0,55K jika, β = 10, maka harga IB saturasi adalah: I Bsat = I Csat β = 5,45 mA = 0,545 mA 10 karena IB > IB sat maka, Transistor berada pada daerah saturasi dan LED menyala merah. Dalam aplikasi praktisnya, Transistor dapat mengendalikan (drive) berbagai macam peralatan, seperti lampu, speaker, motor-motor, relay, timer, counter, dan lainlain. Sedangkan besarnya arus basis, IB, dapat dilakukan oleh trimpot, potensiometer dan berbagai macam sensor. Dari kombinasi ini, dapat dirancang bervariasi peralatan elektronika yang berasaskan saklar otomatis menggunakan transistor. Salah satu contohnya adalah alat yang akan saya buat, transistor ini digunakan sebagai saklar. 3.5.1 Skematik Modul Input menggunakan Toggle Switch Pada gambar 3.9 menggunakan Input Toogle Switch. Input Toogle Switch digunakan pada pin P2.0, P2.3, P2.6, dan P2.7 57 Gambar 3.9 Skematik Modul Input menggunakan Toggle Switch 3.5.2 Skematik Modul Input menggunakan Device Push Button Input Push Button ON digunakan pada pin P0.7, P0.6, P0.5, dan P0.4. Sedangkan Push Button OFF digunakan pada pin P0.3, P0.2, P0.1, P0.0. Gambar 3.10 Skematik Modul Input dengan menggunakan Push Button 3.6 Skematik Modul Output Pada modul output ada 3 jenis output antara lain sebagai berikut : • Modul Output Transistor • Modul Output Relai • Modul Output TRIAC 58 3.6.1 Output Transistor menggunakan Device LED Pada gambar 3.11 kita menggunakan Output Transistor untuk menyalakan lampu Led. Output Transistor kita gunakan pada pin P3.7, P3.6, P3.5, dan P3.4. Gambar 3.11 Output Transistor menggunakan Device LED 3.6.2 Skematik Modul Output Relai menggunakan Device Motor DC Pada gambar 3.12 kita menggunakan Output Relai untuk Menjalankan Motor Dc. Output Relai kita gunakan pada pin P3.3, P3.2, P3.1, dan P3.0. Gambar 3.12 Modul Output Relai menggunakan Device Motor DC 3.6.3 Skematik Modul Output TRIAC menggunakan Device Lampu Pijar Pada gambar 3.12 kita menggunakan Output TRIAC untuk Menyalakan Lampu. Output TRIAC kita gunakan pada pin P1.3, P1.2, P1.1, dan P1.0. 59 Gambar 3.13 Modul Output TRIAC menggunakan Device Lampu Pijar 3.7 Programming Device Memasukan program ke AT89S52 dengan menggunakan kabel ISP. Gambar 3.14 Pin ISP 60 BAB 4 PENGUJIAN ALAT Pada bab ini yang akan dibahas adalah pengujian alat dengan menggunakan Input Saklar PLC FESTO, Output Lampu PLC FESTO, 4 Input Toogle Switch, 4 Input Push ON, 4 Input Push OFF, 4 Output Transistor, 4 Output Relai, 4 Output triac, dan 2 buah sensor cahaya. 4.1 Pengujian dengan menggunakan 2 Input Dan 2 Output Pengujian ini menggunakan Input Saklar PLC, Output Motor DC, Output Lampu PLC, dan menggunakan Output Relai yang akan di pasangkan pada Output Motor DC dan Output Lampu PLC. Dan akan diukur tegangan Input, tegangan Pin Input (Mikrokontroller), tegangan Output, dan tegangan pin Output (Mikrokontroller). Berikut ini merupakan gambar alat secara keseluruhan : Gambar 4.2 Gambar alat Saya akan menggunakan Input Saklar PLC Switch dan Push OFF yang akan dihubungkan ke rangkaian sebagai pengganti Modul Input dengan menggunakan Toogle Switch. Seperti gambar 4.1 61 ketika input OFF maka Pin Input Mikrokontroller ON dan ketika Input ON maka Pin Input Mikrokontroller OFF, hal ini terjadi karena alat yang dibuat menggunakan Active Low. Dari gambar 4.1 dapat dilihat bahwa pin P2.0 mendapat tegangan 5Volt DC ketika input OFF ini membuktikan bahwa alat yang dibuat ini merupakan Avtive Low. Gambar 4.1 Tegangan di P2.0 ketika Input OFF Gambar 4.2 Tegangan di P2.0 ketika input ON Program yang di pakai untuk menguji alat ini merupakan Program untuk menjalankan motor DC 1 menggunakan Relai 1 dan 2 berdasarkan in_switch1 dan menyalakan Output Lampu PLC menggunakan Relai 3 & 4 berdasarkan in_switch2. Gambar 4.3 dan 4.4 merupakan hasil pengukuran Pin Output P3.1 dan P3.0 pada Mikrokontroller. 62 Gambar 4.3 Pin Output P3.1 Gambar 4.4 Pin Output P3.0 Gambar 4.5 Pengukuran Output Relai 3 dan 4 63 Dibawah ini merupakan tabel hasil pengukuran pengujian dengan menggunakan 2 Input dan 2 Output : INPUT OUTPUT Relai 1 ON Pin P3.3 = 3,76 V Relai 2 ON Pin P3.2 = 3,76 V Relai 1 OFF Pin P3.3 = 98 mV Relai 2 OFF Pin P3.2 = 98 mV Relai 3 ON Pin P3.1 = 3,76 V Saklar Relai 4 ON Pin P3.0 = 3,76 V PLC 2 Relai 3 OFF Pin P3.1 = 98 mV Relai 4 OFF Pin P3.0 = 98 mV ON Saklar Pin P2.0 = 43 mV PLC 1 OFF Pin P2.0 = 4,98 V ON Pin P2.3 = 9,1 mV OFF Pin P2.3 = 4,98 V Motor DC Lampu PLC Tabel 4.1 Input Saklar dan Output relai Dari tabel 4.1 dapat disimpulkan bahwa input Saklar PLC, Output Motor DC dan Output Triac (lampu) berfungsi dengan baik. 4.2 Pengujian dengan menggunakan Input Toogle Switch dan Output Triac (lampu) Tabel 4.2 merupakan hasil pengukuran dengan menggunakan Program untuk mengaktifkan Output TRIAC berdasarkan Input Toogle Switch. INPUT OUTPUT Toggle ON Pin P2.0 = 8,8 mV Switch OFF Pin P2.0 = 4,97 V Toggle ON Pin P2.3 = 8,8 mV Switch OFF Pin P2.3 = 4,97 V Toggle ON Pin P2.6 = 8,8 mV Switch OFF Pin P2.6 = 4,97 V Toggle ON Pin P2.7 = 8,8 mV Switch OFF Pin P2.7 = 4,97 V Triac 1 Triac 2 Triac 3 Triac 4 ON Pin P1.3 = 3,78 V OFF Pin P1.3 = 101 mV ON Pin P1.2 = 3,78 V OFF Pin P1.2 = 101 mV ON Pin P1.1 = 3,78 V OFF Pin P1.1 = 101 mV ON Pin P1.0 = 3,78 V OFF Pin P1.0 = 101 mV Lampu 1 Lampu 2 Lampu 3 Lampu 4 Tabel 4.2 Input Toogle Switch dan Triac (lampu) Dari tabel 4.2 dapat dimpulkan bahwa input Toogle Switch dan Output Triac (lampu) berfungsi dengan baik. 4.3 Pengujian dengan menggunakan Input Push ON dan Output Triac (lampu) Tabel 4.3 merupakan hasil pengukuran dengan menggunakan Program untuk mengaktifkan Output TRIAC berdasarkan Input Push ON. 64 INPUT OUTPUT Push ON Pin P0.7 = 10 mV ON OFF Pin P0.7 = 4,99 V Push ON Pin P0.6 = 7,7 mV ON OFF Pin P0.6 = 4,99 V Push ON Pin P0.5 = 7,1 mV ON OFF Pin P0.5 = 4,99 V Push ON Pin P0.4 = 7,5 mV ON OFF Pin P0.4 = 4,99 V Triac 1 Triac 2 Triac 3 Triac 4 ON Pin P1.3 = 3,78 V OFF Pin P1.3 = 101 mV ON Pin P1.2 = 3,78 V OFF Pin P1.2 = 101 mV ON Pin P1.1 = 3,78 V OFF Pin P1.1 = 101 mV ON Pin P1.0 = 3,78 V OFF Pin P1.0 = 101 mV Lampu 1 Lampu 2 Lampu 3 Lampu 4 Tabel 4.3 Input Push ON dan Triac (lampu) Dari tabel 4.3 dapat disimpulkan bahwa input Push ON dan Output Triac (lampu) berfungsi dengan baik. 4.4 Pengujian dengan menggunakan Input Push OFF dan Output Triac (lampu) Tabel 4.4 merupakan hasil pengukuran dengan menggunakan Program untuk mengaktifkan Output TRIAC berdasarkan Input Push OFF. INPUT OUTPUT Push ON Pin P0.3 = 9 mV OFF OFF Pin P0.3 = 5 V Push ON Pin P0.2 = 9 mV OFF OFF Pin P0.2 = 5 V Push ON Pin P0.1 = 7 mV OFF OFF Pin P0.1 = 5 V Push ON Pin P0.0 = 9 mV OFF OFF Pin P0.0 = 5 V Triac 1 Triac 2 Triac 3 Triac 4 ON Pin P1.3 = 3,78 V OFF Pin P1.3 = 101 mV ON Pin P1.2 = 3,78 V OFF Pin P1.2 = 101 mV ON Pin P1.1 = 3,78 V OFF Pin P1.1 = 101 mV ON Pin P1.0 = 3,78 V OFF Pin P1.0 = 101 mV Lampu 1 Lampu 2 Lampu 3 Lampu 4 Tabel 4.4 Input Push ON dan Output Triac (lampu) Dari tabel 4.4 dapat disimpulkan bahwa input Push OFF dan Output Triac (lampu) berfungsi dengan baik. 4.5 Pengujian dengan menggunakan Sensor Cahaya dan Output Transistor (led) Tabel 4.5 merupakan hasil pengukuran dengan menggunakan Program untuk mengaktifkan Output Transistor agar led menyala berdasarkan Sensor Cahaya 65 INPUT OUTPUT ON Pin P2.6 = 8,5 mV OFF Pin P2.6 = 4,98 V ON Pin P2.3 = 8,5 mV OFF Pin P2.3 = 4,98 V Sensor 1 Sensor 2 Led 1 ON Pin P3.7 = 3,78 V Led 2 ON Pin P3.6 = 3,78 V Led 1 OFF Pin P3.7 = 98 mV Led 2 OFF Pin P3.6 = 98 mV Led 3 ON Pin P3.5 = 3,78 V Led 4 ON Pin P3.4 = 3,78 V Led 3 OFF Pin P3.5 = 98 mV Led 4 OFF Pin P3.4 = 98 mV Tabel 4.5 Input Sensor dan Output Transistor (led) Dari tabel 4.5 dapat disimpulkan bahwa alat ini bisa digunakan untuk input yang berupa sensor. Gambar 4.6 Led 3 dan 4 menyala berdasarkan Sensor Cahaya 2 66 Gambar 4.7 Led 1,2,3, dan 4 mati berdasarkan Sensor Cahaya Gambar 4.8 led 1 dan 2 menyala berdasarkan Sensor Cahaya 1 4.6 Contoh Prosedur Praktikum Berikut ini merupakan Prosedur salah satu modul praktikum Mikrokontroller dengan menggunakan bahasa basic compiller.Open Program BASCOM-8051 DEMO dengan cara clik tombol 67 Start, pilih All Program, pilih MCS ElectrONics, pilih BASCOM-8051 DEMO, seperti gambar 4.9 Gambar 4.9 Open BASCOM-8051 DEMO Setelah Program terbuka akan muncul tampilan seperti dibawah ini Gambar 4.10 Tampilan BASCOM-8051 DEMO Kemudian kita klik file, pilih New untuk memulai menuliskan program dalam editor BASCOM 68 Gambar 4.11 New file Tampilan Editor berwarna dasar putih yang belum memiliki nama sehingga nama yang muncul adalah No Name1 Gambar 4.12 New Editor Untuk memberi nama kita pilih File lalu save as 69 Gambar 4.13 Pemberian Nama Kita Save dengan menggunakan Nama Tes1.BAS. Setelah itu Baru kita mulai menuliskan Program. Gambar 4.14 Penulisan Program Setelah selesai menuliskan Program, kita save kembali apa yang sudah kita tuliskan tersebut dengan memilih File lalu save. 70 Gambar 4.15 Save File Kita Compile Program tersebut sehingga menjadi File.hex yang dapat diisikan ke dalam Flash Rom Mikrokontroller. Gambar 4.16 Compile Jika Program yang dituliskan benar dan tidak terdapat kesalahan maka akan muncul tulisan No Errors Found di bagian bawah Program Gambar 4.17 Report 4.7 Pengisian Program Tancapkan Konektor ISP ke Paralel Port yang ada di komputer 71 Gambar 4.18 ISP Connector Tancapkan Konektor ISP yang satunya lagi ke Pin yang terdapat pada Board Gambar 4.19 Pin Connector Lalu kita buka program Mikrokontroller ISP Software yang terdapat pada Start Menu lalu pilih Program pada Windows 72 Gambar 4.20 Open Microccotroller ISP Software Setelah itu akan terbuka tampilan seperti dibawah ini Gambar 4.21 Tampilan Software Pilih LPT yang akan digunakan, pilih LPT1 Gambar 4.22 73 LPT Pilih jenis Mikrokontroller yang akan digunakan yaitu AT89S52 lalu klik OK Gambar 4.23 Select Device Jika ada kONdisi yang belum benar seperti Power Supply pada board belum dinyalakan, atau pemasangan kONektor ISP ada yang salah atau lainnya maka akan muncul tampilan seperti gambar 4.22 yang menandakan Board & kabel ISP tidak terhubung. Gambar 4.24 Device Not Connect Jika semua kondisi sudah benar maka Kabel ISP akan terhubung dengan Board yang ditandai dengan munculnya tampilan seperti gambar 4.24 74 Gambar 4.25 Blank Program Kita pilih nama file.hex yang akan diisikan ke dalam Flash Rom Mikrokontroller AT89S52 Gambar 4.26 Select Program Program akan terisi ke dalam Buffer yang akan diisikan ke dalam Flash Rom Mikrokontroller. Berikut ini merupakan salah satu contoh Program yang digunakan untuk praktikum Mikrokontroller : Program untuk mengaktifkan Output TRIAC berdasarkan Input Switch Do 75 If In_switch1 = 0 Then Set Out_triac1 Else Reset Out_triac1 End If If In_switch2 = 0 Then Set Out_triac2 Else Reset Out_triac2 End If If In_switch3 = 0 Then Set Out_triac3 Else Reset Out_triac3 End If If In_switch4 = 0 Then Set Out_triac4 Else Reset Out_triac4 End If Loop End 76 BAB V KESIMPULAN • Alat ini bisa digunakan sebagai pengganti PLC, dengan device yang menggunakan tegangan 24 volt. • Alat ini bisa digunakan untuk modul praktikum Mikrokontroller, dengan 12 input dan 12 output sebagai berikut : 1. 4 buah Input Togle Switch 2. 4 buah Input Push ON 3. 4 buah Input Push OFF 4. 4 buah Output Transistor yang digunakan untuk menyalakan Lampu Led 5. 4 buah Output Relai yang digunakan untuk menyalakan motor 6. 4 buah Output Triac yang digunakan untuk m 77 DAFTAR PUSTAKA 1. www.toko-elektronika.com/tutorial/uc2.html 2. http://duniaelektronika.blogspot.com/2007/09/mikrokontroller-at89s52.html 3. www.datasheetcatalog.com/datasheets_pdf/A/T/8/9/AT89S52.shtml 4. HTTP://www.NEMA.Org 5. Frank D Petruzella, Programmable Logic Controller, McGraw Hill. USA. 1998 6. Moh. Ibnu Malik, ST. Belajar Mikrokontroller Atmel AT89S52. Gava Media Yogyakarta. 2003 7. OMRON. Programmable Controllers Operation Manual, OMRON Electronics Pte. Ltd. 2002 8. DASAR ELEKTRONIKA , Dr. Ir. Andi Adriansyah, M.Eng