EA pin 31 On-Chip oscillator

instruksi. PSEN akan selalu bernilai “1” HIGH pada pembacaan program memori internal.

f. ALE pin 30

ALE Address Latch Enable digunakan untuk men-demultiplex address alamat dan 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 mengizinkan penulisan address alamat pada register eksternal. Dan pada setengah paruh berikutnya akan bernilai “1” HIGH sehingga port 0 dapat digunakan sebagai data bus.

g. EA pin 31

EA External Access 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. h. RST pin 9 Jika pada pin ini diberi input “1” HIGH selama minimal 2 cycle, maka sistem akan di-reset kembali ke awal

i. On-Chip oscillator

AT89S52 telah memiliki on-chip oscillator yang dapat bekerja jika didrive menggunakan kristal. Tambahan kapasitor diperlukan untuk menstabilkan sistem. Nilai kristal yang biasa digunakan pada AT89S52 ini adalah 12 MHz. On-Chip Oscillator pada AT89S52 terdiri dari XTAL1 pin 19 input untuk clock internal dan XTAL2 pin 18 output dari osilator. j. Koneksi power AT89S52 beroperasi pada tegangan 5 volt. Pin Vcc terdapat pada pin 40, sedangkan pin Gnd ground terdapat pada pin 20. Intruksi-instruksi dalam mikokontroler Intruksi-instruksi yang dimaksud merupakan 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. Universitas Sumatera Utara Instruksi-instruksi yang digunakan dalam memprogram suatu program yang diisikan pada AT89S52 adalah instruksi bahasa pemograman assembler.

2.6.2 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 spesifik 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 MOVC : Pertukaran data dengan menjumlahkan isi data pointer dengan isi akumulator

2.6.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 : Menambah satu isi sumber operand dan menyimpan hasilnya ke operand tersebut ADD : Penjumlahan antara akumulator dengan sumber operand dan hasilnya disimpan di akumulator Universitas Sumatera Utara 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.6.4. Instruksi Logika

Mikrokontroller AT89S52 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, dan RR. • Operasi logika dua operand seperti : ANL, ORL, dan XRL. Operasi yang dilakukan oleh AT89S52 dengan pembacaan instruksi logika tersebut dijelaskan dibawah ini : CLR : Menghapus byte atau bit menjadi nol. SETB : Membuat bit menjadi satu. CPL : Mengkomplemenkan akumulator. RL : Rotasi akumulator 1 bit ke kiri. RR : Rotasi akumulator 1 bit ke kanan. 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.6.5 Instruksi Percabangan

Instruksi percabangan terdiri dari 3 tiga kelas operasi yaitu : • Lompatan tidak 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. Universitas Sumatera Utara Penjelasan dari instruksi diatas sebagai berikut : SJMP : Lompatan untuk percabangan dengan jangkauan maksimum 1 byte AJM : Lompatan untuk percabangan maksimum 2 Kbyte. LCALL : Pemanggilan subroutine yang mempunyai alamat antara 2 Kbyte – 64 Kbyte. JB : Percabangan yang akan lompat ke label atau ke alamat yang dituju jika dalam keadaan bit. JNB : Percabangan yang akan lompat ke label atau ke 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”. JNC : Percabangan terjadi jika CF Carry Flag diset “0”. 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. RETI : Kembali ke program interupsi utama

2.7 Liquid Crystal Display LCD