Mikrokontroler Rancangan Alat Pengontrol Kecepatan Putar Motor Listrik Berbasis Mikrokontroler AT89S52

Pada umumnya semua jenis optocoupler pada lembar datanya mampu dibebani tegangan sampai 7500 Volt tanpa terjadi kerusakan atau kebocoran. Biasanya dipasaran optocoupler tersedianya dengan type 4NXX atau MOC XXXX dengan X adalah angka part valuenya. Untuk type 4N25 ini mempunyai tegangan isolasi sebesar 2500 Volt dengan kemampuan maksimal led dialiri arus fordward sebesar 80 mA. Namun besarnya arus led yang digunakan berkisar antara 15mA - 30 mA dan untuk menghubungkan-nya dengan tegangan +5 Volt diperlukan tahanan pembatas.

2.5 Mikrokontroler

Mikrokontroler adalah singel chip yang memiliki kemampuan untuk diprogram dan dirancang khusus untuk aplikasi kontrol serta dilengkapi dengan ROM, RAM dan fasilitas IO pada satu chip. Mikrokontroler merupakan satu hasil dari kemampuan komputasi yang sangat cepat dengan bentuk yang sangat kecil dan harga yang yang murah. Mukrokontroler terus berkembang dengan tujuan untuk memenuhi kebutuhan pasar terhadap alat-alat elektronik dengan perangkat cerdas, cepat sebagai pengontrol dan pemroses data.

2.5.1 Mikrokontroler AT89S52

Mikrokontroler AT89S52 adalah satu anggota dari keluarga MCS-51seri 8052 merupakan pengembangan dari seri 8051, dirancang oleh atmel yang paling banyak digunakan karena dilengkapai dengan internal 8 Kbyte Flash PEROM Prigrammable and Erasable Read Only Memory, yang memungkinkan memori program untuk dapat diprogram berkali-kali 1000 siklus bacatulis. Universitas Sumatera Utara Gambar 2.10 Blok diagram fungsional AT89S52 Mikrokontroler AT89S52 memiliki spesifikasi sebagai berikut: 1. Read Only Memory ROM sejumlah 8 Kbyte ROM atau Read Only memory merupakan memori penyimpan data yang isinya tidak dapat diubah atau dihapus hanya dapat dibaca. ROM biasanya diisi dengan program untuk menjalankan mikrokontroler setelah power dinyalakan dan berisi data-data konstanta kode yang diperlukan oleh program. Kapasitas memori yang disediakan oleh AT89S52 ini sejumlah 8 Kbyte 2. Random Access Memory RAM sejumlah 256 byte RAM atau Random Access Memory merupakan memori penyimpanan data yang isinya daoat diubah dan dihapus. RAM biasanya berisi data-data variabel dan register. Data yang tersimpan pada RAM bersifat votile hilang jika catu daya yang terhubung dimatikandiputuskan. Universitas Sumatera Utara 3. Empat buah port IO, yang masing-masing terdiri dari 8 bit IO InputOutput port merupakan sarana yang dipergunakan oleh mikrokontroler untuk mengakses peralatan-peralatan lain, berupa pin-pin yang dapat berfungsi untuk mengeluarkan data-data digital atau berfungsi untuk mengimput data. Selain itu, dapat digunakan sebagai terminal komunikasi paralel, serta komunikasi serial pin 10 dan pin 11 4. Tiga buah 16 bit timercoutertime 16 bit 2 byte timercouter merupakan salah satu register khusus yang berfungsi sebagai pencacah penghitung eksekusi program mikrokontroler. 5. Interface Komunikasi Serial Interface kmunikasi serial merupakan suatu fungsi port yang terdapat dalam mikrokontroler dalam melakukan antarmuka interface serial yaitu pada p3.0 dan p3.1 6. Memiliki kemampuan Arithmatic and Logic Unit ALU Arithmatic and Logic Unit ALU memiliki kemampuan mengerjakan proses- proses aritmatika penyumlahan, pengurangan, pengalian, pembagian dan operasi logika AND, OR, XOR, NOT terhadap bilangan bulat 8 atau 16 bit. Arsitektur hardware mikrokontroler AT89S52 dari perspektif luar atau biasa disebut pin out digambarkan pada gambar dibawah ini: Gambar 2.11 konfigurasi pin AT89S52 Universitas Sumatera Utara Berukut ini penjelasan mengenai fungsi dari tiap-tiap pin kaki yang ada pada mikrokontroler AT89S52: a. Port 0 Pin 39 – Pin 32 Merupakan dual-purpose port port yang memiliki dua kegunaan, pada disain yang minimum sederhana, port 0 digunakan sebagai port Inputoutput I0. Sedangkan pada desain lebih lanjut pada perancangan dengan memori eksternal digunakan sebagai data dan address alamat yang di-multiplex. b. Port 1 Pin 1 – Pin 8 Port 1 berfungsi sebagai IO 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 programer. c. Port 2 Pin 21 – Pin 28 Merupakan dual-purpose port. Pada desain minimum digunakan sebagai port IO InputOutput. Sedangkan pada desain lebih lanjut digunakan sebagai high byte dari address alamat d. Port 3 Pin 10 – Pin 17 Merupakan dual-porpuse port. Selain sebagai port IO InputOuput, port 3 juga mempunyai fungsi khusus. Fungsi khusus tersebut diperlihatkan pada tabel 2.1 Tabel 2.2 fungsi khusus port 3 No. Pin Port pin Nama Port Fungsi 10 P3.0 RXD Menerima data untuk port serial 11 P3.1 TXD Mengirim data untuk port paralel 12 P3.2 INT 0 Interrupt 0 eksternal 13 P3.3 INT 1 Interrupt 1 eksternal 14 P3.4 T0 Timer 0 input eksternal Universitas Sumatera Utara e. PSEN Pin 29 PSEN Program Store Enable madalah sinyal kontrol yang mengizinkan untuk mengakses program code memori eksternal. Pin ini dihubungkan ke pin OE output Enable dari EPROM. Sinyal PSEN akan ‘0’ low pada tahap fetch penjemputan instrusi. PSEN akan sellau bernilai ‘1’ high pada pembacaan program memori internal. f. ALE Pin 30 ALE Addres Latch Enable digunakan untuk men-demultiplex address alamat data bus. Ketika menggunakan program memori eksternal, port 0 akan berfungsi sebagai address alamat dan data bus. Pada setengah paruh pertama memori cycle ALE akan bernilai ‘1’ high sehingga akan mengizinkan penulisan address alamat pada register eksternal. Pada setenah paruh berikutnya akan bernilai ‘1’ high sehingga port 0 dapat digunakan sebagai data bus. g. EA Pin 31 EA xternal Access pada kondisi low, pin ini akan berfungsi sebagai EA yaitu mikrokontroler akan menjalankan program ayang ada pada memori eksternal setelah sistem di-reset. Jika kondisi high, pin ini akan berfungsi untuk menjalankan program yang ada pada memori internal. h. RST Pin 9 Jika pin ini diberi input ‘1’ high selama minimal 2 cycle, maka sistem akan di- reset kembali keawal i. On-Chip oscillator j. AT89S52 telah memiliki on-chip oscilator yang dapat bekerja jika didrive menggunakan kristal. Tambahan kapasitor diperlukan untuk menstabilkan sistem. 15 P3.5 T1 Timer 1 input eksertal 16 P3.6 WR Memori data eksternal write strobe 17 P3.6 RD Memori data eksternal read strobe Universitas Sumatera Utara Nilai kristal yang biasa digunakan pada AT89S52 ini aalah 12 MHz. On-chip oscillator pada AT89S52 terdiri dari XTAL1 pin 19 input untuk clock internal dan XTAL2 pin 18 output dari osilator. k. Koneksi Power AT89S52 beroperasi pada tegangan 5 volt. Pin Vcc terdapat pada pin 40, sedangkan ground gnd terdapat pada pin 20. Instruksi-instruksi mikrokontroler Instruksi-instruksi yang dimaksud merupakan seperangkat instruksi yang disusun menjadi sebuah program untuk memerintahkan mikrokontroler melakukan sesuatu pekerjaan. Sebuah instruksi selalu berisi kode operasi op-code, kode pengoperasian inilah yang disebut dengan bahasa mesin yang dapat dimengerti oleh mikrokontroler. Inastruksi-instruksi yang digunakan dalam memogram suatu program yang diisikan AT98S52 adalah instruksi bahasa pemograman assembler.

2.5.2 Instruksi Transfer Data

Instruksi tranfer data terbagi menjadi dua kelas operasi sebagai berikut: • Tranfer data umum General Purpose Transfer, yaitu : MOV, PUSH dan POP • Transfer spesifik akumulator Accumulator Specific Transfer, yaitu :XCH, XCHD, dan MOVC Instruksi transfer data adalah instruksi pemindahan pertukaran data antara oprand sumber dengan opran tujuan. Operand-nya dapat berupa register, memori atau lokasi suatu memori. Penjelasan instruksi transfer data dapat dijelasan sebagai berikut. Mov : Transfer dari register satu ke register yang laian, antara register dengan memory Push : Transfer byte atau dari operan sumber ke suatu lokasi dalam strack yang alamatnya ditunjuk oleh register penunjuk Pop : Transfer byte atau dari dalam strack ke operan tujuan Universitas Sumatera Utara Xch : pertukaran data antara operand akumulator dengan operand sumber Xcdh : Pertukaran nibble orde rendah antara RAM internal lokasinya ditunjukkan oleh r0 dan r1 Movc ; Pertukaran data dengan menjumlahkan isi data pointer dengan isi akumulator

2.5.3 Instruksi Aritmatik

Operasi dasar aritmatik seperti penjumlahan, pengurangan, perkalian dan pembagian dimiliki oleh AT89S52 dengan mnemonic : Inc, Add, subb, Dec, Mul dan Div. Penjelasan dari operasi mnemonic tersebut dijelaskan sebagai berikut : Inc : Menambahkan satu isi sumber operand dan menyiman 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 dismpan pada operan 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.5.4 Instruksi Logika

Mikrokontroler AT98S52 dapat melakukanoperasi logika bit maupun operasi logika byte. Operasi logika tersebut terbagi atas dua bagian yaitu: • Operasi logika operan tunggal, yaitu terdiri dari clr, setb, cpl, rl dan rr • Oprasi logika dua operand seperti : anl, orl dan xlr Operasi yang dilakukan oleh AT89S52 dengan pembacaan instruksi logika tersebut dijelaskan dibawah ini: Crl : Menghapus byte atau bit menjadi nol Setb : Membuat bit mejadi satu Universitas Sumatera Utara Cpl : Mengkomplemenkan akumulator Rl : Rotasi akumulator 1 bit kekiri Rr : Rotasi akumulator 1 bit kekanan Anl : Meng-and kan data bit secara langsung dengan isi akumulator Orl : Meng-or kan data bit secara langsung dengan isi akumulator Xrl : meng-xor kan data bit secara langsung dengan isi akumulator

2.5.5 Instruksi Percabangan

Instruksi percabangan terdiri dari 3 tiga kelas oprasi, yaitu: • Lompatan tak bersyarat unconditional Jump seperti : sjmp, ajmp, ljmp • Lompatan bersyarat Conditional Jump seperti : jb, jnb jz, jnz, jc, jnc, cjne, dan djnz • Insterupsi seperti: ret dan reti Penjelasan dari instruksi diatas sebagai berikut : Sjmp : Lompatan untuk percabangan dengan jankauan masumum 1 Kbyte Ajmp : Lompatan untuk percabangan masimum 2 Kbyte Lcall : Pemanggilan subroutine yang mempunyai alamat antara 2 Kbyte – 64 Kbyte. Jb : Percabangan yang akan lompat ke label atau alamat yang dituju jika dalam keadaan bit Jnb : Percabangan yang akan lompat ke label atau alamat yang dituju jika dalam keadaan tidak bit Jz : Percabangan akan dilakukan jika akumulator adalah nol Jnz : Percabangan akan dilakukan jika akumulator adalah tidak nol Jc : Percabangan terjadi jika CF Carry Flag diset ‘1’ Jne : Percabangan terjadi jika CF Carry Flag diset ‘0’ Cjne : Operasi perbandingan Operand pertama dengan operand kedua, jika tidak sama akan dilakukan percabngan Djnz : Mengurangi nilai operand sumber dengan satu dan percabangan akan dilakukan bila hasilnya tidak nol Ret : Kembali ke subrutine. Reti : Kembali ke program interupsi utama Universitas Sumatera Utara

2.6 Liquid Crystal Display LCD