modul praktikum mikrokontroller dan pengganti plc dengan

advertisement
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
Download