49
1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri modern memerlukan kendali automatik. Kendali automatik memegang peranan penting pada setiap proses dalam pabrik dan industri. Tujuan penerapan kendali automatik pada proses permesinan di industri adalah untuk : Peningkatkan produktivitas Peningkatkan ketelitian Kemudahan pengoperasian Pengurangan keterlibatan tenaga kerja (manusia) Keamanan pekerja Dengan kendali otomatis kualitas sebuah produk atau proses menjadi lebih baik, jumlah atau kuantitas produk menjadi lebih banyak dan lebih teliti, serta tenaga kerja lebih mudah bekerja dan lebih aman dari faktor bahaya resiko kerja. Sebuah sistem kendali dapat dibagi dalam empat bagian konstituen yaitu : Input Controller/Pengendali Processing Output Gambar 1. Element sebuah Sistem Kendali

PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

Embed Size (px)

Citation preview

Page 1: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

1

KEGIATAN BELAJAR 1

PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR

Lembar Informasi Automasi dan Pengendalian

Pabrik dan industri modern memerlukan kendali automatik. Kendali

automatik memegang peranan penting pada setiap proses dalam pabrik

dan industri. Tujuan penerapan kendali automatik pada proses

permesinan di industri adalah untuk :

• Peningkatkan produktivitas

• Peningkatkan ketelitian

• Kemudahan pengoperasian

• Pengurangan keterlibatan tenaga kerja (manusia)

• Keamanan pekerja

Dengan kendali otomatis kualitas sebuah produk atau proses menjadi

lebih baik, jumlah atau kuantitas produk menjadi lebih banyak dan lebih

teliti, serta tenaga kerja lebih mudah bekerja dan lebih aman dari faktor

bahaya resiko kerja. Sebuah sistem kendali dapat dibagi dalam empat

bagian konstituen yaitu :

• Input

• Controller/Pengendali

• Processing

• Output

Gambar 1. Element sebuah Sistem Kendali

Page 2: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

2

Input Sinyal input biasanya dibangkitkan menggunakan sensor atau

transduser. Sensor adalah sebuah piranti elektronik yang peka terhadap

cahaya, suhu, frekuensi, impedansi listrik, atau tingkat radiasi dan

menghasilkan sinyal untuk keperluan pengukuran atau peralatan kendali.

Sensor bekerja mengkonversi besaran fisik menjadi sinyal listrik.

Transduser didefinisikan sebagai piranti yang bekerja menerima suatu

bentuk energi dari suatu sistem dan memancarkan kembali ke bentuk

yang berbeda pada sistem lain.

Data yang diperoleh dari input merupakan data hasil pengukuran.

Data tersebut digunakan sebagai data masukan pada kontroler dalam

melakukan proses pengendalian. Bagian Input dari suatu sistem kendali

berfungsi menyalurkan informasi besaran yang diukur ke bagian controller

(Pengendali). Bergantung jenis transduser informasi yang dihasilkan dapat

dalam bentuk discontinuous on/off (binary) atau continuous (analog)

seperti Tabel 1. berikut:

Tabel 1. Jenis Transduser pada Input

Page 3: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

3

Processing atau Plant Sistem kendali harus dapat menjalankan proses yang diatur. Plant

adalah seperangkat peralatan yang digunakan untuk melakukan suatu

operasi tertentu. Obyek fisik dikendalikan menggunakan piranti seperti

pompa, motor, relay, pistons, lampu display, dan sebagainya dalam

sebuah sistem disebut plant. Motor sebagai salah satu contoh bekerja

mengkonversi sinyal listrik menjadi gerakan putar. Secara umum konverter

listrik menjadi fisik disebut actuator.

Tabel 2. Jenis Peralatan Penggerak Output

Bagian Output

Bagian output dari suatu sistem kendali adalah hasil dari proses

pengendalian berdasarkan nilai acuan atau referensi yang ditetapkan.

Dalam sistem kendali berbasis mikroprosesor keluaran hasil pengendalian

dapat diukur melalui sensor atau transduser sehingga hasil pengukuran

output dapat dibandingkan dengan nilai setting yang ditetapkan. Dalam

sistem pendingin misalnya, suhu 18 derajat Celsius merupakan setting

output yang harus dicapai oleh sistem kendali. Setelah melalui proses

pengendalian hasil pada output diukur apakah sudah sama dengan nilai

Page 4: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

4

setting 18 derajat atau belum, selanjutnya bagian kontrol dapat melakukan

langkah pengaturan sesuai dengan kebutuhannya.

Bagian Controller Bagian ini merupakan bagian pokok pengolah sinyal masukan dari

bagian input, dan kemudian membangkitkan resultan aksi pada plant.

Berdasarkan informasi dari input, sistem kendali otomatis membangkitkan

sinyal tanggapan untuk control plant (peralatan yang dikontrol).

Ada dua cara yang dapat digunakan untuk mengendalikan peralatan yaitu:

• Hard-wired control

• Programmable control

Sistem kendali Hard-wired bekerja atas dasar fungsi yang tetap

sedangkan kendali Programmable bekerja atas dasar program yang

disimpan pada unit memori. Kendali Programmable menggunakan

mikroprosesor sebagai komponen utama pengolah sinyal dan pengambil

keputusan. Sistem kendali yang menggunakan mikroprosesor sebagai

komponen utama pengolah sinyal disebut Sistem Kendali Berbasis Mikroprosesor

Dalam implementasinya sebuah mikroprosesor tidak dapat berdiri

sendiri. Ia memerlukan unit memori dan unit I/O yang dibangun dalam

suatu sistem yang disebut Sistem Mikroprosesor. Dalam perkembangan

pemakaiannya sistem mikroprosesor diimplemtasikan dalam sebuah

rangkaian terintegrasi yang dikenal dengan sebutan Microcontroller.

Secara diagram sistem kendali berbasis Mikroprosesor dapat

digambarkan seperti gambar 2.

Gambar 2. Bagan Kendali Berbasis Mikroprosesor

Page 5: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

5

Mikrokontroler disebut juga dengan komputer dalam satu chip

adalah jenis peralatan elektronik yang bekerja berdasarkan program untuk

tujuan yang sangat umum dan luas. Mikrokontroler adalah sebuah sistem

mikroprosesor yaitu sebuah sistem yang memadukan mikroprosesor

sebagai Central Processing Unit, Memori, dan Unit Input Output yang

didesain dalam sebuah chip.

Penggunaan Mikrokontroler sebagai alat kendali sangat

memudahkan dan memberi keleluasaan dalam implementasi dan

aplikasinya. Mikrokontroler dapat digunakan untuk aplikasi yang sangat

variatif karena perubahan pengimplementasiannya cukup dilakukan

dengan merubah data atau progam yang diberikannya.

Lembar Latihan 1. Sebutkan keuntungan penggunaan sistem otomatis dalam

prosespermesinan dalam industri modern !

2. Sebutkan kerugian penggunaan sistem otomatis dalam proses

permesinan dalam industri modern !

3. Dibandingkan dengan kendali diskrit, apa kelebihan kendali

berbasis mikroprosesor ?

4. Jika ingin mengendalikan suhu sebuah ruangan,

a. Gambarkan sistem kendalinya dengan menggunakan

mikrokontroler !

b. Definisikan dan tetapkan komponen : Input, Controller, Plant,

dan Outputnya !

Page 6: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

6

KEGIATAN BELAJAR 2

MIKROPROSESOR DAN MIKROKONTROLER Lembar Informasi

Mikroprosesor dan mikrokontroler dikembangkan dari satu ide

dasar yang sama, dibuat oleh orang yang sama. Lalu apa perbedaan

diantara keduanya.

Mikroprosesor Mikroprosesor dalam perkembangan komputer digital disebut sebagai

Central Processing Unit (CPU) yang bekerja sebagai pusat pengolah dan

pengendalian pada sistem komputer mikro. Sebuah mikroprosesor

tersusun dari tiga bagian penting yaitu : Arithmetic Logic Unit (ALU),

Register Unit (RU), dan Control Unit (CU) seperti Gambar 3.

Gambar 3. Blok diagram Mikroprosesor

Untuk membangun fungsi sebagai komputer mikro, sebuah

mikroprosesor harus dilengkapi dengan memori, biasanya memori

program yang hanya bisa dibaca (Read Only Memory=ROM) dan memori

yang bisa dibaca dan ditulisi (Read Write Memory=RWM), decoder

memori, osilator, dan sejumlah peralatan input output seperti port data seri

dan paralel.

Pokok dari penggunaan mikroprosesor adalah untuk mengambil

data, membentuk kalkulasi, perhitungan atau manipulasi data, dan

Page 7: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

7

menyimpan hasil perhitungan pada peralatan penyimpan atau

menampilkan hasilnya pada sebuah monitor atau cetak keras.

Mikrokontroler Mikrokontroler adalah komputer mikro dalam satu chip tunggal.

Mikrokontroler memadukan CPU, ROM, RWM, I/O paralel, I/O seri,

counter-timer, dan rangkaian clock dalam satu chip tunggal (Gambar 4).

Gambar 4. Diagram Mikrokontroler

Sama halnya dengan mikroprosesor, mikrokontroler adalah piranti

yang dirancang untuk kebutuhan umum. Penggunaan pokok dari

mikrokontroler adalah untuk mengontrol kerja mesin atau sistem

menggunakan program yang disimpan pada sebuah ROM. Untuk melihat

perbedaan konsep diantara mikroprosesor dan mikrokontroler di bawah ini

ditunjukan tabel perbandingan konfigurasi, arsitektur, dan set instruksi

diantara mikroprosesor Z-80 CPU dengan mikrokontroler 8051.

Tabel 3. perbandingan konfigurasi, arsitektur, dan set instruksi

Page 8: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

8

Sebagai catatan dari tabel ini, jika dilakukan perbandingan tidaklah

menunjukkan bahwa satu lebih baik dari lainnya. Kedua rancangan

memiliki penekanan tujuan yang berbeda.

Survey Mikrokontroler Seperti halnya sebuah mikroprosesor, mikrokontroler juga

berkembang dalam rancangan dan aplikasinya. Mikrokontroler

berdasarkan jumlah bit data yang dapat diolah dapat dibedakan dalam :

• Mikrokontroler 4 Bit

• Mikrokontroler 8 Bit

• Mikrokontroler 16 Bit

• Mikrokontroler 32 Bit

• Mikrokontroler 4 Bit

Mikrokontroler 4 bit merupakan mikrokontroler dengan jumlah bit data

terkecil. Mikrokontroler jenis ini diproduksi untuk meminimalkan jumlah pin

dan ukuran kemasan.

Tabel 4. Mikrokontroler 4 bit

Page 9: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

9

Mikrokontroler 8 Bit Mikrokontroler 8 bit merupakan mikrkontroler yang paling banyak

digunakan untuk dalam pekerjaan-pekerjaan perhitungan skala kecil.

Dalam komunikasi data, Data ASCII serial juga disimpan dalam ukuran 8

bit. Kebanyakan IC memori dan fungsi logika dibangun menggunakan

data 8 bit sehingga interface bus data menjadi sangat mudah dibangun.

Penggunaan mikrokontroler 8 bit jauh lebih banyak dibandingkan dengan

mikrokontroler 4 bit. Aplikasinya juga sangat pariatif mulai dari aplikasi

kendali sederhana sampai kendali mesin berkecepatan tinggi.

Tabel 5. Mikrkontroler 8 bit

Mikrokontroler 16 Bit Keterbatasan-keterbatasan yang ada pada mikrokontroler 8 bit

berkaitan dengan semakin kompleknya pengolahan data dan

Page 10: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

10

pengendalian serta kecepatan tanggap/respon disempurnakan dengan

menggunakan mikrokontroler 16 bit. Salah satu solusinya adalah dengan

menaikkan kecepatan clock, dan ukuran data. Mikrokontroler 16 bit

digunakan untuk mengatur tangan robot, dan aplikasi Digital Signal

Processing (DSP).

Tabel 6. Mikrokontroler 16 Bit

Pulse Width Modulation (PWM) sangat bermanfaat untuk

mengontrol kecepatan motor.

Mikrokontroler 32 Bit Mikrokontroler 32 bit ditargetkan untuk aplikasi Robot, Instrumen

cerdas, Avionics, Image Processing, Telekomunikasi, Automobil, dan

sebainya.Program-program aplikasinya bekerja dengan sistem operasi.

Lembar Latihan 1. Sebutkan tiga bagian pokok mikroprosesor !

2. Gambarkan blok diagram sebuah mikroprosesor !

3. Sebutkan tiga bagian pokok mikrokontroler !

4. Gambarkan blok diagram sebuah mikrokontroler !

5. Menurut anda apakah benar, mikroprosesor adalah inti dari sebuah

mikrokontroler !

Page 11: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

11

KEGIATAN BELAJAR 3

ARSITEKTUR MIKROKONTROLER ATMEL 89C51

Lembar Informasi

Jika anda ingin familier dengan kemampuan sebuah mikrokontroler

atau mesin lainnya, maka langkah yang paling efektif yang harus

dilakukan adalah menguasai Arsitektur Mikrokontroler tersebut. Arsitektur

menurut Ayala adalah rancangan Hardware internal yang berkaitan

dengan : tipe, jumlah, dan ukuran register serta rangkaian lainnya.

Disamping menguasai hardware, seorang pengembang atau

pengguna mikrokontroler harus menguasai set instruksi yang digunakan

untuk menyusun dan mengembangkan program. Hardware dan software

harus dikuasai dengan baik. Set instruksi adalah vocabulary dan kaidah

Grammer dalam menulis program penuh makna.

Hardware Mikrokontroler T89C51

Gambar 5. Susunan Pin Mikrokontroler 8051

Page 12: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

12

Gambar 6. Arsitektur Pemrograman AT 89C51

Gambar di atas menunjukkan arsitektur AT89C51 dengan gambaran

spesifik :

• CPU 8 bit dengan register A (akumulator) dan register B

• 16 bit Program Counter (PC) dan Data Pointer (DPTR)

• 8 bit Program Status Word (PSW)

• 8 bit Stack Pointer

• Internal 4 K Plash Memory dan 4 K EEPROM

• Internal RAM dengan 128 bytes :

4 register bank masing-masing 8 register

16 byte alamat untuk pengalamatan level bit

8 byte memori data untuk keperluan umum

• 32 pin I/O masing-masing disusun dalam 8 bit per port P0 – P3

• 2 16 bit timer/counter : T0 dan T1

• Full duplex serial data receiver/transmitter : SBUF

Page 13: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

13

• Control register : TCON, TMOD,SCON, PCON, IP, dan IE

• 2 eksternal dan 3 internal sumber interupsi

• Rangkaian Osilator dan Clock

Program Counter dan Data Pointer

AT89C51 memiliki dua register 16 bit untuk memegang byte alamat

memori yaitu Program Counter (PC) dan Data Poiinter (DPTR). Byte

instruksi program di fetch dari lokasi memori yang dialamati oleh PC.

Program dalam Plash memori pada chip beralamat 0000h s/d 0FFFh,

sedangkan di luar chip beralamat di atas 0FFFh, dengan total alamat

FFFFh. PC secara otomatis bertambah satu setelah setiap byte instruksi

di fetch. PC satu-satunya tidak memiliki alamat internal Register DPTR

dibangun dari dua register 8 bit, DPH dan DPL yang digunakan untuk

memegang alamat memori internal dan eksternal. DPTR memiliki dua

alamat masing-masing untuk DPH dan DPL.

Register A dan B AT 89C51 memiliki 34 register untuk tujuan umum, atau disebut

register kerja. Dua diantaranya adalah register A dan register B sebagai

inti dari CPU. 32 byte lainnya disusun pada RAM dalam 4 bank yaitu

Bank0 s/d Bank3 yang diberi nama R0 s/d R7.

Register A paling banyak digunakan oleh CPU untuk operasi

Penjumlahan, Pengurangan, Perkalian dan pembagian integer, dan

manipulasi Bit Boolean.

Flag dan Program Status Word (PSW) Flag disebut juga sebagai bit status yang tercatat dan tersimpan

sebagai akibat dari sebuah instruksi pada program. Status ini sangat

penting untuk mengetahui keadaan dari suatu proses instruksi sehingga

dapat dipakai sebagai dasar pengambilan keputusan. Sebagai suatu

Page 14: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

14

contoh, misalnya untuk mengetahui isi suatu register apakah nilainya lebih

besar dari suatu nilai “n” maka dapat dilakukan proses pembandingan nilai

tersebut dengan sebuah nilai “n”. Jika status Flag Carry = 1 maka nilai

register tersebut lebih kecil dan sebaliknya nilai register tersebut sama

atau lebih besar dari “n”.

AT89C51 memiliki empat flag matematik yang mencatat status

akibat dari operasi matematik yaitu Carry (C), Auxiliary Carry (AC),

Overflow (OV), dan Parity (P). Register PSW susunannya adalah sebagai

berikut:

CY AC F0 RS1 RS0 OV - P

Bit Simbol Fungsi 7 CY Flag Carry ; digunakan untuk

aritmatika JUMP, ROTATE, dan

Boolean

6 AC Flag Auxiliary Carry digunakan

untuk Aritmetika BCD

5 F0 Flag 0

4 RS1 Pemilih Bank bit 1

3 RS0 Pemilih Bank bit 0

RS1 RS0

0 0 : Bank 0

0 1 : Bank 1

1 0 : Bank 2

1 1 : Bank 3

2 OV Flag Overflow : untuk instruksi

matematik

1 - Tidak digunakan

0 P Flag Paritas ; 1 = paritas ganjil.

Page 15: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

15

Memori Internal Secara fungsional sebuah komputer harus memiliki memori untuk

menyimpan byte kode program, biasanya dalam sebuah ROM dan sebuah

RAM yang digunakan menyimpan data yang sifatnya variabel. AT 89C51

memiliki RAM Internal, Memori Flash , dan EEPROM.

RAM Internal Sebanyak 128 byte RAM internal yang secara detail dapat

digambarkan seperti gambar berikut:

Gambar 7. Organisasi RAM Internal

Page 16: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

16

Organisasi RAM Internal menunjukkan :

1. 32 byte dari alamat 00h s/d 1Fh digunakan untuk 32 register kerja

yang dikelompokkan dalam 4 bank dengan 8 register untuk RAM

masing-masing bank. Keempat bank register tersebut diberi nomor

Bank 0 s/d Bank 3, dengan masing-masing bank berisi 8 register

R0 s/d R7. Tiap-tiap register dapat di alamati baik menggunakan

nama registernya atau alamat registernya. Penggunaan dan

pemilihan bank dapat diaktifkan melalui RS1 dan RS0 pada PSW.

2. Sebanyak 16 byte mulai alamat 20 s/d 2F dapat di alamati sebagai

alamat bit sehingga tiap-tiap byte alamat memiliki 8 bit alamat. Byte

alamat 20h memiliki alamat bit 00h s/d 07h dan seterusnya untuk

alamat byte diatasnya. Jadi alamat 07h sama dengan bit 7 dari

alamat byte 20. Pengalamatan bit yang bermanfaat pada saat

menggunakan program yang membutuhkan pencatatan peristiwa

biner seperti saklar On atau Off.

3. RAM untuk keperluan umum mulai alamat 30h s/d 7Fh di alamati

secara byte.

Stack Pointer Stack adalah potongan atau penggalan dengan titik atau Pointer

yang sangat efektif sekali digunakan untuk menyimpan byte di RAM

menggunakan PUSH dan POP. Stack Pointer (SP) pada AT89C51 adalah

register 8 bit. Berbeda dengan operasi stack pada Z-80 CPU, operasi

stack pada AT 89C51 dapat digambarkan seperti gambar berikut. Pada

saat reset SP diset 07h dan dapat dirubah pada lokasi RAM internal oleh

programmer. Pada saat operasi PUSH, SP bertambah satu dan diikuti

dengan penyimpanan data. Sebaliknya pada operasi POP, SP berkurang

satu dan diikuti pengambilan data. Oleh karena register SP adalah register

8 bit maka batas kemampuan Stack pada AT89C51 maksimum adalah

128 byte.

Page 17: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

17

Gambar 8. Proses Pembentukan Stack

Special Function Register (SFR)

Disamping RAM Internal AT89C51 bekerja menggunakan register-

register khusus yang disebut SFR yang dapat dialamati seperti halnya

alamat RAM internal menggunakan alamat dari 80h s/d FFh.

Beberapa SFR juga dapat dialamati secara bit. Tidak semua

diantara alamat 80h s/d FFh digunakan untuk alamat SFR.

Tabel 7. Nama dan alamat SFR

Page 18: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

18

Input Output Port Input Output (I/O) Port merupakan salah satu bagian utama

sebagai gambaran kemampuan sebuah mikrokontroler berhubungan

dengan dunia luar. AT89C51 memiliki empat buah port masing-masing 8

bit.

• PORT 0

Port 0 adalah port I/O bi-directional yang juga dapat digunakan

sebagai Address Buss orde rendah A0-A7 serta Data buss D0 – D7

pada saat dimanfaatkan berhubungan dengan memori eksternal.

• PORT 1

Port 1 adalah port dengan fungsi tunggal dapat diprogram input

maupun output.

• PORT 2

Port 2 adalah port bidirectional yang juga dapat digunakan sebagai

Address buss orde tinggi A8 – A15.

• PORT 3

Port 3 merupakan port I/O yang fungsinya dapat diprogram

dibawah kendali latch P3 atau dibawah kendali SFR. Alternatif

fungsi dari port 3 adalah sebagai berikut:

Page 19: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

19

PIN ALTERNATIF PENGGUNANAAN SFR P3.0 -RXD Serial data input SBUF

P3.1-TXD Serial Data Output SBUF

P3.2-INT0* External Interrupt 0 TCON.1

P3.3-INT1* External Interrupt 1 TCON.3

P3.4-T0 External Timer 0 Input TMOD

P3.5-T1 External Timer 1 Input TMOD

P3.6-WR* External Memory Write Pulse -

P3.7-RD* External Memory Read Pulse -

Counter dan Timer Banyak aplikasi mikrokontroler memerlukan penghitungan kejadian-

kejadian eksternal seperti periode waktu kedatangan kereta api, jumlah

pengunjung dalam suatu super market, jumlah liter bensin yang

dikeluarkan dari suatu pompa SPBU dan sebagainya.

Untuk keperluan tersebut dua buah counter 16 bit T0 dan T1 dapat

diprogram masing-masing untuk mencacah Pulsa Clock Internal sebagai

Timer atau diprogram untuk mencacah Pulsa Eksternal sebagai Counter.

Counter dibagi dalam dua register 8 bit yang disebut TL0 dan TL1 untuk

low dan TH0, TH1 untuk high. Semua kerja counter dikendalikan

menggunakan bit pada Timer Mode Control Register (TMOD),

Timer/Counter Register (TCON), dan perintah program yang diberikan.

TCON memuat bit-bit kontrol dan flag untuk timer pada nible atas dan bit-

bit control dan flag untuk interrupt eksternal.

7 6 5 4 3 2 1 0

TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0

BIT SIMBOL FUNGSI 7 TF1 Timer 1 Overflow Flag. Set jika perputaran timer dari

Page 20: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

20

satu ke nol. Reset jika vektor dari prosesor

mengeksekusi routin dari layanan interupsi pada

lokasi alamat program 001Bh.

6 TR1 Timer 1 RUN Control Bit. Di set 1 menggunakan

program dalam menjalankan Timer untuk melakukan

cacahan. Clear ke 0 dengan program untuk

menghentikan Timer.

5 TF0 Timer 0 Overflow Flag. Set jika perputaran timer dari

satu ke nol. Reset jika vektor dari prosesor

mengeksekusi routin dari layanan interupsi pada

lokasi alamat program 000Bh.

4 TR0 Timer 0 RUN Control Bit. Di set 1 menggunakan

program dalam menjalankan Timer untuk melakukan

cacahan. Clear ke 0 dengan program untuk

menghentikan Timer.

3 IE1 External Interrupt 1. Berlogika 1 jika kondisi bit

interupt pada P3.3 (INT1*) berubah dari kondisi 1 ke

0. Berlogika 0 jika vektor dari prosesor untuk routin

layanan interupsi beralamat 0013h.

2 IT1 External Interrupt 1 Signal type control bit. Di set 1

menggunakan program untuk mengaktifkan interupsi

1 eksternal agar dapat ditriger menggunakan sinyal

Falling edge. Di set 0 menggunakan program untuk

mengaktifkan sinyal level rendah pada interupt 1

eksternal.

1 IE0 External Interrupt 0. Berlogika 1 jika kondisi bit

interupt pada P3.2 (INT0*) berubah dari kondisi 1 ke

0. Berlogika 0 jika vektor dari prosesor untuk routin

layanan interupsi beralamat 0003h.

0 IT0 External Interrupt 0 Signal type control bit. Di set 1

Page 21: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

21

menggunakan program untuk mengaktifkan interupsi

0 eksternal agar dapat ditriger menggunakan sinyal

Falling edge. Di set 0 menggunakan program untuk

mengaktifkan sinyal level rendah pada interupt 1

eksternal

7 6 5 4 3 2 1 0

Gate C/T* M1 M0 Gate C/T* M1 M0

[ Timer 1 ] [ Timer 0 ]

BIT SIMBOL FUNGSI 7/3 Gate OR Gate enable bit. Untuk mengontrol RUN/STOP

timer. Diset 1 menggunakan program untuk

mengaktifkan timer untuk mulai jalan jika bit TR1/0

pada TCON set 1 dan sinyal pada INT1*/0* berlogika

1. Di set 0 menggunakan program untuk mengaktifkan

timer untuk mulai jalan jika bit TR1/0 pada TCON = 1.

6/2 C/T* Set 1 menggunakan program untuk membuat timer

1/0 bekerja sebagai counter dengan menghitung

pulsa dari input eksternal P3.5 (T1) atau P3.4 (T0). Di

set 0 dengan program untuk membuat timer bekerja

sebagai timer yang dapat mencacah frekuensi

internal.

5/1 M1 Timer/Counter operating Mode Select 1.

4/0 M0 Timer/Counter operating Mode Select 1.

M1 M0 Mode

0 0 0

0 1 1

1 0 2

1 1 3

Page 22: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

22

Lembar Latihan 1. Berapakah ukuran RAM Internal pada mikrokontroler AT89C51 ?

2. Berapakah ukuran Plash Memory pada mikrokontroler AT89C51 ?

3. Sebutkan jumlah stack maksimum yang dapat dibangun pada

AT89C51 !

4. Gambarkan dan jelaskan kembali status flag pada PSW !

Page 23: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

23

KEGIATAN BELAJAR 4

SET INSTRUKSI MIKROKONTROLER ATMEL 89C51

Lembar Informasi Alih Data (Moving Data)

• Data dialihkan “di copy” dari sumber data “Source” ke tujuan

“Destinasi”

• Destinasi disebut lebih awal kemudian baru Source

MOVE Destinasi, Source

PUSH Source atau POP Destinasi

XCH Destinasi, Source

• Cara Pengalamatan alih data disebut dengan Addressing Modes

Immediate addressing mode

Register addressing mode

Direct addressing mode

Indirect Addressing mode

• Op code Perinatah “MOVE” mencakup memori :

Internal RAM

Internal SFR

External RAM

Internal dan eksternal ROM

• Tipe atau jenis Op code yang digunakan untuk alih data :

MOV

MOVX

MOVC

PUSH dan POP

XCH

Page 24: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

24

ADRESSING MODE 1. Immediate Addressing Mode

• Cara yang paling sederhana untuk membangkitkan data pada

destinasi dengan cara membuat data menjadi bagian dari op code.

• Pada mnemonic digunakan tanda “#”

Instruksi Data

Op Code Next Byte

• Mnemonic Operasi

MOV A, #01h copy data 01h ke Register A

MOV R3, #1Ch copy data 1Ch ke Register R3

MOV DPTR,#ABCDh copy data ABCDh ke Register R3

2. Register Addressing Mode

• Nama register (A, DPTR, R0 – R7) digunakan sebagai bagian dari

op code mnemonik baik sebagai source atau sebagai destinasi.

• Mnemonic Operasi

MOV A, R0 copy data pada R0 ke register A

MOV R5, A copy data pada A ke R5

3. Direct Addressing Mode

• Penunjukan pengalamatan secara langsung

• Mnemonic Operasi

MOV A, 80h copy data dari Port 0 ke register A

MOV A, P0 copy data dari Port 0 ke register A

MOV 80h, A copy data dari register A ke Port 0

MOV P0 , A copy data dari register A ke Port 0

4. Indirect Addresing Mode

• Menggunakan register sebagai pencatat atau pemegang

• alamat aktual yang akan digunakan untuk memindahkan data

Page 25: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

25

• Register itu sendiri bukan alamat

• Menggunakan R0 dan R1 sebagai Pointer data

• Menggunakan tanda “ @ ”

• Mnemonic Operasi

MOV A, @R0 copy isi data dari alamat yang dicatat

oleh R0 ke register A

MOV @R1, A copy data yang ada di register A ke

alamat yang dicatat oleh R1

MOV @R0,80h copy data dari Port 0 ke alamat yang

tercatat oleh R0

Pengalamatan Eksternal menggunakan MVX dan MOVC

• MOVX (External Data Moves):

• Digunakan untuk pengalamatan eksternal

• R0, R1, dan DPTR digunakan untuk hold alamat dari byte data

RAM eksternal

• R0 dan R1 dibatasi pada eksternal RAM alamat 00h – FFh,

sedangkan DPTR dapat mengalamati maksimum space

0000h-FFFFh.

• Alih data dari memori eksternal harus ke register A

• MOVX normalnya digunakan dengan alamat RAM eksternal

atau alamat I/O eksternal

• Mnemonic Operasi

MOVX A, @R1 copy isi dari alamat eksternal R1 ke A

MOVX A, @R0 copy isi dari alamat eksternal R0 ke A

MOVX A, @DPTR copy isi dari alamat eksternal DPTR ke

A

MOVX @DPTR,A copy data dari A ke alamat eksternal

DPTR

Page 26: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

26

• MOVC (Code Memory Read-Only Data Moves)

• Digunakan alih data dari alamat sumber di ROM eksternal ke

register A.

• Mnemonic Operasi

MOVC A, @A+DPTR copy byte kode pada ROM dengan

alamat yang dibangun dari data A

dengan data DPTR ke Register A

MOVC A, @A+PC copy byte kode pada ROM dengan

alamat yang dibangun dari data A

dengan data PC ke Register A

Contoh :

MOV DPTR, #1234h copy data immediate 1234h ke DPTR

MOV A, #56h copy data immediate 56h ke Reg. A

MOVC A, @A+DPTR copy data pada alamat 128Ah ke A

MOVC A, @A+PC copy data pada alamat 4056h ke A jika

PC = 4000.

• PUSH dan POP

• Menggunakan register SP (Stack Pointer) sebagai pencatat

alamat

• Data dialihkan dalam area RAM yang disebut dengan Stack

• Register SP berisi alamat Stack

• PUSH mengcopy data dari suatu source ke stack

• SP ditambah satu sebelum data dicopy ke RAM internal

• POP mengcopy data dari stack ke suatu destinasi

• SP diset sama dengan 07h pada saat ada Reset sehingga

defaultnya perintah PUSH pertama menulis data ke R0 bank 1

• Jika SP mencapai FFh maka “rolls over”

• PUSH di atas 7Fh adalah ERROS karena alamat RAM mak

7Fh

Page 27: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

27

• Mnemonic Operasi

PUSH add SP ditambah satu, copy data dari suatu

alamat ke alamat internal RAM yang

tercatat dalam SP

POP add SP dikurangi satu, copy data dari alamat

internal RAM yang tercatat dalam SP ke

suatu alamat Register

Contoh:

MOV 81h,#30h copy data immediate 30h ke SP

MOV R0,#ACh copy data immediate ACh ke Reg R0

PUSH 00h SP=31h, alamat 31 berisi data ACh

PUSH 00h SP=32h,alamat 32h berisi data ACh

POP 01h SP=31, Register R1 sekarang berisi

data ACh

POP 80h SP=30h, Port 0 berisi daa Ach

• Data Exchanges XCH

• Mnemonic Operasi

XCH A,Rr Pertukarkan data byte diantara register

Rr dan A

XCH A,add Pertukarkan data byte diantara add

dan A

XCH A,@Rp Pertukarkan data byte diantara A dan

data yang ada dimemori yang alamatnya

dicatat oleh register Rp.

XCHD A,@Rp Pertukarkan data lower nible A dengan

data yang ada dimemori yang alamatnya

dicatat oleh Rp

Contoh:

XCH A,R7 Pertukarkan data byte diantara register

A dan register R7

Page 28: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

28

XCH A,F0h Pertukarkan data byte diantara register

A dan register B

XCH A,@R1 Pertukarkan data byte diantara register

A dan data alamat pada R1

XCHD A,@R1 Pertukarkan data lower nible diantara

register A dan data alamat pada R1

OPERASI LOGIKA Operator Boolean AT89C51 Mnemonic AND ANL (AND logical)

OR ORL (OR logical)

XOR XRL (Exclusive OR logical)

NOT CPL (complement)

RL Rotate byte to Left

RLC Rotate byte dan carry-bit to left

Operasi Logika Level Byte Contoh:

Mnemonic Operasi

MOV A,#FFh A = FFh

MOV R0,#77h R0 = 77h

ANL A,R0 A = 77h

MOV 15h, A 15h = 77h

CPL A A = 88h

ORL 15h,#88h 15h = FFh

XRL A, 15h A = 77h

XRL A, R0 A = 00h

ANL A,15h A = 00h

ORL A, R0 A = 77h

CLR A A = 00h.

Page 29: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

29

Operasi Logika Level Bit RAM internal dan SFR dapat dialamati dalam dua mode yaitu mode

pengalamatan byte dan mode pengalamatan bit. Mode pengalamatan bit

sangat tepat digunakan jika anda hanya membutuhkan pengolahan salah

satu bit dari suatu byte sebagai contoh dalam mengontrol register.

Pengalamatan bit pada RAM dapat dilihat kembali pada gambar 7

halaman 19, sedangkan pengalamatan bit untuk SFR adalah seperti

berikut:

SFR Alamat Langsung Alamat Bit

A E0h E0h – E7h

B F0h F0h – F7h

IE A8h A8h – AFh

IP B8 B8h – BFh

P0 80h 80h – 87h

P1 90h 90h – 97h

P3 B0h B0h -- B7h

PSW D0h D0h – D7h

TCON 88h 88h – 8Fh

TMOD 98h 98h – 9Fh

Dalam operasi Bolean Level Bit Carry Flag ( C ) pada PSW SFR

bekerja sebagai destinasi.

Mnemonik Operasi

ANL C, b AND C dengan bit teralamati ; catat

hasilnya di C

ANL C,/b AND C dengan komplement dari bit

yang teralamati; catat hasilnya di C; bit

yang teralamati tidak berubah

ORL C, b OR C dengan bit teralamati ; catat

hasilnya di C

Page 30: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

30

ORL C,/b OR C dengan komplement dari bit yang

teralamati; catat hasilnya di C; bit yang

teralamati tidak berubah

CPL C Komplemen flag Carry

CPL b Komplemen bit teralamati

CLR C Clear flag Carry menjadi 0.

CLR b Clear bit teralamati menjadi 0

MOV C, b Copy data pada bit teralamati ke flag

Carry

MOV b, C Copy data pada flag Carry ke bit

teralamati

SETB C Set flag Carry menjadi 1

SETB b Set bit teralamati menjadi 1

Contoh :

Mnemonik Operasi

SETB 00h Bit 0 dari RAM byte 20h = 1

MOV C,00h Carry C = 1

MOV 7Fh,C Bit 7 dari RAM alamat byte 2Fh = 1

ANL C,/00h C = 0; bit 0 dari RAM byte 20h = 1

ORL C,00h C = 1

CPL 7fh Bit 7 dari RAM alamat byte 2Fh = 0

CLR C C = 0

ORL C,/7Fh C = 1; bit 7 dari RAM byte 2Fh = 0

Operasi Rotate dan Swap Rotate data sangat potensial sekali untuk mengolah dan

membangkitkan data beraturan tanpa op code khusus. Register A dapat

digunakan untuk memutar satu posisi bit dengan melibatkan atau tidak

melibatkan Carry.

Sedangkan Swap bekerja mempertukarkan nible tinggi dengan

nible rendah pada register A.

Page 31: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

31

Gambar 9. Operasi Rotate dan Swap

Contoh :

Mnemonik Operasi

MOV A, #0A5h A = 1010 0101 = A5h

RR A A = 1101 0010 = D2h

RR A A = 0110 1001 = 69h

Page 32: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

32

RR A A = 1011 0100 = B4h

RR A A = 0101 1010 = 5Ah

SWAP A A = 1010 0101 = A5h

CLR C C = 0; A = 1010 0101 = A5h

RRC A C = 1; A = 0101 0010 = 52h

RRC A C = 0; A = 1010 1001 = A9h

RL A A = 0101 0011 = 53h

RL A A = 1010 0110 = A6h

SWAP A A = 0110 1010 = 6Ah

OPERASI ARITMETIKA

Aplikasi mikrokontroler sering membutuhkan perhitungan data

matematika. Mikrokontroler dirancang tidak sebagai “ pengolah angka”

sebagaimana komputer untuk tujuan umum. Pokok dari pengembangan

mikrokontroler adalah sebagai piranti kendali peristiwa yang berubah

dalam waktu nyata. Kendati demikian op code untuk operasi matematika

yang cukup harus disediakan pada setiap mikrokontroler. Pada AT 89C51

ada 24 op code aritmetika yang dikelompokkan menjadi:

Mnemonik Operasi

INC destinasi Increament destination

dengan 1

DEC destinasi Decreament destination

dengan 1

ADD/ADDC dest, source Add source ke destinasi tanpa/dengan

carry

SUBB dest, source Subtract dengan carry, source dari

destinasi

MUL AB Kalikan isi register A dan B

DIV AB Bagi isi register A dengan isi register B

DA A Decimal Adjust untuk register A

Page 33: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

33

FLAG Flag C, AC, dan OV adalah flag aritmetika. Ketiga flag ini set 1 atau

0 secara otomatis, bergantung hasil operasi aritmetika sebelumnya.

Mnemonik Instruksi Flag yang terpengaruh

ADD C AC OV

ADDC C AC OV

ANL C,direct C

CJNE C

CLR C C = 0

CPL C C = C*

DA A C

DIV C = 0 OV

MOV C, direct C

MUL C = 0 OV

ORL C, direct C

RLC C

RRC C

SETB C C = 1

SUBB C AC OV

Increament dan Decreament Mnemonik Instruksi Operasi

INC A Tambahkan satu nilai isi register A

INC Rr Tambahkan satu nilai isi register Rr

INC add Tambahkan satu nilai data pada alamat

langsung

INC @Rp Tambahkan satu nilai data pada alamat

yang dicatat oleh register Rp

INC DPTR Tambahkan satu nilai register 16 DPTR

DEC A Kurangkan satu nilai isi register A

DEC Rr Kurangkan satu nilai isi register Rr

Page 34: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

34

DEC add Kurangkan satu nilai data pada alamat

langsung

DEC @Rp Kurangkan satu nilai data pada alamat

yang dicatat oleh register Rp

Contoh :

Mnemonik Instruksi Operasi

MOV A,#3Ah A = 3Ah

DEC A A = 39h

MOV R0,#15h R0 = 15h

MOV 15h,#12h RAM internal alamat 15h = 12h

INC @R0 RAM internal alamat 15h = 13h

DEC 15h RAM internal alamat 15h = 12h

INC R0 R0 = 16h

MOV 16h, A RAM internal alamat 16h = 39h

INC @R0 RAM internal alamat 16h = 3Ah

MOV DPTR,#12FFh DPTR = 12FFh

INC DPTR DPTR = 1300h

DEC 83h DPTR = 1200h

Penjumlahan Mnemonik Instruksi Operasi

ADD A,#n Jumlahkan A dengan data immediate n

dan hasilnya disimpan di A

ADD A, Rr Jumlahkan A dengan Reg Rr dan

hasilnya disimpan di A

ADD A,add Jumlahkan A dengan data alamat

langsung dan hasilnya disimpan di A

ADD A,@Rp Jumlahkan A dengan data alamat yang

dicatat Rp dan hasilnya disimpan di A

ADDC A,#n Jumlahkan A dengan data immediate n

dan carry ; hasilnya disimpan di A

Page 35: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

35

ADDC A, Rr Jumlahkan A dengan Reg Rr dan Carry ;

hasilnya disimpan di A0

ADDC A,add Jumlahkan A dengan data alamat

langsung dan Carry ; hasilnya disimpan

di A

ADDC A,@Rp Jumlahkan A dengan data alamat yang

dicatat Rp dan Carry hasilnya disimpan

di A

Contoh :

Mnemonik Instruksi Operasi

ADDC A, #1Ch A = 1Ch

MOV R5,#0A1h R5 = A1h

ADD A, R5 A = BDh; C = 0, OV = 0

ADD A, R5 A = 5Eh; C = 1, OV = 1

ADDC A,#10h A = 6Fh; C = 0, OV = 0

ADDC A,#10h A = 7Fh; C = 0, OV = 0

Pengurangan Mnemonik Instruksi Operasi

SUBB A,#n Kurangkan A dengan data immediate n

dan carry; hasilnya disimpan di A

SUBB A, Rr Kurangkan A dengan Reg Rr dan Carry ;

hasilnya disimpan di A

SUBB A,add Kurangkan A dengan data alamat

langsung dan Carry ; hasilnya disimpan

di A

SUBB A,@Rp Kurangkan A dengan data alamat yang

dicatat Rp dan Carry; hasilnya disimpan

di A

Page 36: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

36

Contoh :

Mnemonik Instruksi Operasi

MOV 0D0h , #00h Carry = 0

MOV A,#3Ah A = 3Ah

MOV 45h,#13h Alamat 45h = 13h

SUBB A,45h A = 27h ; C = 0 , OV = 0

SUBB A,45h A = 14h ; C = 0 , OV = 0

SUBB A,#80h A = 94h ; C = 1 , OV = 1

SUBB A,#22h A = 71h ; C = 0 , OV = 0

SUBB A,#0FFh A = 72h ; C = 1 , OV = 0

Perkalian Mnemonik Instruksi Operasi

MOV A , #7Bh A = 7Bh

MOV 0F0h,#02h B = 02h

MUL AB A = 00h dan B = F6h ; OV = 0

MOV A, #0FEh A = FEh

MUL AB A = 14h dan B = F4h; OV = 1

Pembagian Mnemonik Instruksi Operasi

MOV A , #0FFh A = FFh (255d)

MOV 0F0h,#2Ch B = 2Ch (44d)

DIV AB A = 05h dan B = 23h ; 255d=(5x44)+35

DIV AB A = 00h dan B =00h

Aritmetika Desimal Mnemonik Instruksi Operasi

MOV A, #42h A = 42 BCD

ADD A,#13h A = 55h ; C =0

DA A A = 55h ; C =0

Page 37: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

37

ADD A, #17h A = 6Ch; C = 0

DA A A = 72 BCD; C = 0

ADDC A, #34h A = A6h; C = 0

DA A A = 06 BCD; C =1

ADDC A,#11h A = 18 BCD; C = 0

DA A A = 18 BCD; C = 0

OPERASI JUMP DAN CALL Instruksi Jump dan call adalah kode-kode pengambilan keputusan

dalam mengatur pencabangan aliran program berdasarkan perubahan isi

Program Counter. Jump merubah isi PC secara permanen sedangkan Call

merubah isi PC secara temporer.

Jenis-jenis Jump dan Call :

• Jump on bit condition

• Compare Bytes and Jump if Not equal

• Decrement Byte and Jump if Not Zero

• Call a Subroutine

• Return from a Subroutine

Perintah Jump dan call bekerja mengganti isi PC dengan alamat baru

sehingga menyebabkan eksekusi program berlangsung pada alamat baru

pada PC.

Jump Bit Bekerja berdasarkan status flag carry pada PSW atau status lokasi bit

teralamati.

Mnemonik Instruksi Operasi

JC radd Jump relatif jika carry set 1

JNC radd Jump relatif jika carry reset 0

JB b, radd Jump relatif jika bit teralamati set 1

JNB b, radd Jump relatif jika bit teralamati reset 0

JBC b,radd Jump relatif jika bit teralamati set 1, dan

Page 38: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

38

clear bit teralamati menjadi 0

Contoh :

Alamat Mnemonik Komentar

Loop: MOV A, #10h ; A = 10h

MOV R0,A ; R0 = 10h

Adda: ADD A,R0 ; A = A + R0

JNC Adda : Lompat ke Adda jika carry = 0,

terus jika C = 1

MOV A,#10h ; A = 10h

Addr: ADD A, R0 ; A = A + R0

JNB 0D7h, Addr ; Lompat ke Addr jika bit carry =

0, terus jika C = 1;

JBC 0D7h,Loop ; Lompat ke Loop jika bit carry =

1, dan C = 0

Jump Byte Instruksi yang mengetes byte data

Mnemonik Instruksi Operasi

CJNE A,add, radd Bandingkan isi register A dengan data

suatu alamat langsung; jika tidak sama

lompat ke alamat relatif; set carry 1 jika

A kurang dari isi alamat langsung “n”,

keadaan lain set cary 0.

CJNE A,#n, radd Bandingkan isi register A dengan data

immediate n; jika tidak sama lompat ke

alamat relatif; set carry 1 jika A kurang

dari “n”, , keadaan lain set cary 0.

CJNE Rn,#n, radd Bandingkan isi register Rn dengan data

immediate n; jika tidak sama lompat ke

alamat relatif; set carry 1 jika Rn kurang

dari “n”, keadaan lain set caryy 0.

Page 39: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

39

CJNE @Rp,#n, radd Bandingkan isi/data suatu alamat yang

dicatat register Rp dengan data

immediate n; jika tidak sama lompat ke

alamat relatif; set carry 1 jika data pada

alamat yang dicatat Rp kurang dari “n”,

keadaan lain set caryy 0

DJNZ Rn,radd Kurangi satu isi register Rn dan lompat

ke alamat relatif jika Rn tidak sama nol;

Rn=0 kontinyu/lanjut.

DJNZ add,radd Kurangi satu isi data alamat lansung add

dan lompat ke alamat relatif jika data

pada alamat langsung add tidak sama

nol; data pada alamat langsung add =0

kontinyu/lanjut.

JZ,radd Lompat ke alamat relatif jika A=0

JNZ,radd Lompat ke alamat relatif jika A tidak =0

Jump Tanpa Kondisi Mnemonik Instruksi Operasi

JMP@A+DPTR Lompat ke alamat yang dibangun oleh

A+DPTR.

AJMP sadd Lompat ke alamat absolut range pendek

LJMP ladd Lompat ke alamat absolut range

panjang

SJMP radd Lompat ke alamat relatif range pendek

Contoh :

Alamat Mnemonik Instruksi Komentar

ORG 0100h

Mulai: MOV A,#30h ; A = 30h

MOV 50h,#00h ;RAM lokasi 50h = 00h

Putar: CJNE A,50h, Bawah ; lompat ke bawah A=30h

Page 40: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

40

tidak sama dengan data

alamat 50 = 00

SJMP Berikut ; lompat jika (50) = 30

Tengah: DJNZ 50h, Putar

NOP

Perintah CALL Digunakan untuk memanggil sub routine layanan program

Mnemonik Instruksi Operasi

ACALL, sadd Call sub routine alamat pendek add

LCALL, ladd Call sub routine alamat panjang add.

Lembar Kerja Alat dan Bahan

1. Trainer MPF-1.................................................. 1 buah

2. LED .................................................................. 8 buah

3. Tempat LED..................................................... 1 buah

Kesehatan dan Keselamatan Kerja 1. Jangan menghubungkan MPF-1 dengan sumber AC

2. Ikuti semua petunjuk dari instruktur

3. Jangan menempatkan MPF-1 di tepi meja (menjaga agar tidak

jatuh).

Langkah Kerja Program Pengendalian Pembacaan Input

1. Persiapkanlah alat dan bahan yang diperlukan !

2. Hubungkanlah output port A Z-80 ke monitor 8 buah LED display

(Delapan buah LED di pasang pada Port 1 dan delapan buah

tombol tekan ) !

Page 41: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

41

3. Masukkan program di bawah ini, setelah itu eksekusilah program

tersebut lalu amati dan analisis hasil yang terjadi !

Program pengendalian pembacaan input, jika tombol SW0 ditekan

LED 0 menyala VCC adalah sebagai berikut :

;-------------------------------------------------------- ; Program Baca Input Port 3 ; Disajikan dengan Penyalaan LED pada Port 1 ; Tombol ditekan LED menyala ; Nama File Modul4.asm ;--------------------------------------------------------

ORG 0h Mulai:

MOV A,P3 ; baca tombol pada Port 3 dan catat di Reg A MOV P1,A ; keluarkan data pada Reg A ke Port 1 SJMP Mulai ; lompat ke label mulai

END

4. Kembalikan semua alat dan bahan ketempat semula !

Page 42: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

42

Lembar Latihan Dengan mengacu pada gambar di lembar kerja kegiatan belajar 4

Buat program pengendalian LED dengan penyalaan berputar mulai dari

LED 0 ( Geser kanan ke kiri)!

Page 43: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

43

LEMBAR EVALUASI A. Pertanyaan Buatlah suatu program menggunakan MPF-1 untuk menjalankan

Motor Stepper dengan konsekuensi motor stepper tersebut dapat

berputar dua arah yaitu putar kanan dan putar kiri !

B. Kriteria Kelulusan

Kriteria Skor (1-10)

Bobot Nilai Keterangan

Kebenaran Langkah Kerja

2

Kebenaran Program

4

Kerapian Program/Flow Chart

2

Keselamatan Kerja

1

Kecepatan Kerja

1

WL (Wajib Lulus)

> 70

Nilai Akhir

Page 44: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

44

LEMBAR KUNCI JAWABAN

Kunci Jawaban Kegiatan Belajar 1 1. Keuntungan penggunaan sistem otomatis dalam proses

permesinan dalam industri modern.

a. Lebih teliti

b. Lebih akurat

c. Lebih konstan

d. Lebih aman

e. Dapat dikendalikan secara terpusat

f. Tidak membutuhkan tenaga dengan keahlian khusus

2. Kerugian penggunaan sistem otomatis dalam proses permesinan

dalam industri modern.

a. Ketergantungan dengan sistem mutlak artinya jika sistem kendali

terganggu proses akan lumpuh.

b. Tenaga kerja tidak banyak termanfaatkan

3. Dibandingkan dengan kendali diskrit, kelebihan kendali berbasis

mikroprosesor lebih fleksibel, lebih sederhana, lebih murah, lebih

mudah dalam pengolahan baik data maupun sinyal.

4. Pengendali suhu sebuah ruangan,

a. Gambarkan

b. Input menggunakan thermistor atau sensor suhu Controller

menggunakan mikrokontroler 8 bit dengan dilengkapi konverter

analog ke digital (ADC) dan pengkondisi sinyal. Plant dalam

Page 45: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

45

kasus ini adalah sistem pendingin atau AC Output berupa suhu

terkendali.

Kunci Jawaban Kegiatan Belajar 2

1. Tiga bagian pokok sebuah mikroprosesor adalah: ALU, CU, dan RU

2. Gambar blok diagram sebuah Mikroprosesor

3. Empat bagian pokok Mikrokontroler adalah : Mikroprosesor, MU,

I/O U, dan Timer Counter

4. Gambar blok diagram sebuah Mikrokontroler

5. Benar, karena mikrokontroler mengaplikasikan unit mikroprosesor

sebagai CPU

Kunci Jawaban Kegiatan Belajar 3

1. Ukuran RAM internal AT 89C51 adalah 2 7 = 128 Byte

2. Ukuran Plash Memory AT 89C51 adalah 4 Kbyte

Page 46: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

46

3. Jumlah stack maksimum yang dapat dibangun pada AT 89C51

adalah 2 8 = 256 byte.

4. Status Flag pada PSW dari AT 89C51

CY AC F0 RS1 RS0 OV - P

Bit Simbol Fungsi 7 CY Flag Carry ; digunakan untuk aritmatika JUMP,

ROTATE, dan Boolean

6 AC Flag Auxiliary Carry : digunakan untuk Aritmetika BCD

5 F0 Flag 0

4 RS1 Pemilih Bank bit 1

3 RS0 Pemilih Bank bit 0

RS1 RS0

0 0 : Bank 0

0 1 : Bank 1

1 0 : Bank 2

1 1 : Bank 3

2 OV Flag Overflow : untuk instruksi matematik

1 - Tidak digunakan

0 P Flag Paritas ; 1 = paritas ganjil.

Kunci Jawaban Kegiatan Belajar 4 ; --------------------------------------------------- ; Program Lampu nyala bergeser di Port 1 ; Nama File Modul3.asm ; ---------------------------------------------------

ORG 0h MOV A,#11111110B ;Masukkan data 11111110B ke

Accumulator Mulai:

MOV P1,A ; keluarkan isi Accumulator ke Port 1

ACALL Delay ; panggil sub routine Delay RL A ; Rotate Accumulator left

Page 47: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

47

; ----- b7 – b6 – b5 – b4 – b 3 – b 2 – b1 – b 0 ------ ; |-------------------------------------------------------------| SJMP Mulai ; Lompat ke alamat dg label Mulai

;------------------- ; sub routine delay ;------------------- Delay: MOV R0,#0FFh ; Isi Register R0 dengan FF Delay1: MOV R1,#0FFh ; Isi Register R1 dengan FF Delay2: DJNZ R1,Delay2 ; Kurangi R1 dengan 1, bila hasil

belum ; sama dengan 0 maka lompat ke Delay2

DJNZ R0,Delay1 ; Kurangi R0 dengan 1, bila hasil belum ; sama dengan 0 maka lompat ke Delay1

RET ; Kembali ke alamat setelah perintah ; 'Acall Delay'

End

Kunci Jawaban Evaluasi Program Menjalankan Motor Stepper

;Pengendalian Motor Stepper ;dengan Z-80 PIO pada Port A Port A EQU 80 KontrolA EQU 82 ORG 1800 LD IX, 1830H Mula LD A, 0FH OUT (Kontrol A) LD A, 33A Awal OUT (PORT A) PUSH AF CALL SCAN1 CP, 1FH JRNZ, Putar Kiri CP, 21 JRZ, Putar Kanan POP AF RLCA/RRCA JP, Awal Putar Kiri LD HL, 1819 LD B, 07 LD (HL), B

Page 48: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

48

JP, Mula Putar Kanan LD HL, 1819 LD B, 0FH LD (HL), B JP, Mula DB 02 03 A3 DB 87 A3 2B

Page 49: PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR file1 KEGIATAN BELAJAR 1 PENGENALAN SISTEM KENDALI BERBASIS MIKROPROSESOR Lembar Informasi Automasi dan Pengendalian Pabrik dan industri

49

DAFTAR PUSTAKA

Ayala, KJ, The 8051 Microcontroller Architectur, Programming, and Aplications, WPC, ---

David Lalond, The 8080, 8085, and Z80 Hardware, Software

Programming, Interfacing, and Troubleshooting, PHI, 1988 Douglas VH., Microprocessor and Interfacing Programming and Hardware,

MCGraw-Hill, 1992 Kuo, BC., Teknik Kontrol Automatik , Alih bahasa Zulpan M, PHI, 1995 Ogata K, Teknik Kontrol Automatik, Erlangga, 1990