BAB II LANDASAN TEORI

18 

Loading....

Loading....

Loading....

Loading....

Loading....

Teks penuh

(1)

BAB II

LANDASAN TEORI

2.1 Transduser dan Sensor

Transducer adalah alat yang mengubah energy dari satu bentuk ke bentuk yang lain. Transducer dapat dibagi menjadi dua bagian yaitu trasducer input dan transducer output. Transducer input listrik mengubah energy non listrik,misalnya suara atau sinar menjadi tebnaga listrik. Transducer output listrik bekerja pada urutan sebaliknya. Transducer output listrik mengubah energy listrik pada bentuk energy non listrik.

Sensor adalah alat yang digunakan untuk mendeteksi dan sering berfungsi untuk mengukur magnitude sesuatu. Sensor adalah jenis transducer yang digunakan untuk mengubah variasi mekanis, magnetis, panas, sinar, dan kimia menjadi tegangan arus listrik. Sensor biasanya dikategorikan melalui pengukur dan memegang peranan penting dalam pengendalian proses pabrikasi modern. Sensor memberikan ekivalen mata, pendengaran, hidung, dan lidah untuk menjadi otak mikroprosesor dari system otomatisasi industry. Sensor yang digunakan pada perancangan ini adalah sensor inframerah.

2.1.1. Photodioda

Potodioda biasanya digunakan untuk mendeteksi cahaya. Potodioda adalah piranti semikonduktor yang mengandung sambungan p-n, dan biasanya terdapat lapisan intrinsik antara lapisan n dan p. Piranti yang memiliki lapisan intrinsik disebut p-i-n atau PIN potodioda. Cahaya diserap di daerah pengambungan atau daerah intrinsik menimbulkan pasangan elektron-hole, kebanyakan pasangan tersebut menghasilkan arus yang berasal dari cahaya.

Mode operasi

(2)

1. Mode potovoltaik: seperti solar sel, penyerapan pada potodioda menghasilkan tegangan yang dapat diukur. Bagaimanapun, tegangan yang dihasilkan dari tenaga cahaya ini sedikit tidak linier, dan range perubahannya sangat kecil

2. Mode potokonduktivitas : disini, potodioda diaplikasikan sebagai tegangan revers

(tegangan balik) dari sebuah dioda (yaitu tegangan pada arah tersebut pada dioda tidak akan menhantarkan tanpa terkena cahaya) dan pengukuran menghasilkan arus poto. ( hal ini juga bagus untuk mengaplikasikan tegangan mendekati nol). Ketergantungan arus poto pada kekuatan cahaya dapat sangat linier

Karakteristik bahan potodioda:

1. Silikon (Si) : arus lemah saat gelap, kecepatan tinggi, sensitivitas yang bagus antara

400 nm sampai 1000 nm ( terbaik antara 800 sampai 900 nm).

2. Germanium (Ge): arus tinggi saat gelap, kecepatan lambat, sensitivitas baik antara 600

nm sampai 1800 nm (terbaik 1400 sampai 1500 nm).

3. Indium Gallium Arsenida (InGaAs): mahal, arus kecil saat gelap, kecepatan tinggi

sensitivitas baik pada jarak 800 sampai 1700nm (terbaik antara 1300 sampai 1600nm).

Gambar Photodioda ditunjukkan pada gambar berikut:

(3)

2.2 Dioda Pemancar Cahaya Infra Merah (LED infra Merah)

LED adalah dioda yang menghasilkan cahaya saat diberi energy listrik. Dalam bias

maju sambungan p-n terdapat rekombinasi antara elektron bebas dan lubang (hole). Energi

ini tidak seluruhnya diubah kedalam bentuk energi cahaya atau photon melainkan dalam bentuk panas sebagian. Proses pemancara cahaya akibat adanya energi listrik yang diberikan terhadap suatu bahan disebut dengan sifat elektroluminesensi. Material lain misalnya Galium Arsenida Pospat (GaAsP) atau Galium Pospat (GaP): photon energi cahaya dipancarkan untuk menghasilkan cahaya tampak. Jenis lain dari LED digunakan untuk menghasilkan energi tidak tampak seperti yang dipancarkan oleh pemancar laser atau inframerah.

Pemancar inframerah adalah dioda solid state yang terbuat dari bahan Galium Arsenida

(GaAs) yang mampu memancarkan fluks cahaya ketika dioda ini dibias maju. Bila diberi bias

maju elektron dari daerah-n akan menutup lubang elektron yang ada didaerah-p. Selama proses

rekombinasi ini, energi dipancar keluar dari permukaan p dan n dalam bentuk photon.

Photon-photon yang dihasilkan ini ada yang diserap lagi dan ada yang meninggalkan permukaan dalam betuk radiasi energi.

2.3 LED Infra Merah

Beberapa ragam indikator status LED yang tampak (visible) adalah merah, hijau,

kuning. Selain itu juga terdapat LED dengan cahaya tak tampak (invisible) seperti LED infra

merah. Infra merah adalah sinar dengan panjang gelombang ( ) lebih besar dari 800 nm dan tidak dapat dilihat oleh mata.

LED dengan cahaya tidak tampak (Invisible) banyak digunakan dalam proses film dan

dalam sistem keamanan. LED infra merah digunakan ketika diperlukan daya penekanan optis yang tinggi. LED ini mempunyai intensitas sinar lebih besar dibanding LED

dengan cahaya tampak. LED infra merah merupakan padanan spectral terbaik untuk

(4)

Rangkaian sensor infra merah menggunakan foto transistor dan led infra merah yang dihubungkan secara optik. Fototransistor akan aktif apabila terkena cahaya dari led infra merah. Antara Led dan foto transistor dipisahkan oleh jarak. Jauh dekatnya jarak memengaruhi besar intensitas cahaya yang diterima oleh foto transistor. Apabila antara Led dan foto transistor tidak terhalang oleh benda, maka foto transistor akan aktif. Transistor BC 547 akan tidak aktif karena tidak ada arus yang mengalir ke basis transistor BC 547 Karena transistor tersebut tidak aktif, maka tidak ada arus yang mengalir dari kolektor ke emitor.

Infra merah (infra red) ialah sinar elektromagnet yang panjang gelombangnya lebih daripada cahaya nampak yaitu di antara 700 nm dan 1 mm. Sinar infra merah merupakan cahaya yang tidak tampak. Jika dilihat dengan dengan spektroskop cahaya maka radiasi cahaya infra merah akan nampak pada spectrum elektromagnet dengan panjang gelombang di atas panjang gelombang cahaya merah. Dengan panjang gelombang ini maka cahaya infra merah ini akan tidak tampak oleh mata namun radiasi panas yang ditimbulkannya masih terasa/dideteksi.

2.4 Transistor

Transistor adalah komponen semikonduktor yang mempunyai tiga kaki atau lebih sehingga daya dapat diperkuat. Fungsi transistor sebagai penguat atau amplifier dari sinyal listrik, tahanan variabel atau sebagai saklar.

2.4.1 Transistor Sambungan Bipolar

Banyak sistem elektronik yang sangat tergantung pada kemampuan transistor untuk bertindak sebagai saklar. Transistor yang digunakan sebagai saklar mempunyai keuntungan yaiatu tidak mempunyai bagian yang berputar, yang dapat beroperasi ON dan OFF pada

(5)

kecepatan yang sangat tinggi, memerlukan tegangan dan arus penggerak yang sangat rendah untuk memicu aksi penghubungan.

Emitor yang diberi banyak bahan campuran bertindak sebagai sumber utama dari arus elektron. Basis dengan sedikit bahan campuran bertindak untuk mengontrol aliran arus. Pada transistor NPN, kolektor diberi dengan bahan yang cukup dan menerima sebagian besar elektron dari emitor. Arus pada ujung basis disebut arus basis menentukan jumlah arus kolektor. Dengan tidak adanya arus basis tidak ada arus kolektor(normally OFF). Gain arus adalah perbandingan arus kolektor terdapat arus basis. Transistor sambungan bipolar

mempunyai dua variabel: NPN, aksi dari masing-masing adalah sama tetapi polaritasnya terbalik.

Dari banyak tipe-tipe transistor modern, pada awalnya ada dua tipe dasar transistor, bipolar junction transistor (BJT atau transistor bipolar) dan field-effect transistor (FET), yang masing-masing bekerja secara berbeda.

Transistor bipolar dinamakan demikian karena kanal konduksi utamanya menggunakan dua polaritas pembawa muatan: elektron dan lubang, untuk membawa arus listrik. Dalam BJT, arus listrik utama harus melewati satu daerah/lapisan pembatas dinamakan depletion zone, dan ketebalan lapisan ini dapat diatur dengan kecepatan tinggi dengan tujuan untuk mengatur aliran arus utama tersebut.

FET (juga dinamakan transistor unipolar) hanya menggunakan satu jenis pembawa muatan (elektron atau hole, tergantung dari tipe FET). Dalam FET, arus listrik utama mengalir dalam satu kanal konduksi sempit dengan depletion zone di kedua sisinya (dibandingkan dengan transistor bipolar dimana daerah Basis memotong arah arus listrik utama). Dan ketebalan dari daerah perbatasan ini dapat diubah dengan perubahan tegangan yang diberikan, untuk

(6)

mengubah ketebalan kanal konduksi tersebut. Lihat artikel untuk masing-masing tipe untuk penjelasan yang lebih lanjut.

Simbol sirkit kedua jenis transistor itu hampir sama. Perbedaannya terletak pada arah panah di ujung emitter. Seperti yang telah diketahui, arah panah ini menunjukkan arah aliran arus konvensional yang berlawanan arah dalam ke dua jenis tadi tetapi selalu dari bahan jenis p ke jenis n dalam sirkit emitter dasar. Untuk menghindarkan kesalahan, transistor yang dibicarakan disini selalu n p n, kecuali bahwa polaritas tegangan suplai pada sirkit yang memakai transistor jenis p n p terbalik dan arus yang mengalir berlawanan dengan sirkit yang memakai transistor n p n.

2.4.2 Jenis-Jenis Transistor

PNP P-channel

NPN N-channel

BJT JFET

Gambar 2.2 Simbol Transistor dari Berbagai Tipe

Secara umum, transistor dapat dibeda-bedakan berdasarkan banyak kategori:

1. Materi semikonduktor: Germanium, Silikon, Gallium Arsenide

2. Kemasan fisik: Through Hole Metal, Through Hole Plastic, Surface Mount, IC, dan

(7)

3. Tipe: UJT, BJT, JFET, IGFET (MOSFET), IGBT, HBT, MISFET, VMOSFET,

MESFET, HEMT, SCR serta pengembangan dari transistor yaitu IC (Integrated

Circuit) dan lain-lain.

4. Polaritas: NPN atau N-channel, PNP atau P-channel

5. Maximum kapasitas daya: Low Power, Medium Power, High Power

6. Maximum frekuensi kerja: Low, Medium, atau High Frequency, RF transistor,

Microwave, dan lain-lain

7. Aplikasi: Amplifier, Saklar, General Purpose, Audio, Tegangan Tinggi, dan lain-lain

2.5 Sirene (Buzzer)

Pengertian buzzer adalah alat penderu (sirene) atau suatu alat penggetar yang menggunakan sumber arus listrik untuk menghasilkan bunyi menderu terus menerus. Sirene tersusun atas sebuah piringan yang diberi lubang dengan jumlah berbeda pada setiap jari-jarinya, kemudian diputar dengan cepat. Pada rangkaian ini digunakan transistor sebagai penguat arus yang dimana penguat ini berfungsi untuk menguatkan arus pada buzzer yaitu jika arus mengalir maka buzzer akan mengeluarkan bunyi, dan sebaliknnya jika tidak ada arus yang mengalir pada penguat maka buzzer tidak akan menghasilkan bunyi.

(8)

Gambar 2.3 gambar rangkaian Buzzer

Buzzer adalah sebuah komponen elektronika yang berfungsi untuk mengubah getaran listrik menjadi getaran suara. Pada dasarnya prinsip kerja buzzer hampir sama dengan loud speaker, jadi buzzer juga terdiri dari kumparan yang terpasang pada diafragma dan kemudian kumparan tersebut dialiri arus sehingga menjadi elektromagnet, kumparan tadi akan tertarik ke dalam atau keluar, tergantung dari arah arus dan polaritas magnetnya, karena kumparan dipasang pada diafragma maka setiap gerakan kumparan akan menggerakkan diafragma secara bolak-balik sehingga membuat udara bergetar yang akan menghasilkan suara. Buzzer biasa digunakan sebagai indikator bahwa proses telah selesai atau terjadi suatu kesalahan pada sebuah alat (alarm).

Definisi buzzer atau pengertian buzzer adalah alat penderu (sirene) atau suatu alat penggetar yang menggunakan sumber arus listrik untuk menghasilkan bunyi menderu terus menerus. Sirene tersusun atas sebuah piringan yang diberi lubang dengan jumlah berbeda pada setiap jari-jarinya, kemudian diputar dengan cepat. Pada saat piringan itu berputar, diembuskan udara dengan compressor ke arah lubang secara bergantian sehingga terdengar bunyi yang menderu terus menerus dengan suara yang bergantian pula. Buzzer bisa

digunakan untuk membangun viral awareness, yang sangat didambakan oleh para pemilik

brand saat ini, entah itu personal brand atau corporate brand. Personal brand berupa sosok seorang manusia yang dianggap sebagai sebuah merek, seperti seorang seniman, pemusik,

(9)

politikus, dan sebagainya. Sementara corporate brand ialah perusahaan yang ingin mereknya makin dikenal dan akhirnya digunakan masyarakat. Syarat menjadi buzzer ialah memiliki pemahaman mengenai produk dan target audiens yang dibidik.

2.6 Mikrokontroler AT89S51

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

Ilustrasi yang mungkin bisa memberikan gambaran yang jelas dalam penggunaan mikrokontroler adalah aplikasi mesin tiket dalam arena permainan yang saat ini terkenal di Indonesia. Jika kita sudah selesai bermain, maka akan diberikan suatu nilai, nilai inilah yang menentukan berapa jumlah tiket yang bisa diperoleh dan jika dikumpulkan dapat ditukar dengan berbagai macam hadiah. Sistem tiket ini ditangani dengan mikrokontroler, karena tidak mungkin menggunakan komputer PC yang harus dipasang disamping (atau di belakang) mesin permainan yang bersangkutan.

Selain system tiket, kita juga dapat menjumpai aplikasi mikrokontroler dalam bidang pengukuran jarak jauh atau ynag dikenal dengan system telemetri. Misalnya pengukuran disuatu tempat yang membahayakan manusia, maka akan lebih nyaman jika dipasang suatu system pengukuran yang bisa mengirimkan data lewat pemancar dan diterima oleh stasiun pengamatan dari jarak yang cukup aman dari sumbernya. Sistem pengukuran jarak jauh ini jelas membutuhkan suatu system akuisisi data sekaligus system pengiriman data secara serial (melalui pemancar), yang semuanya itu bisa diperoleh dari mikrokontroler yang digunakan.

(10)

Tidak seperti system 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-nya dan ROM. Pada system computer perbandingan RAM dan ROM-nya besar, artinya program-program pengguna disimpan dalam ruang RAM yang relative besar, sedangkan rutin-rutin antarmuka perangkat keras disimpan dalam ruang ROM yang kecil. Sedangkan pada mikrokontroler, perbandingan ROM dan RAM-nya yang besar artinya program control disimpan dalam ROM (bisa Masked ROM atau Flash PEROM) yang ukurannya relatif lebih besar, sedangkan RAM digunakan sebagai tempat penyimpanan sementara, termasuk register-register yang digunakan pada mikrokontroler yang bersangkutan.

2.6.1 Konstruksi AT89S51

Mikrokontroler AT89S51 hanya memerlukan tambahan 3 kapasitor, 1 resistor dan 1 kristal serta catu daya 5 Volt. Kapasitor 10 mikro-Farad dan resistor 10 Kilo Ohm 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 piko-Farad 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 progam.

Random Access Memori (RAM) isinya akan sirna begitu IC kehilangan catu daya, dipakai untuk menyimpan data pada saat progam bekerja. RAM yang dipakai untuk menyimpan data ini disebut sebagai memori data.

(11)

Ada berbagai jenis ROM. Untuk mikrokontroler dengan progam yang sudah baku dan diproduksi secara masal, progam diisikan ke dalam ROM pada saat IC mikrokontroler dicetak di pabrik IC. Untuk keperluan tertentu mikrokontroler mengunakan 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 bervariasa. 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).

AT89S51 dilengkapi UART (Universal Asyncronous Receiver/Transmiter) yang biasa

dipakai untuk komunikasi data secara seri. Jalur untuk komunikasi data seri (RXD dan TXD) diletakan berhimpitan dengan P1.0 dan P1.1 di kaki nomor 2 dan 3, seningga kalau sarana input/ouput yang bekerja menurut fungsi waktu. Clock penggerak untaian pencacah ini bisa berasal dari oscillator kristal atau clock yang diumpan dari luar lewat T0 dan T1. T0 dan T1 berhimpitan dengan P3.4 dan P3.5, sehingga P3.4 dan P3.5 tidak bisa dipakai untuk jalur input/ouput parelel kalau T0 dan T1 dipakai.

AT89S51 mempunyai enam sumber pembangkit interupsi, dua diantaranya adalah sinyal interupsi yang diumpankan ke kaki INT0 dan INT1. Kedua kaki ini berhimpitan dengan P3.2 dan P3.3 sehingga tidak bisa dipakai sebagai jalur input/output parelel kalau INT0 dan INT1 dipakai untuk menerima sinyal interupsi. Port1 dan 2, UART, Timer 0,Timer 1 dan sarana lainnya merupakan register yang secara fisik merupakan RAM khusus, yang ditempatkan di Special Functoin Regeister (SFR), SFR (Register Fungsi Khusus).

(12)

Gambar 2.4 IC Mikrokontroler AT89S51 Deskripsi pin-pin pada mikrokontroler AT89S51 : VCC (Pin 40)

Suplai 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 progamming 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.

(13)

Pada fungsi sebagai low order multiplex address/data, por ini akan mempunyai internal pull up. Pada saat flash progamming diperlukan eksternal pull up, terutama pada saat verifikasi program.

Port 1 ( pin 1 – pin 8 )

Port 1 disediakan sebagai port I/O dan berada pada pin 1-8. Beberapa pin pada port ini memiliki fungsi khusus yaitu P1.5 (MOSI), P1.6 (SCK) yang digunakan untuk jalur download program.

Port 2 ( pin 21 – pin 28 )

Port 2 berfungsi sebagai I/O biasa atau high order address, pada saatmengaksememori 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.

Port 3 ( pin 10 – pin 17 )

Port 3 merupakan 8 bit port I/O dua arah dengan internal pullup. 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 ) INT 0 (interrupt 0 eksternal)

P3.3 (pin 13) INT 1(interrupt 1 eksternal )

P3.4 (pin 14) T0 (input eksternal timer 0)

P3.5 (pin 15) T1 (input eksternal timer 1)

(14)

P3.7 (pin 17) RD (untuk membaca eksternal data memori)

Tabel 2.1 Port 3 (Pin 10 – pin 17) 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 progam (PROG) selama Memprogram Flash.

PSEN (pin 29)

Progam store enable digunakan untuk mengakses memori progam eksternal.

EA (pin 31)

Pada kondisi low, pin ini akan berfungsi sebagai EA yaitu mikrokontroler akan menjalankan progam yang ada pada memori eksternal setelah sistem direset. Jika kondisi high, pin ini akan berfungsi untuk menjalankan progam yang ada pada 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.7 Perangkat Lunak

2.7.1 Pemrograman Bahasa Assembly untuk IC AT89S51

Mikrokontroler adalah sebuah chip yang dapat melakukan pemrosesan data secara digital serta pengontrolan rangkaian elektronik sesuai dengan perintah bahasa assembly yang diberikan pada IC tersebut. Perbedaan antara mikroprosesor dan mikrokontroler yaitu

(15)

mikroprosesor merupakan CPU tanpa memori dan I/O pendukung sebuah komputer, sedangkan mikrokontroler terdiri dari CPU, memori, I/O dan unit pendukung lain seperti ADC yang terintregrasi didalamnya. Penggunaan mikrokontroler menjadi modern pada desain teknologi elektronika, karena chip ini dapat mereduksi sistem digital diskrit dengan perangkat lunak yang diprogram dan disisipkan dalam chip tersebut. Mikroprosesor dikembangkan kearah perangkat berbasis komputer sedangkan mikrokontroler lebih banyak ke sistem instrumentasi elektronik.

Untuk berinteraksi dengan perangkat keras yang meliputi memberi perintah maupun pengaturan perangkat dapat digunakan suatu bahasa pemrograman dasar tingkat rendah yaitu bahasa pemrograman Assembly. Assembly merupakan bahasa dasar mesin, meskipun saat ini telah banyak bahasa pemrograman tingkat tinggi yang lebih sederhana dan mudah dipahami namun semua bahasa tersebut sesungguhnya juga merupakan pengembangan dari bahasa assembly. Agar kita dapat menguasai lebih mendalam akan interaksi antara user (manusia) dengan mesin maka pada kuliah microprosesor dan microkontroler di gunakan bahasa assembly sebagai bahasa pemrograman sistem microkontroler. Pemograman yang dipakai untuk membaca data pada rangkaian ini yaitu bahasa asembly ASM 51.

Secara fisik, kerja dari sebuah mikrokontroler dapat dijelaskan sebagai siklus pembacaan instruksi yang tersimpan di dalam memori. Mikrokontroler menentukan alamat dari memori program yang akan dibaca, dan melakukan proses baca data di memori. Data yang dibaca diinterprestasikan sebagai instruksi. Alamat instruksi disimpan oleh mikrokontroler di register, yang dikenal sebagai program counter. Instruksi ini misalnya program aritmatika yang melibatkan 2 register.

Sarana yang ada dalam program assembly sangat minim, tidak seperti dalam bahasa pemrograman tingkat atas (high level language programming) semuanya sudah siap pakai. Penulis program assembly harus menentukan segalanya, menentukan letak program yang ditulisnya dalam program, membuat data konstan dan tablel konstan dalam

(16)

memori-program, membuat variabel yang dipakai kerja dalam memori-data dan lain sebagainya. Beberapa instruksi yang sering digunakan pada bahasa asembly untuk ASM-51 antara lain:

1. Intruksi pemindahan data ( MOV )

instruksi (MOV)

Instruksi ini merupakan perintah untuk memindahkan data dari satu tempat ke tempat lain, atau juga digunakan untuk memindahkan data dari satu pin microcontroler ke pin yang lain.

2. Instruksi lompatan

SJMP (Short Jump)

Instruksi ini merupakan perintah untuk melompat ke alamat untuk alamat kode yang pendek.

AJMP (Absolut Jump)

Instruksi ini merupakan kebalikan dari perintah SJMP yaitu perintah untuk melompat ke alamat kode yang jauh.

ACALL

Instruksi ini merupakan perintah untuk memanggil subrutin ke sebuah sub program atau perintah ini juga dapat membuat logika menjadi 0.

RET (Return)

Instruksi ini merupakan perintah untuk menghentikan subrutin dan melanjutkan ke instruksi berikutnya atau perintah untuk kembali kerutin pemanggil setelah instruksi acaal dilaksanakan

3. Instruksi operasi bit

SETB (Set Bit)

Instruksi ini merupakan perintah untuk mengisi alamat bit dengan nilai 1( menghidupkan buzzer)

(17)

instruksi ini merupakan perintah untuk Mengosongkan atau mengubah alamat bit dengan nilai 0

4. Instruksi lompatan bersyararat.

CJNE (Compare and Jump if Not Equal)

instruksi merupakan perintah untuk membandingkan nilai sebuah register dengan suatu data atau register lain dan akan melompat ke alamat yang dituju jika belum sama nilainya.

JB (Jump if Bit Set)

instruksi ini merupakan perintah untuk melakukan lompatan menurut isi (nilai) sebuah bit. Yang di cari adalah nilai “1″ pada bit yang diamati nilainya. Jika bit bernilai “0″ akan melanjutkan instruksi berikutnya, namun jika bit bernilai “1″ akan melompat ke alamat yang ditentukan.

JNB (Jump if Not Bit Set)

instruksi ini merupakan Kebalikan dari JB, yang dicari adalah nilai NOL (0) pada bit yang dialamati.

DJNZ (Decrement and Jump if Not Zero)

instruksi ini merupakan perintah untuk mengurangi nilai sebuah register atau alamat tertentu dengan nilai 1 dan jika hasilnya sudah NOL (0) maka instruksi selanjutnya akan dijalankan.

5. Instruksi aritmatika

INC (Increment)

instruksi ini merupakan perintah untuk menambahkan “1″ angka dari register/data yang dituju dan hasilnya disimpan pada register tersebut.

Menambahkan isi Akumulator dengan sebuah nilai dan hasilnya disimpan kembali akumulator tersebut.

(18)

instruksi ini merupakan perintah untuk mengurangi “1″ angka dari register yang dituju dan hasilnya disimpan pada register tersebut.

6. Instruksi geser

RR (Rotate Right)

Instruksi ini merupakan perintah untuk Menggeser ke kanan perbit isi akumulator. RL (Rotate Left)

Instruksi ini merupakan perintah untuk menggeser ke kiri perbit isi akumulator

7. Jbc (Jump bit carry)

Instruksi ini merupakan perintah untuk lompat jika ada bit carry (C=1)

8. End

Figur

Memperbarui...

Related subjects :