Chapter II

20
BAB 2 LANDASAN TEORI 2.1 Sensor Suhu LM 35 Sensor suhu adalah suatu alat untuk mendeteksi atau megukur suhu pada suatu ruangan atau sistem tertentu yang kemudian diubah keluarannya menjadi besaran listrik, Misalnya LM 35 LM 35 merupakan sensor temperatur yang paling banyak digunakan untuk  praktek, karena selain harganya cukup murah juga linearitasnya lumayan bagus. LM 35 tidak membutuhkan kalibrasi eksternal yang mennyediakan akurasi ±¼°C pada temperatur ruangan dan ±¾ºC pada kisaran -55ºC sampai +150°C . Sensor suhu LM 35 berfungsi untuk mengubah besaran fisis yang berupa suhu menjadi besaran elektris tegangan. Sensor ini memiliki parameter bahwa setiap kenaikan 1ºC tegangan keluarannya naik sebesar 10mV dengan batas maksimal keluaran sensor adalah 1,5 V pada suhu 150 °C. Pada perancangan, kita tentukan keluaran ADC mencapai full scale pada saat suhu 100 °C, sehingga saat suhu 100 °C tegangan keluaran transduser (10mV/°Cx100 °C) = 1V. Universitas Sumatera Utara

Transcript of Chapter II

  • BAB 2

    LANDASAN TEORI

    2.1 Sensor Suhu LM 35 Sensor suhu adalah suatu alat untuk mendeteksi atau megukur suhu pada suatu ruangan

    atau sistem tertentu yang kemudian diubah keluarannya menjadi besaran listrik, Misalnya

    LM 35

    LM 35 merupakan sensor temperatur yang paling banyak digunakan untuk

    praktek, karena selain harganya cukup murah juga linearitasnya lumayan bagus. LM 35

    tidak membutuhkan kalibrasi eksternal yang mennyediakan akurasi C pada

    temperatur ruangan dan C pada kisaran -55C sampai +150C .

    Sensor suhu LM 35 berfungsi untuk mengubah besaran fisis yang berupa suhu

    menjadi besaran elektris tegangan. Sensor ini memiliki parameter bahwa setiap kenaikan

    1C tegangan keluarannya naik sebesar 10mV dengan batas maksimal keluaran sensor

    adalah 1,5 V pada suhu 150 C.

    Pada perancangan, kita tentukan keluaran ADC mencapai full scale pada saat

    suhu 100 C, sehingga saat suhu 100 C tegangan keluaran transduser (10mV/Cx100

    C) = 1V.

    Universitas Sumatera Utara

  • 8

    Dari pengukuran secara langsung saat suhu ruang, keluaran LM 35 adalah 0.3V

    (300mV). Tegangan ini diolah dengan menggunakan rangkaian pengkondisi sinyal agar

    sesuai dengan tahapan masukan ADC.

    LM35 memiliki kelebihan-kelebihan sebagai berikut:

    a. Di kalibrasi langsung dalam celcius

    b. Memiliki faktor skala linear + 10.0 mV/C

    c. Memiliki ketepatan 0,5C pada suhu 25C

    d. Jangkauan maksimal suhu antara -55C sampai 150C

    e. Cocok untuk aplikasi jarak jauh

    f. Harga yang cukup murah

    g. Bekerja pada tegangan catu daya 4 sampai 30 Volt

    h. Memiliki arus drain kurang dari 60 Amp

    i. Pemanasan sendiri yang lambat (low self-heating)

    j. 0,08 C di udara diam

    k. Ketidak linearannya hanya sekitar 14 C

    l. Memiliki impedansi keluaran yang kecil yaitu 0,1 Watt untuk beban 1

    mAmp.

    Universitas Sumatera Utara

  • 9

    Sensor suhu tipe LM 35 merupakan IC sensor temperatur yang akurat yang

    tegangan keluarannya linear dalam satuan celcius. Jadi LM 35 memiliki kelebihan

    dibandingkan sensor temperatur linear dalam satuan Kelvin, karena tidak memerlukan

    pembagian dengan konstanta tegangan yang besar dan keluarannya untuk mendapatkan

    nilai dalam satuan celcius yang tepat. LM 35 memiliki impedansi keluaran yang rendah,

    keluaran yang linear, dan sifat ketepatan dalam pengujian membuat proses interface

    untuk membaca atau mengontrol sirkuit lebih mudah. Pin V+ dari LM 35 dihubungkan

    ke catu daya, pin GND dihubungkan ke Ground dan pin Vout yang mengahasilkan

    tegangan analog hasil penginderaan suhu sekitar negatif (-) dihubungkan ke Vin (+) dan

    ADC 0804.

    2.2 Analog To Digital Converter (ADC) 0804 ADC merupakan singkatan dari analog to digital converter, dimana ADC merupakan

    jembatan untuk menghubungkan bermacam macam sensor dengan mikrokontroler.

    ADC merupakan sebuah interface yang dapat merubah tegangan analog menjadi

    digital karena mikrokontroler hanya memiliki masukan berupa data-data digital, maka

    agar mikrokontroler dapat membaca tegangan analog, maka ADClah temannya.

    Untuk dapat mengukur atau mengkonversi suatu variable fisis yang umumnya

    analog dengan suatu piranti digital maka variabel tersebut terlebih dahulu diubah menjadi

    variabel digital yang nilainya proporsional terhadap nilai variabel yang diukur . untuk hal

    ini digunakan konverter analog ke digital.

    Universitas Sumatera Utara

  • 10

    Sebuah konverter analog ke digital umumnya memerlukan konverter digital

    keanalog ( DAC, Digital to Analog Converter) secara internal. Waktu yang digunakan

    oleh sebuah ADC menghasilkan kode biner (digital) dalam suatu konversi disebut waktu

    konversi. ADC dikatan berkecepatan tinggi jika memiliki waktu konversi yang pendek

    atau singkat.

    ADC merupakan piranti masukan dimana mikrokontroler mendapatkan data dari

    ADC. Cara mendapatkan data dari ADC yaitu ADC memerlukan sinyal write dan read.

    Sinyal write digunakan sebagai perintah bagi ADC untuk memulai konversi. Proses

    konversi akan dimulai setelah mendapatkan sinyal write ini. Proses ini membutuhkan

    waktu yang cukup lama, yaitu sekitar 120s. Selama konversi berlangsung, pin INTR

    berada dalam kondisi high, segera setelah konversi selesai pin INTR akan berubah

    menjadi low. Ini bertanda bahwa ADC sudah memperoleh data valid yang boleh diambil.

    Ada beberapa cara yang dapat dilakukan dalam menangani ADC yaitu:

    a) Menghubungkan pin INTR dari ADC dengan pin INTO/INT1 dari

    mikrokontroler, dan melakukan pembacaan data ADC didalam prosedur

    interupsi.

    b) Menyambungkan pin INTR dari ADC ke pin mana saja dari

    mikrokontroler dan membuat perintah looping untuk menunggu sampai

    pin tersebut berubah menjadi low, baru mengambil data dari ADC.

    Universitas Sumatera Utara

  • 11

    c) Tidak menghubungkan pin INTR dengan mikrokontroler. Dengan

    demikian mikrokontroler tidak dapat mengetahui dengan pasti kapan

    waktu konversi telah selesai. Untuk dapat memperoleh data valid setelah

    sinyal write dikiri, milrokontroler harus menunda pembacaan sampai

    waktu paling lama yang mungkin dibutuhkan untuk proses konversi, yaitu

    menunggu sampai sekitar 120s atau lebih. Pada gambar 1, pin INTR

    tidak dihubungkan kemanapun, jadi hanya cara ketiga yang dapat

    dilakukan.

    Gambar 1 Menghubungkan ADC0804 dengan 8051 melalui port I/O

    Pada rangkaian ini, R2 dan C4 berfungsi sebagai rangkaian clock pada ADC.

    Input tegangan analog diberikan oleh VR1. interkoneksi dengan C dilakukan melalui

    pin RD (P3.7), WR (P3.6), INTO (P3.2) dan P0. RD dan WR diatur melalui software C,

    INTO sebagai indikator konversi data selesai. INTO dapat dihubugkan ke interrupt pada

    C. Data hasil konversi dapat dibaca pada DB0-BB7 pada port 0 pada uC.

    Universitas Sumatera Utara

  • 12

    2.3 Mikrokontroler AT89S51 Mikrokontroler adalah gabungan dari sebuah mikroprosesor dan periperalnya, seperti

    RAM,ROM (EPROM atau EEPROM) antar muka serial dan paralel, timer dan rangkaian

    pengontrol interupsi yang terkait dalam satu IC. Semuanya membentuk suatu sistem

    komputer yang lengkap. Perbedaannya dengan komputer adalah mikrokontroler didesain

    dengan komponen-komponen yang minimum dan dipakai untuk orientasi kontrol.

    Programnya tidak berukuran besar dan disimpan dalam ROM. Akibat perbedaan

    aplikasinya dengan mikroprosesor, mikrokontroler juga mempunyai kebutuhan set

    intruksi yang berbeda dengan mikroprosesor.

    Mikroprosesor biasanya mempunyai set instruksi yang sangat lengkap, sedangkan

    mikrokontroler mempunyai set instruksi yang lebih sederhana, terutama dipakai untuk

    mengontrol antar muka input dan output yang menggunakan bit tunggal (singgel bit).

    Mikrokontroler mempunyai banyak instruksi untuk set dan clear bit secara individual dan

    melakukan operasi yang berorientasi 1 bit untuk logika AND, OR, XOR, loncatan

    (jumping), percabangan (brancing) dan lain-lain. Set instruksi seperti ini jarang ada pada

    mikroprosesor yang biasanya untuk operasi pada byte atau unit data yang lebih besar.

    AT89S51 adalah sebuah mikrokontroler 8 bit terbuat dari CMOS, yang

    berkonsumsi daya rendah dan mempunyai kemampuan tinggi. Mikrokontroler ini

    memiliki 4 Kbyte In-System Flash Programable Memori, Ram sebesar 128 Byte, 32

    input/output, watchdog timer,dua buah register data pointer, dua buah 16 bit timer dan

    counter, lima buah vektor interupsi, sebuah port serial full-duplex, osilator on-chip, dan

    rangkaian clock.

    Universitas Sumatera Utara

  • 13

    AT89S51 dibuat dengan teknologi memori non-volatile dengan kepadatan tinggi

    oleh ATMEL. Mikrokontroler ini cocok dengan instruksi set dan pin out 80C51 standar

    industri.Flash on-chip memungkinkan memori program untuk di program ulang dengan

    program memori nonvolative yang biasa.

    Gambar 2 . Mikrokontroller AT89S51

    Keterangan

    Vcc : Suplai Tegangan GND : Ground atau pentanahan RST : Masukan reset. Kondisi logika '1' selama

    siklus mesin saat osilator bekerja dan akan mereset mikrokontroler yang bersangkutan.

    Universitas Sumatera Utara

  • 14

    Fungsi - fungsi Port :

    Port0 : Merupakan port paralel 8 bit open drain dua arah. Bila digunakan untuk mengakses memori luar, port ini akan memultipleks alamat memori dengan data.

    Port1 : merupakan port paralel 8 bit dua arah yang dapat digunakan untuk berbagai keperluan.

    Port2 : merupakan port paralel selebar 8 bit dua arah. Port ini melakukan pengiriman byte alamat bila dilakukan pengaksesan memori eksternal.

    P3.0 : Saluran masukan serial P3.1 : Saluran keluaran serial P3.2 : Interupsi eksternal 0 P3.3 : Interupsi eksternal 1 P3.4 : Masukan eksternal pewaktu / pencacah 0 P3.5 : Masukan eksternal pewaktu / pencacah 1 P3.6 : Sinyal tanda baca memori data ekstrenal. P3.7 : Sinyal tanda tulis memori data ekstrenal.

    Data digital 8 bit dari ADC diambil oleh mikokontroler melalui Port 2 ( P2.0-P2.7

    dihubungkan dengan DB0-DB7 ). Sedangkan data masukan untuk penampil seven

    segmen dikeluarkan melalui Port 1 ( P1.0-P1.7 dihubungkan dengan D0-D7 ). Untuk

    mengontrol kaki RS dan E pada seven segmen mikrokontroler memanfaatkan kaki P3.6

    dan P3.7

    Proses pengambilan data dan pengolahan data dapat dilihat dalam gambar 2. Data

    yang diambil dari P2 dikalibrasi terlebih dahulu, setelah dikalibrasi data tersebut

    kemudian diubah ke dalam kode ASCII supaya tertampil angka 0-100 pada seven

    segmen, jika tidak diubah maka yang tertampil adalah angka 0-255.

    Universitas Sumatera Utara

  • 15

    2.4 Power Supply (PSA) Catu daya merupakan bagian yang berfungsi untuk menyediakan daya untuk daya

    rangkaian. Ada dua macam catu daya, yaitu catu daya tegangan tetap dan catu daya

    variable . Catu daya tegangan tetap adalah catu daya yang tegangan keluarannya tetap

    dan tidak bisa diatur. Catu daya variable merupakan catu daya yang tegangan

    keluarannya dapa diubah/diatur. Catu daya yang baik selalu dilengkapi dengan regulator

    tegangan.Tujuan pemasangan regulator tegangan pada catu daya adalah untuk

    menstabilkan tegangan keluaran apabila terjadi perubahan tegangan masukan pada catu

    daya. Fungsi lain dari regulator tegangan adalah untuk perlindungan dari terjadinya

    hubung singkat pada beban. Salah satu tipe regulator tegangan tetap adalah LM78xx.

    Regulator tegangan tipe LM 78xx adalah salah satu regulator tegangan tetap dengan tiga

    terminal, yaitu terminal Vin , GND dan Vout. Tegangan keluaran dari regulator LM 78xx

    memungkinkan regulator untuk dipakai dalam sistem logika, instrumentasi dan Hifi .

    Regulator tegangan LM 78xx dirancang sebagai regulator tegangan tetap, meskipun

    demikian dapat juga keluaran dari regulator ini diatur tegangan dan arusnya melalui

    tambahan komponen eksternal . Cara pemasangan dari penerapan dari regulator tegangan

    tetap LM 78xx pada catu daya dapat dilihat pada Gambar 2.3 berikut.

    Gambar 2.4.1 Penerapan regulator tegangan tetap LM 78xx

    Universitas Sumatera Utara

  • 16

    Regulator tegangan tetap LM 78xx dibedakan dalam tiga versi yaitu LM 78xxC,

    LM 78lxx dan LM 78Mxx. Arsitektur dari regulator tegangan tersebut sama, yang

    membedakan adalah kemampuan mengalirkan arus pada regulator

    Perangkat elektronika mestinya dicatu oleh supplay arus searah DC (direct

    current) yang stabil agar dapat bekerja dengan baik. Baterai atau accu adalah sumber catu

    daya DC yang paling baik. Namun untuk aplikasi yang membutuhkan catu daya yang

    tegangan tersebut .

    Regulator tegangan tetap LM 78xx dibedakan dalam tiga versi yaitu LM 78xxC, LM

    78lxx dan LM 78Mxx. Arsitektur dari regulator tegangan tersebut sama, yang

    membedakan adalah kemampuan mengalirkan arus pada regulator tegangan tersebut.

    Adaptor adalah sebuah rangkaian transformator yang dapat merubah arus Ac

    menjadi arus DC. Dari penguatan inilah selanjutnya disebut power supply atau penguat

    catu daya.

    Panjang pendeknya gulungan sekunder pada trafo adaptor akan mempengaruhi

    besar kecilnya sumber tegangan volt. Sedang besar kecilnya diameter kawat yang

    digunakan akan mempengaruhi besar kecilnya arus dalam amper yang diperoleh.

    Pada sebuah trafo tenaga yang di tancapkan AC pada primernya , kumparan

    sekunder akan timbul arus yang berlawanan (DC). Arus yang keluar akibat imbas ini

    sebenarnya secara menyeluruh belum rata. Karena itu perlu disearahkan dan distabilkan.

    Kurang tertibnya rangkaian stabilizer akan menyebabkan bunyi derau pada pesawat yang

    sedang distel.

    Universitas Sumatera Utara

  • 17

    lebih besar, sumber dari baterai tidak cukup. Sumber catu daya yang besar adalah sumber

    arus bolak-balik (alternating current) dari pembangkit tenaga listrik. Untuk itu diperlukan

    suatu perangkat catu daya yang dapat mengubah arus AC menjadi arus DC

    Banyak peralatan elektronika yang tidak dilengkapi dengan adaptor atau catu daya

    tetap, misalnya radio dan tape rekorder kecil. Selain dengan baterai kering, kita dapat

    menyediakan catu daya dengan rangkaian penyearah yang tegangan keluarannya tetap

    dan stabil, serta biaya murah. Adaptor murah yang dipasaran biasanya tidak dilengkapi

    dengan stabilisator dan kemampuan arusnya belum tentu sesuai dengan peralatan kita.

    2.5 Keypad 4X4 DT-I/O 4 x 4 Keypad Module merupakan modul keypad berukuran 4 kolom x 4 baris.

    Modul ini dapat difungsikan sebagai divais input dalam aplikasi-aplikasi seperti

    pengaman digital, data logger, absensi, pengendali kecepatan motor, robotik, dan

    sebagainya.

    Spesifikasi Hardware

    1. Memiliki 16 tombol (fungsi tombol tergantung aplikasi). 2. Memiliki konfigurasi 4 baris (input scanning) dan 4 kolom (output scanning). 3. Kompatibel penuh dengan DT-51 Low Cost Series dan DT-AVR Low Cost Series. Mendukung DT-51 Minimum Sistem (MinSys) ver 3.0, DT-51 PetraFuz, DT-

    BASIC Series, dan lain-lain.

    Tata Letak

    Universitas Sumatera Utara

  • 18

    P1.4 (Pin 7 PORT 1) R1 (J3) P1.5 (Pin 8 PORT 1) R2 (J3) P1.6 (Pin 9 PORT 1) R3 (J3) P1.7 (Pin 10 PORT 1) R4 (J3) DT-51 Minimum System v3. dan PetraFuz

    DT-I/O 4x4 Keypad Module

    VCC (Pin 1 Port CONTROL) VCC (J5) PC.0 (Pin 1 PORT C & PORT 1) C1 (J3) PC.1 (Pin 2 PORT C & PORT 1) C2 (J3) PC.2 (Pin 3 PORT C & PORT 1) C3(J3) PC.3 (Pin 4 PORT C & PORT 1) C4(J3) PC.4 (Pin 5 PORT C & PORT 1) R1(J3) PC.5 (Pin 6 PORT C & PORT 1) R2(J3) PC.6 (Pin 7 PORT C & PORT 1) R3 (J3) PC.7 (Pin 8 PORT C & PORT 1) R4(J3) 2.6 Display Seven Segmen

    (a)

    Universitas Sumatera Utara

  • 19

    (b)

    Gambar 2.6.1 Rangkaian Seven segmen

    INPUT SELECTOR ENABLE OUTPUT

    C B A G1 /G2A /G2B Y1 Y2 Y2 Y3 Y4 Y5 Y6 Y7 0 0 0 1 0 0 0 1 1 1 1 1 1 1 0 0 1 1 0 0 1 0 1 1 1 1 1 1 0 1 0 1 0 0 1 1 0 1 1 1 1 1 0 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 0 1 0 0 1 1 1 1 0 1 1 1 1 0 1 1 0 0 1 1 1 1 1 0 1 1 1 1 0 1 0 0 1 1 1 1 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0

    Tabel 2.6.1 Tabel kebenaran 74LS138

    Pada tabel kebenaran tersebut tampak bahwa seven segmen yang hidup tergantung pada

    output dari dekoder 74LS138, yang sedang mengeluarkan logika low 0, sehingga dari 8

    buah display tersebut, selalu hanya satu display yang akan dihidupkan. Agar display

    tampak nyala secara bersamaan maka ketiga display tersebut harus dihidupkan secara

    Universitas Sumatera Utara

  • 20

    bergantian dengan waktu tunda tertentu. Pada gambar tersebut seven segment common

    anoda dikendalikan dengan menggunakan transistor PNP melalui decoder 74LS138,

    apabila ada logika low pada basis transistor, maka seven segmen akan menyala dan

    sebaliknya akan padam.

    Gambar 2.6.2 Modul 7 Segmen tunggal

    P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 Display G f e d c b a 1 0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 0 1 0 0 1 0 0 2 0 1 1 0 0 0 0 3 : : : : : : : : 0 0 0 1 0 0 0 A 0 0 0 0 0 1 1 b

    Tabel 2.6.2 Data Display 7 Segmen

    Pada tabel tersebut tampak bahwa untuk menghidupkan sebuah segmen, harus dikirimkan

    data logika low 0 dan sebaliknya untuk mematikan segmen, harus dikirimkan data

    logika high 1.

    org 0h

    start: clr P3.5 ; P3.5 = 0

    Universitas Sumatera Utara

  • 21

    clr P3.6 ; P3.6 = 0

    clr P3.7 ; P3.7 = 0

    mov P0,#10001000b ; Cetak Karakter 'A'

    sjmp start ; Lompat ke start

    2.7

    end

    Dalam ruangan yang tertutup (closed-loop system), suhu adalah salah satu faktor yang

    berpengaruh terhadap lingkungannya. Pengontrolan terhadap suhu ruangan yang bekerja

    secara otomatis dapat menjaga suhu pada kondisi yang optimum (tidak terlalu panas atau

    tidak terlalu dingin) dan dapat menghemat penggunaan energi.Sensor yang dipasang

    dalam sistem akan mengindera nilai suhu ruangan secara terus-menerus (real time). Hasil

    tersebut sebelum dikirimkan kepada mikrokontroler untuk diolah telah dikonversikan

    terlebih dahulu oleh ADC. Suhu hasil penginderaan akan dibandingkan dengan suhu

    ambang suhu optimum ruangan yang dapat diatur nilainya batas bawah maupun batas

    atasnya melalui masukan keypad, maka perbedaan tersebut yang menjadi indikator

    bekerja atau tidaknya blower sebagai pendingin ruangan.

    Blower

    2.8 Heater (pemanas)

    Heater merupakan suatu pemanas yang befungsi untuk memanaskan ruangan atau

    lingkungan di sekitar pemanas tersebut. Pada pemanas tipe ini, penulis menngunakan

    hair dryer yang memancarkan panas kesekitar inkubator. Pemanas ini tidak dipakai di

    dasar inkubator melainkan di belakang dinding inkubator agar panas tersebar keseluruh

    ruangan inkubator serta juga di bantu dengan adanya blower diatas inkubator tersebut.

    Universitas Sumatera Utara

  • 22

    2.9 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 memori-program, membuat

    data konstan dan tablel konstan dalam memori-program, membuat variabel yang dipakai

    kerja dalam memori-data dan lain sebagainya.

    Bahasa Assembly

    2.9.1 Program Sumber Assembly

    Program-sumber assembly (assembly source program) merupakan kumpulan dari baris-

    baris perintah yang ditulis dengan program penyunting-teks (text editor) sederhana,

    misalnya program EDIT.COM dalam DOS, atau program NOTEPAD dalam Windows

    atau MIDE-51. Kumpulan baris perintah tersebut biasanya disimpan ke dalam file dengan

    nama ekstensi *.ASM dan lain sebagainya, tergantung pada program Assembler yang

    akan dipakai untuk mengolah program-sumber assembly tersebut. Setiap baris-perintah

    merupakan sebuah perintah yang utuh, artinya sebuah perintah tidak mungkin dipecah

    dikenali sebagai label atau sering juga disebut sebagai simbol, bagian kedua dikenali

    Universitas Sumatera Utara

  • 23

    sebagai kode operasi, bagian ketiga adalah operand dan bagian terakhir adalah komentar.

    Antara bagian-bagian tersebut dipisahkan dengan sebuah spasi atau tabulator.

    2.9.2

    Label dipakai untuk memberi nama pada sebuah baris-perintah, agar bisa mudah

    menyebitnya dalam penulisan program. Label bisa ditulis apa saja asalkan diawali dengan

    huruf, biasa panjangnya tidak lebih dari 16 huruf. Huruf - huruf berikutnya boleh

    merupakan angka atau tanda titik dan tanda garis bawah. Kalau sebuah baris perintah

    tidak memiliki bagian label, maka bagian ini boleh tidak ditulis namun spasi atau

    tabulator sebagai pemisah antara label dan bagian berikutnya mutlak tetap harus ditulis.

    Dalam sebuah program sumber bisa terdapat banyak sekali label, tapi tidak boleh ada

    label yang kembar. Sering sebuah baris perintah hanya terdiri dari bagian label saja, baris

    demikian itu memang tidak bisa dikatakan sebagai baris perintah yang sesungguhnya,

    tetapi hanya sekedar memberi nama pada baris bersangkutan. Bagian label sering disebut

    juga sebagai bagian simbol, hal ini terjadi kalau label tersebut tidak dipakai untuk

    menandai bagian program, melainkan dipakai untuk menandai bagian data.

    Bagian Label

    2.9.3

    Bagian Kode Operasi

    Kode operasi (operation code atau sering disingkat sebagai OpCode) merupakan bagian

    perintah yang harus dikerjakan. Dalam hal ini dikenal dua macam kode operasi, yang

    pertama adalah kode operasi untuk mengatur kerja mikroprosesor/mikrokontroler. Jenis

    kedua dipakai untuk mengatur kerja program assembler yang sering dinamakan sebagai

    assembler directive. Kode operasi ditulis dalam bentuk mnemonic, yakni bentuk

    Universitas Sumatera Utara

  • 24

    singkatan-singkatan yang relatif mudah di ingat, misalnya adalah MOV, ACALL, RET

    dan lain sebagainya. Kode operasi ini ditentukan oleh pabrik pembuat

    mikroprosesor/mikrokontroler, dengan demikian setiap prosesor mempunyai kode operasi

    yang berlainan. Kode operasi berbentuk mnemonic tidak dikenal

    mikroprosesor/mikrokontroler, agar program yang ditulis dengan kode mnemonic bisa

    dipakai untuk mengendalikan prosesor, program semacam itu diterjemahkan menjadi

    program yang dibentuk dari kode operasi kode biner, yang dikenali oleh

    mikroprosesor/mikrokontroler. Tugas penerjemahan tersebut dilakukan oleh

    programyang dinamakan sebagai Program Assembler. Diluar kode operasi yang

    ditentukan pabrik pembuat mikroprosesor/mikrokontroler, ada pula kode operasi untuk

    mengatur kerja dari program assembler, misalnya dipakai untuk menentukan letak

    program dalam memori (ORG), dipakai untuk membentuk variabel (DS), membentuk

    tabel dan data konstan (DB, DW) dan lain sebagainya.

    2.9.4

    Operand merupakan pelengkap bagian kode operasi, namun tidak semua kode operasi

    memerlukan operand, dengan demikian bisa terjadi sebuah baris perintah hanya terdiri

    dari kode operasi tanpa operand. Sebaliknya ada pula kode operasi yang perlu lebih dari

    satu operand, dalam hal ini antara operand satu dengan yang lain dipisahkan dengan

    tanda koma (,). Bentuk operand sangat bervariasi, bisa berupa kode-kode yang dipakai

    untuk menyatakan Register dalam prosesor, bisa berupa nomor memori (alamat memori)

    yang dinyatakan dengan bilangan atau pun nama label, bisa berupa data yang siap di

    operasikan. Semuanya di sesuaikan dengan keperluan dari kode operasi. Untuk

    membedakan operand yang berupa nomor memori atau operand yang berupa data yang

    Bagian Operand

    Universitas Sumatera Utara

  • 25

    siap di operasikan, dipakai tanda - tanda khusus atau cara penulisan yang berlainan.

    Di samping itu operand bisa berupa persamaan matematis sederhana atau persamaan

    Boolean, dalam hal semacam ini program Assembler akan menghitung nilai dari

    persamaan-persamaan dalam operand, selanjutnya merubah hasil perhitungan tersebut ke

    kode biner yang dimengerti oleh prosesor. Jadi perhitungan di dalam operand dilakukan

    oleh program assembler bukan oleh prosesor.

    2.9.5

    Bagian komentar merupakan catatan-catatan penulis program, bagian ini meskipun tidak

    mutlak diperlukan tapi sangat membantu masalah dokumentasi. Membaca komentar-

    komentar pada setiap baris perintah, dengan mudah bisa dimengerti maksud tujuan baris

    bersangkutan, hal ini sangat membantu orang lain yang membaca program.

    Pemisah bagian komentar dengan bagian sebelumnya adalah tanda spasi atau tabulator,

    meskipun demikian huruf pertama dari komentar sering berupa tanda titik koma (,)

    merupakan tanda pemisah khusus untuk komentar.

    Untuk keperluan dokumentasi yang intensip, sering sebuah baris yang merupakan

    komentar saja, dalam hal ini huruf pertama dari baris bersangkutan adalah tanda titik

    koma (,). AT89S51 memiliki sekumpulan instruksi yang sangat lengkap. Instruksi MOV

    untuk byte dikelompokkan sesuai dengan mode pengalamatan (addressing modes). Mode

    pengalamatan menjelaskan bagaimana operand dioperasikan. Berikut penjelasan dari

    berbagai mode pengalamatan. Bentuk program assembly yang umum ialah sebagai

    berikut :

    Bagian Komentar

    Universitas Sumatera Utara

  • 26

    Label/Simbol Opcode Operand Komentar

    Org 0H Start: Kiri: Delay: Del1: Del2:

    Mov Mov Mov Call RL DEC CJNE Sjmp mov mov djnz djnz ret end

    A, #11111110b R0, #7 P0, A Delay A R0 R0, #0, Kiri Start R1, #255 R2, #255 R2, del2 R1, del1

    ; Isi Akumulator ; Isi R0 dengan 7 ; Copy A ke P0 ; Panggil Delay

    Tabel 2.7.6 Program Assembly

    Isi memori adalah bilangan heksadesimal yang dikenal oleh mikrokontroler, yang

    merupakan representasi dari bahasa assembly yang telah kita buat. Mnemonic atau

    opcode adalah kode yang akan melakukan aksi terhadap operand . Operand adalah 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

    Program yang telah selesai kita buat dapat disimpan dengan ekstension .asm. Lalu

    kita dapat membuat program objek dengan ekstension HEX dengan menggunakan

    compiler MIDE-51.

    Universitas Sumatera Utara