MMI Motor Servo DC Unhas 2011
-
Upload
mencari-ilham -
Category
Documents
-
view
460 -
download
1
Transcript of MMI Motor Servo DC Unhas 2011
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
I. PENDAHULUAN
1.1 Latar Belakang
Komputerisasi secara umum dapat didefinisikan sebagai semua aktifitas yang
menggunakan komputer dan mengembangkan komputer baik berupa perangkat keras
komputer maupun perangkat lunak komputer. Kegiatan-kegiatan komputing termasuk
merancang dan membuat hardware dan sistem software yang bertujuan untuk
memproses, menyusun dan mengatur berbagai jenis informasi, membuat komputer
cerdas, membuat dan menggunakan media komunikasi, mencari dan menemukan
informasi untuk tujuan tertentu. Banyak hal yang berhubungan dengan komputerisasi
merupakan bidang informatika.
Teknologi industri saat ini tidak terlepas dari peran utama teknik kendali
elektronika untuk mengendalikan motor-motor yang tergabung dalam mesin-mesin
industri. Teknologi kendali automatik ini diperlukan dalam operasi-operasi di industri
untuk mengendalikan aliran proses produksi, pengontrolan dan monitoring.
Pemanfaatan teknologi informasi dalam dunia industri bertujuan untuk
meningkatkan akurasi, mempertinggi laju produksi, mempertinggi kualitas produksi,
mengurangi biaya produksi dan meniadakan pekerjaan-pekerjaan rutin yang harus
dilakukan oleh manusia.
MMI adalah kebutuhan standar di dunia industri manufaktur. Perangkat teknologi
informasi dan komunikasi yang membangun MMI berfungsi sebagai penghubung
antara manusia dan mesin-mesin yang menjalankan proses industri yang kompleks.
MMI adalah bagian utama dari sistem-sistem teknologi kendali proses (Process Control
Technology) di dunia industri manufaktur
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Untuk mengenal secara praktis dalam skala kecil mengenai pemanfaatan
teknologi informasi dalam dunia industry, pada mata kuliah praktikum ini akan
dilaksanakan proyek “Man-Machine Interface”. Fokus utama proyek ini adalah
pengendalian posisi motor servo DC dengan memanfaatkan suatu perangkat
microcontroller MCS-51 yang terhubung dalam sebuah jaringan TCP/IP.
1.2 Rumusan Masalah
1. Bagaimana membuat program Server sebagai “Man-Machine Interface” untuk
mengendalikan Posisi Motor Servo DC dengan menggunakan Microkontroler
MCS 51.
2. Bagaimana membuat program client untuk mengirim data posisi yang dinginkan
menggunakan jaringan ke Server untuk mengendalikan Posisi Motor Servo DC.
1.3 Tujuan
1. Mampu membuat program Server sebagai “Man-Machine Interface” untuk
mengendalikan Posisi Motor Servo DC dengan menggunakan Microkontroler
MCS 51.
2. Mampu membuat program client untuk mengirim data posisi yang dinginkan
menggunakan jaringan ke Server untuk mengendalikan Posisi Motor Servo DC.
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
II. TINJAUAN PUSTAKA
II.1 Microcontroller MCS-51
Dasar dari Microcontroller MCS-51 adalah mikrokontroler 89S51 yang mempunyai
spesifikasi sebagai berikut :
- 4K Bytes Flash Programmable and Erasable Read Only Memory (Flash
PEROM) yang dapat ditulis dan dihapus 1000 kali.
- Kompatibel dengan standar industry MCS-51
- 1 buah jalur serial Input/Output
- 2 buah counter/timer 16-bit
- 128 x 8-bit internal RAM
- 32 jalur Input/Output
- 256 set Instruksi
- 5 sumber pembangkit interupsi
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
II.1.1 Arsitektur MCS-51
Diagram blok mikrokontroler 89S51 ditunjukkan pada gambar dibawah ini
Gambar 2.1 Arsitektur MCS -51
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
II.1.2 Pin MCS-51
Pin IC 89S51 yang terdiri atas 40 pin, 32 pin difungsikan sebagai jalur I/O, 24
jalur mempunyai 2 fungsi (26 jalur pada 8032/8052). Masing-masing dapat
dioperasikan sebagai port I/O atau jalur kontrol atau dipakai sebagai bus data dalam
pengaksesan memori eksternal.
Gambar 2.2 Konfigurasi IC Mikrokontroller 89S51
II.1.3 Fungsi Port
- Port 0
Merupakan dual-purpose port (port yang memiliki dua fungsi). Pada desain yang
minimum (sederhana) digunakan sebagai port I/O (Input/Output). Pada desain
yang lebih kompleks yaitu pada perancangan dengan memori eksternal port 0
digunakan untuk data dan alamat (address) yang di-multiplex. Port 0 terdapat pada
pin 32-39.
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
- Port 1
Merupakan port yang hanya berfungsi sebagai port I/O, kecuali pada IC 8032/8052
yang menggunakan P1.0 dan P1.1 sebagai input eksternal untuk timer ketiga (T3).
Port 1 terdapat pada pin 1-8.
- Port 2
Merupakan dual-purpose port. Pada desain minimum digunakan sebagai port I/O.
Pada desain yang lebih kompleks digunakan sebagai high byte dari address. Port
2 terdapat pada pin 21-28.
- Port 3
Merupakan dual-purpose port. Selain sebagai port I/O juga mempunyai fungsi
khusus yang ditunjukkan pada tabel 2.1.
BIT NAMEBIT
ADDRESSALTERNATE FUNCTION
P3.0 RXD B0h Receive data for serial portP3.1 TXD B1h Transmit data for serial portP3.2 INT0 B2h External interrupt 0P3.3 INT1 B3h External interrupt 1P3.4 T0 B4h Timer/ Counter 0 external inputP3.5 T1 B5h Timer/ Counter 1 external inputP3.6 WR B6h External data memory write strobeP3.7 RD B7h External data memory read strobe
Tabel 2.1 Fungsi alternative port 3
- PSEN (Program Store Anable)
(pin 29) berfungsi sebagai sinyal kontrol untuk memungkinkan microcontroller
membaca program (code) dari memori eksternal. PSEN akan selalu bernilai
logika “0” pada pembacaan program memori internal.
- ALE (Address Latch Enable)
(pin 30) digunakan untuk demultiplek bus alamat dan bus data (juga bagi
8085, 8088, 8086). Sinyal ALE membangkitkan pulsa sebesar 1/6 frekuensi
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
oscillator dan dapat dipakai sebagai clock yang dapat dipergunakan secara
umum. Jika clock 8051 menggunakan x’tal 12 MHz, maka sinyal oscillator
ALE sebesar 2 MHz
- EA (External Access)
Jika EA diberi nilai berlogika “1” maka mikrokontroler menjalankan program
memori internal saja. Jika EA diberi masukan berlogika “0” maka
mikrokontroler hanya akan menjalankan program memori eksternal.
- RST (Reset)
Pulsa transisi dari tinggi selama 2 siklus ke rendah akan me-reset
microcontroller
- Oscillator (pin 18 dan 19)
Mikrokontroler MCS-51 telah memiliki on-chip oscillator yang dapat bekerja
jika di-drive menggunakan kristal. Tambahan kapasitor diperlukan untuk
menstabilkan sistem. Nilai kristal yang biasa digunakan adalah 12 MHz.
- Power
Dioperasikan pada tegangan +5V, Vcc pada pin 40 dan Vss (ground) pada pin
20
II.2 Instruksi-instruksi keluarga MCS-51
Instruksi yang dimiliki oleh keluarga mikrokontroler MCS-51 yang digunakan dalam
modul mikroprosesor trainer SK-8051 pada dasarnya digolongkan menjadi
instruksi operasi aritmatika
operasi logika
transfer data
operasi manipulasi boolean
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
perintah percabangan.
Aturan penulisan bahasa assembly-nya tidak jauh berbeda dengan bahasa assembly untuk
IBM PC. Masing-masing instruksi dapat dijelaskan sebagai berikut :
ADD (Add Immediate Data)
Operand A Accumulator
Data - 256 <= data <= + 255
Format ADD A, #data
Operasi (A) ← (A) + data
Keterangan: instruksi ini menambah 8 bit data langsung ke dalam isi akumulator dan
menyimpan hasilnya pada akumulator
ADD (Add Indirect Address)
Operand A Akkumulator
Rr Register 0 <= r <= 1
Format ADD A, @Rr
Operasi (A) ← (A) + ((Rr))
Keterangan: instruksi ini menambah isi data memori yang lokasinya ditunjukkan oleh
nilai register r ke isi akumulator dan menyimpan hasilnya dalam
akumulator
Contoh: ADD A, Rl
ADD (Add Register)
Operand A Accumulator
Rr Register 0 – 7
Format ADD A, Rr
Operasi (A) ← (A) + (Rr)
Keterangan instruksi ini menambah isi register r dengan isi akumulator dan
menyimpan hasilnya dalam akumulator
Contoh ADD A, R6
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
ADD (Add Memori)
Operand A Accumulator
Alamatdata 0<=Alamat data<=256
Format ADD A, Alamat data
Keterangan instruksi ini menambah isi alamat data ke isi akumulator dan menyimpan
hasilnya dalam akumulator
Contoh ADD A, 30H
ADDC (Add Carry Plus Immediate Data To Accumulator)
Operand A Accumulator
data -256 <= data <= +255
Format ADDC A, # data
Operasi: (A) ← (A) + (C) + data
Keterangan instruksi ini menambah isi carry flag (0 atau 1) ke dalam isi akumulator.
Data langsung 8 bit ditambahkan ke akumulator.
Contoh ADDC A, #OAFH
ADDC (Add Carry Plus Indirect Address To Accumulator)
Operand A Accumulator
data Register 0 <= r <= 1
Format ADDC A, @Rr
Operasi (A) ← (A) + (C) + ((Rr))
Keterangan instruksi ini menambah isi carry flag (0 atau 1) dengan isi akumulator.
Isi data memori pada lokasi yang ditunjukkan oleh register Rr
ditambahkan dan hasilnya disimpan dalam akumulator.
Contoh ADDC A,@R1
ADDC (Add Carry Plus Register To Accumulator)
Operand A Accumulator
data Register 0 <= r <= 7
Format ADDC A, Rr
Operasi (A) ← (A) + (C) + (Rr)
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Keterangan instruksi ini menambah isi carry flag dengan isi akumulator. Isi
register r ditambahkan dan hasilnya disimpan dalam akumulator
Contoh ADDC A,R7
ADDC (Add Carry Plus Memory To Accumulator)
Operand A Accumulator
Alamat data 0 <= Alamat data <= 255
Format ADDC A, Alamat data
Operasi (A) ← (A) + (C) + (Alamat data)
Keterangan instruksi ini menambah isi carry flag dengan isi akumulator. Isi dari
alamat data tertentu ditambahkan pula dan hasilnya disimpan dalam
akumulator
Contoh ADDC A,30H
AJMP (Absolute Jump Within 2K byte Page)
Operand Alamat kode
For rmat AJMP alamat kode
Operasi (PC) ← (PC) + 2
(PC) 0 -10 ← page address
Keterangan instruksi ini meletakkan bagian bawah 11 bit dari pencacah program
dengan 1 bit alamat yang dikodekan.
ANL (Logical AND Immediate Data to Accumulator)
Operand A Accumulator
data -256 <= data <= +255
Format ANL A, #data
Operasi (A) ← (A) AND data
Keterangan instruksi ini meng-AND kan data 8 bit secara langsung dengan isi
akumulator
Contoh ANL A, #00001000B
ANL (Logical AND Indirect Address to Accumulator)
Operand A Accumulator
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Data Register 0<= r<=1
Format ANL A, @Rr
Operasi (A) ← (A) AND ((Rr))
Keterangan instruksi ini meng-AND kan isi memori yang lokasinya ditunjukkan oleh isi
register r dengan isi akumulator
Contoh ANL A,@RO
ANL (Logical AND Register to Accumulator)
Operand A Accumulator
data 0 <= Rr <= 7
Format ANL A, Rr
Operasi (A) ← (A) AND (Rr)
Keterangan instruksi ini meng-AND kan isi register r dengan isi akumulator
ANL (Logical AND Memory to Accumulator)
Operand A Accumulator
Alamat data 0 <= Alamat data <= 255
Format ANL A, Alamat data
Operasi (A) ← (A) AND (Alamat data)
Keterangan instruksi ini meng-ANL kan isi alamat data dengan isi akumulator
Contoh ANL A, 35H
ANL (Logical AND Bit to Carry Flag)
Operand C Carry flag
Alamat bit 0 <= alamat bit <= 255
Format ANL C, Alamat bit
Operasi (C) ← (C) AND (Alamat bit)
Keterangan instruksi ini meng-AND kan isi alamat bit tertentu dengan isi carry flag.
Jika keduanya 1 maka hasilnya 1, selain itu hasilnya 0. Hasilnya
ditempatkan pada carry flag.
Contoh ANL C, 37.3
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
ANL (Logical AND Complement of Bit to Carry Flag)
Operand C Carry flag
Alamat bit 0 <= alamat bit <= 255
Format ANL C, /alamat bit
Operasi (C) ← (C) AND NOT (alamat bit)
Keterangan instruksi ini meng-AND kan hasil komplemen isi alamat bit tertentu dengan
isi carry f1ag. Hasilnya ditempatkan pada carry flag. Isi alamat bit
semula tidak berubah.
Contoh ANL A,/40.5
ATL (Logical AND Immediate Data to Memory)
Operand Alamat data 0 <= alamat data <= 255
Data -256 <= data <= +255
Format ANL Alamat data, #data
Operasi (Alamat data) ← (Alamat data) AND data
Keterangan instruksi ini meng-AND kan data 8 bit secara langsung dengan isi alamat
data tertentu. Hasilnya akan disimpan dalam memori data pada alamat
tersebut.
Contoh ANL 571-1,#01H
ANL (Logical AND Accumulator to Memory)
Operand Alamat data 0 <= Alamat data <= 255
A Accumulator
Format ANL Alamat data, A
Operasi (Alamat data) ← (Alamat data) AND A
Keterangan instruksi ini meng- AND kan isi akumulator dengan isi alamat data
tertentu. Hasilnya disimpan dalam memori data pada alamat yang
bersangkutan.
Contoh ANL l0H,A
CALL (Generic Call)
Operand Alamat kode
Format Call alamat kode
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Keterangan instruksi ini akan ditranslasikan ke ACALL atau LCALL
CJNE (Compare Indirect Address to Immediate Data) Jump if Nol Equal
Operand Rr Register 0<= r <= 1
Data -256 <= data <= +255
Alamat kode
Format CJNE @,Rr, #data, alamat kode
Operasi (PC') ← (PC) + 3
Jika ((Rr)) <> data, maka (PC) ← (PC) + offset relatif
Jika ((Rr)) < data, maka (C) ← 1, lainnya (C) ← 0
Keterangan instruksi ini akan membandingkan data langsung dengan lokasi
memori yang dialamati oleh register r. Apabila tidak sama, eksekusi
akan menuju ke alamat kode. Bila sama, instruksi selanjutnya yang
akan dijalankan. Jika data langsung lebih besar dari isi alamat data
tertentu, carry flag akan diset menjadi 1.
Contoh CJNE @R1, #01H, 0009H
CJNE (Compare Immediate Data to Accumulator) Jump if Not Equal
Operand A Accumulator
data -256 <=data<= +255
Alamat kode
Format CJNE A, #data, Alamat kode
Operasi (PC) ← (PC) + 3
Jika (A) <> data, maka (PC) ← (PC) + offset relative
Jika. (A) < data, maka (C) ← 1
lainnya (C) ← 0
Keterangan instruksi ini akan membandingkan data langsung dengan isi
akumulator. Apabila tidak sama, eksekusi akan menuju ke alamat
kode. Bila sama, instruksi selanjutnya yang akan dijalankan. Jika data
langsung lebih besar dari isi alamat data tertentu, carry flag akan di set
menjadi 1.
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
CJNE (Compare Memory to Accumulator) Jump if Not Equal
Operand A Akumulator
Alamat data 0 <= Alamat data <= 255
Alamat kode
Format CJNE A, Alamat data, alamat kode
Operasi (PC) ← (PC) + 3
Jika (A) <> Alamat data, make (PC) ← (PC) + offset relatif
Jika (A) < Aiamat data, make (C) ←1,
lainnya (C) ← 0
Keterangan instruksi ini akan membandingkan isi lokasi memori tertentu dengan isi
akumulator. Apabila tidak lama, eksekusi akan menuju ke alamat
kode. Bila lama, instruksi selanjutnya yang akan dijalankan. Jika
data langsung lebih besar dari isi akumulator, carry flag akan di - set
menjadi 1.
CJNE (Compare Immediate Data to Register) Jump if Not Equal
Operand Rr Register 0<= r <= 7
Data -255 <= data <= +255
Alamat kode
Format CJNE Rr, #data, Alamat kode
Operasi (PC) ← (PC) + 3
Jika (Rr) <> data, make (PC) ← (PC) + offset relatif
Jika (Rr) < data, make (C) ← 1
lainnya (C) ← 0
Keterangan instruksi ini akan mernbandingkan data langsung dengan isi register r.
Apabila tidak sama, eksekusi akan menuju ke alamat kode. Bila sama,
instruksi selanjutnya yang akan dijalankan. jika data langsung lebih besar
dari isi register, carry flag akan diset meiljadi 1.
CLR (Clear Accumulator)
Operand A Akumulator
Format CLR A
Operasi (A) ← 0
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Keterangann instruksi ini akan me-reset akuniulator menjadi 00H
Contoh CLR A
CLR (C1ear Carry Flag)
Operand C
Format CLR C
Operasi (A) ← 0
Keterangan instruksi ini akan me-reset carry flag menjadi 00H
Contoh CLR C
CLR (Clear Bit)
Operand Alamat bit 0 <= Alamat bit <= 255
Format CLR Alamat bit
Operasi (Alamat bit) ← 0
Keterangan instruksi ini akan mereset alamat bit menjadi 00H
Contoh CLR 40.5
CPL (Complement Accumulator)
Operand A Akumulator
Format CPL A
Operasi (A) ← NOT (A)
Keterangan instruksi ini akan mengkomplemen isi akumulator
Contoh CPL A
CPL (Complement Carry Flag)
Operand CPL C
Forma CPL C
Operasi (C) ← NOT ©
Keterangan instruksi ini akan mengkomplemen isi carry flag
Contoh CPL C
CPL (Complmen Bit)
Operand Alamat bit 0 <= Alamat bit <_ 255
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Format CPL, Alamat bit
Operasi (Alamat bit) ← NOT (Alamat bit)
Keterangan instruksi ini akan mengkomplemen isi suatu alamat bit.
Contoh CPL 33.7
DA (Decimal Adjust Accumulator)
Operand A Akumulator
Format DA A
Keterangan instruksi ini mengatur isi akumulator ke padanan BCD-nya, setelah
penambahan dua angka BCD. Jika auxiliary carry flag 1 atau isi nibble
bawah (bit 0-3) dari akumulator lebih tinggi dari 9, isi akumulator akan
ditambah 6. Jika carry flag diset sebelum atau sesudah penambahan
atau isi nibble atas (bit 4-7) lebih tinggi dari 9, isi akumulator akan
ditambah 60H.
DEC (Decrement Indirect Address)
Operand Rr Register 0 <= r <= 1
Format DEC @Rr
Operasi ((Rr)) ← ((IZr)) -1
Keterangan instruksi ini akan mengurangi isi lokasi memori yang ditunjukkan oleh
register r dengan 1. Hasilnya disimpan dalam lokasi tersebut.
DEC (Decrement Accumulator)
Operand A Akumulator
format DEC A
Operasi (A) ← (A) -1
Keterangan instruksi ini akan mengurangi isi akumulator dengan 1. Hasilnya disimpan
dalam akumulator
Contoh DEC A
DEC (Decrement Register)
Operand Rr Register 0 <= r <= 7
Format DEC Rr
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Operasi (Rr) ← (Rr) -1
Keterangan instruksi ini akan mengurangi isi register r dengan 1. Hasilnya disimpan
dalam register r
Contoh DEC R7
DEC (Decrement Memory)
Operand Alamat data 0 <= Alamat data <= 255
Format DEC Alamat data
Operasi (Alamat data) ← (Alamat data) - 1
Keterangan Instruksi ini akan mengurangi isi akumulator dengan 1. Hasilnya disimpan
dalam akumulator.
DIV (Divide Accumulator by B)
Operand AB Pasangan register
Format DIV AB
Operasi (AB) ← (A)/(B)
Keterangan instruksi ini membagi isi akumulator dengan isi register B. Kedua operand
adalah bilangan integer tak bertanda. Akumulator berisi hasil bagi,
register B berisi sisa pembagian
Contoh MOV B, #5H
DIV AB
DJNZ (Decrement Register And Jump If Not Zero)
Operand Rr Register 0 <= r <= 7 Alamat kode
Format DJNZ Rr, Alamat kode
Operasi (PC) ← (PC) + 2
(Rr) ← (Rr) -1
Jika (Rr) <> 0, maka. (PC) ← (PC) + offset r:latif
Keterangan instruksi ini mengurangi register r dengan 1 dan menempatkan
hasilnya pada register tertentu. Jika hasilnya sudah 0, instruksi selanjutnya
yang akan dieksekusi. jika belum 0, eksekusi akan menuju ke alamat kode.
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
DJNZ (Decrement Memory And Jump If Not Zero)
Operand Alamat data 0 <= Alamat data <= 255
Alamat kode
Format DJNZ Alamat data, Alamat kode
Operasi (PC} ← (PC) + 3
(Alamat data) ← (Alamat data) - 1
Jika (Alamat data) <> 0, maka (PC) ← (PC) + offset relatif
Keterangan instruksi ini mengurangi. alamat data dengan 1 dan menempatkan hasilnya
pada alamat tersebut. Jika hasilnya sudah 0, instruksi selanjutnya yang
akan dieksekusi. Jika belum 0, eksekusi akan menuju ke alamat kode.
INC (Increment Indirect Address)
Operand Rr Register 0 <= r <= 1
Format INC @Rr
Opcras: ((R-r)) <-((Rr)) •+ 1
Keterangan instruksi ini akan menambah isi lokasi memori yang ditunjukkan oleh
register r dengan 1. Hasilnya disimpan dalam lokasi tersebut.
INC (Increment Accumulator)
Operand A Accmulator
Format INC A
Operasi (A) ← (A) + 1 ,
Keterangan instruksi ini akan menambahkan isi akumulator dengan 1. Hasilnya
disimpan dalam akumulator.
Contoh INC A
INC (Increment Data Pointer)
Operand DPTR Data Pointer
Format INC DPTR
Operasi (DPTR) ← (DPTR) + 1
Keterangan instruksi ini akan menambah isi data pointer dengan 1. Hasilnya
disimpan pada data pointer.
Contoh INC DPTR
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
INC (Increnent Register)
Operand Rr Register 0 <= r <= 7
Format INC Rr
Operasi (Rr) ← (Rr) + 1
Keterangan instruksi ini akan menambah isi register r dengan 1. Hasilnya disimpan
dalam register tersebut.
Contoh INC R7
INC (Increment Memory)
Operand Alamat data 0 <= Alamat data <= 255
Format INC Alamat data
Operasi (Alamat data) ← (Alamat data) + 1
Keterangan instruksi ini akan menambah isi alamat data dengan 1. Hasilnya disimpan
dalam alamat tersebut.
Contoh INC 37H
JB (Jump if Bit is Set)
Operand Alamat bit 0 <= Alamat bid <= 255
Alamat kode
Format JB Alamat bit, alamat kode
Operasi (PC) ← (PC) + 3
Jika (Alamat bit) = 1, maka (PC) ← (PC) + offset relatif
Keterangan instruksi ini akan menguji, suatu alamat bit. Jika berisi 1, eksekusi akan
menuju alamat kode. Jika tidak, instruksi selanjutnya akan dieksekusi.
Pencacah program akan dinaikkan pada instruksi selanjutnya. Jika
pengujian berhasil, offset relatif akan ditambahkan ke pencacah program
yang telah dinaikkan dan instruksi pada alamat ini akan dieksekusi.
JBC (Jump And Clear if Bit is Set)
Operand Alamat bit 0 <= Alamat bit <= 255
Alamat kode
Format JBC Alamat bit, alamat kode
Operasi (PC) ← (PC) + 3
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Jika (Alamat bit) = 1, maka (alamat bit) ← 0
(PC) ← (PC) + offset relatif
Keterangan instruksi ini akan menguji suatu alamat bit. Jika berisi 1, bit tersebut akan
diubah menjadi 0 dan eksekusi akan menuju ke alamat kode. Jika
berisi 0, instruksi selanjutnya yang akan dieksekusi.
JC (Jump if Carry is Set)
Operand Alamat kode
Format JCC Alamat kode
Operasi (PC) ← (PC) + 2
Jika (PC) = 1, maka (PC) ← (PC) + offset relative
Keterangan instruksi ini akan menguji isi carry flag. Jika berisi 1, eksekusi akan
menuju ke alamat kode. Jika berisi 0, instruksi selanjutnyaakan
dieksekusi
JMP (Generic Jump)
Operand Alamat kode 0 <= Alamat kode <= 65535
Format JMP Alamat kode
Keterangan instruksi ini akan diubah menjadi SJMP, AJMP atau LJMP
JMP (Jump to Sum of Accumulator and Data Pointer)
Operand A Akumulator
DPTR Data Pointer
Format JMP @A+ DPTR
Operasi (PC) ← (A) + (DPTR) •
Keteragan instruksi ini akan menambah isi akumulator dengan isi data pointer dan
meloncat ke alamat kode sesuai hasil penjumlahan
Contoh JMP @A + DPTR
JNB (Jump if Bit is Not Set)
Operand Alamat bit
Alamat kode
Format JNB Alamat bit, alamat kode
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Operasi (PC) ← (PC) + 3
Jika (alamat bit) = 0, maka (PC) ← (PC) + offset relative
Keterangan instruksi ini akan menguji suatu alarnat bit. Jika isinya 0, eksekusi akan
menuju ke alamat kode. Jika isinya 1, instruksi selanjutnya yang akan
dieksekusi.
JNC (Jump if Carry is Not Set)
Operand Alamat kode
format JNC Alamat kode
Operasi (PC) ← (PC) + 2
Jika (C) = 0, maka (PC) ← (PC) + offset relatif
Keterangan instruksi ini akan menguji isi carry flag. Jika isinya 0, eksekusi akan
menuju ke alamat kode. Jika isinya 1, instruksi selanjutnya yang akan
dieksekusi.
JNZ (Jump if Accumulator is Not Zero)
Operand Alamat kode
Format JNZ Alamat kode
Operasi (PC) ← (PC) + 2
Jika (A) <> 0, maka (PC) ← (PC) + offset relative
Keterangan instruksi ini. akan menguji isi akumulator. Jika tidak sama dengan 0,
eksekusi akan menuju ke alamat kode. Jika sama dengan 0, instruksi
selanjutnya yang akan dieksekusi.
JZ (Jump if Accumulator is Zero)
Operand Alamat kode
Format JZ Alamat kode
Operasi (PC) ← (PC) + 2
Jika (A) = 0, maka (PC) ← (PC) + offset relatif
Keterangan instruksi ini akan menguji isi akumulator. Jika sama dengan 0, eksekusi
akan menuju ke alamat kode. Jika tidak sama dengan 0, instruksi
selanjutnya yang akan dieksekusi.
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
LCALL (Long Call)
Operand Alamat kode 0<= Alamat kode <= 65535
Format LCALL Alamat kode
Operasi (PC) ← (PC) + 3
(SP) <= (SP) + 1
((SP)) ← (PC Low)
(SP) <= (SP) + 1
((SP)) ← (PC high)
(PC) <= Alamat kode
Keterangan instruksi ini akan menyimpan pencacah program pada stack dan
eksekusi akan menuju ke alamat kode
LJMP (Long J amp)
Operand Alamat kode 0 <= Alamat kode <= 65535
Format LJMP Alamat kode
Operasi (PC) ← Alamat kode
Keterangan instruksi ini akan menuju alamat kode
MOV (Move Immediate Data to Indirect Address)
Operand Rr Register 0 <= r <= 1
Data - 256 <= data <= + 255
Format MOV @Rr, #data
Operasi ((Rr)) ← data
Keterangan instruksi ini akan memindahkan data 8 bit secara langsung ke lokasi
memori yang ditunjukkan oleh isi register r
Contoh MOV @R1, #01H
MOV (Move Accumulator to Indirect Address)
Operand Fr Register 0 <= r <= 1
A Accmulator
Format MOV @Rr, A
Operasi ((Rr)) ← (A)
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Keterangan instruksi ini menambah isi akumulator ke lokasi memori yang ditunjukkan
oleh isi register r.
Contoh MOV @R0, A.
MOV (Move 1liemorv to indirect Address)
Operand Rr Register 0 <= r <= 1
Alamat data 0 <= Alamai data <= 255
Format MOV @Rr, alamat data
Operasi ((Rr)) ← (alamat data)
Keterangan instruksi ini memindahkan isi suatu alamat data ke lokasi memori yang
ditunjukkan oleh isi register r.
Contoh MOV @R1, 77H
MOV (Move Immediate Data to Accumulator)
Operand A Accumulator
Data -256 <= data <= +255
Format MOV A, #data
Operasi (A) ← data
Keterangan instruksi ini memindahkan data 8 bit secara langsung ke akumulator
Contoh MOV A, #02H
MOV (Move Indirect Address to Accumulator)
Operand A Akcmulator
Rr Register 0 <= r <= 1
Format MOV A, @Rr
Operasi (A) ← ((Rr))
Keterangan instruksi ini memindahkan isi data memori yang lokasinya ditunjukkan
oleh register r ke akumulator
Contoh MOV A, @RO
MOV (Move Register to Accumulator)
Operand A Akkumulator
Rr Register 0<= r <= 7 .
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Format MOV A, Rr
Operasi (A) ← (Rr)
Keterangan instruksi ini memindahkan isi register r ke akumulator
Conloh MOV A, #02H
MOV (Move Memory to Accumulator)
Operand A Akkumulator
Alamat data 0<= Alamat data <= 255
Format MOV A, alamat data
Operasi (A) ← (Alamat data)
Keterangan instruksi ini memindahkan isi memori data pada suatu alamat ke
akumulator
Contoh MOV A, P3 pindahkan isi port 3 ke akumulator
MOV (Move Bit to Carry Flag)
Operand C Carry Flag
Alamat bit 0<= Alamat bit <= 255
Format MOV C, alamat bit
Operasi (C) ← (alamat bit)
Keterangan instruksi ini memindahkan isi suatu alamat bit ke carry flag
Contoh MOV C, P1.0
MOV (Move Immediate Data to Data Pointer)
Operand Data Pointer
Data 0 <= data <= 65535
Format MOV DPTR, #data
Operasi (DPTR) ← data
Keterangan instruksi ini memindahkan data 16 bit secara langsung ke data pointer
(DPTR)
Contoh MOV DPTR, #0B 19H
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
MOV (Move Memory to Memory)
Operand Alamatl 0 <=Alamat1 <= 255
Alamat2 0 <= Alamat2 ,<= 255
Format MOV alamat1, alamat2
Operasi (Alamat 1) ← (Alamat 2)
Keterangan instruksi ini memindahkan isi memori alamat data sumber (alamat 2)
ke alamat data tujuan (alamat1)
Contoh MOV 13H, 12H
MOVC (Move Code Memory Offset from Data Pointer to Accumulator)
Operand A Akumulator
DPTR Data Pointer
Format MOVC A, @A + DPTR
Operasi (A) ← ((A) + (DPTR))
Keterangan instruksi ini menjumlahkan isi data pointer dengan ini akumulator. Hasil
penjumlahan merupakan alamat kode memory dan isinya akan
dipindahkan ke akumulator.
Contoh MOVC, @A+DPTR
MOVC (Move Code Memory Offset from Program Counter to Accumulator)
Operand A Akumulator
PC Program Counter
Format MOVC A, @A + PC
Operasi (PC) ← (PC) + 1
(A) ← ((A)+(PC))
Keterangan instruksi ini menjumlahkan isi pencacah program yang telah dinaikkan
dengan isi akumulator. Hasil penjumlahan tersebut digunakan sebagai
alamat kode memori dan isinya dipindahkan ke akumulator.
Contoh MOVC, @A+PC
MOVX (Move Accumulator to External Memory addressed by Data Pointer)
Operand DPTR Data Pointer
A Akumulator
Format MOVX, @DPTR, A
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Operasi ((DPTR)) <- (A)
Keterangan Instruksi ini akan memindahkan isi akumulator ke memori data eksternal (off chip)
yang alamatnya ditunjukkan oleh data pointer.
Contoh MOVX @ DPTR, A
MOVX (Move Accumulator to External Memory addressed by Register)
Operand Rr Register 0 < = r < = 1
A Akumulator
Format MOVX, @Rr, A
Operasi ((Rr)) <- (A)
Keterangan Instruksi ini akan memindahkan isi akumulator ke memori data eksternal yang
alamatnya ditunjukkan oleh register r dan SFR P2. P2 menampung byte atas
alamat dan register r menampung byte bawah.
Contoh MOV P2, #00H
MOVX @R0, A
MOVX (Move External Memory Addressed by Data Pointer to Accumulator)
Operand A Akumulator
DPTR Data Pointer
Format MOVX A, @DPTR
Operasi (A) ← ((DPTR))
Keterangan instruksi ini akan memindahkan isi memori data eksternal yang
alamatnya ditunjukkan oleh data pointer ke akumulator.
Contoh MOVX A, @DPTR
MOVX (Move External Memory Addressed by Register to Accumulator)
Operand A Akumulator
Rr Register 0 <= r <= 1
Format MOVX A, @Rr
Operasi (A) ← ((Rr))
Keterangan instruksi ini akan memindahkan isi memori data eksternal yang
alamatnya ditunjukkan oleh register r dan SFR P2 ke akumulator. P2
menampung byte atas alamat dan register r menampung byte bawah.
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Contoh MOV P2, #55H
MOVX A, @R I
MUL (Multiply Accumulator by B)
Operand AB
Format MUL AB
Operasi (AB) ← (A) * (B)
Keterangan instruksi ini akan mengalikan isi akumulator dengan isi register pengali
(B). Byte bawah hasil perkalian dimasukan ke akumulator dan byte atas
dimasukkan ke register pengali.
Contoh MOV B, #10
MUL AB
NOP (No Operation)
Operand -
Format NOP
Operasi Tak ada operasi
Keterangan instruksi ini tidak melakukan apa pun selama satu siklus.
Contoh NOP
ORL (Logical OR Immediate Data to Accumulator)
Operand A Accumulator
Data -256<=data<=255
Format ORL A, #data
Operasi (A) ← (A) OR data
Keterangan instruksi ini meng-OR kan data 8 bit secara langsung dengan isi
akumulator
Contoh OR A,#00001000B
ORL (Logical OR Indirect Address to Accumulator)
Operand A Accumulator
Rr Register 0 <= r <= 1
Format ORL A, @Rr
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Operasi (A) ← (A) OR ((Ri)),
Keterangan instruksi ini meng-OR kan isi memori yang lokasinya ditunjukkan oleh
isi register r dengan isi akumulator. Hasilnya disimpan di akumulator.
Contoh ORL A,@RO
ORL (Logical OR Register to Accumulator)
Operand A Accumulator
Alamat data 0 <= Alamat data <= 255
Format ORL A, Alamat data
Operasi (A) ← (A) OR (Alamat data)
Keterangan instruksi ini meng-OR kan isi alamat data dengan isi akumulator.
Hasilnya disimpan di akumulator
Contoh ORL A, 35
ORL (Logical OR Bit to Carry Flag)
Operand C Carry flag
Alamat bit 0 <= alamat bit <= 255
Format ORL C, Alamat bit
Operasi (C) ← (C) OR (Alamat bit)
Keterangan instruksi ini meng-OR kan isi alamat bit tertentu dengan isi carry
flag. Hasilnya ditempatkan pada carry flag.
Contoh ORL C, 46.2
ORL (Logical OR Complement of Bit to Carry Flag)
Operand C Carry flag
Alamat bit 0 <= alamat bit <= 255
Format ORL C, /alamat bit
Operasi (C) ← (C) OR NOT (alamat bit)
Keterangan instruksi ini meng-OR kan hasil komplemen isi alamat bit tertentu
dengan isi carry flag. Hasilnya ditempatkan pada carry flag. Isi alamat bit
semula tidak berubah.
Contoh ORL C,/25H.5
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
ORL (Logical OR Immediate Data to Memory)
Operand Alamat data 0 <= alamat data <= 255
Data -256 <= data <= +255
Format ORL Alamat data, #data
Operasi (Alamat data) ← (Alamat data) OR data
Keterangan instruksi ini meng-OR kan data 8 bit secara langsung dengan isi alamat
data tertentu. Hasilnya akan disimpan dalam memori data pada alamat
tersebut.
Contoh ORL 57H,#01H
ORL (Logical OR Accumulator to Memory)
Operand Alamat data 0 <= Alamat data <= 255
A Akumulator
Format ORL Alamat data, A
Operasi (Alamat data) ← (Alamat data) OR A
Keterangan instruksi ini meng OR kan isi akumulator dengan isi alamat data
tertentu. Hasilnya disimpan dalam memori data pada alamat yang
bersangkutan
Contoh ORL 10H,A
POP (Pop Stack to Memory)
Operand Alamat data 0 <= Alamat data <= 255
Format POP Alamat dataI
Operasi (Alamat data) <- ((SP))
(SP) <- (SP) - 1
Keterangan instruksi ini menempatkan byte yang ditunjukkan oleh stack pointer
ke suatu alamat data, kemudian mengurangi sate isi stack pointer.
Contoh POP PSW
PUSH (Push Memory onto Stack)
Operand Alamat data 0 <= Alamat data <= 255
Format PUSH Alamat data
Operasi (SP) <- (SP) + I
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
((SP)) <- (Alamat data)
Keterangan instruksi ini menaikkan stack pointer kemudian menyimpan isinya ke
suatu alamat data pada lokasi yang ditunjukkan oleh stack pointer.
Contoh PUSH 4DH
RET (Return from Subi outine) (Non Interrupt) Operand
Format RET
Operasi (PC high) <- ((SP))
(SP) <- (SP) - 1
(PC low) <- ((SP))
(SP) <- (SP) -1
Keterangan instruksi ini dipakai untuk kembali dari suatu subroutine ke alamat
terakhir seat subroutine dipanggil.
RETI (Return from Interrupt Routine) Operand
Format RETI
Operasi (PC high) <- ((SP))
(SP) <- (SP) - 1
(PC low) <- ((SP))
(SP) <- (SP) -1
Keterangan instruksi ini dipakai untuk kembali dari suatu routine pelayanan
interupsi.
RL (Rotate Accumulator Left)
Operand A Akumulator
Format RL A
Operasi
Keterangan instruksi ini memutar setiap bit dalam akumulator serta posisi ke kiri.
Bit paling besar (MSB) bergerak ke bit paling kecil (LSB).
Contoh RL A
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
RLC (Rotate Accumulator And Carry Flag Left)
Operand A Akumulator
Format RLC A
Operasi
Keterangan instruksi ini memutar bit bit dalam akumulator satu posisi ke kiri. Bit
paling besar (MSB) bergerak ke dalam carry flag. Sedangkan isi
carry flag menuju ke LSB
Contoh RLC A
RR (Rotate Accumulator Right)
Operand A Akumulator
Format RR A
Operasi
Keterangan instruksi ini memutar setiap bit dalam akumulator serta posisi ke
kanan. Bit paling kecil (LSB) bergerak ke bit paling besarl (MSB).
Contoh RR A
RRC (Rotate Accumulator And Carry Flag Right)
Operand A Akumulator
Format RRC A
Operasi
Keterangan instruksi ini memutar bit bit dalam akumulator satu posisi ke kanan.
Bit paling kecil (LSB) bergerak ke dzlam carry flag. Sedangkan isi
carry flag menuju ke MSB
Contoh RRC A
SETB (Set Carry Flag)
Operand C Carry Flag
Format SETB C
Operasi (C) <-I
Contoh SETB C
SETB (Set Bit)
Operand Alamat bit 0 <= Alamat bit <= 255
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Format SETB Alamat bit
Operasi (Alamat bit) <- 1
Keterangan Instruksi ini akan men-set isi suatu alamat bit menjadi 1
Contoh SETB 41.5
SUBB (Subtract Indirect Address from Accumulator with Borrow)
Operand A Akumulator
Rr Register 0 <= r <= 1
Operasi (A) <- (A) - (C) - ((Rr);
Keterangan instruksi ini akan mengurangkan isi akumulator dengan carry nag
dan isi lokasi memori yang ditunjukkan oleh isi register r. Hasilnya
disimpan dalam akumulator.
SUBB (Subtract Immediate Data from Accumulator with Borrow)
Operand A Akumulator
Data -256 <= data <= +255
Format SUBB A, #data
Operasi (A) <- (A) - (C) - data
Keterangan :instruksi ini akan mengurangkan isi carry flag dan data langsung dari
isi kumulator. Hasilnya disimpan dalam akumulator.
Contoh SUBB A, #OC1H
SUBB (Subtract Register firom Accumulator with Borrow)
Operand A Akumulator
Rr Register 0<= r <= 7
Format SUBB A, Rr
Operasi (A) <- (A) - (C) - (Rr)
Keterangan instruksi ini akan mengurangi isi akumulator dengan isi carry flag
dan isi register r. Hasilnya disimpan dalam akumulator.
Contoh SUBB A, R6
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
SUBB (Subtract Memory from Accumulator with Borrow)
Operand A Akumulator
Alamat data 0 <= Alamat data <= 255
Format SUBB A, Alamat data
Operasi (A) <- (A) - (C) - (Alamat data)
Keterangan instruksi ini akan mengurangkan isi akumulator dengan isi carry flag
dan isi suatu alamat data. Hasilnya disimpan dalam akumulator.
Contoh SUBB A, 32H
SJMP (Short Jump)
Operand Alamat data
Format SJMP alamat kode
Operasi (PC) <- (PC) + 2
(PC) <- (PC) + offset relatif
Keterangan instruksi ini akan menyebabkan operasi melompat ke alamat kode.
SWAP (Excharge Nibbles in Accumulator)
Operand A Akumulator
Format SWAP A
Keterangan instruksi ini akan mempertukarkan nibble bawah dengan nibble atas
Contoh SWAP A
XCH (Exchange Indirect Address with Accumulator)
Operand A Akumulator
Rr Register 0 <= r <= 1
Format XCH A, @Rr
Operasi temp <- ((Rr))
((Rx)) <-(A)
(A) <- temp
Keterangan instruksi ini akan menukar isi lokasi memori yang ditunjukkan oleh isi
register r dengan isi akurnulator
Contoh XCH A, @RO
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
XCH (Exchange Register with Accumulator)
Operand A Akumulator
Rr Register 0 <= r <= 7
Format XCH A, Rr
Operasi temp <- ((Rr))
((R-r)) <-(A)
(A) <- temp
Keterangan instruksi ini akan menukar isi register dengan isi akumulator
Contoh XCH A, R6
XCH (Exchange Memory with Accumulator )
Operand A Akumulator
Alamat data 0<:= Alamat data <= 255
Format XCH A, alamat data
Operasi temp <- (Alamat data)
(Alamat data) <-(A)
(A) <- temp
Keterangan instruksi ini akan menukar isi suatu alamat data dengan isi akumulator
Contoh XCH A, 37H
XCHD (Exchange Low Nibbles of Indirect Address with Accumulator)
Operand A Akumulator
Rr Register 0 <= r <= 1
Format XCHD A, @Rr
Operasi temp <- ((Rr)) 0 – 3
((Rr))0 – 3 <- (A)0 - 3
(A) 0 – 3 <- temp
Keterangan instruksi ini akan menukar isi nibble bawah dari lokasi memori yang
alamatnya ditunjukkan oleh isi register r dengan isi nibble bawah
akumulator.
Contoh XCHD A, @R0
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
XRL (Logical XOR Immediate rata to Accumulator)
Operand A Akumulator
data -256 <= data <= +255
Format XRL A, #data
Operasi (A) <- (A) XOR data
Keterangan instruksi ini meng-XOR kan data 8 bit secara langsung dengan isi
akumulator
Contoh XOR A, #OFH
XRL (Logical XOR Indirect Address to Accumulator)
Operand A Akumulator
Rr Register 0 <= r <= I
Format XRL A, @Rr
Operasi (A) <- (A) XOR ((Rr))
Keterangan instruksi ini men-XOR kan isi memori yang lokasinya ditunjukkan oleh isi
register r dengan isi akumulator. Hasilnya disimpan di akumulator.
Contoh XRL A, @R0
XRL (Logical XOR Register to Accumulator)
Operand A Akumulator
Rr Register 0 <- IZr <- 7
Format XRL A, Rr
Operasi (A) <- (A) XRL (Rr)
Keterangan instruksi ini meng-XOR kan isi register r dengan isi akumulator. Hasilnya
disimpan di akumulator
Contoh XRL A, R4
II.3 Komunikasi serial
Komunikasi data serial ialah pengiriman data secara serial (data dikirimkan satu –
persatu secara berurutan). Komunikasi serial ada dua macam, yaitu komunikasi
sinkron dan asinkron.
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Pada komunikasi sinkron hanya ada satu pihak (pengirim atau penerima) yang
menghasilkan clock dan mengirimkan clock tersebut bersama – sama dengan data.
Komunikasi data asinkron adalah komunikasi data dimana kedua pihak (pengirim dan
penerima) masing – masing menghasilkan clock namun hanya data yang
ditransmisikan. Komunikasi data serial ini dikerjakan oleh UART (Universal
Asynchronous Receiver/Transmitter). Frekuensi clock harus sama dan harus terdapat
sinkronisasi.
Kecepatan transmisi (baud rate) dapat dipilih bebas dalam rentang waktu
tertentu. Baud rate yang umum dipakai adalah 110, 135, 300, 600, 2400, dan 9600
(bit/detik). Dalam komunikasi data serial, baud rate dari dua alat yang berhubungan
harus diatur pada kecepatan yang sama. Selanjutnya, harus ditetapkan panjang data
(6, 7, atau 8 bit), paritas (genap, ganjil atau tanpa paritas), dan jumlah bit ’stop’ (1,
11/2, atau 2 bit).
2.3.1 Konfigurasi port serial
Konektor port serial terdiri dari dua jenis, yaitu konektor 25 pin (DB25) dan 9 pin
(DB9) yang berpasangan. Keterangan mengenai fungsi saluran RS 232 pada konektor
DB-9 adalah sebagai berikut :
Received Line Signal Detect, dengan saluran ini DCE memberitahukan ke DTE
bahwa pada terminal masukan ada data masuk.
Received Data, digunakan DTE menerima data dari DCE.
Transmisi data, digunakan DTE mengirimkan data ke DCE.
Data terminal ready, pada saluran ini DTE memberitahukan kesiapan
terminalnya.
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Ring Indikator, pada saluran ini DCE memberitahukan bahwa DTE boleh mulai
mengirm data.
Request to Send, dengan saluran ini DCE diminta mengirim data oleh DTE.
DCE ready, sinyal aktif pada saluran ini menunjukkan bahwa DCE sudah siap.
Gambar 2.3. konektor serial DB-9
Gambar 2.3 adalah gambar konektor port serial DB9 pada bagian belakang CPU
dan tabel 2.2 adalah konfigurasi pin dan nama sinyal konektor serial DB9. Pada
komputer IBM-PC kompatibel biasanya kita dapat menemukan dua connector port
serial DB9 yang biasa dinamai COM1 dan COM2.
NomorPin
NamaSinyal
Direction Keterangan
123456789
DCDRxDTxDDTRGNDDSRRSTCTSRI
inin
outout-in
outinin
Data Carrier Detect/Received Line Signal DetectReceive DataTransmit DataData Terminal ReadyGroundData Set ReadyRequest To SendClear To SendRing Indicador
Tabel 2.2. Konfigurasi pin dan nama sinyal konektor serial DB9
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Keterangan mengenai fungsi saluran RS232 pada conector DB9 adalah sebagai
berikut :
1. Received Line Signal Detect, dengan saluran ini DCE memberitahukan ke DTE
bahwa pada terminal masukan ada data masuk.
2. Receive Data, digunakan DTE menerima data dari DCE.
3. Transmit Data, digunakan DTE mengirimkan data ke DCE.
4. Data Terminal Ready, pada saluran ini DTE memberitahukan kesiapan
terminalnya.
5. Signal Ground, saluran ground.
6. Ring Indicator, pada saluran ini DCE memberitahu ke DTE bahwa sebuah stasiun
menghendaki hubungan dengannya.
7. Clear To Send, dengan saluran ini DCE memberitahukan bahwa DTE boleh
mengirim data.
8. Request To Send, dengan saluran ini DCE diminta mengirim data oleh DTE
9. DCE Ready, sinyal aktif pada saluran ini menunjukkan bahwa DCE sudah siap.
Untuk dapat menggunakan port serial perlu diketahui alamatnya. Biasanya
tersedia dua port serial pada CPU, yaitu COM1 dan COM2. Base Address COM1
biasanya ádalah 1016 (3F8H) dan COM2 biasanya 760 (2F8H). Alamat tersebut ádalah
yang biasa digunakan tergantung dari komputer yang digunakan. Tepatnya bisa dilihat
pada peta memori tempat menyimpan alamat tersebut, yaitu memori 0000.0400h untuk
base address COM1 dan memori 0000.0402h untuk base address COM2.
Setelah mengetahui base addressnya maka dapat ditentukanalamat register-
register yang digunakan untuk komunikasi port serial ini. Tabel 2.7 berikut ini ádalah
tabel register-register tersebut beserta alamat-alamatnya.
Nama Register COM1 COM2
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
TX BufferRX BufferBaud Rate Divisor Match LSBBaud Rate Divisor Match MSBInterrupt Enable RegisterInterrupt Identification RegisterLine Control RegisterModem Control RegisterLine Status RegisterModem Status Register
3F8h3F8h3F8h3F9h3F9h3FAh3FBh3FCh3FDh3Feh
2F8h2F8h2F8h2F9h2F9h2FAh2FBh2FCh2FDh2FEh
Tabel 2.3. Nama register dan alamatnya
Keterangan mengenai fungsi register tersebut adalah sebagai berikut :
1. Tx Buffer, digunakan untuk menampung dan menyimpan data yang akan dikirim ke
port serial.
2. Rx Buffer, digunakan untuk menampung dan menyimpan data dari DCE
3. Baud Rate Divisor Match LSB, digunakan untuk menampung byte robot rendah
untuk pembagi clock pada IC UART agar didapat baud rate yang tepat
4. Baud Rate Divisor Match MSB, digunakan untuk menampung byte bobot tinggi
untuk pembagi clock pada IC UART sehingga total angka pembagi adalah empat
byte yang dapat dipilih dari 0001h sampai FFFFh. Tabel 2.8 berikut ini ádalah tabel
angka pembagi clock pada IC UART.
Baud Rate (bit/detik) Angka Pembagi
300600
12001800240048009600
0180h0C00h0060h0040h0030h0018h000Ch
Tabel 2.4. Angka pembagi clock pada IC UART
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Register Baud Rate Divisor Match bisa diisi jira bit 7 pada register Line Control
Register diisi logika 1.
5. Interrupt Enabled Register, digunakan untuk menset interupsi apa saja yang akan
dilayani komputer. Tabel 2.9 berikut ini ádalah tabel rincian bit pada Interrupt
Enabled register.
Nomor bit Keterangan
012
3
4,5,6, dan 7
1 : Interupsi akan diaktifkan jika menerima data1 : Interupsi akan diaktifkan jika register Tx kosong1 : Interupsi akan diaktifkan jika ada perubahan keadaan pada Line Status Register1 : Interupsi akan diaktifkan jika ada perubahan keadaan pada Modem Status RegisterDiisi 0
Tabel 2.5. Rincian bit pada Interrupt Enabled Register.
6. Interrupt Identification Register, digunakan untuk menentukan urutan prioritas
interupsi. Tabel 2.10 berikut ini ádalah rincian bit Interrupt Identification Register.
Nomor bit Keterangan
0 0 : Interupsi menunggu1 : No interrupt pending
1 dan 200 : Prioritas tertinggi oleh Line Status Register01 : Prioritas tertinggi oleh register Rx jika menerima data10 : Prioritas tertinggi oleh register Tx telah kosong11 : Prioritas tertinggi oleh Modem Status Register
3,4,5,6, dan 7 Diisi 0
Tabel 2.6. Rincian bit Interrupt Identification Register.
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
7. Line Control Register, digunakan untuk menentukan jumlah bit data, jumlah bit
parity, jumlah bit stop, serta untuk menentukan apakah baud rate divisor dapat
diubah atau tidak. Tabel 2.11 berikut ini ádalah tabel rincian bit pada Line Control
Register.
Nomor bit Keterangan
0 dan 1
Jumlah bit data00 : Jumlah bit data ádalah 501 : Jumlah bit data ádalah 610 : Jumlah bit data ádalah 711 : Jumlah bit data ádalah 8
2
Bit Stop0 : Jumlah bit stop adalah 11 : Jumlah bit stop adala 1,5 untuk 5 bit data dan 2 untuk 6 hingga 8 bit data
3Bit Parity0 : Tanpa Parity1 : Dengan Parity
40 : Parity ganjil1 : Parity genap
5 1 : Bit Parity ikut dikirimkan (stick parity)
60 : Set break control tidak diaktifkan1 : Set break control diaktifkan
70 : Baud rate divisor tidak dapat diakses1 : Baud rate divisor dapat diakses
Tabel 2.7. Rincian bit pada Line Control Register.
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
8. Modem Control Register, digunakan untuk mengatur saluran pengatur modem
terutama saluran DTR dan saluran RST. Tabel 2.12 berikut ini ádalah tabel rincian
bit pada modem Modem Control Register.
Nomor bit Keterangan
0Bit DTR0 : Saluran DTR diaktifkan (aktif 0)1 : Saluran DTR dibuat normal (tidak aktif)
1Bit RST0 : Saluran RST diaktifkan (aktif 0)1 : Saluran RST dibuat normal (tidak aktif)
2Bit OUT1, digunakan untuk penghubung ke perangkat lain, dapat dibuat logika high atau logika low. Secara normal tidak digunakan.
3Bit OUT2, digunakan untuk penghubung ke perangkat lain, dapat dibuat logika high atau logika low.
40 : Loop back internal diaktifkan1 : Loop back internal tidak diaktifkan
5, 6, 7 Diisi 0
Tabel 2.8. Rincian bit pada Modem Control Register
9. Line Status Register, digunakan untuk menampung bit-bit yang menyatakan
keadaan penerimaan atau pengiriman data dan status kesalahan operasi. Tabel
2.13 berikut ini ádalah tabel rincian bit pada Line Status Register.
Nomor bit
Keterangan
01234567
1 : Menyatakan adanya data yang masuk pada buffer Rx1 : Data yang masuk mengalami overrun1 : Terjadi kesalahan pada bit parity1 : Terjadi kesalahan framing1 : Terjadi Break Interupsi1 : Menyatakan Rx telah kosong1 : Menyatakan bahwa Trasmitter Shift Register telah kosongDiisi 0
Tabel 2.9. Rincian bit Line Status Register.
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
10. Modem Status Register, digunakan untuk menampung bit-bit yang menyatakan
status dari saluran hubungan dengan modem. Tabel 2.14 berikut ini adalah tabel
rincian bit pada Modem Status Register.
Nomor bit Keterangan
01 : Menyatakan adanya perubahan keadaan di saluran Clear To Send.
11 : Menyatakan adanya perubahan keadaan di saluran Data Set Ready
31 : Menyatakan adanya perubahan keadaan di saluran Ring Indicator dari low ke high
41 : Menyatakan saluran Clear To Send (CTS) sudah dalam keadaan aktif
51 : Menyatakan saluran Data Set Ready (DSR) sudah dalam keadaan aktif
61 : Menyatakan bahwa saluran Ring Indicator sudah dalam keadaan aktif
71 : Menyatakan bahwa saluran Receiver Line Signal Detect (DCD) sudah dalam keadaan aktif
Tabel 2.10. Rincian bit Modem Status Register.
II.4 Analog to Digital Converter (ADC)
Analog to Digital Converter (ADC) adalah sebuah piranti yang dirancang untuk
mengubah sinyal-sinyal analog menjadi bentuk sinyal digital. Adapun jenis ADC yang
digunakan dalam rangkaian yang akan dibuat adalah IC ADC 0820. IC jenis ini bekerja
secara cermat dengan menambahkan sedikit komponen sesuai dengan spesifikasi
yang harus diberikan dan dapat mengkonversikan secara cepat suatu masukan
tegangan. Hal-hal yang juga perlu diperhatikan dalam penggunaan ADC ini adalah
tegangan maksimum yang dapat dikonversikan oleh ADC dari rangkaian pengkondisi
sinyal, resolusi, pewaktu eksternal ADC, tipe keluaran, ketepatan dan waktu
konversinya
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Fitur & Spesifikasi Teknis ADC-08
1. Resolusi ADC 8-bit.
2. Tegangan kerja (VCC) = Tegangan referensi (Vref) = +5VDC.
3. Fungsi track-and-hold yang terintegrasi.
4. Tanpa clock eksternal.
5. Memiliki tiga operasi:
- RD (Read) Mode
- WR-RD (Write-Read) Mode
- WR-RD Stand Alone Operation
6. Waktu Konversi 2,5 ms pada Read Mode dan 1,5 ms pada Write-Read Mode
dan WR-RD Stand Alone Operation.
7. Range input 0 VDC hingga +5 V (dengan VCC = +5 VDC).
8. Selisih hasil pengukuran dan penghitungan maksimum 1 LSB (sekitar 20 mV
dengan menggunakan VCC = +5 VDC).
9. Tidak membutuhkan pengaturan zero atau full-scale adjust.
10. Antarmuka paralel dengan level tegangan CMOS atau TTL.
11. Dapat dihubungkan melalui pin I/O ataupun Intel System Bus (System Bus
hanya mendukung WR-RD Mode).
12. Dilengkapi rutin-rutin siap pakai dalam bahasa Assembly untuk DT-51™ Low
Cost Series dan DT-51™ Minimum System ver 3.0.
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Cara Menghitung Output ADC
Rumus Output ADC NVinVref
×256
Dimana :
N : nilai register output ADC
Vin : tegangan input
Vref : tegangan referensi (=VCC)
Gambar 2.4. koneksi ADC-08
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
II.5 H-Bridge
Embedded Module Series (EMS) 5 A H-Bridge merupakan driver H-
Bridge yang didisain untuk menghasilkan drive 2 arah dengan arus kontinyu
sampai dengan 5 A pada tegangan 5 Volt sampai 40 Volt. Modul ini
dilengkapi dengan rangkaian sensor arus beban yang dapat digunakan
sebagai umpan balik ke pengendali. Modul ini mampu men-drive beban-
beban induktif seperti misalnya relay, solenoida, motor DC, motor stepper,
dan berbagai macam beban lainnya.
Spesifikasi H-Bridge
- Terdiri dari 1 driver full H-Bridge beserta rangkaian current sense.
- Mampu melewatkan arus kontinyu 5 A.
- Range tegangan output untuk beban: 5 V sampai 40 V.
- Input kompatibel dengan level tegangan TTL dan CMOS.
- Jalur catu daya input (VCC) terpisah dari jalur catu daya untuk beban (V Mot).
- Output tri-state.
- Dilengkapi dengan dioda eksternal untuk pengaman beban induktif.
- Frekuensi PWM sampai dengan 10 KHz.
- Active Current Limiting.
- Proteksi hubungan singkat.
- Proteksi overtemperature.
- Undervoltage Shutdown.
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Gambar 2.5. tata letak Komponen H-Bridge
Modul H-Bridge memiliki 1 set header (J2) dan 1 set terminal konektor
(J1). Pada bagian ini akan dijelaskan deskripsi dan fungsi dari masing-
masing header dan konektor tersebut.
Interface Header (J2) berfungsi sebagai input untuk antarmuka
dengan input-output digital serta output analog dari modul H-Bridge. Berikut
deskripsi dari masing-masing pin pada Interface Header :
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
No PIN Nama I/O Fungsi
1 MIN1 I Pin input untuk menentukan output MOUT 12 MIN2 I Pin input untuk menentukan output MOUT 2
3 MSTAT1 O
Output digital yang melaporkan adanya kondisifault pada modul. Berlogika Low jika ada faultpada modul atau output
4 MEN IPin enable untuk output H-Bridge (MOUT 1 danMOUT 2)
5 MCS OOutput tegangan analog yang berbanding lurusdengan arus beban (Range output 0 – 2,5 Volt)
6 MSLP I
Pin input untuk mengatur kerja modul H-Bridge.Diberi logika High untuk Full Operation, diberilogika Low untuk Mode Sleep
7,9 VCC -Terhubung ke catu daya untuk input (5 Volt)
8,10 PGND - Titik referensi untuk catu daya input
Table 2.11. deskripsi Pin pada interface header H-Bridge
Arus (dalam Ampere) yang dilewatkan oleh H-Bridge dapat dihitung
dengan rumus :
I=Tegangan¿
180×375
Power & Motor Con (J1) berfungsi sebagai konektor untuk catu daya dan
beban. Berikut deskripsi dari masing-masing terminal pada Power dan
Motor Con:
Nama Fungsi
PGND Titik referensi untuk catu daya input
VCCTerhubung ke catu daya untuk input (5 Volt)
MGNDTitik referensi untuk catu daya output ke beban
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
V MOTOR(V MOT)
Terhubung ke catu daya untuk output ke beban
MOUT 2 Output ke beban dari half H-Bridge keduaMOUT 1 Output ke beban dari half H-Bridge pertama
Table 2.12. deskripsi terminal Power dan Motor Con pada H-Bridge
Sebuah modul H-Bridge 5A dapat digunakan untuk mengatur kerja 1 buah motor
DC secara dua arah. Contoh koneksinya dapat dilihat pada gambar berikut ini:
Gambar 2.6. koneksi H-Bridge 5A
II.6 Motor Servo DC MS-150
Motor servo DC adalah sebuah motor dengan sistem closed feedback di mana
posisi dari motor akan diinformasikan kembali ke rangkaian kontrol yang ada di dalam
motor servo DC. Motor ini terdiri dari sebuah motor, serangkaian gear, potensiometer
dan rangkaian kontrol. Potensiometer berfungsi untuk menentukan batas sudut dari
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
putaran servo. Sedangkan sudut dari sumbu motor servo diatur berdasarkan lebar
pulsa yang dikirim melalui kaki sinyal dari kabel motor. Tampak pada gambar dengan
pulsa 1.5 mS pada periode selebar 2 mS maka sudut dari sumbu motor akan berada
pada posisi tengah. Semakin lebar pulsa OFF maka akan semakin besar gerakan
sumbu ke arah jarum jam dan semakin kecil pulsa OFF maka akan semakin besar
gerakan sumbu ke arah yang berlawanan dengan jarum jam.
Gambar 2.7. Motor DC
Motor servo banyak digunakan untuk aplikasi–aplikasi yang biasanya cukup
menggunakan torsi yang kecil, seperti untuk penggerak piringan disket. Motor servo
DC merupakan motor DC yang tidak memiliki komutator. Pada umumnya motor servo
DC hanya mempunyai kumparan pada statornya, sedangkan pada bagian rotornya
merupakan magnet permanen. Dengan model motor seperti ini maka motor servo DC
dapat diatur posisinya pada posisi tertentu dan atau berputar ke arah yang diinginkan,
searah jarum jam atau sebaliknya. Kecepatan motor servo DC pada dasarnya
ditentukan oleh kecepatan pemberian data pada komutatornya. Semakin cepat data
yang diberikan maka motor servo DC akan semakin cepat pula berputarnya.
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Walaupun begitu motor servo DC memiliki ketelitian yang sangat tinggi dan
mampu dikendalikan oleh tegangan digital karenanya motor servo DC banyak
digunakan pada aplikasi pengendalian. Pada umumnya motor servo DC hanya
mempunyai kumparan pada statornya sedangkan pada bagian rotornya merupakan
magnet permanen.
MS 150 sistem servo modular merupakan dasar pengaturan percobaan
laboratorium, yang menggunakan sistem tenaga modular. Ini terdiri dari tujuh
komponen yang terhubung bersama sebagai berikut:
1. Attenuator Unit (AU 1 SOB)
2. Servo Amplifier (SAI SOD)
3. Power Supply (PSI SOE)
4. DC Motor (DCMI SOF)
5. Loading Unit (LUI SOL)
6. Reduction Gear Tacho Unit (GT I SOX)
7. Base-Plate
2.7. Potensiometer
Potensiometer adalah transduser elektromekanik yang mengubah elektro
mekanik menjadi besaran listrik. Perubahan mekanik disini berkaitan dengan
pergeseran atau perputaran (linear/rotational displacement). Potensiometer putar dapat
ditemukan secara komersil dalam bentuk dalam satu putaran atau banyak putaran,
dengan gerak putaran yang terbatas ataupun tidak terbatas. Potensiometer disebut
juga variable resistor atau disingkat VR (variable resistor). Pada praktikum ini,
potensiometer digunakan sebagai sensor posisi motor servo DC.
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Gambar 2.8. Potensiometer
2.7.1 Pengaksesan Port Serial Pada Borland Delphi
Borland Delphi menyediakan komponen khusus untuk mengakses port serial
komputer yaitu komponen MSComm. MSComm menyediakan fasilitas-fasilitas untuk
mengirim dan menerima data melalui port serial. Properti-properti komponen MSComm
yang sering digunakan antara lain:
Port : Menentukan port dari Com yang digunakan apakah COM1, COM2, COM3
dan seterusnya
BaudRate : Menentukan Nilai Baud Rate yang digunakan
DataBits : Jumlah Bit data yang digunakan
StopBits : Jumlah Bit Stop yang digunakan
Parity : Menentukan paritas yang digunakan
Connected : Jika bernilai true, maka koneksi ke COM aktif dan jika bernilai false
maka koneksi ke COM tidak aktif.
2.7.2 Borland Delphi
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Borland Delphi merupakan suatu bahasa pemrograman yang memberikan
berbagai fasilitas pembuatan aplikasi visual. Untuk mengetahui pemrograman visual
terutama Borland Delphi, bagian ini membahas komponen-komponen pada Delphi,
bagaimana cara menjalankan program Borland Delphi dan Mengenal IDE Delphi.
2.7.3 Menjalankan Program Borland Delphi
Langkah pertama adalah:
1. Mengklik tombol Start yang terletak pada bagian Taskbar
2. Memilih menu Programs
3. Memilih Borland Delphi 7, kemudian klik Delphi 7
4. Sesaat kemudian akan muncul tampilan lembar kerja Borland Delphi seperti
yang terlihat pada gambar 2.8.
Gambar 2.9. Lembar kerja Borland Delphi
2.7.4 Mengenal IDE Delphi
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
IDE (Integrated Development Environment) atau lingkungan pengembangan
terpadu pada program Delphi terbagi menjadi delapan bagian utama, yaitu: Main
Window, ToolBar, Component Palette, Form Designer, Code Editor, Object Inspector,
Code Explorer, dan Object TreeView .
Main Window
Jendela utama ini adalah bagian dari IDE yang mempunyai fungsi yang sama
dengan semua fungsi utama dari program aplikasi Windows lainnya. Jendela utama
Delphi terbagi menjadi tiga bagian, yaitu: Main Menu, Toolbar dan Componen Pallete
Tollbar
Delphi memiliki beberapa toolbar yang masing-masing memiliki perbedaan fungsi
dan setiap tombol pada bagian toolbar berfungsi sebagai pengganti suatu menu
perintah yang sering digunakan. Toolbar terletak pada bagian bawah baris menu. Pada
kondisi default Delphi memiliki enam bagain toolbar, antara lain: Standart, View,
Debug, Desktops, Custom dan Componen Palette. Tombol-tombol yang terletak pada
bagian toolbar dapat ditambah atau dikurangi sesuai kebutuhan.
Component Pallete
Component Palette berisi kumpulan ikon yang melambangkan komponen-
komponen yang terdapat pada VCL (Visual Component Library). Pada Componen
Palette Anda akan menemukan beberapa page control, seperti Standart, Additional,
Win32, System, Data Access dan lain-lain seperti tampak pada gambar 2.9.
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Gambar 2.10. Component Palette
Ikon tombol Pointer terdapat di setiap page control. Tombol ini dipakai untuk menekan
atau memilih posisi. untuk memilih sebuah item dari sebuah page control, tombol
pointer ini akan berada dalam keadaan tidak aktif. Hal ini berarti Anda akan meletakkan
komponen pada form, cukup dengan mengklik pada form.
Form Designer
Merupakan suatu objek yang dapat dipakai sebagai tempat untuk merancang
program aplikasi. Form berbentuk sebuah meja kerja yang dapat diisi dengan
komponen-komponen yang diambil dari Component Palette. Pada saat memulai
Delphi, Delphi akan memberikan sebuah form kosong yang disebut form1, seperti
gambar 2.10 di bawah ini.
Gambar 2.11 Lembar kerja Form
Sebuah form mengandung unit yang berfungsi untuk mengendalikan form dan
dapat mengendalikan komponen-komponen yang terletak dalam form dengan
menggunakan Object Inspector dan Code Editor.
Code Editor
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Code Editor merupakan tempat untuk menuliskan kode program. Pada bagian ini
dapat dituliskan pernyataan-pernyataan dalam Object Pascal. Satu diantara
keuntungan bagi pengguna Delphi adalah tidak perlu menuliskan kode-kode sumber,
karena Delphi telah menyediakan kerangka penulisan sebuah program seperti pada
gambar 2.11 di bawah ini.
Gambar 2.12. Lembar kerja Code Editor
Object Inspector
Digunakan untuk mengubah properti atau karakteristik dari sebuah komponen.
Object Inspector terdiri dari dua tab, yaitu Properties dan Events seperti gambar 2.12
di bawah ini.
Gambar 2.13. Lembar kerja Object Inspector
Code Explorer
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Code Explorer merupakan lembar kerja baru yang terdapat di dalam Delphi7 yang
tidak ditemukan pada versi-versi sebelumnya. Code Explorer digunakan untuk
memudahkan pemakai berpindah antar file unit yang terdapat di dalam jendela Code
Editor. Untuk menutup Code Explorer, klik tanda silang yang terdapat di sudut kanan
atas, dan untuk membukanya kembali pilih menu View Code Explorer dari main menu
atau klik kanan dalam jendela Code Editor kemudian pilih View Explorer.
Object TreeView
Object TreeView menampilkan diagram pohon dari komponen-komponen yang
bersifat visual maupun nonvisual yang telah terdapat dalam form, data module, atau
frame. Object TreeView juga menampilkan hubungan logika antar komponen. Apabila
mengklik kanan salah satu item yang terdapat di dalam diagram pohon, dapat dilihat
konteks menu komponen versi sebelumnya. Untuk mengakses menu secara penuh,
klik kanan pada komponen yang sama dalam form, data module, atau frame.
III. METODOLOGI
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
III.1 Alur Sistem Pengontrolan Motor Servo DC oleh beberapa Komputer
(Jaringan Komputer).
Sistem yang akan dibangun akan tampak seperti pada gambar berikut :
Gambar 3.1 Alur Sistem Pengontrolan Motor Servo DC oleh Multi User
Penjelasan Alur Sistem MMI pada pengontrolan motor servo DC dalam
sebuah jaringan komputer adalah sebagai berikut :
Microcontroller
Client
Client
Client
Server
Motor Servo DC
RS-232
ADC
Sensor Posisi
H-BRIDGE
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Pada sebuah jaringan komputer yeng telah terhubung oleh sebuah komputer
server akan melakukan perintah melakukan perputaran motor servo DC (dalam derajat
tertentu misalnya 300). Data input dari suatu Client akan masuk ke dalam server lalu
server yang telah terhubung dengan microcontroller akan mengirimkan data tersebut
kepada microcontroller lalu microcontroller akan mengirimkan data perintah tersebut
kepada Motor Servo DC yang tentu saja akan melalui DAC (pengubah dari Digital ke
Analog) dan Driver (Penambah Tegangan untuk menggerakkan Motor Servo DC).
Motor Servo DC akan bergerak sesuai dengan jumlah derajat yang diinputkan.
Ketika terjadi gangguan pada Motor Servo DC yang menyebabkan terjadinya
perubahan derajat perputaran dalam hal ini terjadi peningkatan atau pengurangan
maka secara otomatis sensor akan mengirimkan perubahan tersebut pada
Microcontroller yang tentu saja melalui ADC (pengubah dari Analog ke Digital).
Perubahan data tersebut akan dilanjutkan ke Server lalu melalui server akan
dilanjutkan kepada Client dan secara otomatis Program pada Client akan memberikan
perintah baru dalam hal ini mengembalikan posisi derajat sesuai dengan inputan awal.
III.2 Alat dan Komponen pada sistem
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Alat dan komponen yang digunakan dalam membangun dan mengaplikasi system
adalah:
- Sistem microcontroller 89C51 1 unit
- ADC 0820 1 buah
- H-bridge 5A 1 unit
- Sistem motor servo DC 1 unit
- PC/laptop beberapa unit
- RS-232 1 buah
- Kabel penghubung Secukupnya
III.3 Program Interface Sistem
Program interface yang dibangun sebagai penghubung antara manusia dan
mesin adalah meliputi 2 buah Program yaitu :
1. Program pada Client / User Pengontrol Motor Servo DC
Program yang akan dibangun pada Client merupakan sebuah program
inputan yang berisi perintah terhadap besarnya derajat perputaran Motor
Servo DC,
Pada Program Client akan dilengkapi system login dengan tujuan untuk
membatasi penggunaan terhadap orang – orang yang tidak berkepentingan
dan juga sebagai pengenal bagi Server dalam menerima perintah kepada
Motor Servo DC.
2. Program pada Server / Penghubung PC Client ke Microcontroller
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Program pada Server merupakan sebuah program monitoring terhadap
jalannya proses dari Client ke Motor Servo DC, sehingga akan diketahui
Client mana yang telah melakukan koneksi ke Motor Servo DC serta berapa
derajat perintah yang dilakukan dan berbagai monitoring lainnya yang
berhubungan dengan hubungan antara PC Client dengan Motor Servo DC.
III.4 Rancangan Tahapan dalam mengaplikasikan Sistem yang dibangun
dapat dilihat pada gambar berikut :
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Penjelasan Tahapan dalam mengaplikasikan Sistem MMI yang dibangun adalah
sebagai berikut :
Pembuatan Program Assembly untuk Modul Microcontroler 89C51
Pembuatan Program untuk MMI Client-Server menggunakan Borland Delphi
Uji coba Koneksi Client-Server
Pembuatan Laporan
Uji coba Modul Servo DC secara manual
Mempersiapkan alat dan bahan
Menghubungkan Server dan modul Microcontroler 89C51 menggunakan port serial RS 232
Uji coba MMI Client-Server pengendalian Motor Servo DC
Pengambilan data
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
1. Menyiapkan seluruh Alat dan Komponen yang dibutuhkan dari system yang
dibangun.
2. Melakukan percobaan menjalankan modul motor servo DC secara manual
3. Membuat program Asembly untuk modul microcontroller 89C51.
4. Membuat program MMI Client-Server pengendalian posisi motor servo dc
menggunakan bahasa Borland Delphi berbasis TCP/IP.
5. Menghubungkan program MMI Client-Server pada PC yang telah dibuat dengan
microcontroller melalui serial RS-232.
6. Menjalankan program memonitoring dan mengendalikan posisi motor pada
sebuah komputer MMI-Client.
7. Melakukan Pengujian koneksi MMI Client-Server
8. Melakukan pengujian pengendalian motor servo DC menggunakan MMI Client-
Server berbasis TCP/IP
Mencoba melakukan gangguan posisi derajat perputaran pada Motor Servo DC
dengan tujuan untuk mengetahui sistem pengendali program pada Client yaitu dapat
mengembalikan ke posisi normal
IV. PEMBAHASAN
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
IV.1 Program Assembly Mikrokontroler
Program pada mikrokontroler dimaksudkan untuk dapat membaca posisi terakhir
pada motor servo dc dan permintaan posisi dari MMI-Client. Dimana fungsi
Microcontroller sebagai lalu lintas data antara server dengan motor servo DC
Kemudian program dapat membandingkan kedua posisi tersebut. Adapun Flowchart
dalam membuat program assembly yaitu :
Gambar 4.1. Flowchart Microcontroler 89C51
Adapun listing program Asembly pada microkontroler 89S51 yaitu :
Start
Kirim Data SerialEn
d
‘A’ ???
Stop
Inisialisasi Serial Port
Terima Data Serial
Pembacaan Data ADC
T
YY
Putar kiri “B”
Putar kanan
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
$MOD51
;Main Program;kelompok 2 kendali posisi motor servo DC;*********************************************************
Org 0000H
mov P0,#0 ;Control ADCsetb P0.3 ;set pin INTsetb P0.7 ;set pin WRmov P2,#0 ;Control Motorsetb P2.0 ;set pin Enable
Main_Prog:call Serial_Port_Init
Main_Prog_Loop:call Serial_Receivecall read_adccall Serial_Transmitsjmp Main_Prog_Loop
Serial_Port_Init:mov SCON, #50Hmov RCAP2H, #0FFHmov RCAP2L, #0F7H ; 0F7H utk 38400 bps, 0FAH utk 56800 bps mov T2CON, #34H ; utk set bit TCLK,RCLK dan TR2 pada reg TCONret
Serial_Receive:jnb RI, $mov A, SBUF ;data received simpan di Acjne A,#'A',putarkanansetb P2.2clr P2.3sjmp oke
putarkanan:cjne A,#'B',okeclr P2.2setb P2.3
oke:call delay ;lama putar motorclr P2.2clr P2.3clr RIret
read_adc:setb P0.6mov R4,100djnz R4,$clr P0.6mov A,P1ret
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Serial_Transmit:
mov B, Aswap Aanl A, #00FHcall NibleToASCIIcall Transmit
xch A, Banl A, #00Fhcall NibleToASCIIcall Transmitret
NibleToASCII:add A,#036hjnb ACC.6, Skipadd A,#7
Skip:subb A,#6ret
Transmit:clr TImov SBUF, A ;kirimkan ke Bufferjnb TI, $ret
delay: mov R5,#100
D01: mov R6,#200djnz R6,$djnz R5,D01ret
end
4.2. Program MMI Client-Server
Program untuk MMI Client-Server ini dibuat dengan bahasa pemrograman Delphi.
MMI Client-Server merupakan program interface dalam melakukan pengendalian posisi
motor servo DC. Secara umum program ini mempunyai alur logika seperti diperlihatkan
pada gambar flowchart di bawah ini :
MMI server
- Flowchart control kecepatan motor servo DC pada Server
Start
SE := posisi kontrolsudut := posisi motor
pC := posisi kontrolpM := posisi motor
pS := |pC – pM|
pS > 15set
timer.interval := 200
settimer.interval := 100
End
[tidak][ya]
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Gambar 4.2. Flowchart alur program control kecepatan putaran motor servo DC
Flowchart diatas menunjukkan pengaturan kecepatan putaran motor servo DC,
dimana pada saat mengatur posisi derajat motor DC kecepatan motor DC akan lambat
ketika pS > 15, dimana :
pC= posisi control (setting)
pM= posisi Motor
pS = |pC-pM|
- Flowchart control posisi motor servo DC pada Server
Start
SE := posisi kontrolsudut := posisi motor
pC := posisi kontrolpM := posisi motor
pS := |pC – pM|
sudut>SE+1or
sudut<SE-1
End
[ya] [tidak]
[ya]
[tidak]
SE>sudut
pS≤180
STOP
pS≤180
putar kanan
putar kiri
[ya][tidak]
[ya]
[tidak]
putar kiri
putar kanan
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Gambar 4.3. Flowchart alur program kontrol posisi putaran motor servo DC
Adapun listing program MMI server menggunakan bahasa Delphi yaitu :
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
procedure TFormServerMMI.Timer1Timer(Sender: TObject);Var S,D1: string;i1,code :integer;sudut : integer;pC, pM, pS : Real;
begin S:= MSComm.Input; D1:= copy (S,1,2); val('$'+D1,i1,Code); //sudut:= round(1.412*i1); sudut:= round(360*i1/255);
SE:=scrollbar1.Position; EditPosisi.Text:= IntToStr(SE);
edit10.Text :=inttostr(sudut)+' Derajat'; ScrollBar2.Position :=(sudut);
pC := SE; pM := sudut; pS := abs(pC-pM);
//Kontrol kecepatan if (pS > 15) then timer1.interval := 100 else timer1.interval := 200;
//Kontrol posisi if (sudut > SE+1)or(sudut < SE-1) then if (SE>sudut) then begin if (pS <= 180) then MSComm.Output:=chr(65) else MSComm.output := chr(66); end else begin if (pS <= 180) then MSComm.Output:=chr(66) else MSComm.output := chr(65); end; if (sudut <= SE+1)or(sudut >= SE-1) then MSComm.Output:=chr(64); sleep(100);end;
Tampilan MMI Server
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Gambar 4.4. Tampilan interface MMI server
MMI Client
Flowchart MMI client kendali posisi motor servo DC
Gambar 4.5. Flowchart MMI client
Tampilan MMI Client :
Start
Kirim Data ke Server
Baca Data dari Server
End
Koneksi ke Server
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Gambar 4.6. Tampilan interface MMI Client
4.3. Hasil Pengambilan Data
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Pengambilan data meliputi keseluruhan pengukuran dan respon pada MMI-
Server, MMI-Client dan Potensiometer Motor Servo DC. Adapun data lengkap dapat
dilihat pada tabel 4.1 berikut.
Posisi Posisi Posisi PosisiHitunga
nTegangan
InputReques
tRespo
nRespo
n Respon Desimal ADC
Client Server ClientPotensiomet
er (volt)0 5 5 5 5 2 0.0347
10 10 10 10 4 0.078215 15 15 15 8 0.153420 20 20 20 12 0.223725 24 24 24 15 0.293930 29 29 29 19 0.372735 35 35 35 23 0.4440 40 40 40 27 0.51245 44 44 44 30 0.58750 50 50 50 34 0.65455 55 55 55 38 0.72360 59 59 59 41 0.79665 65 65 65 45 0.86770 69 69 69 48 0.93275 75 75 75 52 1.00780 80 80 80 56 1.07785 84 84 84 59 1.14190 90 90 90 63 1.2195 95 95 95 67 1.284
100 100 100 100 70 1.35
105 105 105 105 73 1.414110 110 110 110 77 1.486115 114 114 114 80 1.554120 120 120 120 84 1.62125 124 124 124 87 1.686130 130 130 130 91 1.754135 134 134 134 94 1.82140 140 140 140 98 1.889145 145 145 145 101 1.955150 150 150 150 105 2.025155 155 155 155 108 2.089160 160 160 160 112 2.155165 165 165 165 115 2.224170 170 170 170 119 2.294175 175 175 175 122 2.361180 180 180 180 126 2.427185 185 185 185 129 2.493190 190 190 190 132 2.56195 195 195 195 136 2.63200 200 200 200 139 2.694205 205 205 205 142 2.761210 210 210 210 146 2.829215 215 215 215 150 2.897220 220 220 220 153 2.961225 225 225 225 156 3.027230 230 230 230 160 3.1235 235 235 235 164 3.17240 240 240 240 167 3.241245 245 245 245 171 3.31250 249 249 249 174 3.376
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
255 255 255 255 178 3.44260 260 260 260 181 3.51265 264 264 264 184 3.576270 269 269 269 188 3.644275 275 275 275 192 3.712280 279 279 279 195 3.785285 285 285 285 199 3.855290 289 289 289 202 3.922295 295 295 295 206 3.995300 300 300 300 210 4.06305 305 305 305 213 4.13310 310 310 310 217 4.21315 314 314 314 220 4.28320 320 320 320 224 4.35325 325 325 325 228 4.42330 330 330 330 232 4.49335 334 334 334 235 4.56340 339 339 339 239 4.64345 345 345 345 243 4.71350 350 350 350 247 4.78355 355 355 355 251 4.86360 356 356 356 252 4.88
Tabel 4.1. Data Hasil
Berdasarkan table 4.1. dapat dilihat pada gambar grafik berikut:
0 20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320 340 3600
60
120
180
240
300
360Request Client terhadap Potensiometer dan Respon
Client
Request Client (derajat)
Potensiometer dan Respon Client ( ᵒ)
Gambar 4.1 Request Client terhadap Posisi Potensiometer dan Request Client
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
Adapun error yang terjadi antara request client terhadap respon client adalah
mendekati 0%, dengan rumus sebagai berikut:
Error ( %)=[Posisi ResponClient (derajat )−Posisi RequestClient (derajat )
360derajat] x100 %
Berdasarkan table 2 pada posisi 360 derajat, maka:
Error ( %)=[ 365−360360 ] x100 %
Error ( %)=1%
PercobaanPosisi motor
(ᵒ)Setting posisi
motor (ᵒ)Arah putaran
motorError
1 180 200
CWPutaran motor
cepat kemudian lambat pS>15
0
2 200 50
CCWPutaran motor
cepat kemudian lambat pS>15
0
3 50 340
CCWPutaran motor
cepat kemudian lambat pS>15
0.2777
4 340 30
CWPutaran motor
cepat kemudian lambat pS>15
0.2777
Tabel 4.2. percobaan control posisi dan arah putaran motor
Dari tabel 4.2. di atas dapat terlihat :
1. Pada saat posisi motor 180ᵒ berputar menuju ke posisi 200ᵒ arah putaran motor
CW dengan kecepatan putaran berubah menjadi lambat ketika pS>15.
2. Pada saat posisi motor 200ᵒ berputar menuju ke posisi 50ᵒ arah putaran motor
CCW dengan kecepatan putaran berubah menjadi lambat ketika pS>15.
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
3. Pada saat posisi motor 50ᵒ berputar menuju ke posisi 340ᵒ arah putaran motor
CCW dengan kecepatan putaran berubah menjadi lambat ketika pS>15.
4. Pada saat posisi motor 340ᵒ berputar menuju ke posisi 30ᵒ arah putaran motor
CW dengan kecepatan putaran berubah menjadi lambat ketika pS>15.
V. KESIMPULAN DAN SARAN
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
V.1 Kesimpulan
1. Program MMI Client-Server dapat menjalankan dan menentukan posisi
motor servo DC sesuai setting posisi yang diinginkan.
2. Ketika diberi gangguan pada posisi motor servo DC maka sensor posisi
mengirim data ke server dan server mengirim data ke mikrokontroler
untuk mengembalikan posisi sesuai kondisi yang terakhir tanpa
mengatur setting posisi pada client.
3. Hasil pengukuran pada input dan output pada H-Bridge 5A
menunjukkan adanya perubahan tegangan yang linear atau relatif
konstan dengan perubahan sudut posisi motor
4. Nilai yang didapatkan dari hasil pengukuran tidak selalu presisi maka
dibuatkan database untuk menyimpan nilai derajat dan desimalnya
sehingga diperoleh rata-rata error antara request client dan respon
yang diterima client mendekati 0%.
V.2 Saran
Untuk mendapatkan posisi motor secara akurat maka ADC yang
digunakan harus diatas 8 bit sehingga posisi motor servo DC presisi.
Daftar Pustaka
Laporan Praktikum Kelompok IIMAN-MACHINE INTERFACE (MMI) UNTUK SISTEM SERVO POSISI MOTOR DC
1. ED Co.,Ltd. DC Servo Trainer (Instruction Manual)
2. Emsatech Education Division. 2002. Pelatihan Microcontroller MCS-51
PrograMMIng & Interfacing. Surabaya: Emsatech
3. Hasmini dkk, 2007, Penuntun Praktikum Sistem Kendali Digital, Unhas,
Makassar
4. NIIT, IT Education Division. 2002. JAVA, Student Handbook for Futurz
Program. India.
5. Ogata, Katsuhiko. 1998. Sistem Kontrol Automatik, Jilid 1. Jakarta:
Erlangga
6. Paulus A. Nalwan, 2003, Teknik Antar Muka dan Pemrograman, Elex
Media Computindo, Jakarta
7. Retna prasetyo, 2004, Interfacing Port Paralel & Port Serial Komputer
dengan VB, Yogyakarta
8. Rahmat Setyawan, 2006, Mikrokontroller MCS-51, Graha Ilmu,
Yogyakarta
9. Tim Lab Mikroprosessor, 2006, Pemrograman Mikrokontroller AT
89S51 deng an /C++ dan Assembler, Andi, Yogyakarta
10. User’s Manual One Chip 8 Bit Microprocessor Control Trainer,
SkLab
11. Users’s Manual Servo Motor System ED-4400