besi dilalui arus listrik maka akan menimbulkan induksi medan magnet, dan induksi ini akan menarik kontak-kontak penghubung relay.
Kontak penghubung relay terdiri dari dua bagian, yaitu :
1. Kontak NC Normally Close
Kontak penghubung dalam kondisi menutup atau terhubung bila relay tidak mendapat masukan tegangan pada kumparannya. Tetapi bila diberi
tegangan yang mencukupi pada kumparannya maka kontak penghubung menjadi terbuka kondisi awal sebelum diaktifkan close.
2. Kontak NO Normally Open
Kontak penghubung dalam kondisi terbuka bila relay tidak mendapat tegangan pada kumparannya. Tetapi bila diberi tegangan yang mencukupi
pada kumparannya maka kontak penghubung menjadi tertutup atau terhubung.
kondisi awal sebelum diaktifkan open
2.2 Perangkat Lunak
Perangkat lunak software adalah seperangkat intruksi yang disusun menjadi sebuah program untuk memerintahkan microcomputer melakukan suatu
pekerjaan. Sebuah instruksi selalu berisi kode operasi op-code, kode
pengoperasian inilah yang disebut dengan bahasa mesin yang dapat dimengerti oleh mikrokontroller. Instruksi-instruksi yang digunakan dalam memprogram
suatu program yang diisikan pada AT89S51 adalah instruksi bahasa pemograman assembler atau sama dengan intruksi pemograman pada IC mikrokontrller 8051
dan MCS51.
Universitas Sumatera Utara
2.2.1 Instruksi Transfer Data
Instruksi transfer data terbagi menjadi dua kelas operasi sebagai berikut : •
Transfer data umum General Purpose Transfer , yaitu : MOV,
PUSH dan POP. •
Transfer spedifik akumulator Accumulator Specific Transfer , yaitu
: XCH, XCHD, dan MOVC. Instruksi transfer data adalah intruksi pemindahan pertukaran data antara
operand sumber dengan operand tujuan. Operand-nya dapat berupa register, memori atau lokasi suatu memori. Penjelasan instruksi transfer data tersebut dapat
dijelaskan sebagai berikut. MOV
: Transfer data dari Register satu ke Register yang lainnya, antara Register dengan Memory.
PUSH : Transfer byte atau dari operand sumber ke suatu lokasi dalam stack
yang alamatnya ditunjuk oleh register penunjuk. POP
: Transfer byte atau dari dalam stack ke operand tujuan. XCH
: Pertukaran data antara operand akumulator dengan operand sumber.
XCHD : Pertukaran nibble orde rendah antara RAM internal lokasinya
ditunjukkan oleh R0 dan R1
2.2.2 Instruksi Aritmatika
Operasi dasar aritmatik seperti penjumlahan, pengurangan, perkalian dan pembagian dimiliki oleh AT89S51 dengan mnemonic : INC, ADD, SUBB, DEC,
MUL dan DIV. Penjelasan dari operasi mnemonic tersebut dijelaskan sebagai berikut :
Universitas Sumatera Utara
INC : Menambah satu isi sumber operand dan menyimpan hasilnya ke
operand tersebut ADD
: Penjumlahan antara akumulator dengan sumber operand dan hasilnya disimpan di akumulator
SUBB : Pengurangan akumulator dengan sumber operand, hasilnya
disimpan dalam operand tersebut. DEC
: Mengurangi sumber operand dengan 1. dan hasilnya disimpan pada operand tersebut.
MUL : Perkalian antara akumulator dengan Register B.
DIV : Pembagian antara akumulator dengan Register B dan hasilnya
disimpan dalam akumulator, sisanya di Register B.
2.2.3 Instruksi Logika
Mikrokontroller AT89S51 dapat melakukan operasi logika bit maupun operasi logika byte. Operasi logika tersebut dibagi atas dua bagian yaitu :
• Operasi logika operand tunggal, yang terdiri dari CLR, SETB, CPL, RL,
RR, dan SWAP. •
Operasi logika dua operand seperti : ANL, ORL, dan XRL. Operasi yang dilkukan oleh AT89S51 dengan pembacaan instruksi logika tersebut
dijelaskan dibawah ini : CLR
: Menghapus byte atau bit menjadi nol. SETB
: Menggeser bit atau byte menjadi satu. CPL
: Mengkomplemenkan akumulator. RL
: Rotasi akumulator 1 bit ke kiri.
Universitas Sumatera Utara
RR : Rotasi akumulator ke kanan.
SWAP : Pertukaran nibble orde tinggi.
2.2.4 Instruksi Transfer Kendali Instruksi transfer kendali control transfer terdiri dari tiga kelas operasi yaitu :
•
Lompatan tidak bersyarat Unconditional Jump seperti : ACALL,
AJMP, LJMP,SJMP •
Lompatan bersyarat Conditional Jump seperti : JZ, JNZ, JB, CJNE,
dan DJNZ. •
Insterupsi seperti : RET dan RET1. Penjelasan dari instruksi diatas sebagai berikut :
ACALL : Instruksi pemanggilan subroutine bila alamat subroutine
tidak lebih dari 2 Kbyte. LCALL
: Pemanggilan subroutine yang mempunyai alamat antara 2 Kbyte – 64 Kbyte.
AJMP : Lompatan untuk percabangan maksimum 2 Kbyte.
LJMP : Lompatan untuk percabangan maksimum 64 Kbyte.
JNB : Percabangan bila bit tidak diset.
JZ : Percabangan akan dilakukan jika akumulator adalah nol.
JNZ : Percabangan akan dilakukan jika akumulator adalah tidak
nol. JC
: Percabangan terjadi jika CY diset “1”. CJNE
: Operasi perbandingan operand pertama dengan operand kedua, jika tidak sama akan dilakukan percabangan.
Universitas Sumatera Utara
DJNZ : Mengurangi nilai operand sumber dan percabangan akan
dilakukan apabila isi operand tersebut tidak nol. RET
: Kembali ke subroutine. RET1
: Kembali ke program interupsi utama
Dalam merancang suatu program mikrokontroler dibutuhkan suatu software yang dapat menulis program dan mengubahnya menjadi bilangan heksadesimal. Untuk
menulis program dapat digunakan Software M-IDE Studio for MCS-51. Untuk men-download program heksadesimal ke dalam mikrokontroler dapat digunakan
Software Downloader ISP – Flash Programmer 3.0a.
2.2.5 Software M-IDE Studio for MCS-51
Instruksi-instruksi yang merupakan bahasa assembly dituliskan pada sebuah editor, yaitu M-IDE Studio Editor. Tampilannya seperti gambar 2.13 di
bawah ini.
Gambar 2.10 Tampilan M-IDE Studio MCS 51 sebagai 8051 editor menulis program
Universitas Sumatera Utara
Setelah program selesai ditulis, kemudian di-save dan setelah itu di- Assemble di-compile. Pada saat di-assemble akan tampil pesan peringatan dan
kesalahan. Jika masih ada kesalahan atau peringatan, itu berarti ada kesalahan dalam penulisan perintah atau ada nama subrutin yang sama, sehingga harus
diperbaiki terlebih dahulu sampai tidak ada pesan kesalahan lagi. Software M-IDE Studio for MCS-51 ini berfungsi untuk merubah program
yang kita tuliskan ke dalam bilangan heksadesimal, proses perubahan ini terjadi pada saat peng-compile-an. Bilangan heksadesimal inilah yang akan dikirimkan
ke mikrokontroler.
2.2.6 Software Downloader ISP – Flash Programmer 3.0a
Untuk mengirimkan bilangan-bilangan heksadesimal ini ke mikrokontroler digunakan software ISP- Flash Programmer 3.0a yang dapat di download dari
internet. Tampilannya seperti gambar 2.14 di bawah ini :
Gambar 2.11 ISP- Flash Programmer 3.a
Universitas Sumatera Utara
Cara menggunakannya adalah dengan meng-klik Open File untuk mengambil file heksadesimal dari hasil kompilasi M-IDE, kemudian klik Write
untuk mengisikan hasil kompilasi tersebut ke mikrokontroler. Untuk mengecek apakah mikrokontroler bisa ditulisi atau tidak dapat diketahui dengan dua cara,
yaitu dengan cara meng-klik Signature dan Read. Jika dapat ditulis maka program akan dijalankan, jika tidak dapat ditulis maka akan ada peringatan “ no response”.
Untuk mengamankan agar program pada mikrokontroler tidak dapat dibaca oleh orang yang tidak diinginkan, dapat digunakan Lock Bit-1, Lock Bit-2 dan Lock
Bit-3 yang masing-masingnya memiliki tingkat keamanan yang berbeda. Makin tinggi tingkatan Lock Bitnya maka makin sulit membongkar programnya. Tetapi
apabila telah di lock dikunci maka mikrokontroler tidak dapat lagi ditulis.
Universitas Sumatera Utara
BAB 3
PERANCANGAN SISTEM
3.1 Perancangan Alat