2.1.7. Kipas DC
Dalam kipas angin terdapat suatu motor listrik. Motor listrik tersebut mengubah energi listrik menjadi energi gerak. Dalam motor listrik terdapat suatu kumparan besi pada
bagian yang bergerak beserta sepasang pipih yang berbentuk magnet U pada bagian yang diam permanen. Ketika listrik mengalir pada lilitan kawat dalam kumparaan
besi, hal ini membuat kumparan besi menjadi sebuah magnet. Karena sifat magnet yang saling tolak-menolak pada kedua kutubnya maka gaya tolak-menolak magnet
antara kumparan besi dan sepasang magnet tersebut membuat gaya berputar secara periodik pada kumparan besi tersebut. Oleh karena itu baling-baling kipas angin
dikaitkan ke poros kumparan tersebut. Penambahan tegangan listrik pada kumparan besi dan menjadi gaya kemagnetan ditujukan untuk memperbesar hembusan angin
pada kipas angin. Kipas DC ini memakai tegangan sebesar 12 volt. Ukuran dari kipasa DC ini bermacam-macam dari yang berukuran 5 cm sampai 12 cm.
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 mikrokontroler. Instruksi-instruksi yang digunakan dalam memprogram suatu program yang diisikan pada AT89S52
adalah instruksi bahasa pemograman assembler atau sama dengan intruksi pemograman pada IC mikrokontrller 8031 dan MCS51.
Universitas Sumatera Utara
2.2.1. Instruksi Transfer Data
Instruksi transfer data terbagi menjadi dua kelas operasi sebagai berikut : 1.
Transfer data umum General Purpose Transfer , yaitu : MOV, PUSH dan POP.
2. 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
Universitas Sumatera Utara
2.2.2. 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 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
Mikrokontroler AT89S52 dapat melakukan operasi logika bit maupun operasi logika byte. Operasi logika tersebut dibagi atas dua bagian yaitu :
1. Operasi logika operand tunggal, yang terdiri dari CLR, SETB, CPL, RL, RR,
dan SWAP. 2.
Operasi logika dua operand seperti : ANL, ORL, dan XRL.
Universitas Sumatera Utara
Operasi yang dilakukan oleh AT89S52 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 :
1. Lompatan tidak bersyarat Unconditional Jump seperti : ACALL, AJMP,
LJMP,SJMP 2.
Lompatan bersyarat Conditional Jump seperti : JZ, JNZ, JB, CJNE, dan
DJNZ. 3.
Interupsi seperti : RET. 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.
Universitas Sumatera Utara
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.
Universitas Sumatera Utara
BAB 3
RANCANGAN SISTEM
3.1. Diagram Blok Rangkaian