• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI. Mikrokontroler sebagai suatu terobosan teknologi mikrokontroler dan mikrokomputer,

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 LANDASAN TEORI. Mikrokontroler sebagai suatu terobosan teknologi mikrokontroler dan mikrokomputer,"

Copied!
26
0
0

Teks penuh

(1)

BAB 2

LANDASAN TEORI

2.1. Mikrokontroler AT89S51

Mikrokontroler sebagai suatu terobosan teknologi mikrokontroler dan mikrokomputer, hadir memenuhi kebutuhan pasar (market need) dan teknologi baru. Sebagai teknologi baru, yaitu teknologi semi konduktor dengan kandungan transistor yang lebih banyak namun hanya membutuhkan ruang kecil serta dapat diproduksi secara massal (dalam jumlah banyak) sehingga harga menjadi lebih murah (dibandingkan mikroprosesor). Sebagai kebutuhan pasar, mikrokontroler hadir untuk memenuhi selera industri dan para konsumen akan kebutuhan dan keinginan alat-alat bantu dan mainan yang lebih canggih serta dalam bidang pendidikan.

Tidak seperti sistem komputer yang mampu menangani berbagai macam program aplikasi (misalnya pengolah kata, pengolah angka, dan lain sebagainya), Mikrokontroler hanya bisa digunakan untuk satu aplikasi tertentu saja. Perbedaan lainnya terletak pada perbandingan RAM dan ROM-nya. Pada sistem komputer perbandingan RAM dan ROM-nya besar, artinya program-program pengguna

(2)

perangkat keras disimpan dalam ruang ROM yang kecil. Sedangkan Pada mikrokontroler, perbandingan ROM dan RAM-nya yang besar artinya program kontrol disimpan dalam ROM yang ukurannya relatif lebih besar, sedangkan RAM digunakan sebagai tempat penyimpanan sederhana sementara, termasuk register-register yang digunakan pada mikrokontroler yang bersangkutan.

Mikrokontroler AT89S51 merupakan salah satu keluarga dari MCS-51 keluaran Atmel. Jenis mikrokontroler ini pada prinsipnya dapat digunakan untuk mengolah data per bit ataupun data 8 bit secara bersamaan.

Pada prinsipnya program pada mikrokontroler dijalankan bertahap, jadi pada program itu sendiri terdapat beberapa set instruksi dan tiap instruksi itu dijalankan secara bertahap atau berurutan.

Beberapa fasilitas yang dimiliki oleh mikrokontroler AT89S51 adalah sebagai berikut :

1. Sebuah Central Processing Unit 8 bit 2. Osilator : internal dan rangkaian pewaktu 3. RAM internal 128 byte

4. Flash memori 4 Kbyte

5. Lima buah jalur interupsi (dua buah interupsi eksternal dan tiga buah interupsi internal)

6. Empat buah programable port I/O yang masing-masing terdiri dari delapan buah jalur I/O

(3)

8. Kemampuan untuk melaksanakan operasi aritmatika dan operasi logika

9. Kecepatan dalam melaksanakan instruksi per siklus 1 mikrodetik pada frekuensi 12 MHz.

2.1.1. Konstruksi AT89S51

Mikrokontroler AT89S51 hanya memerlukan tambahan 3 kapasitor, 1 resistor dan 1 kristal serta catu daya 5 Volt. Kapasitor 10 µF dan resistor 10 KΩ dipakai untuk membentuk rangkaian reset. Dengan adanya rangkaian reset ini AT89S51 otomatis direset begitu rangkaian menerima catu daya. Kristal dengan frekuensi maksimum 24 MHz dan kapasitor 30 pF dipakai untuk melengkapi rangkaian oscilator pembentuk

clock yang menentukan kecepatan kerja mikrokontroler.

Memori merupakan bagian yang sangat penting pada mikrokontroler. Mikrokontroler memiliki dua macam memori yang sifatnya berbeda.

Read Only Memory (ROM) yang isinya tidak berubah meskipun IC kehilangan catu

daya. Sesuai dangan keperluannya, dalam susunan MCS-51 memori penyimpanan progam ini dinamakan sebagai memori program.

Random Access Memory (RAM) isinya akan sirna begitu IC kehilangan catu daya,

dipakai untuk menyimpan data pada saat program bekerja. RAM yang dipakai untuk menyimpan data ini disebut sebagai memori data.

(4)

mikrokontroler dicetak di pabrik IC. Untuk keperluan tertentu mikrokontroler menggunakan ROM yang dapat diisi ulang atau Programble-Eraseable ROM yang disingkat menjadi PEROM atau PROM. Dulu banyak dipakai UV-EPROM (Ultra

Violet Eraseable Progamble ROM) yang kemudian dinilai mahal dan ditinggalkan

setelah ada flash PEROM yang harganya jauh lebih murah.

Jenis memori yang dipakai untuk memori program AT89S51 adalah Flash PEROM, program untuk mengendalikan mikrokontroler diisikan ke memori itu lewat bantuan alat yang dinamakan sebagai AT89S51 Flash PEROM Programmer. Memori Data yang disediakan dalam chip AT89S51 sebesar 128 byte, meskipun hanya kecil saja tapi untuk banyak keperluan memori kapasitas itu sudah cukup. Sarana Input/Ouput yang disediakan cukup banyak dan bervariasi. AT89S51 mempunyai 32 jalur Input/Ouput. Jalur Input/Ouput paralel dikenal sebagai Port 1 (P1.0..P1.7) dan Port 3 (P3.0..P3.5 dan P3.7).

(5)

Deskripsi pin-pin pada mikrokontroler AT89S51 : VCC (Pin 40)

Suplay tegangan GND (Pin 20) Ground

Port 0 (Pin 39-Pin 32)

Port 0 dapat berfungsi sebagai I/O biasa, low order multiplex address/data ataupun penerima kode byte pada saat flash programming. Pada fungsi sebagai I/O biasa port ini dapat memberikan output sink ke delapan buah TTL input atau dapat diubah sebagai input dengan memberikan logika 1 pada port tersebut.

Pada fungsi sebagai low order multiplex address/data, port ini akan mempunyai

internal pull up. Pada saat flash programming diperlukan eksternal pull up terutama pada saat verifikasi program.

Port 1 (Pin 1 - Pin 8)

Port 1 adalah port dua arah masukan/keluaran 8-bit dengan pull-up internal. Sebagai tambahan, P1.0 dan P1.1 dapat diatur sebagai pewaktu/ pencacah-2 eksternal masukan pencacah (P1.0/T2) dan pewaktu/pencacah-2 masukan pemicu (P1.1/T2EX). Port 1 juga menerima byte-byte alamat saat pemrograman dan verifikasi flash.

Port 2 (Pin 21 – pin 28)

Port 2 berfungsi sebagai I/O biasa atau high order address, pada saat mengakses memori secara 16 bit. Pada saat mengakses memori 8 bit, port ini akan mengeluarkan isi dari P2 special function register. Port ini mempunyai internal pull up dan berfungsi sebagai input dengan memberikan logika 1. Sebagai output, port ini dapat memberikan output sink keempat buah input TTL.

(6)

Port 3 (Pin 10 – pin 17)

Port 3 merupakan 8 bit port I/O dua arah dengan internal pull up. Port 3 juga mempunyai fungsi pin masing-masing, yaitu sebagai berikut :

Nama pin Fungsi

P3.0 (pin 10) RXD (Port input serial) P3.1 (pin 11) TXD (Port output serial) P3.2 (pin 12) INTO (interrupt 0 external) P3.3 (pin 13) INT1 (interrupt 1 external) P3.4 (pin 14) T0 (input external timer 0) P3.5 (pin 15) T1 (input external timer 1)

P3.6 (pin 16) WR (menulis untuk eksternal data memori) P3.7 (pin 17) RD (untuk membaca eksternal data memori)

RST (pin 9)

Reset akan aktif dengan memberikan input high selama 2 cycle. ALE / PROG (pin 30)

Address Latch Enable adalah pulsa output untuk me-latch byte bawah dari alamat selama mengakses memori eksternal. Selain itu, sebagai pulsa input program (PROG) selama memprogram Flash.

PSEN (pin 29)

Program store enable digunakan untuk mengakses memori program eksternal. EA (pin 31)

Pada kondisi low, pin ini akan berfungsi sebagai EA yaitu mikrokontroler akan menjalankan program yang ada pada memori eksternal setelah sistem direset. Jika kondisi high, pin ini akan berfungsi untuk menjalankan program yang ada pada

(7)

memori internal. Pada saat flash programming, pin ini akan mendapat tegangan 12 Volt.

XTAL1 (pin 19)

Input untuk clock internal. XTAL2 (pin 18)

Output dari osilator.

2.2. Sensor Ping ))) Ultrasonic Range Finder

Sensor Ping mendeteksi jarak obyek dengan cara memancarkan gelombang ultrasonik (40 kHz) selama tBURST (200 μs) kemudian mendeteksi pantulannya. Sensor Ping

memancarkan gelombang ultrasonik sesuai dengan kontrol dari mikrokontroler pengendali / sesuai dengan input kontrol dari pin SIG (pulsa trigger dengan tOUT min.

2 μs). Gelombang ultrasonik ini melalui udara dengan kecepatan kurang lebih 344 meter per detik, mengenai obyek dan memantul kembali ke sensor. Ping akan mengeluarkan pulsa output high pada pin SIG setelah memancarkan gelombang ultrasonik dan setelah gelombang pantulan terdeteksi Ping akan membuat output low pada pin SIG. Lebar pulsa High (tIN) akan sesuai dengan lama waktu tempuh

gelombang ultrasonik untuk 2x jarak ukur dengan obyek, sehingga jarak obyek yang terukur adalah [(tIN s x 344 m/s) ÷ 2] meter. Ilustrasi cara kerja sensor Ping ini dapat

(8)

Sinyal Ultrasonik ½ waktu tempuh PING )))TM

((( ((( Obyek

))) )))

½ waktu tempuh pantulan Jarak yang diukur

( a )

( b )

Gambar 2.2 Ilustrasi Cara Kerja Ping)))

2.3. Komponen Pendukung

2.3.1. Resistor

Resistor komponen pasif elektronika yang berfungsi untuk membatasi arus listrik yang mengalir. Berdasarkan kelasnya resistor dibagi menjadi 2 yaitu : Fixed Resistor dan Variable Resistor dan umumnya terbuat dari carbon film atau metal film, tetapi tidak menutup kemungkinan untuk dibuat dari material yang lain.

Pada dasarnya semua bahan memiliki sifat resistif namun beberapa bahan tembaga perak emas dan bahan metal umumnya memiliki resistansi yang sangat kecil.

(9)

Bahan–bahan tersebut menghantar arus listrik dengan baik, sehingga dinamakan konduktor. Kebalikan dari bahan yang konduktif, bahan material seperti karet, gelas, karbon memiliki resistansi yang lebih besar menahan aliran elektron dan disebut sebagai isolator.

2.3.1.1. Fixed Resistor

Resistor adalah komponen dasar elektronika yang digunakan untuk membatasi jumlah arus yang mengalir dalam satu rangkaian. Sesuai dengan namanya resistor bersifat resistif dan umumnya terbuat dari bahan karbon. Tipe resistor yang umum berbentuk tabung porselen kecil dengan dua kaki tembaga dikiri dan kanan. Pada badannya terdapat lingkaran membentuk gelang kode warna untuk memudahkan pemakai mengenali besar resistansi tanpa mengukur besarnya dengan ohm meter. Kode warna tersebut adalah standar menufaktur yang dikeluarkan oleh EIA (Electronic Industries Association).

Gambar 2.3.1.1. Resistor karbon

WARNA GELANG I GELANG II GELANG III GELANG IV

Hitam 0 0 1 -

Coklat 1 1 10 -

(10)

Jingga 3 3 1000 - Kuning 4 4 10000 - Hijau 5 5 100000 - Biru 6 6 1000000 - Violet 7 7 10000000 - Abu-abu 8 8 100000000 - Putih 9 9 1000000000 - Emas - - 0,1 5% Perak - - 0,01 10% Tanpa Warna - - - 20%

Tabel 2.3.1.1. Gelang Resistor

Resitansi dibaca dari warna gelang yang paling depan ke arah gelang toleransi berwarna coklat, emas, atau perak. Biasanya warna gelang toleransi ini berada pada bahan resistor yang paling pojok atau juga dengan lebar yang lebih menonjol, sedangkan warna gelang yang keempat agak sedikit ke dalam. Dengan demikian pemakai sudah langsung mengetahui berapa toleransi dari resistor tersebut. Kalau anda telah bisa menentukan mana gelang pertama selanjutnya adalah membaca nilai resistansinya.

Biasanya resistor dengan toleransi 5%, 10% atau 20% memiliki gelang (tidak termasuk gelang toleransi). Tetapi resistor dengan toleransi 1% atau 2% (toleransi kecil) memiliki 4 gelang (tidak termasuk gelang toleransi). Gelang pertama dan

(11)

seterusnya berturut-turut menunjukkan besar nilai satuan, dan gelang terakhir adalah faktor pengalinya.

2.3.1.2. Variable Resistor

Untuk kelas resistor yang kedua ini terdapat 2 tipe. Untuk tipe pertama dinamakan variabel resistor dan nilainya dapat diubah sesuai keinginan dengan mudah dan sering digunakan untuk pengaturan volume, bass, balance, dll. Sedangkan yang kedua adalah semi-fixed resistor. Nilai dari resistor ini biasanya hanya diubah pada kondisi tertentu saja. Contoh penggunaan dari semi-fixed resistor adalah tegangan referensi yang digunakan untuk ADC, fine tune circuit, dll. Ada beberapa model pengaturan nilai

variable resistor, yang sering digunakan adalah dengan cara terbatas sampai 300

derajat putaran. Ada beberapa model variable resistor yang harus diputar berkali – kali untuk mendapatkan semua nilai resistor. Model ini dinamakan “Potentiometres” atau “Trimmer Potentiometres”.

(12)

Pada gambar 2.3.1.2a di atas untuk bentuk 3 biasanya digunakan untuk volume kontrol. Bentuk yang ke 2 merupakan semi fixed resistor dan biasanya di pasang pada PCB (Printed Circuit Board). Sedangkan bentuk 1 potentiometres. Ada 3 tipe didalam perubahan nilai dari resistor variabel, perubahan tersebut dapat dilihat pada gambar 2.3.1.2.b.

Gambar 2.3.1.2.b Grafik Perubahan nilai pada potensiometer

Pada saat tipe A diputar searah jarum jam, awalnya perubahan nilai resistansi lambat tetapi ketika putarannya mencapai setengah atau lebih nilai perubahannya menjadi sangat cepat. Tipe ini sangat cocok dengan karakteristik telinga manusia. Karena telinga sangat peka ketika membedakan suara dengan volume yang lemah, tetapi tidak terlalu sensitif untuk membedakan perubahan suara yang keras. Biasanya tipe A ini juga disebut sebagai “Audio Taper” potensiometer. Untuk tipe B perubahan resistansinya adalah linier dan cocok digunakan untuk Aplikasi Balance Control,

resistance value adjustment in circuit, dll. Sedangkan untuk tipe C perubahan

(13)

2.3.2 Kapasitor

Kapasitor adalah komponen elektronika yang dapat menyimpan muatan listrik. Struktur sebuah kapasitor terbuat dari 2 buah plat metal yang dipisahkan oleh suatu bahan dielektrik. Bahan-bahan dielektrik yang umum dikenal misalnya udara vakum, keramik, gelas dan lain-lain. Jika kedua ujung plat metal diberi tegangan listrik, maka muatan-muatan positif akan mengumpul pada salah satu kaki elektroda metalnya dan pada saat yang sama muatan-muatan negatif terkumpul pada ujung metal yang satu lagi. Muatan positif tidak dapat mengalir menuju ujung kutub negatif dan sebaliknya muatan negatif tidak bisa menuju ke ujung kutub positif karena terpisah oleh bahan elektrik yang non-konduktif. Muatan elektrik ini “tersimpan” selama tidak ada konduktif pada ujung- ujung kakinya. Di alam bebas penomena kapasitor terjadi pada saat terkumpulnya muatan-muatan positif dan negatif diawan.

dielektrik

Elektroda Elektroda

Gambar 2.3.2. Skema kapasitor.

Kapasitor merupakan komponen pasif elektronika yang sering dipakai didalam merancang suatu sistem yang berfungsi untuk memblok arus DC, Filter, dan menyimpan energi listrik. Didalamnya 2 buah pelat elektroda yang saling berhadapan dan dipisahkan oleh sebuah insulator. Sedangkan bahan yang digunakan sebagai

(14)

listrik disimpan pada tiap elektrodanya. Selama kapasitor melakukan pengisian, arus mengalir. Aliran arus tersebut akan berhenti bila kapasitor telah penuh. Yang membedakan tiap - tiap kapasitor adalah dielektriknya. Berikut ini adalah jenis– jenis kapasitor yang dipergunakan dalam perancangan ini.

2.3.2.1 Electrolytic Capacitor (ELCO)

Gambar 2.3.2.1. Electrolytic Capacitor (ELCO)

Elektroda dari kapasitor ini terbuat dari aluminium yang menggunakan membran oksidasi yang tipis. Karakteristik utama dari Electrolytic Capacitor adalah perbedaan polaritas pada kedua kakinya. Dari karakteristik tersebut kita harus berhati – hati di dalam pemasangannya pada rangkaian, jangan sampai terbalik. Bila polaritasnya terbalik maka akan menjadi rusak bahkan “meledak”. Biasanya jenis kapasitor ini digunakan pada rangkaian power supply. Kapasitor ini tidak bisa digunakan pada rangkaian frekuensi tinggi. Biasanya tegangan kerja dari kapasitor dihitung dengan cara mengalikan tegangan catu daya dengan 2. Misalnya kapasitor akan diberikan catu daya dengan tegangan 5 Volt, berarti kapasitor yang dipilih harus memiliki tegangan kerja minimum 2 x 5 = 10 Volt.

(15)

2.3.2.2 Ceramic Capacitor

Kapasitor menggunakan bahan titanium acid barium untuk dielektriknya. Karena tidak dikonstruksi seperti koil maka komponen ini dapat digunakan pada rangkaian frekuensi tinggi. Biasanya digunakan untuk melewatkan sinyal frekuensi tinggi menuju ke ground. Kapasitor ini tidak baik digunakan untuk rangkaian analog, karena dapat mengubah bentuk sinyal. Jenis ini tidak mempunyai polaritas dan hanya tersedia dengan nilai kapasitor yang sangat kecil dibandingkan dengan kedua kapasitor diatas.

Gambar 2.3.2.2. Ceramic Capacitor

2.3.2.3 Nilai Kapasitor

Untuk mencari nilai dari kapasitor biasanya dilakukan dengan melihat angka/kode yang tertera pada badan kapasitor tersebut. Untuk kapasitor jenis elektrolit memang mudah, karena nilai kapasitansinya telah tertera dengan jelas pada tubuhnya. Sedangkan untuk kapasitor keramik dan beberapa jenis yang lain nilainya dikodekan. Biasanya kode tersebut terdiri dari 4 digit, dimana 3 digit pertama merupakan angka dan digit terakhir berupa huruf yang menyatakan toleransinya. Untuk 3 digit pertama angka yang terakhir berfungsi untuk menentukan 10n, nilai n dapat dilihat pada tabel dibawah.

(16)

Tabel 2.3.2.3. Nilai Kapasitor

Misalnya suatu kapasitor pada badannya tertulis kode 474J, berarti nilai kapasitansinya adalah 47 + 104

2.3.3. Transistor

= 470.000 pF = 0.47µF sedangkan toleransinya 5%. Yang harus diingat didalam mencari nilai kapasitor adalah satuannya dalam pF (Pico

Farad).

Transistor adalah komponen elektronika yang mempunyai tiga buah terminal. Terminal itu disebut emitor, basis, dan kolektor. Transistor seakan-akan dibentuk dari penggabungan dua buah dioda. Dioda satu dengan yang lain saling digabungkan dengan cara menyambungkan salah satu sisi dioda yang senama. Dengan cara penggabungan seperti dapat diperoleh dua buah dioda sehingga menghasilkan transistor NPN.

Bahan mentah yang digunakan untuk menghasilkan bahan N dan bahan P adalah silikon dan germanium. Oleh karena itu, dikatakan :

(17)

1. Transistor germanium PNP 2. Transistor silikon NPN 3. Transistor silikon PNP 4. Transistor germanium NPN

Semua komponen di dalam rangkaian transistor dengan simbol seperti pada gambar 2.3.3. Anak panah yang terdapat di dalam simbol menunjukkan arah yang melalui transistor.

Gambar 2.3.3. Simbol tipe transistor Keterangan :

C = kolektor E = emiter B = basis

Didalam pemakaiannya transistor dipakai sebagai komponen saklar (switching) dengan memanfaatkan daerah penjenuhan (saturasi) dan daerah penyumbatan (cut off) yang ada pada karakteristik transistor.

Pada daerah penjenuhan nilai resistansi persambungan kolektor emiter secara ideal sama dengan nol atau kolektor dan emiter terhubung langsung (short). Keadaan ini menyebabkan tegangan kolektor emiter (VCE) = 0 Volt pada keadaan ideal, tetapi

C B E C B E NPN PNP

(18)

pada kenyataannya VCE

Gambar 2.3.3.(a) Transistor sebagai Saklar ON

Saturasi pada transistor terjadi apabila arus pada kolektor menjadi maksimum dan untuk mencari besar arus basis agar transistor saturasi adalah :

bernilai 0 sampai 0,3 Volt. Dengan menganalogikan transistor sebagai saklar, transistor tersebut dalam keadaan on seperti pada gambar 2.3.4.(a).

Rc Vcc Imax= ………..……….(2.1) Rc Vcc I . hfe B = ……….……….(2.2) Rc . hfe Vcc IB= ……….(2.3)

Hubungan antara tegangan basis (VB) dan arus basis (IB

B BE B B R V V I = − ) adalah : ……….(2.4) VB = IB . RB + VBE BE B B V Rc . hfe R . Vcc V = + ………..(2.5) ………(2.5) Jika tegangan VB BE B B V Rc . hfe R . Vcc V = +

telah mencapai , maka transistor akan saturasi,

dengan Ic mencapai maksimum.

Saklar On Vcc Vcc IC R RB VB IB VBE VCE

(19)

Gambar 2.3.4.(b) dibawah ini menunjukkan apa yang dimaksud dengan VCE (sat)

adalah harga VCE pada beberapa titik dibawah knee dengan posisi tepatnya ditentukan

pada lembar data. Biasanya VCE

Gambar 2.3.3.(b) Karakteristik daerah saturasi pada transistor

Pada daerah penyumbatan, nilai resistansi persambungan kolektor emiter secara ideal sama dengan tak terhitung atau terminal kolektor dan emiter terbuka (open). Keadaan ini menyebabkan tegangan (V

(sat) hanya beberapa perpuluhan volt, walaupun pada arus kolektor sangat besar bisa melebihi 1 volt. Bagian dibawah knee pada gambar 2.3.4.(b) dikenal sebagai daerah saturasi.

CB

Gambar 2.3.3.(c) Transistor Sebagai Saklar OFF

) sama dengan tegangan sumber (Vcc). Tetapi pada kenyataannya Vcc pada saat ini kurang dari Vcc karena terdapat arus bocor dari kolektor ke emiter. Dengan menganalogikan transistor sebagai saklar, transistor tersebut dalam keadaan off seperti gambar dibawah ini.

Titik Sumbat (Cut off) IB > IB(sat) IB = IB(sat) IB Penjenuhan (saturation) IC Rc Vcc IB = 0 VCE Saklar Off Vcc Vcc IC R RB VB IB VBE VCE

(20)

Keadaan penyumbatan terjadi apabila besar tegangan habis (VB) sama dengan

tegangan kerja transistor (VBE) sehingga arus basis (IB

hfe I I C B = ) = 0 maka : ………(2.6) IC = IB . hfe ….………(2.7) IC = 0 . hfe ………..………(2.8) IC = 0 ………..(2.9)

Hal ini menyebabkan VCE sama dengan Vcc dapat dibuktikan dengan rumus :

Vcc = Vc + VCE …………..………(2.10)

VCE = Vcc – (Ic . Rc) …..………(2.11)

VCE

Label mnemonic operand1 operand2 komentar

= Vcc …..………(2.12)

2.4. Bahasa Assembly MCS-51

Mode pengalamatan menjelaskan bagaimana operand dioperasikan. Berikut penjelasan dari berbagai mode pengalamatan. Bentuk program assembly yang umum ialah sebagai berikut :

(isi memori) (opcode)

(21)

Isi memori ialah bilangan heksadesimal yang dikenal oleh mikrokontroler kita, yang merupakan representasi dari bahasa assembly yang telah kita buat. Mnemonic atau

opcode ialah kode yang akan melakukan aksi terhadap operand . Operand ialah data

yang diproses oleh opcode. Sebuah opcode bisa membutuhkan 1,2 atau lebih operand, kadang juga tidak perlu operand. Sedangkan komentar dapat kita berikan dengan menggunakan tanda titik koma (;). Berikut contoh jumlah operand yang berbeda beda dalam suatu assembly.

CJNE R5,#22H, aksi ;dibutuhkan 3 buah operand MOVX @DPTR, A ;dibutuhkan 2 buah operand

RL A ;1 buah operand

NOP ; tidak memerlukan operand

Bahasa yang digunakan untuk memprogram IC mikrokontroler AT89S51 adalah bahasa assembly untuk MCS-51. Angka 51 merupakan jumlah instruksi pada bahasa ini, hanya ada 51 instruksi. Dari 51 instruksi, yang sering digunakan orang hanya 10 instruksi. Instruksi –instruksi tersebut antara lain :

1. Instruksi MOV

Perintah ini merupakan perintah untuk mengisikan nilai ke alamat atau register tertentu. Pengisian nilai dapat secara langsung atau tidak langsung.

Contoh pengisian nilai secara langsung

MOV R0,#20h

Perintah di atas berarti : isikan nilai 20 Heksadesimal ke register 0 (R0). Tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah nilai. Contoh pengisian nilai secara tidak langsung

(22)

... ... MOV R0,20h

Perintah di atas berarti : isikan nilai yang terdapat pada alamat 20 heksadesimal ke register 0 (R0).

Tanpa tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah alamat.

2. Instruksi DJNZ

Decreament Jump If Not Zero (DJNZ) ini merupakan perintah untuk mengurangi nilai register tertentu dengan 1 dan lompat jika hasil pengurangannya belum nol. Contoh ,

MOV R0,#80h Loop: ...

...

DJNZ R0,Loop ...

R0 -1, jika belum 0 lompat ke loop, jika R0 = 0 maka program akan meneruskan ke perintah pada baris berikutnya.

3. Instruksi ACALL

Instruksi ini berfungsi untuk memanggil suatu rutin tertentu. Contoh :

...

ACALL TUNDA ...

TUNDA:

(23)

4. Instruksi RET

Instruksi RETURN (RET) ini merupakan perintah untuk kembali ke rutin pemanggil setelah instruksi ACALL dilaksanakan. Contoh,

ACALL TUNDA ... TUNDA: ... RET 5. Instruksi JMP (Jump)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu. Contoh,

Loop:

... ... JMP Loop

6. Instruksi JB (Jump if Bit)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika high (1). Contoh,

Loop:

JB P1.0,Loop ...

7. Instruksi JNB (Jump if Not Bit)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika Low (0). Contoh,

(24)

...

8. Instruksi CJNE (Compare Jump If Not Equal)

Instruksi ini berfungsi untuk membandingkan nilai dalam suatu register dengan suatu nilai tertentu. Contoh,

Loop:

...

CJNE R0,#20h,Loop ...

Jika nilai R0 tidak sama dengan 20h, maka program akan lompat ke rutin Loop. Jika nilai R0 sama dengan 20h, maka program akan melanjutkan instruksi selanjutnya..

9. Instruksi DEC (Decreament)

Instruksi ini merupakan perintah untuk mengurangi nilai register yang dimaksud dengan 1. Contoh,

MOV R0,#20h R0 = 20h ...

DEC R0 R0 = R0 – 1 ...

10. Instruksi INC (Increament)

Instruksi ini merupakan perintah untuk menambahkan nilai register yang dimaksud dengan 1. Contoh,

MOV R0,#20h R0 = 20h ...

INC R0 R0 = R0 + 1 ...

(25)

11. Dan lain sebagainya

2.5. Software 8051 Editor, Assembler, Simulator (IDE)

Instruksi-instruksi yang merupakan bahasa assembly tersebut dituliskan pada sebuah editor, yaitu 8051 Editor, Assembler, Simulator (IDE). Tampilannya seperti di bawah ini.

Gambar 2.5. Software 8051 Editor, Assembler, Simulator (IDE)

Setelah program selesai ditulis, kemudian di-save dan kemudian di-Assemble (di-compile). Pada saat di-assemble akan tampil pesan peringatan dan kesalahan. Jika masih ada kesalahan atau peringatan, itu berarti ada kesalahan dalam penulisan perintah atau ada nama subrutin yang sama, sehingga harus diperbaiki terlebih dahulu sampai tidak ada pesan kesalahan lagi.

(26)

Software 8051IDE ini berfungsi untuk merubah program yang kita tuliskan ke dalam bilangan heksadesimal, proses perubahan ini terjadi pada saat peng-compile-an. Bilangan heksadesimal inilah yang akan dikirimkan ke mikrokontroler.

2.5.1 Software Downloader

Untuk mengirimkan bilangan-bilangan heksadesimal ini ke mikrokontroler digunakan software ISP- Flash Programmer 3.0a yang dapat didownload dari internet. Tampilannya seperti gambar di bawah ini

Gambar 2.5.1. ISP- Flash Programmer 3.0a

Cara menggunakannya adalah dengan meng-klik Open File untuk mengambil file heksadesimal dari hasil kompilasi 8051IDE, kemudian klik Write untuk mengisikan hasil kompilasi tersebut ke mikrokontroler.

Gambar

Gambar  2.2  IC Mikrokontroler AT89S51
Gambar 2.2  Ilustrasi Cara Kerja Ping)))
Gambar 2.3.1.1.  Resistor karbon
Tabel 2.3.1.1.  Gelang Resistor
+7

Referensi

Dokumen terkait

 en!akit menular dan meruakan salah satu masalah utama kesehatan di mas!arakat ind$nesia. )elihat dari (esarn!a anim$ mas!arakat men,ari eng$(atan tu(erkul$sis

Pembubaran organisasi hanya dapat dilakukan oleh Rapat Umum Luar Biasa yang khusus dilaksanakan untuk itu dan dihadiri oleh lebih dari dua per tiga (2/3) jumlah anggota

Penelitian ini bertujuan untuk mengetahui hubungan motivasi kerja perawat terdahap kinerja perawat di Rumah Sakit Umum Daerah Ungaran dan mengidentifikasi

Algoritma ini ini tidak selalu memberikan jumlah warna minimum yang tidak selalu memberikan jumlah warna minimum yang diperlukan untuk mewarnai G, namun algoritma ini diperlukan

Hasil : Hitung retikulosit dan jumlah eritrosit tidak menunjukkan perbedaan yang bermakna pada kelompok perlakuan yang dibandingkan dengan hitung retikulosit dan jumlah eritrosit

Hal tersebut menunjukkan terdapat hubungan antara kadar TNF-  dengan skor PASI, makin tinggi TNF-  makin bertambah pula derajat keparahannya 11 , tetapi beberapa

Sent to guide us into all truth Diutus memimpin kita dlm kebenaran Sent not speak on his own Diutus tidak berkata-kata tentang diriNya Sent to speak only what he hears

Cilj ovog rada bio je utvrditi kemijski sastav i sadržaj bioaktivnih tvari u uzorcima svježih plodova goji bobica, matičnog soka i kaše te temeljem dobivenih