• Tidak ada hasil yang ditemukan

BAB II LANDASAN TEORI. pertanian atau perkebunan, industri makanan, industri elektronika dan lain-lain.

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB II LANDASAN TEORI. pertanian atau perkebunan, industri makanan, industri elektronika dan lain-lain."

Copied!
24
0
0

Teks penuh

(1)

BAB II

LANDASAN TEORI

Temperatur merupakan salah satu informasi yang sangat penting dalam menentukan kondisi cuaca pada sebuah daerah. Temperatur juga merupakan salah satu kunci penting dalam dunia pertanian atau perkebunan, industri makanan, industri elektronika dan lain-lain.

Pengukuran temperatur secara manual dapat dilakukan dengan termometer standart, namun tidak ada alat yang dapat mengatur agar temperatur tetap dalam kondisi stabil, apalagi temperatur harus dipantau terus menerus. Sehingga dibutuhkan alat pengukur temperatur yang disertai dengan sistem kontrolnya. Yang artinya, temperatur dalam sebuah ruangan dapat diukur secara otomatis, dan dapat dijaga secara otomatis pula, serta hasil data temperatur dapat ditampilkan pada display. Berikut adalah gambaran umum sistem kendali temperatur ruangan.

(2)

2.1. PERANGKAT KERAS 2.1.1. Sensor LM35

Sensor adalah piranti yang menghasilkan sinyal keluaran yang sebanding dengan parameter yang diindera (sensing). Sensor LM35 adalah sensor temperatur semiconductor-junction yang tegangan out putnya sebanding dengan temperatur dalam derajat Celcius (0 C). LM35 memiliki kelebihan dibandingkan sensor suhu berpresisi Kelvin, dimana pemakai tidak perlu mengambil nilai tegangan konstan yang besar untuk mendapatkan skala celcius yang tepat. LM35 memiliki keadaaan default yaitu akurasi ±¼ 0 C pada temperatur ruang dan ±3

/4 0 C

pada range maksimum –55 sampai +150 0

LM35 memiliki faktor skala linier +10.0 mV/ C.

0

C, ini berarti untuk tiap kenaikan satu derajat celcius pada suhu sekitar tegangan output akan naik 10 mV. Tegangan kerja dari LM35 adalah 4 sampai 30 Volt dengan kuat arus sebesar 60 µA.

Gambar 2.2. Sensor Temperatur LM35DZ

Adapun beberapa kelebihan dari LM35 dari sensor temperatur lain adalah: 1.Hasil pengukuran lebih akurat dibandingkan dengan menggunakan thermistor. 2.Rangkaian sensor tertutup dan tidak bergantung (tidak terpengaruh) pada oksidasi. 3.LM35 menghasilkan tegangan keluaran lebih besar dibandingkan dengan

(3)

2.1.2. Mikrokontroler

Mikroprosesor adalah CPU komputer, untuk dapat menggunakan secara umum, masih diperlukan :

. Memory ( RAM , ROM ) dan juga decoder memory . I / O dan decoder I / O

. Piranti khusus ( Interupsi, timer, counter, etc ) . Clock generator

Mikrokontroler didesain sebagai True Computer a chip, jadi mikrokontroler sudah mempunyai piranti – piranti tambahan untuk membangun suatu sistem komput er digital. Mikrokontroler dirancang dengan instruksi yang bisa mengakses piranti terprogram dan dioptimalkan untuk instruksi bit dan byte, sementara computer PC di desain dengan instruksi untuk mengakses data multi byte.

Mikrokontroler merupakan suatu komponen elektronika yang di dalamnya terdapat rangkaian mikroprosesor, memori (RAM atau ROM) dan I/O, rangkaian tersebut terdapat dalam level chip atau biasa disebut single chip mikrokomputer. Pada mikrokontroler telah terdapat komponen-komponen mikroprosesor dengan bus-bus internal yang saling berhubungan. Komponen-komponen tersebut adalah RAM, ROM, timer, komponen I/O paralel dan serial, dan interupsi kontroler.

Adapun keunggulan dari mikrokontroler adalah adanya sistem interupsi. Sebagai perangkat kontrol penyesuaian, mikrokontroler sering disebut juga untuk menaikkan respon semangat eksternal (interupsi) di waktu yang nyata. Perangkat tersebut harus melakukan hubungan switching cepat, menunda satu proses ketika adanya respon eksekusi yang lain.

(4)

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 RAM dan ROM-nya besar. Sedangkan pada mikrokontroler ROM dan RAM-nya terbatas.

2.1.2a. Mikrokontroler 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 mikrokontroler AT89S51 secara otomatis direset begitu rangkaian menerima catu daya. Kristal dengan frekuensi maksimum 24 MHz dan kapasitor 33 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 dengan keperluannya, dalam susunan MCS-51 memori penyimpanan program ini dinamakan sebagai memori program. Random Access Memori (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.

(5)

Ada berbagai jenis ROM. Untuk mikrokontroler dengan progam yang sudah baku dan diproduksi secara massal, program diisikan ke dalam ROM pada saat IC 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.

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).

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 P3.0 dan P3.1 di kaki nomor 10 dan 11, sehingga 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.

(6)

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).

IC mikrokontroler AT89S51 ditunjukkan pada gambar di bawah ini:

Gambar 2.3. IC Mikrokontroler AT89S51

Deskripsi pin-pin pada mikrokontroler AT89S51 :

Pin 1 sampai 8

Ini adalah port 1 yang merupakan saluran/bus I/O 8 bit dua arah. Dengan internal pull-up yang dapat digunakan untuk berbagai keperluan. Pada port ini juga digunakan sebagai saluran alamat pada saat pemrograman dan verfikasi.

Pin 9

Merupakan masukan reset (aktif tinggi), pulsa transisi dari rendah ke tinggi akan me-reset mikrokontroler ini.

Pin 10 sampai 17

Ini adalah port 3 merupakan saluran/bus I/O 8 bit dua arah dengan internal pull-up yang memiliki fungsi pengganti. Bila fungsi pengganti tidak dipakai, maka ini dapat digunakan sebagai port paralel 8 bit serbaguna. Selain itu sebagian dari port 3 dapat berfungsi sebagai

(7)

sinyal control pada saat proses pemrograman dan verifikasi. Adapun fungsi penggantinya seperti pada tabel 2.2.

Tabel 2.1. Fungsi pengganti dari port 3

Pin 18 dan 19

Ini merupakan masukan ke penguat osilator berpenguat tinggi. Pada mikrokontroler ini memiliki seluruh rangkaian osilator yang diperlukan pada serpih yang sama (on chip) kecuali rangkaian kristal yang mengendalikan frekuansi osilatir. Karenanya pin 18 dan 19 sangat diperlukan untuk dihubungkan dengan kristal. Selain itu XTAL 1 dapat juga sebagai input untuk inverting oscillator amplifier dan input ke rangkaian internal clock sedangkan XTAL 2 merupakan output dari inverting oscillator amplifier.

Pin 20

Merupakan ground sumber tegangan yang diberi symbol GND

BIT NAMA FUNGSI ALTERNATIF

P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 RXD TXD INTO INT1 TO T1 WR RD

Untuk menerima data port serial Untuk mengirim data port serial Interupsi eksternal 0

Interupsi eksternal 1

Input eksternal waktu/pencacah 0 Input eksternal waktu/pencacah 1 Jalur menulis memori data eksternal Jalur membaca memori data eksternal

(8)

Pin 21 sampai 28

Ini adalah port 2 yang merupakan saluran/bus I/O 8 biit dua arah dengan internal pull-up. Saat pengambilan data dari program memori eksternal atau selama mengakses data memori eksternal yang menggunakan alamat 16 bit, port 2 berfungsi sebagai saluran/bus alamat tinggi (A8 – A15). Sedangkan pada saat mengakses ke data memori eksternal yang menggunakan alamat bit 8 bit , port 2 mengeluarkan isi dari P2 pada Special Function Register.

Pin 29

Program Store Enable (PSEN) merupakan sinyal pengontrol untuk mengakses program memori eksternal masuk ke dalam bus selama proses pemberian/pengambilan instruksi (fetching).

Pin 30

Address Latch Enable (ALE)/ PROG merupakan penahan alamat memori eksternal (pada port 1) selama mengakses ke memori eksternal. Pena ini juga sebagai pulsa/ sinyal input pemrograman (PROG)selama proses pemrograman.

Pin 31

External Access Enable (EA) merupakan sinyal kontrol untuk pembacaan memori program. Apabila diset rendah (L) maka mikrokontroler akan melaksanakan seluruh instruksi dari memori program eksternal, sedangkan apabila diset tinggi (H) maka mikrokontroler akan melaksanakan instruksi dari memori program internal ketika isi program counter kurang dari 4096. ini juga berfungsi sebagai tegangan pemrograman (Vpp = +12 V) selama proses pemrograman.

(9)

Pin 32 sampai 39

Ini adalah port 0 yang merupakan saluran/bus I/O 8 bit open collector, dapat juga digunakan sebagai multipleks bus alamat rendah dan bus data selama adanya akses ke memori program eksternal. Pada saat proses pemrograman dan verifikasi, port 0 digunakan sebagai saluran/bus data. Eksternal pull-ups diperlukan selama proses verifikasi.

Pin 40

Berfungsi sebagai VCC

2.1.2b. Instruksi Dasar Assembler

1. Kode Instruksi Mikrokontriler AT89S51

Mikrokontroler AT89S51 mempunyai 256 kode instruksi. Seluruh instruksi dapat dikelompokkan dalam 4 bagian yang meliputi instruksi 1 byte sampai 4 byte. Semua instruksi tersebut dapat dibagi menjadi lima kelompok menurut fungsinya, yaitu:

1. Instruksi Pemindah Data 2. Instruksi Aritmatika

3. Instruksi Logika dan Manipulasi Bit 4. Instruksi Percabangan

5. Instruksi Stack, I/O, dan Kontrol

2. Instruksi Pemindahan Data

Bagian instruksi ini hanya menyalin data suatu lokasi memori (sumber) ke lokasi tertentu (tujuan), tanpa terjadi perubahan isi data dari sumber. Selain lokasi memori, data juga dapat dipindahkan dari suatu register ke register lain, pemindahan (penyalinan) antar muka-register dan antar muka-memori.

(10)

3. Instruksi Aritmatika

Instruksi ini melaksanakan operasi aritmatika yang meliputi penjumlahan, pengurangan, penambahan satu (increment), pengurangan satu(decrement), perkalian dan pembagian.

4. Instruksi Logika dan Manipulasi Bit

Instruksi ini berhubungan dengan operasi-operasi logika pada accumulator dan manipulasi bit. Macam dan instruksi ini adalah AND, OR, XOR, perbandingan, pergeseran dan komplemen data.

5. Instruksi Percabangan

Instruksi ini mengubah urutan normal pelaksanaan suatu program. Dengan instruksi ini program yang sedang dilaksanakan akan mencabang ke suatu alamat tertentu. Instruksi ini dibedakan atas percabangan bersyarat (misalnya CJNE) dan percabangan tanpa syarat (misalnya ACALL).

6. Instruksi Stack, I/O, dan Kontrol

Instruksi ini mengatur penggunaan stack, membaca/menulis port I/O, serta pengontrolan-pengontrolan.

2.1.3. ADC ( Analog to Digital Converter )

ADC adalah suatu rangkaian yang dapat mengubah tegangan analog menjadi data digital. Input tegangan analog deferensial dapat meningkatkan common mode rejection dan pengaturan offset tegangan input nilai nol. Tegangan referensi dapat diatur untuk mendekodekan berapapun tegangan input pada resolusi 8 bit. ADC yang dipakai adalah jenis ADC 0804 yang merupakan resolusi 8 bit,merupakan 20 pin dan waktu konversi 100 mikrosecond.

(11)

WR : ( input ) pin ini digunakan untuk memulai konversi tegangan analog menjadi data

digital, dengan memberikan pulsa logika ” 0 ” pada pin ini.

INT: ( output ) pin ini digunakan sebagai indikator apabila ADC talah selesai

menkonversikan tegangan analog menjadi digital, dengan mengeluarkan logika ” 0 “

Vin : Tegangan analog input deferensial, input Vin (+) dan Vin (-) merupakan tegangan

deferensial yang akan mengambil nilai selisih dari kedua input. Dengan memanfaatkan input Vin maka dapat dilakukan offset tegangan nol pada ADC

Vref : Tegangan referensi dapat diatur sesuai dengan input tegangan pada Vin (+) dan Vin

(-), Vref = Vin/2

Clock : Clock untuk ADC dapat diturunkan dari clock CPU atau RC eksternal dapat

ditambahkan untuk memberikan generator dari dalam. Clock IN menggunakan schmitt triger.

CS : agar ADC dapat aktif melakukan konversi data maka input Chip Select harus diberi

logika low. Data output akan berada pada kondisi three state apabila CS mendapatkan logika high.

RD : agar data ADC dapat dibaca oleh sistem mikroprocesor maka pin RD harus diberi

logika low

IC ADC 0804 dianggap dapat memenuhi kebutuhan dari rangkaian yang akan dibuat. IC jenis ini bekerja secara cermat dengan menambahkan sedikit komponen sesuai dengan spesifikasi yang harus diberikan dan dapat mengkonversikan secara cepat suatu masukan tegangan. Hal-hal yang juga perlu diperhatikan dalam penggunaan ADC ini adalah tegangan maksimum yang dapat dikonversikan oleh ADC dari rangkaian pengkondisi sinyal, resolusi, pewaktu eksternal ADC, tipe keluaran, ketepatan dan waktu konversinya.

(12)

Beberapa karakteristik penting ADC : 1. Waktu konversi

2. Resolusi 3. Ketidaklinieran 4. Akurasi

Ada banyak cara yang dapat digunakan untuk mengubah sinyal analog menjadi sinyal digital yang nilainya proposional. Jenis ADC yang biasa digunakan dalam perancangan adalah jenis successive approximation convertion atau pendekatan bertingkat yang memiliki waktu konversi jauh lebih singkat dan tidak tergantung pada nilai masukan analognya atau sinyal yang akan diubah. Dalam gambar 2.6 memperlihatkan diagram blok ADC tersebut.

Gambar 2.4. Diagram Blok ADC

Secara singkat prinsip kerja dari konverter A/D adalah semua bit-bit diset kemudian diuji, dan bilamana perlu sesuai dengan kondisi yang telah ditentukan. Dengan rangkaian yang paling cepat, konversi akan diselesaikan sesudah 8 clock, dan keluaran D/A merupakan nilai analog yang ekivalen dengan nilai register SAR.

(13)

Apabila konversi telah dilaksanakan, rangkaian kembali mengirim sinyal selesai konversi yang berlogika rendah. Sisi turun sinyal ini akan menghasilkan data digital yang ekivalen ke dalam register buffer. Dengan demikian, keluaran digital akan tetap tersimpan sekalipun akan di mulai siklus konversi yang baru.

IC ADC 0804 mempunyai dua masukan analog, Vin (+) dan Vin (-), sehingga dapat menerima masukan diferensial. Masukan analog sebenarnya (Vin) sama dengan selisih antara tegangan-tegangan yang dihubungkan dengan ke dua pin masukan yaitu Vin= Vin (+) – Vin (-). Kalau masukan analog berupa tegangan tunggal, tegangan ini harus dihubungkan dengan Vin (+), sedangkan Vin (-) digroundkan. Untuk operasi normal, ADC 0804 menggunakan Vcc = +5 Volt sebagai tegangan referensi.

IC ADC 0804 memiliki generator clock internal yang harus diaktifkan dengan menghubungkan sebuah resistor eksternal (R) antara pin CLK OUT dan CLK IN serta sebuah kapasitor eksternal (C) antara CLK IN dan ground digital.Untuk sinyal clock ini dapat juga digunakan sinyal eksternal yang dihubungkan ke pin CLK IN. ADC 0804 memilik 8 keluaran digital sehingga dapat langsung dihubungkan dengan saluran data mikrokomputer. Masukan (chip select, aktif rendah) digunakan untuk mengaktifkan ADC 0804. Jika berlogika tinggi, ADC 0804 tidak aktif (disable) dan semua keluaran berada dalam keadaan impedansi tinggi.

Masukan (write atau start convertion) digunakan untuk memulai proses konversi. Untuk itu harus diberi pulsa logika 0. Sedangkan keluaran (interrupt atau end of convertion) menyatakan akhir konversi. Pada saat dimulai konversi, akan berubah ke logika 1. Di akhir konversi akan kembali ke logika 0.

(14)

a. Mode Operasi Kontinyu Mode Operasi ADC0804

Agar ADC0804 dapat dioperasikan pada mode operasi kontinyu (proses membaca terus menerus dan tanpa proses operasi jabat tangan), maka penyemat CS dan RD ditanahkan, sedangkan penyemat WR dan INTR tidak dihubungkan kemanapun. Prinsip kerja operasi kontinyu ini yaitu ADC akan memulai konversi ketika INTR kembali tidak aktif (logika ‘1’). Setelah proses konversi selesai, INTR akan aktif (logika ‘0’). Untuk memulai konversi pertama kali WR harus ditanahkan terlebih dahulu, hal ini digunakan untuk mereset SAR. Namun pada konversi berikutnya untuk mereset SAR dapat menggunakan sinyal INTR saat aktif (logika ‘0’) dan mulai konversi saat tidak aktif (logika ‘1’).

Ketika selesai konversi data hasil konversi akan dikeluarkan secara langsung dari buffer untuk dibaca karena RD ditanahkan. Saat sinyal INTR aktif, sinyal ini digunakan untuk me-reset SAR. Saat INTR kembali tidak aktif (logika ‘1’) proses konversi dimulai kembali.

b. Mode Operasi Hand-Shaking

ADC0804 dioperasikan pada mode hand shaking . Agar ADC dapat bekerja, CS harus berlogika ‘0’. Ketika WR berlogika ‘0’, register SAR akan direset, sedangkan ketika sinyal WR kembali ‘1’, maka proses konversi segera dimulai. Selama konversi sedang berlangsung, sinyal INTR akan tidak aktif (berlogika ‘1’), sedangkan saat konversi selesai ditandai dengan aktifnya sinyal INTR (logika ‘0’).

(15)

Setelah proses konversi selesai data hasil konversi tetap tertahan pada buffer ADC. Data hasil konversi tersebut akan dikeluarkan dengan mengirim sinyal RD berlogika ‘0’. Setelah adanya sinyal sinyal RD ini, maka sinyal INTR kembali tidak aktif.

2.1.4. LCD (Liquid Crystal Display)

Kegunaan LCD banyak sekali dalam perancangan suatu sistem dengan menggunakan mikrokontroler. LCD(Liquid Crystal Display) dapat berfungsi untuk menampilkan suatu nilai hasil sensor ,menampilkan teks, atau menampilkan menu pada aplikasi mikrokontroler.Pada praktek proyek ini,LCD yang digunakan adalah LCD 16 x 2 yang artinya lebar display 2 baris 16 kolom dengan 16 Pin konektor.

Adapun konfigurasi dan deskripsi dari pin-pin LCD antara lain:

VCC ( pin 1)

Merupakan sumber tegangan +5V

GND 0V ( pin 2)

Merupakan sambungan ground

VEE (pin 3)

Merupakan input tegangan Kontras LCD

RS Register Select (pin 4)

Merupakan register pilihan 0 = Register Perintah, 1 = Register Data

R/W (pin 5)

Merupakan read select , 1 = Read, 0 = Write

Enable Clock LCD (pin 6)

(16)

D0 – D7 ( pin 7 – pin 14)

Merupakan Data Bus 1 – 7 ke port

Anoda (pin 15)

Merupakan masukan Tegangan positif backlight

Katoda (pin 16)

Merupakan masukanTegangan negatif backlight

Gambar 2.5 . LCD 2 X16

Display karakter pada LCD diatur oleh pin EN, RS dan RW: Jalur EN dinamakan Enable. Jalur ini digunakan untuk memberitahu LCD bahwa sebuah data sedang dikirimkan. Untuk mengirimkan data ke LCD, maka melalui program EN harus dibuat logika low “0” dan set pada dua jalur kontrol yang lain RS dan RW. Ketika dua jalur yang lain telah siap, set EN dengan logika “1” dan tunggu dan berikutnya di set EN ke logika low “0” lagi. Jalur R/W adalah jalur kontrol Read/ Write. Ketika R/W berlogika low (0), maka informasi pada bus data akan dituliskan pada layar LCD. Ketika R/W berlogika high ”1”, maka program akan melakukan pembacaan memori dari LCD. Sedangkan pada aplikasi umum pin R/W selalu diberi logika low “0”.

Gambar 2.6. Rangkaian skematik konektor yang dihubungkan dari LCD ke Mikrokontroler

(17)

2.2. Perangkat Lunak ( Bahasa BASIC Menggunakan BASCOM- 8051 )

Bascom-8051 adalah program BASIC compiler berbasis windows untuk mikrokontroler keluarga 8051seperti AT89C51, AT89C2051, dan yang lainya. BASCOM-8051 merupakan pemrograman dengan bahasa tingkat tinggi BASIC yang dikembangkan dan dikeluarkan oleh MCS Elektronik.

Kita akan membahas penggunaan karakter, tipe data, variable, konstanta, opersai-operasi aritmatika dan logika, array, dan control program.

2.2.1. Karakter BASCOM

Dalam program BASCOM, karakter dasarnya terdiri atas karakter alphabet (A-Z dan a-x), karakter numeric (0-9), dan karakter special(lihat tabel:

Karakter Nama Blank ‘ Apostrophe

* Asterik (symbol perkalian) + Plus sign

, Comma

- Minus sign

. Period (decimal point)

/ Slash (division symbol)will be handled as\

: Colon

“ Double quotation mark ; Semicolon

< Less than

= Equal sign (assignment symbol or relational operator > Greater than

(18)

2.2.2. Tipe Data

Setiap variable dalam BASCOM memiliki tipe data yang menunjukan daya tampungnya. Hal ini berhubungan dengan penggunaan memori mikrontroler. Berikut adalah tipe data pada BASCOM berikut keterangannya.

Tipe Data Ukuran (byte) Range

Bit 1/8 - Byte 1 0-255 Integer 2 -32,768-32,767 Word 2 0-65535 Long 4 -214783648-+2147483647 Single 4 - String Hingga 254 -

Tabel 2.3 Tipe Data

2.2.3. Variabel

Variable dalam sebuah pemrograman berfungsi sebagai tempat penyimpanan data atau penampungan data sementara, misalnya menampung hasil perhitungan, menampung

data hasil pembacaan register, dan lainya. Variable merupakan pointer yang menunjukan pada alamat memori fisik dan mikrontroler.

Dalam BASCOM , ada beberapa aturan dalam penamaan sebuah varibel: a. Nama variable maksimum terdiri atas 32 karakter.

(19)

c. Nama variabel harus dimulai dengan huruf.

d.variabel tidak boleh menggunakan kata-kata yang digunakan oleh BASCOM sebagai perintah, pernyataan, internal register, dan nama operator (AND ,OR, DIM, dan lain-lain). Sebelum digunakan, maka varibel harus dideklarasikan terlebih dahulu. Dalam BASCOM, ada beberapa cara untuk mendeklarasikan sebuah variabel. Cara pertama adalah menggunakan pernyataan ‘DIM’ diikuti nama tipe datanya. Contoh pendeklarasian menggunakan DIM sebagai berikut:

Dim nama as byte

Dim tombol 11 as integer Dim tombol 12 as word Dim tombol 13 as word Dim tombol 14 as word Dim kas as string*10

2.2.4. Alias

Dengan menggunakan alias, variabel yang sama dapat diberikan nama yang lain. Tujuannya adalah mempermudah proses pemrograman. Umumnya, alias dipergunakan untuk mengganti nama variabel yang telah baku, seperti port mikrokontroller.

LEDBAR alias P1 Tombol1 alias P0.1 Tombol alias P0.2

(20)

Dengan deklarasi seperti diatas, perubahan pada tombol akan mengubah kondisi P0.1. selain mengganti nama port, kita dapat pula menggunakan alias untuk mengakeses bit tertentu dari sebuah variabel yang telah dideklarasikan.

2.2.5. Konstanta

Dalam BASCOM, selain variabel kita mengenal pula konstanta. Konstanta merupakan variablel pula. Perbedaanya dengan variabel biasa adalah nilai yang dikandung tetap. Dengan konstanta, kode program yang kita buat akan lebih mudah dibaca dan dapat mencegah kesalahan penulisan pada program kita. Misalnya, kita akan lebih muda menulis phi daripada menulis 3,14159867. Sama seperti variabel,agar konstanta bias dikenali oleh program, maka harus dideklarasikan terlebih dahulu. Berikut adalah cara pendeklarasian sebuah konstanta. Dim A As Const 5

Dim b1 As Const & B1001 Cara lain yang paling mudah: Const Cybte = &HF

Const Cint = -1000 Const Csingle =1.1 Const Cstring = “ test”

(21)

2.2.6. Array

Dengan array, kita bias menggunakan sekumpulan variabel dengan nama dan tipe yang sama. Untuk mengakses variabel tertentu dalam array, kita harus menggunakan indeks. Indeks harus berupa angka dengan tipe data byte, integer, atau word. Artinya nilai maksimum sebuah indeks sebesra 65535.

Proses pendeklarasian sebuah array hampir sama dengan variabel, namun perbedaannya kita mengikutkan jumlah elemennya. Berikut adalah contoh pemakaian array:

Dim kelas (10) as byte Dim C as Integer For C = 1 to10 a (c) = c p1 =a (C) next

Program diatas membuat sebuah array dengan nama ‘kelas’ yang berisi 10 elemen (1-10) dan kemudian seluruh elemennya diisikan dengan nilai c yang berurutan. Untuk membacanya, kita menggunakan indeks dimana elemen disimpan.

(22)

2.2.7. Operasi-Operasi Dalam BASCOM

Pada bagian ini akan dibahas tentang cara menggabungkan, memodifikasi, membandingkan, atau mendapatkan informasi tentang sebuah pernyataan dengan menggunakan operator-operator yang tersedia di BASCOM dan bagaimana sebuah pernyataan terbentuk dan dihasilkan dan operator-oprerator berikut:

a.Oprator Aritmatika

Operator digunakan dalam perhitungan. Operator aritmatika meliputi + (tambah), (kurang), / (bagi), dan * (kali).

b. Oprator Relasi

operator berfungsi membandingkan nilai sebuah angka. Hasilnya dapat digunakan untuk membuat keputusan sesuai dengan program yag kita buat. Operator relasi meliputi:

operaotor Relasi Pernyataan

= Sama dengan X = Y

<> Tidak sama dengan X<>Y

< Lebih kecil dari X<Y

> Lebih besar dari X>Y

<= Lebih kecil atau sama dengan X<=Y >= Lebih besar atau sama dengan X>=Y

Tabel 2.4. Tabel Operator Relasi

c. Operator Logika

operator digunakan untuk menguji sebuah kondisi atau memanipulasi bit dan operasi bolean. Dalam BASCOM, ada empat buah logika, yaitu AND ,OR, NOT, dan XOR.

do X = 100

(23)

Lcd "namaku Satih" Lowerline Lcd "nilaiku selalu";x Cls Lcd "<<<< Hebat >>>>" For x=1 to 16 Shiflcd left next for x=1 to 32 shiftlcd right Waims 200 next x = 100 cls lcd hex x loop.

Penjelasan Programnya sebagai berikut: a.Dim x As Byte

pernyataan di atas merupakan pendeklarasian variable xdengan ukuran byte. b.Config LCD = 16*2

oleh karena itu, konfigurasi yang dapat kita lakukan adalah mendeklarsikannya delisting program yang kita buat seperti dikonrolkan di atas.

c.CLS

Perintah CLS berfungsi membersihkan atau mengosongkan tampilan LCD d.Lowerline

Perintah berfungsi memindahkan kursor ke baris bawah. Karena LCD yang digunakan adalah LCD 2 x 16, maka LCD memiliki 2 baris dan kolom.

(24)

e.X =100

Lcd “namaku Satih” Lowerline

Lcd “ nilaiku selalu”:x

Ketika kita menjalankan perintah diatas, maka keluaranya adalah Namaku Satih

Nilaiku selalu 100

Contoh di atas menunjukan bahwa kita dapat menampilkan isi sebuah varibel menggunakan LCD hanya dengan menulis.

f.ShiftLCD left/right

a. Perintah digunakan untuk menggeser tampilan LCD ke kiri atau ke kanan sebanyak 1 langkah. Perintah berguna untuk menampilkan kalimat yang panjang dan membuat animasi di LCD.

b.Lcdhex x

Perintah berfungsi mengirim isi sebuah variable ke LCD dalam format hexadecimal. Jika kita menjalankan program, maka hasilnya 64.

Gambar

Gambar 2.1. Blok Diagram Sistem Kendali Temperatur Ruangan Secara Umum
Gambar  2.3. IC Mikrokontroler AT89S51  Deskripsi  pin-pin pada mikrokontroler AT89S51 :
Tabel 2.1. Fungsi pengganti dari port 3
Gambar 2.4. Diagram Blok ADC
+4

Referensi

Dokumen terkait

Tujuan dari penelitian ini adalah (1) untuk mendeskripsikan tentang respon siswa terhadap penerapan metode pembelajaran demonstrasi di kelas VIII SMP Negeri 9 Kota

Sirkuit buffer tegangan menyediakan sarana untuk mengisolasi sinyal input dari beban menggunakan rangkaian yang memiliki amplifieran tegangan satu kali, tanpa

Hasil yang didapat dipergunakan untuk menentukan panjang gelombang eksitasi yang sesuai dalam perancangan divais LED hibrid menggunakan bahan konversi warna berupa

oleh CCD, merupakan titik fokus laser, maka pada titik tersebut memiliki eksitasi laser terbesar , maka analisa atau distribusi intensitas emisi kuantum dot

MANAJEMEN LABA DAN RISIKO PASAR TERHADAP COST OF EQUITY CAPITAL (Studi Empiris pada Perusahaan Manufaktur yang Terdaftar di Bursa Efek Indonesia Periode

Periksa pengaturan Perangkat lunak printer untuk memastikan Anda telah memilih jenis kertas yang sesuai dan kualitas cetak dari daftar gulung Media.. Periksa perkiraan level

1. Tuntutan kompetensi lulusan Sekolah Menengah Pertama dilihat dari soal – soal ujian nasional dua tahun terakhir termuat dalam sejumlah 34 kompetensi dasar dari sejumlah 59

Kompetensi Keahlian : Agribisnis Pembibitan dan Kultur Jaringan