BAB 2
LANDASAN TEORI
2.1
Perangkat Keras
Pada subbab ini akan dibahas perangkat – perangkat keras yang digunakan pada palang kereta otomatis ini. Perangkat – perangkat keras tersebut antara lain adalah sensor optocoupler, motor stepper, Buzzer sirine, indikator led, display LCD 2 x 16 dan rangkaian mikrokontroler AT89S52.
2.1.1
Asitektur Mikrokontroler AT89S52 Perkembangan teknologi telah maju dengan pesat dalam perkembangan
dunia elektronika, khususnya dunia mikroelektronika. Penemuan silikon menyebabkan bidang ini mampu memberikan sumbangan yang amat berharga bagi perkembangan teknologi modern. Atmel sebagai salah satu vendor yang mengembangkan dan memasarkan produk mikroelektronika telah menjadi suatu teknologi standar bagi para desainer sistem elektronika masa kini. Tidak seperti sistem komputer, yang mampu menangani berbagai macam program aplikasi (misalnya pengolah kata, pengolah angka dan lain sebagainya),
Universitas Sumatera Utara
mikrokontroler hanya bisa digunakan untuk satu aplikasi tertentu saja. Perbedaan lainnya terletak pada perbandingan RAM dan ROM-nya. Pada sistem komputer perbandingan RAM dan ROM-nya besar, artinya program-program pengguna disimpan dalam ruang RAM yang relatif besar dan rutin-rutin antarmuka perangkat keras disimpan dalam ruang ROM yang kecil. Sedangkan pada mikrokontroler, perbandingan ROM dan RAM-nya yang besar artinya program kontrol disimpan dalam ROM (bisa Masked ROM atau Flash PEROM) yang ukurannya relatif lebih besar, sedangkan RAM digunakan sebagai tempat penyimpanan sementara, termasuk register-register yang digunakan pada mikrokontroler yang bersangkutan. Mikrokontroler adalah single chip computer yang memiliki kemampuan untuk diprogram dan digunakan untuk tugas-tugas yang berorientasi kontrol. Mikrokontroler berkembang dengan dua alasan utama, yaitu kebutuhan pasar (market needed) dan perkembangan teknologi baru. Yang dimaksud dengan kebutuhan pasar yaitu kebutuhan manusia yang semakin besar terhadap alat-alat elektronik dengan perangkat pintar sebagai pengontrol dan pemroses data. Sedangkan yang dimaksud dengan perkembangan teknologi baru adalah perkembangan teknologi semikonduktor yang memungkinkan pembuatan chip dengan kemampuan komputasi yang sangat cepat, bentuk yang semakin mungil, dan harga yang semakin murah. Penggunaan mikrokontroler sangat luas, tidak hanya untuk akuisisi data melainkan juga untuk pengendalian di pabrik-pabrik, kebutuhan peralatan kantor; peralatan rumah tangga, automobil dan sebagainya. Hal ini disebabkan mikrokontroler merupakan system mikroprosesor (yang di dalamnya terdapat
Universitas Sumatera Utara
CPU (Central Prossesing Unit), ROM (Read Only Memory), RAM (Random Acces Memory), dan I/O) yang telah terpadu dalam satu Integrated Circuit, selain itu komponennya (AT89S52) murah dan mudah didapatkan di pasaran. Tidak seperti system computer, yang mampu menangani berbagai macam program aplikasi (misalnya pengolah data, pengolah angka dan lain sebagainya), mikrokontroler hanya bisa digunakan untuk suatu aplikasi tertentu saja. Perbedaan lainnya terletak pada perbandingan RAM-nya dan ROM. Pada system computer perbandingan RAM dan ROM-nya besar, artinya program-program pengguna di simpan dalam ruang RAM yang cukup besar sedangkan rutin-rutin antarmuka perangkat keras di simpan dalam ruang ROM yang kecil. Sedangkan pada mikrokontroler, perbandingan RAM dan ROM-nya yang besar artinya program control di simpan dalam ROM (bisa masked ROM atau Flash PEROM) yang ukurannya relative lebih besar, sedangkan RAM digunakan sebagai tempat penyimpanan sementara, termasuk register-register yang digunakan pada mikrokontroler yang bersangkutan.
2.1.2
Konstruksi AT89S52
Universitas Sumatera Utara
Gambar 2.1. Blok Diagram Fungsional AT89S52
Mikrokontroler AT89S52 hanya memerlukan tambahan 3 buah kapasitor, 1 resistor dan 1 kristal serta catu daya 5 Volt. Kapasitor 10 mikro-Farad dan resistor 8k2 Ohm dipakai untuk membentuk rangkaian reset. Dengan adanya rangkaian reset ini AT89S52 otomatis direset begitu rangkaian menerima catu daya. Kristal dengan frekuensi maksimum 12 MHz dan kapasitor 30 piko-Farad dipakai untuk melengkapi rangkaian oscilator pembentuk clock yang menentukan kecepatan kerja mikrokontroler. Memori merupakan bagian yang sangat penting pada mikrokontroler. Mikrokontroler memiliki dua macam memori yang sifatnya berbeda. ROM (Read Only Memory) yang isinya tidak berubah meskipun IC kehilangan catu daya. Sesuai dangan keperluannya, dalam susunan MCS-51 memori penyimpanan program ini dinamakan sebagai memori program. RAM (Random Access Memory) isinya akan sirna begitu IC kehilangan catu daya, dipakai untuk menyimpan data pada saat program bekerja. RAM yang dipakai untuk menyimpan data ini disebut 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 tertentu
Universitas Sumatera Utara
mikrokontroler mengunakan ROM yang dapat diisi ulang atau ProgramableEraseable ROM yang disingkat menjadi PEROM atau PROM. Dulu banyak dipakai UV-EPROM (Ultra Violet Eraseable Programable ROM) yang kemudian dinilai mahal dan ditinggalkan setelah ada flash PEROM yang harganya jauh lebih murah. Jenis memori yang dipakai untuk memori program AT89S52 adalah Flash PEROM, program untuk mengendalikan mikrokontroler diisikan ke memori itu lewat bantuan alat yang dinamakan sebagai AT89S52 Flash PEROM Programmer. Memori data yang disediakan dalam chip AT89S52 sebesar 256 byte, meskipun hanya kecil saja tapi untuk banyak keperluan, memori berkapasitas 256 byte sudah cukup. Sarana Input/Output (I/O) yang disediakan cukup banyak dan bervariasi. AT89S52 mempunyai 32 jalur Input/Output. Jalur Input/Output paralel dikenal sebagai Port 1 (P1.0..P1.7) dan Port 3 (P3.0..P3.5 dan P3.7). AT89S52
dilengkapi
UART
(Universal
Asyncronous
Receiver
/
Transmitter) yang biasa dipakai untuk komunikasi data secara serial. Jalur untuk komunikasi data serial (RXD dan TXD) diletakkan berhimpitan dengan P3.0 dan P3.1 di kaki nomor 10 dan 11, sehingga kalau sarana input/ouput yang bekerja menurut fungsi waktu, clock penggerak untaian pencacah ini bisa berasal dari oscillator 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/ouput parelel kalau T0 dan T1 terpakai. AT89S52
mempunyai enam sumber pembangkit interupsi, dua
diantaranya adalah sinyal interupsi yang diumpankan ke kaki INT0 dan INT1.
Universitas Sumatera Utara
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. Port 1 dan Port 2, UART, Timer 0, Timer 1 dan sarana lainnya merupakan register yang secara fisik merupakan RAM khusus, yang ditempatkan di Special Function Register (SFR). Mikrokontroller keluarga MCS 51 memiliki port-port yang lebih banyak (40 port I/O) dengan fungsi yang bisa saling menggantikan sehingga mikrokontroller jenis ini menjadi sangat digemari karena hanya dalam sebuah chip sudah bisa mengkafer untuk banyak kebutuhan. Konfigurasi dan Deskripsi kaki-kaki mikrokomputer. AT89S52 adalah sebagai berikut:
Gambar 2.2. Konfigurasi Pin AT89S52
Fungsi dari masing-masing pin AT89S52 adalah :
Deskripsi pin-pin pada mikrokontroler AT89S52 : •
VCC (Pin 40)
Universitas Sumatera Utara
Suplai tegangan 5 Volt. •
GND (Pin 20)
Ground.
•
Port 0 (Pin 39 – Pin 32)
Port 0 dapat berfungsi sebagai I/O biasa, low order multiplex address/data ataupun penerima kode byte pada saat flash programming Pada fungsinya sebagai I/O biasa port ini dapat memberikan output sink ke delapan buah TTL input atau dapat diubah sebagai input dengan memberikan logika 1 pada port tersebut. Pada fungsinya sebagai low order multiplex address/data, port ini akan mempunyai internal pull up. Pada saat flash programming diperlukan eksternal pull up, terutama pada saat verifikasi program. •
Port 1 (Pin 1 – Pin 8)
Port 1 berfungsi sebagai I/O biasa, pada kaki ke 6, ke 7 dan ke 8 terdapat Mosi, Miso dan Sck sebagai masukan dari ISP Programmer yang terhubung ke komputer. Tanpa adanya port ini maka mikrokontroler tidak dapat diprogram oleh ISP Programmer. •
Port 2 (Pin 21 – pin 28)
Port 2 berfungsi sebagai I/O biasa atau high order address, pada saat mengakses memori secara 16 bit. Pada saat mengakses memori 8 bit, port ini akan mengeluarkan isi dari P2 special function register. Port ini mempunyai internal pull up dan berfungsi sebagai input dengan memberikan logika 1. Sebagai output, port ini dapat memberikan output sink ke empat buah input TTL.
Universitas Sumatera Utara
•
Port 3 (Pin 10 – pin 17)
Port 3 merupakan 8 bit port I/O dua arah dengan internal pull up. Port 3 juga mempunyai fungsi pin masing-masing, yaitu sebagai berikut :
Nama Pin
Fungsi
P3.0 (Pin 10)
RXD (Port Input Serial)
P3.1 (Pin 11)
TXD (Port Output Serial)
P3.2 (Pin 12)
INTO (Interrupt 0 Eksternal)
P3.3 (Pin 13)
INT1 (Interrupt 1 Eksternal)
P3.4 (Pin 14)
T0 (Input Eksternal Timer 0)
P3.5 (Pin 15)
T1 (Input Eksternal Timer 1)
P3.6 (Pin 16)
WR (untuk menulis eksternal data memori)
P3.7 (Pin 17)
RD (untuk membaca eksternal data memori)
Tabel 2.1. Konfigurasi Port 3 Mikrokontroler AT89S52 •
RST (pin 9)
Reset akan aktif dengan memberikan input high selama 2 cycle. •
ALE/PROG (pin 30)
Address latch Enable adalah pulsa output untuk me-latch byte bawah dari alamat selama mengakses memori eksternal. Selain itu, sebagai pulsa input program (PROG) selama memprogram Flash. •
PSEN (pin 29)
Program store enable digunakan untuk mengakses memori program eksternal.
Universitas Sumatera Utara
•
EA (pin 31)
Pada kondisi low, pin ini akan berfungsi sebagai EA yaitu mikrokontroler akan menjalankan program yang ada pada memori eksternal setelah sistem di-reset. Jika kondisi high, pin ini akan berfungsi untuk menjalankan program yang ada pada memori internal. Pada saat flash programming, pin ini akan mendapat tegangan 12 Volt. •
XTAL1 (pin 19)
Input untuk clock internal. •
XTAL2 (pin 18)
Output dari osilator.
Spesifikasi penting AT89S52 : a.
Kompatibel dengan keluarga mikrokontroler MCS51 sebelumnya
b.
8 K Bytes In system Programmable (ISP) flash memori dengan kemampuan 1000 kali baca/tulis
c.
tegangan kerja 4-5.0V
d.
Bekerja dengan rentang 0 – 33MHz
e.
256x8 bit RAM internal
f.
32 jalur I/0 dapat diprogram
g.
3 buah 16 bit Timer/Counter
h.
8 sumber interrupt
i.
saluran full dupleks serial UART
j.
Mode pemrograman ISP yang fleksibel
Universitas Sumatera Utara
2.1.3
Sensor Optocoupler
Optocoupler diartikan sebagai Opto (Optic) dan Coupler (Penghubung). Jadi optocoupler adalah suatu komponen penghubung (coupling) yang bekerja berdasarkan picu dari cahaya optik. Optocoupler menggabungkan LED IR dan phototransistor dalam satu kemasan. Pada optocoupler terdiri dari dua bagian, yaitu bagian transmitter dan receiver. Transmitter biasanya dibangun dari sebuah led infra merah, untuk memperoleh ketahanan yang lebih baik terhadap cahaya tampak dari pada jika menggunakan LED biasa. Receiver dibangun dengan dasar komponen phototransisitor, yang akan menghasilkan bias maju/ON bila mendapat cahaya (infra merah) dari transmitter dan sebaliknya menghasilkan cutoff/OFF bila tidak mendapat cahaya (infra merah) dari LED transmitter
Gambar 2.3. Bentuk Fisik Optocoupler
Bagian-bagian optocoupler: 1. Led inframerah yang berfungsi sebagai transmitter Sinar infra merah termasuk dalam gelombang elektromagnetik yang tidak tampak oleh mata telanjang. Sinar ini tidak tampak oleh mata karena mempunyai panjang gelombang berkas cahaya yang terlalu panjang bagi tanggapan mata manusia. Sifat-sifat cahaya infra merah: 1. tidak tampak manusia
Universitas Sumatera Utara
2. tidak dapat menembus bahan yang tidak tembus pandang
Led inframerah adalah suatu bahan semikonduktor yang memancarkan cahaya monokromatik (cahaya yang hanya terdiri atas satu warna dan satu panjang gelombang) yang tidak koheren ketika diberi tegangan maju. Pengembangan led inframerah dimulai dengan alat inframerah dibuat dengan galliumarsenide.
Cahaya
infra
merah
pada
dasarnya
adalah
radiasi
elektromagnetik dari panjang gelombang yang lebih panjang dari cahaya tampak, tetapi lebih pendek dari radiasi gelombang radio, dengan kata lain infra merupakan warna dari cahaya tampak dengan gelombang terpanjang, yaitu sekitar 700 nm sampai 1 mm.
Gambar 2.4. Led Inframerah
Cahaya led inframerah timbul sebagai akibat penggabungan elektron dan hole pada persambungan antara dua jenis semikonduktor dimana setiap penggabungan disertai dengan pelepasan energi. Pada penggunaannya led inframerah ini merupakan komponen elektronika yang memancarkan cahaya infra merah dengan konsumsi daya sangat kecil. Led inframerah dapat diaktifkan
Universitas Sumatera Utara
dengan tegangan dc untuk transmisi atau sensor jarak dekat, dan dengan tegangan ac (30–40 KHz) untuk transmisi atau sensor jarak jauh.
Karakteristik dari LED Infra merah: 1. Dapat dipakai dalam waktu yang sangat lama. 2. Membutuhkan daya yang kecil. 3. Tidak mudah panas. 4. Dapat digunakan dalam jarak yang lebar. 2. Fototransistor yang berfungsi sebagai receiver Receiver yang digunakan oleh sensor infra merah adalah jenis fototransistor, yaitu jenis transistor bipolar yang menggunakan kontak (junction) base-collector untuk menerima atau mendeteksi cahaya dengan gain internal yang dapat menghasilkan sinyal analog maupun digital. Fototransistor ini akan mengubah energi cahaya menjadi arus listrik dengan sensitivitas yang lebih tinggi dibandingkan fotodioda ,tetapi dengan waktu respon yang secara umum akan lebih lambat daripada fotodioda. Hal ini terjadi karena transistor jenis ini mempunyai kaki basis terbuka untuk menangkap sinar,dan elektron yang ditimbulkan oleh foton cahaya pada junction ini di-injeksikan di bagian basis dan diperkuat dibagian kolektornya.
Universitas Sumatera Utara
Gambar 2.5. Fototransistor
Pada fototransistor, jika kaki basis mendapat sinar maka akan timbul tegangan pada basisnya dan akan menyebabkan transistor berada pada daerah jenuhnya(saturasi), akibatnya tegangan pada kaki kolektor akansama dengan ground (Vout=0 V). Sebaliknya jika kakibasis tidak mendapat sinar, tidak cukup tegangan untuk membuat transistor jenuh, akibatnya semua arus akan dilewatkan ke keluaran (Vout=Vcc). Foto transistor memiliki karakteristik : 1. Pendeteksi jarak dekat Infra merah. 2. Dapat dikuatkan sampai 100 sampai 1500. 3. Respon waktu cukup cepat. 4. Dapat digunakan dalam jarak lebar. 5. Dapat dipasangkan dengan (hampir) semua penghasil cahaya atau cahaya yang dekat dengan inframerah, seperti Led inframerah, Neon, Fluorescent, lampu bohlam, cahaya laser dan api. 6. Mempunyai karakteristik seperti transistor, kecuali bagian basis digantikan oleh besar cahaya yang diterima.
Ditinjau
dari
penggunaannya,
Optocoupler
dapat
digunakan
untuk
mendeteksi adanya nya penghalang antara transmitter dan receiver dengan cara bagian tengah (antara Led Inframerah dan phototransistor) diberi
suatu
penghalang. Contoh aplikasinya yaitu Optocoupler dengan piringan berlubang untuk deteksi kecepatan putar motor, sistem deteksi lubang penanda disket pada disk drive komputer, dan sistem limit switch pada printer dan lain-lain.
Universitas Sumatera Utara
2.1.4
Motor Stepper Motor langkah (stepper) banyak digunakan dalam berbagai aplikasi,
dipergunakan apabila dikehendaki jumlah putaran yang tepat atau di perlukan sebagian dari putaran motor. Suatu contoh dapat di jumpai pada disk drive, untuk proses pembacaan dan/atau penulisan data ke/dari cakram(disk), head baca-tulis ditempatkan pada tempat yang tepat di atas jalur atau track pada cakram, untuk head tersebut di hubungkan dengan sebuah motor langkah. Aplikasi penggunaan motor langkah dapat juga di jumpai dalam bidang industri atau untuk jenis motor langkah kecil dapat di gunakan dalam perancangan suatu alat mekatronik atau robot. Motor langkah berukuran besar digunakan, misalnya, dalam proses pengeboran logam yang menghendaki ketepatan posisi pengeboran, dalam hal ini di lakukan oleh sebuah robot yang memerlukan ketepatan posisi dalam gerakan lengannya dan lain-lain. Pada gambar di bawah ditunjukkan dasar susunan sebuah motor langkah (stepper).
A B C U
D
S
Gambar 2.6. Diagram motor langkah (stepper)
Universitas Sumatera Utara
Magnet permanen N-S berputar kearah medan magnet yang aktif. Apabila kumparan stator dialiri arus sedemikian rupa, maka akan timbul medan magnet dan rotor akan berputar mengikuti medan magnet tersebut.setiap pengalihan arus ke kumparan berikutnya menyebabkan medan magnet berputar berputar menurut suatu sudut tertentu, biasanya informasi besar sudut putar tertulis pada badan motor langkah yang bersangkutan. Jumlah keseluruhan pengalihan menentukan sudut perputaran motor.Jika pengalihan arus di tentukan, maka rotor akan berhenti pada posisi terakhir. Jika kecepatan pengalihan tidak terlalu tinggi, maka slip akan dapat dihindari. Sehingga tidak di perlukan umpan balik (feedback) pada pengendalian motor langkah. Motor langkah yang akan di gunakan memiliki 4 fase (pole atau kutub), pengiriman pulsa dari mikrokontroler ke rangkaian motor langkah dilakukan secara bergantian, masing-masing 4 data (sesuai dengan jumlah phase-nya), sebagian di tunjukkan pada gambar di bawah ini.
A B C D Gambar 2.7. Pemberian data/pulsa pada motor stepper
Pada saat yang sama ,untuk tiap motor langkah, tidak boleh ada 2 (dua) masukan atau lebih yang mengandung pulsa sama dengan 1 (high), atau dengan kata lain, pada suatu saat hanya sebuah masukan yang bernilai 1 (satu) sedangkan lainnya bernilai 0 (nol).
Universitas Sumatera Utara
2.1.5
Liquid Crystal Display (LCD) LCD merupakan salah satu komponen yang banyak dipilih untuk
dipergunakan sebagai tampilan karena kemudahannya dalam mengatur tampilan agar lebih menarik. Salah satu contoh LCD yang banyak digunakan yaitu LCD M1632 (LCD 2x16). Timing Signal
3
DB0 - 7 Serial Data RS R/W E
Controller
Segmen Signal 16 Comon Signal
40
Segmen Driver 40
LCD (16 X 2 )
VDD VSS VLC
Gambar 2.8 Diagram Blok Tampilan Kristal Cair (LCD) LCD display module M1632 terdiri dari dua bagian, yang pertama merupakan panel LCD sebagai media penampil informasi dalam bentuk huruf/ angka dua baris, masing – masing baris bisa menampung 16 huruf/ angka.
Bagian kedua merupakan sebuah sistem yang dibentuk dengan mikrokontroler yang ditempel dibalik pada panel LCD, berfungsi mengatur tampilan LCD. Dengan demikian pemakaian LCD M1632 menjadi sederhana, sistem lainnya cukup mengirimkan kode – kode ASCII dari informasi yang ditampilkan . Spesifikasi LCD M1632, yaitu ; a.
Tampilan 16 karakter 2 baris.
Universitas Sumatera Utara
b.
RAM data tampilan dan RAM pembangkit karakter dapat dibaca dari unit mikroprosesor.
c.
Beberapa fungsi perintah antara lain adalah penghapusan tampilan (display clear), posisi kursor awal (cursor home), tampilan karakter kedip (display character blink), pengeseran krusor (cursor shift) dan penggeseran tampilan (display shif).
d.
Rangkaian otomatis reset saat daya dinyalakan.
e.
Catu daya tunggal +5 volt.
2.1.6 Relay Relay adalah komponen elektronika berupa saklar elektronik yang digerakkan oleh arus listrik. Secara prinsip, relai merupakan tuas saklar dengan lilitan kawat pada batang besi (solenoid) di dekatnya. Ketika solenoid dialiri arus listrik, tuas akan tertarik karena adanya gaya magnet yang terjadi pada solenoid sehingga kontak saklar akan menutup. Pada saat arus dihentikan, gaya magnet akan hilang, tuas akan kembali ke posisi semula dan kontak saklar kembali terbuka. Relay biasanya digunakan untuk menggerakkan arus/tegangan yang besar (misalnya peralatan listrik 4 ampere AC 220 V) dengan memakai arus/tegangan yang kecil (misalnya 0.1 ampere 12 Volt DC). Dalam pemakaiannya biasanya relay yang digerakkan dengan arus DC dilengkapi dengan sebuah dioda yang diparalel dengan lilitannya dan dipasang terbalik yaitu anoda pada tegangan (-) dan katoda pada tegangan (+). Ini bertujuan untuk mengantisipasi sentakan listrik yang terjadi pada saat relay berganti posisi dari on ke off agar tidak merusak komponen di sekitarnya.
Universitas Sumatera Utara
Gambar 2.9 Relay Relay adalah suatu komponen elektronika yang akan bekerja bila ada arus yang melalui kumparannya. Sebuah relay terdiri dari kumparan yang dililitkan pada inti besi dan kontak-kontak penghubung. Apabila kumparan yang melilit inti 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)
Universitas Sumatera Utara
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 8031 dan MCS51. 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.
Universitas Sumatera Utara
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 : 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.
Universitas Sumatera Utara
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.
RR
: Rotasi akumulator ke kanan.
SWAP
: Pertukaran nibble orde tinggi.
2.2.4 Instruksi Transfer Kendali Instruksi transfer kendali (control transfer) terdiri dari (3) 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 :
Universitas Sumatera Utara
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.
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).
Universitas Sumatera Utara
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
Setelah program selesai ditulis, kemudian di-save dan setelah itu diAssemble (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.
Universitas Sumatera Utara
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 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,
Universitas Sumatera Utara
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