BAB II LANDASAN TEORI 2.1 Interface Interface adalah hubungan

advertisement
BAB II
LANDASAN TEORI
2.1
Interface
Interface adalah hubungan tatap muka antara dua benda yang dapat
berkomunikasi, hal ini terjadi antara COM1 pada komputer yang berkomunikasi
dengan mikrokontroler monitoring ketinggian permukaan air, sistem kerja pada
interface monitoring ketinggian permukaan air yaitu mikrokontroler monitoring
ketinggian permukaan air dihubungkan ke komputer pada port COM1 melalui
media RS232. Berikut adalah blok diagram interface monitoring ketinggian
permukaan air dengan COM1. Lihat gambar 2.1.
COM1
Komputer
RS232
Mikrokontroler monitoring
ketinggian permukaan air
Gambar 2.1 Interface
2.2
Monitoring
Monitoring adalah pemantauan yang dapat dijelaskan sebagai kesadaran
tentang apa yang ingin diketahui. Pemantauan umumnya dilakukan untuk suatu
tujuan tertentu, untuk memeriksa terhadap suatu proses atau objek, untuk
mengevaluasi suatu kondisi atau kemajuan menuju tujuan/hasil yang diharapkan.
Monitoring akan memberikan informasi tentang suatu status suatu kondisi.
Monitoring juga bisa disebut sebagai sistem yang berfungsi sebagai alat untuk
memdapatkan informasi sistem yang lain yang bersifat terpusat.
2.3 Timer Kontrol (Pewaktu)
Timer kontrol (Pewaktu) adalah kemudi monolit yang mampu untuk
membangkitkan tundaan-tundaan waktu dengan cermat antara mikrodetik sampai
dengan lima hari, dapat pula membangkitkan tundaan-tundaan waktu yang cukup
lama, sampai dengan tiga tahun. Pewaktu ini terdiri atas oscilator sumbu waktu
(time base oscilator), pencacah yang dapat diacarai dan di gulang-guling kemudi
(control flip-flop).
Pada penerapan monitoring ketinggian permukaan air pada pemodelan
tugas akhir ini, timer kontrol (pewaktu) tersebut berfungsi menentukan kapan dan
berapa lama informasi ketinggian permukaan air diperbaharui.
2.4 Mikrokontroler
Mikrokontroler adalah sebuah komponen yang dapat bekerja sesuai
dengan program yang diisikan kedalam memorinya seperti layaknya sebuah
komputer yang sangat sederhana. ( Putra, 2002 )
Produk mikrokontroller keluarga MCS-52 merupakan suatu terobosan
teknologi mikroprosesor dan mikrokomputer, yang hadir memenuhi kebutuhan
pasar (market need) dan teknologi baru. Sebagai teknologi baru, yaitu teknologi
semikonduktor dengan kandungan transistor yang lebih banyak sehingga harganya
menjadi lebih murah (dibandingkan mikroprosesor). Sebagai kebutuhan pasar,
mikrokontroler hadir untuk memenuhi selera industri dan para konsumen akan
kebutuhan dan keinginan alat-alat bantu yang lebih baik dan canggih.
2.5 AT89S52
AT89S52 adalah mikrokontroler keluaran Atmel dengan 4K byte Flash
PEROM (Programmable and Erasable Read Only Memory), AT89S52
merupakan
memori
nonvolatile
teknologi
memori,
dengan
isi
memori tersebut
dapat diisi ulang
ataupun dihapus
berkali-kali.
Memori ini
biasa digunakan
untuk menyimpan intruksi (perintah) berstandar MCS-52 code sehingga
memungkinkan mikrokontroler ini untuk bekerja dalam mode single chip
operation (mode operasi keping tunggal) yang tidak memerlukan external
memory (memori luar) untuk menyimpan source code tersebut. Bentuk dari
mikrokontroller AT89S52 adalah seperti gambar 2.2.
Gambar 2.2 Diagram AT89S52
(Sumber:hal 1, 8-Bit Microcontroller with 4K Bytes, AT89S52,ATMEL)
Keterangan:
Vcc
: Suplay tegangan
Gnd
: Grounding atau pentanahan
RST
: Masukan Reset. Kondisi ‘1’ selama 2 siklus mesin,
selama
oscillator
bekerja
akan
mereset
mikrokontroler yang bersangkutan.
Port 0,1,2 : Port I/O dwi arah yang dilengkapi dengan pullup
internal. Penyangga keluaran port 0, 1 dan 2 mampu
memberikan/menyerap arus empat masukan TTL
(sekitar 1,6 mA). Jika ‘1’ dituliskan ke kaki-kaki port
0, 1 dan 2, maka masing-masing kaki akan di pullup
high dengan pullup internal sehingga dapat digunakan
sebagai masukan.
Byte
Port 3
: Sama dengan Port 0, 1 dan 2, Port 3 memiliki fungsifungsi alternatif, antara lain menerima sinyal-sinyal
kontrol, untuk lebih jelasnya mengenai fungsi
alternatif dari Port 3, lihat tabel 1 dibawah ini.
Tabel 1 Fungsi alternatif kaki-kaki (pin) Port 3
Pin Port
Fungsi alternatif
P3.0
RXD (port masukan serial)
P3.1
TXD (port keluaran serial)
P3.2
INTO (interupsi eksternal 0)
P3.3
INTI (interupsi eksternal 1)
P3.4
T0 (masukan eksternal pewaktu/pencacah 0)
P3.5
T1 (masukan eksternal pewaktu/pencacah 1)
(Sumber: hal 3, 8-Bit Microcontroller with 4K Bytes, AT89S52, ATMEL)
2.6 Memori
Memori data internal selalu 8 bit atau 1 Byte, memori data internal ini
mampu mengalamati hingga 128 Byte dan SFR (Special Function Register).
Namun demikian, mode-mode pengalamatan RAM (Range Acces Memori)
internal bias mengakomodasi hingga 384 Byte. Pengaksesan langsung dengan
alamat diatas 7Fh mengakses suatu memori, sedangkan pengaksesan tak langsung
dengan alamat diatas 7Fh mengakses ruang memori lain yang kosong. Lihat
gambar 2.3 dan gambar 2.4.
Byte
Address
Bit Address
Address
7F
Bit Address
FF
General Purpose RAM
30
2F
7F
7E
7D
7C
7B
7A
79
78
2E
77
76
75
74
73
72
71
70
2D
6F
6E
6D
6C
6B
6A
69
68
2C
67
66
65
64
63
62
61
60
2B
5F
5E
5D
5C
5B
5A
59
58
2A
57
56
55
54
53
52
51
50
29
4F
4E
4D
4C
4B
4A
49
48
28
47
46
45
44
43
42
41
40
27
3F
3E
3D
3C
3B
3A
39
38
E0
E7
E6
E5
E4
E3
E2
E1
E0
ACC
D0
D7
D6
D5
D4
D3
D2
D
1
D0
PSW
B8
-
-
-
BC
BB
BA
B9
B8
IP
B0
B7
B6
B5
B4
B3
B2
B1
B0
P3
A8
AF
-
-
AC
AB
AA
A9
A8
IE
26
37
36
35
34
33
32
31
30
25
2F
2E
2D
2C
2B
2A
29
28
99
98
9F
9E
9D
9C
9B
9A
99
98
SCON
90
97
96
95
94
93
92
91
90
P1
24
27
26
25
24
23
22
21
20
23
1E
1E
1D
1C
1B
1A
19
18
22
17
16
15
14
13
12
11
10
21
0E
0E
0D
0C
0B
0A
09
08
20
07
06
05
04
03
02
01
00
1F
18
17
10
0F
08
07
00
not bit addressable
SBUF
8D
not bit addressable
TH1
8C
not bit addressable
TH0
8B
not bit addressable
TL1
Bank 3
Bank 2
Bank 1
Default register bank for R0 - R7
Gambar 2.3 RAM Mikrokontroler
8A
not bit addressable
TL0
89
not bit addressable
TMOD
88
87
8F
8E
8D
8C
8B
8A
not bit addressable
89
88
TCON
PCON
Gambar 2.4 SFR Mikrokontroler
2.7 Timer (Clock) dan Waktu Akses
Semua mikrokontroler memiliki osilator on-chip,yang dapat digunakan
sebagai sumber timer (clock). Untuk menggunakannya, hubungkan sebuah
resonator kristal atau keramik diantara kaki-kaki XTAL1 dan XTAL2 pada
mikrokontroler dan hubungkan kapasitor ke ground, perhatikan gambar 2.5.
sedang contoh bagaimana mengaktifkan clock menggunakan oscillator eksternal
ditunjukan pada gambar 2.6.
C2
C1
XTAL2
NC
XTAL2
XTAL1
SINYAL
OSILATOR
EKSTENAL
XTAL1
GND
GND
Gambar 2.5 Hubungan ke kristal
Gambar 2.6 Pemberian clock eksternal
(Sumber: hal 3, 8-Bit Microcontroller with 2K Bytes, AT89S52, ATMEL)
2.8
Power Supply
Power Supply merupakan bagian yang bertugas memberikan tegangan
pada sistem mikrokontroler dan mikrokontroler AT89S52. Pada dasarnya fungsi
utama dari power supply adalah mengubah aliran arus listrik bolak balik (AC)
yang tersedia dari aliran listrik PLN menjadi arus listrik searah (DC) yang
dibutuhkan oleh komponen pada PC, IC, atau komponen yang lainnya. Power
supply ternasuk bagian dari power conversion. Fungsi power supply sebagai
berikut ini:
1. Sebagai konversi input listrik AC menjadi DC.
2. Memberikan arus listrik DC sesuai dengan yang dibutuhkan.
3. Menghasilkan arus listrik DC yang lebih merata.
4. Dapat mengendalikan arus listrik / tegangan agar tetap terjaga tetapi
tergantung dari beban daya.
2.9
Sensor
Sensor adalah jenis tranduser yang digunakan untuk mengubah besaran
mekanis, magnetis, panas, sinar, dan kimia menjadi tegangan dan arus listrik.
Sensor sering digunakan untuk pendeteksian pada saat melakukan pengukuran
atau pengendalian. Beberapa jenis sensor yang banyak digunakan dalam
rangkaian elektronik antara lain sensor cahaya, sensor suhu, dan sensor tekanan.
Sensor pada monitoring ketinggian air adalah sistem yang menangai dan
berhubungan langsung dengan air . Keluaran dari sensor ini adalah sebanyak 8 bit.
Sistem sensor ini bekerja dengan memanfaatkan sifat konduksi dari air dengan
common ground. Beberapa manfaat sensor antara lain :
1. Sensor mengkonversi dari suatu isyarat input ke suatu isyarat ouput.
2. Sensor bisa saja menggunakan satu atau lebih pengkonversian untuk
menghasilkan suatu isyarat keluaran.
3. Sensor adalah piranti yang mentransform (mengubah) suatu nilai
(isyarat/energi) fisik ke nilai fisik yang lain.
4. Menghubungkan antara fisik nyata dan industri electric dan piranti
elektronika.
5. Di dunia industri berguna untuk monitoring, controlling, dan proteksi.
2.10
Sistem Transceiver
Sistem transceiver adalah sistem yang bertugas mengirim paket data dari
mikrokontroler AT89S52 ke COM1. Paket data yang dikirim adalah hasil
pengukuran yang telah dilakukan oleh sensor. Hasil pengukuran dari sensor ini
diolah terlebih dahulu sebelum hasil pengukuran ini di kirimkan ke komputer
melalui COM1. Sistem tranceiver yang digunakan adalah IC tipe MAX 232
dengan baud rate 9600 bps, 8 data bits, none parity dan stop bit 1.
2.11
Casing
Casing adalah suatu kotak yang berfungsi melindungi rangkaian dari
segala gangguan luar, bagian luar casing terdapat konektor-konektor untuk
menghubungkan antar mikrokontroler dan COM1, bahan casing terbuat dari box
plastik yang dibentuk sedemikian rupa agar mudah dalam pemasangan dan
pengecekan jika terjadi kerusakan.
2.12
Serial Data RS-232 atau COM1
Serial RS-232 adalah bentuk standar komunikasi yang telah lama ada
untuk setiap pembuatan interface yang mengacu pada fungsi komputer. Serial
RS232 pada komputer tidak lain adalah COM1 atau COM2. Ada beberapa kriteria
penting yang terdapat pada RS-232, diantaranya :
1. Standart Konektor
1
2
6
3
7
4
8
5
9
Gambar 2.7 Konektor standar RS232
Keterangan:
a. RI (Kaki no 1) Ring Indicator
b. RXD (Kaki no 2)
Terminal untuk menerima data
c. TXD (Kaki no 3)
Terminal untuk mengirim data
d. DTR (Kaki no 4) Data Terminal Ready
e. Gnd (Kaki no 5) Grounding
f. DSR (Kaki no 6) Data Set Ready
g. CTS (Kaki no 8) Clear to Send
h. RTS (Kaki no 9) Request To Send
2. Sinyal RS-232
Sinyal RS-232 merupakan sinyal keluaran yang mempunyai tegangan
terbalik dari sinyal keluaran Tx sistem AT89S52, yaitu pada saat Tx = 0 maka
tegangan keluaran +12, dan pada saat Tx = 1 maka tegangan keluaran – 12.
2.13
Sistem Komunikasi Data
Sistem komunikasi data merupakan suatu bentuk komunikasi (hubungan)
antara dua sumber data yaitu pengirim data (transmitter) dan penerima data
(receiver). Data yang dimaksud disini adalah sinyal-sinyal yang dibangkitkan oleh
sumber data yang dapat ditangkap dan dikirimkan kepada terminal-terminal
penerima.
Pada pembuatan interface monitoring ketinggian permukaan air penulis
menggunakan komunikasi data serial asinkron yaitu sinyal detak dikirim secara
bersama-sama dengan data serial, rangkaian penerima data harus membangkitkan
sendiri detak pendorong data serial. Detak pendorong tersebut bisa berupa tanda
logic. Saat kondisi vakum diberi tanda logic 1, saat startbite diberi tanda logic 0
Informasi data
Stopbite
Tidak ada data
Startbite
dan saat stopbite diberi tanda logic 0. Lihat gambar 2.8.
Tidak ada data
Gambar 2.8 Sinyal serial data asinkron
2.14
Paket Data
Unsur data dalam sistem komunikasi data adalah pengiriman dalam bentuk
paket data. Pengiriman data secara paket dapat memberikan keuntungan.
Diantaranya data yang dapat diterima oleh penerima data adalah data yang benar,
karena penerima data dapat mengecek bentuk dan format paket data dari pengirim
data. Dalam pengecekan penerima data dapat mengetahui isi paket data dari
pengirim data yang berupa pengirim, tujuan (untuk diri penerima atau tidak) isi
data (informasi yang dibawa). Dan semua itu dapat dikenali jika dalam paket data
ada format identitas tujuan dan identitas pengirim.
Informasi data yang akan dikirim akan berupa satuan data byte. Dalam satu
kali pengiriman informasi data seringkali terdiri dari banyak byte data, terutama
pengiriman yang sudah dalam bentuk paket data.
Proses pengiriman data informasi akan dilakukan secara bit-perbit dalam
satu data byte, dan byte per byte dalam satu kali pengiriman dengan adanya spasi
waktu antara byte-byte data. Lihat gambar 2.9.
Spasi
B0
B1
B2
B3
B4
B5
B6
Satuan byte data
B7
Spasi
B0
B1
B2
B3
B4
B5
B6
B7 Spasi
Satuan byte data
Gambar 2.9 Sinyal satuan byte data
2.15
Baud Rate
Baud rate adalah kecepatan transfer data (pengiriman dan penerimaan
data) dengan satuan bps (bit per second), yang berarti dalam satu detik dapat
dikirimkan beberapa bit sesuai dengan angka-angka yang sudah ditentukan,
angka-angka yang sudah ditentukan tersebut diantaranya 4800 bps,9600 bps.
2.16Bahasa Assembly
Dalam pembuatan software pada mikrokontroler AT89S52 penulis
menggunakan bahasa Assembly,bahasa Assembly adalah bahasa pemrograman
tingkat rendah under DOS, bahasa Assembly memakai kode mnemonic untuk
menggantikan kode biner, agar lebih mudah diingat sehingga lebih memudahkan
dalam penulisan program. (Andi.K. 2002)
Program yang ditulis dengan bahasa Assembly terdiri dari label, kode
Mnemonic, operand dan lain sebagainya, pada umumnya dinamakan sebagai
program sumber (Source Code) yang belum bisa diterima oleh mikrokontroler
untuk dijalankan sebagai program, tapi harus diterjemahkan dulu menjadi bahasa
mesin dalam bentuk kode biner.
Program sumber dibuat dengan program editor biasa, misalnya Note Pad
pada Windows atau power assembly pada DOS, selanjutnya program sumber
diterjemahkan ke bahasa mesin dengan menggunakan program Assembly. Hasil
kerja program Assembly adalah program objek dan juga Assembly listing.
Program objek berisikan kode-kode bahasa mesin, kode-kode bahasa mesin
inilah yang diumpankan ke memori mikrokontroler. Pada mikrokontroler buatan
Atmel program objek ini diisikan ke dalam Flash PEROM yang juga ada di dalam
mikrokontroler AT89S52.
Assembly listing merupakan naskah yang berasal dari program sumber,
dalam naskah tersebut pada bagian sebelah setiap baris dari program sumber
diberi tambahan hasil terjemahan program Assembly. Tambahan tersebut berupa
nomor memori program berikut dengan kode yang akan diisikan pada memori
program bersangkutan. Naskah ini sangat berguna untuk dokumentasi dan sarana
untuk menelusuri program yang ditulis.
2.17
Sistem Pengalamatan
1. Pengalamatan Langsung (Direct Addressing)
Dalam pengalamatan langsung, operand-operand ditentukan berdasar
alamat 8 bit (1 Byte dalam suatu instruksi. Hanya RAM data internal dan
SFR saja yang bisa diakses secara langsung.
2. Pengalamatan tidak langsung (Indirect Addresing)
Dalam pengalamatan tak langsung, instruksi menentukan suatu register
yang digunakan untuk menyimpan alamat operand. Baik RAM internal
maupun eksternal dapat diakses secara tak langsung.
3. Pengalamatan indeks (Indeks addressing)
Memori program hanya bisa diakses melalui pengalamatan indeks. Mode
pengalamatan ini ditunjukan untuk membaca table (look-up tables) yang
tersimpan dalam memori program data yang menyatu dengan program.
2.18
Timer/Counter
Mikrokontroler
AT89S52
dilengkapi
dengan
dua
perangkat
Timer/Counter, masing-masing dinamakan sebagai timer 0 dan timer 1. Pencacah
biner timer 0 diakses melalui register TL0 dan register TH0. Pencacah biner timer
1 diakses melalui register TL1 dan register TH1. Untuk mengatur kerja timer /
counter digunakan 2 register tambahan yang dipakai bersama oleh timer 0 dan
timer 1. Register tambahan tersebut adalah register TCON dan register TMOD.
TL0, TH0, TL1, dan TH1 merupakan register fungsi khusus yang dipakai
untuk membentuk pencacah biner timer 0 dan timer 1. Kapasitas register tersebut
masing-masing 8 bit, bisa disusun menjadi 4 macam mode pancacah biner, dan
diantara keempat mode tersebut penulis menggunakan mode 2 pada timer 1 dan
mode 1 pada timer 0.
2.19
Serial Trasfer Data
Serial trasfer data dapat digunakan dalam 4 mode kerja yang berbeda. Dari
4 mode tersebut, 1 mode diantaranya bekerja secara sinkron dan 3 lainnya bekerja
secara asinkron. Dalam hal ini penulis menggunakan Mode 1 yaitu bekerja secara
asinkron. Data dikirim / diterima 10 bit sekaligus, diawali dengan bit start disusul
8 bit data dan diakhiri bit stop. Kecepatan pengiriman data (baudrate) bisa diatur
sesuai keperluan.
2.20
Interupsi
Interupsi adalah selaan program yang sedang berjalan untuk tujuan
penanganan program interupsinya. AT89S52 menyediakan 5 sumber interupsi
yaitu 2 interupsi eksternal, 2 interupsi timer dan 1 interupsi port serial. Adapun
penjelasan dari masing-masing interupsi adalah sebagai berikut :
1. Interupsi Eksternal
Bentuk selaan program yang terjadi apabila kaki Int0 (Interupt 0 : kaki 6)
dan Int1(Interupt 1 : kaki 7) mendapat masukan logika rendah atau transisi
dari tinggi ke rendah. Selaan program interupsi eksternal 0 menjalankan
alamat 0003h dan interupsi eksternal 1 menjalankan alamat 0013h. Adapun
bentuk.
2. Interupsi Timer
Bentuk selaan program yang terjadi apabila ada overflow pada register
timer. Selaan program interupsi timer 0 menjalankan alamat 000Bh dan
interupsi timer 1 menjalankan alamat 001Bh.
3. Interupsi Serial
Bentuk selaan program yang terjadi apabila register Sbuf ada data masuk
atau apabila data pada Sbuf telah selesai terkirim. Selaan program
interupsi serial menjalankan alamat 0023h.
2.21
Struktur Program Assembly
Program Assembly merupakan bahasa pemrograman tingkat rendah.
Bahasa Assembly merupakan bahasa dasar mesin. Meskipun saat ini telah banyak
bahasa pemrograman tingkat tinggi yang lebih sederhana dan dapat dipahami
namun semua bahasa tersebut merupakan pengembangan dari bahasa Assembly.
Sarana yang ada dalam program Assembly sangat minim, tidak seperti dalam
bahasa pemrograman tingkat tinggi (high language programming) semuanya
sudah siap pakai. Penulis program Assembly harus menentukan segalanya,
menentukan letak program yang ditulisnya dalam memori program, membuat data
konstan dan tabel konstan dalam memori program, membuat variabel yang
dipakai kerja dalam memori data dan lain sebagainya.
2.22Program Sumber Asembly
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
NOTE PAD dalam Windows. Kumpulan baris perintah tersebut biasanya
disimpan ke dalam file yang berekstensi *.ASM atau ekstensi lain misalnya
*.A51, tergantung pada program Assembly yang akan dipakai untuk mengolah
program sumber Assembly tersebut.
Setiap baris perintah merupakan sebuah perintah yang utuh, artinya sebuah
perintah tidak mungkin dipecah menjadi lebih dari satu baris. Satu baris perintah
bisa terdiri atas 4 bagian, bagian pertama dikenali sebagai label atau sering juga
disebut sebagai symbol, bagian kedua dikenali sebagai kode operasi, bagian ketiga
adalah operand dan bagian terakhir adalah komentar.
Antara bagian-bagian tersebut dipisahkan dengan sebuah spasi atau
tabulator. Secara rinci bagian-bagian dapat dijelaskan sebagai berikut:
a.
Bagian Label
Label dipakai untuk memberi nama pada sebuah baris perintah, agar bisa
mudah menyebutnya dalam penulisan program. Label bisa ditulis apa saja asalkan
diawali dengan huruf, panjang label biasanya tidak lebih dari 15 huruf. Hurufhuruf 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 sama dengan label lain. Sering sebuah baris perintah hanya
terdiri dari bagian label saja, baris demikian itu memang tidak bisa dikatakan
sebagai baris perintah yang sesungguhnya, tapi hanya memberi nama pada baris
yang 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.
b.
Bagian Kode Operand
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
Assembly, sering dinamakan sebagai Assembly Directive.
Kode operasi ditulis dalam bentuk Mnemonic, yaitu bentuk singkatansingkatan yang budah diingat , 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 program yang dinamakan
sebagai program Assembly. Di luar kode operasi yang ditentukan pabrik pembuat
mikroprosesor/mikrokontroler, ada pula kode operasi untuk mengatur kerja dari
program Assembly, misalnya dipakai untuk menentukan letak program dalam
memori (ORG), dipakai untuk membentuk variabel (DS), membentuk tabel dan
data konstan (DB, DW) dan lain sebagainya.
c.
Bagian Operand
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 ataupun nama label, bisa berupa data
yang siap dioperasikan. Semuanya disesuaikan dengan keperluan dari kode
operasi.
Untuk membedakan operand yang beruapa nomor memori atau operand
yang berupa data yang siap dioperasikan, 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
Assembly akan menghitung nilai dari persamaan-persamaan dalam operand,
selanjutnya mengubah hasil perhitungan tersebut ke kode biner oleh program
Assembly bukan oleh prosesor.
d.
Bagian Komentar
Bagian komentar merupakan catatan-catatan penulis program, bagian ini
merkipun tidak mutlak diperlukan tapi sangat membantu masalah dokumentasi,
membaca komentar-komentar pada setiap baris perintah, dengan mudah bisa
dimengerti maksud tujuan baris yang 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 kali berupa
tanda titik koma, titik koma merupakan tanda pemisah khusus untuk komentar.
Untuk keperluan dokumentasi yang intensif, sering kali sebuah baris dapat berupa
komentar saja, dalam hal ini huruf pertama dari baris yang bersangkutan adalah
tanda titik koma.
2.23Perintah-Perintah Standart MCS52
Yang perlu diperhatikan adalah setiap mikrokontroler mempunyai
konstruksi yang berlainan, instruksi atau perintah pada software untuk
mengendalikan masing-masing mikrokontroler juga berlainan, begitu juga dengan
mikrokontroler AT89S52 hanya dapat menerima software dengan perintahperintah yang berstandartkan MCS52. Berikut adalah perintah-perintah standart
MCS52 yang penulis gunakan dalam pembuatan software monitoring ketinggian
permukaan air.
1. Transfer data
MOV
MOV
MOV
MOV
MOV
Dir,#8b
@Ri,#8b
@ri,Dir
@Ri,A
Dir,Rn
MOV
MOV
MOV
MOV
MOV
Dir,Dir
Dir,@Ri
A,@ri
Rn,#8b
Rn,Dir
Keterangan :
MOV yaitu singkatan dari move yang artinya memindahkan, digunakan
untuk instruksi transfer pada memori data.
2. Aritmatika
INC
Rn
Keterangan :
INC (Increment), yang artinya menambah 1 (menaikkan data sebesar 1).
3. Logika
Keterangan :
SETB
Bit
SETB (Set Bit), Fungsinya sama dengan CLR.
4. Lompatan Program
AJMP
Ad-11b
LJMP
LCALL Ad-16b
RET
RETI
Ad-16b
Keterangan :
a. LJMP Ad-16b (Long Jump), digunakan untuk lompatan panjang(bias
menjangkau seluruh memori program) pada alamat memori 16b.
b. AJMP Ad-11b (Absolut Jump), digunakan untuk lompatan dalam sub-rutin
yang sama dengan alamat memori 11b.
c. LCALL Ad-16b (Long Call), digunakan untuk memanggil program subrutin yang mampu menjangkau seluruh program dengan alamat memori
16b.
d. RET (Return), dipakai untuk mengakhiri program sub-rutin, dan program
SP (Stack Pointer) dapat kembali ke alamat program utama.
e. RETI (Return Interupt), dipakai untuk mengakhiri rutin layanan interupsi,
yaitu semacam program sub-rutin yang dijalankan mikrokontroler pada
saat mikrokontroler menerima sinyal permintaan interupsi.
5. Lompatan Program Bersyarat
JBC Bit,Ril JNB Bit,Ril
CJNE A,#8b,Ril CJNE A,Dir,Ril
CJNE @ri,#8b,Ril CJNE Rn,#8b,Ril
DJNZ Dir,Ril
DJNZ Rn,Ril
Keterangan :
a. Interuksi JB (Jump Bit Set), intruksi JNB (Jump Not Bit Set) dan instruksi
JBC (Jump on Bit Then Clear) merupakan instruksi Jump bersyarat yang
memantau nilai-nilai bit tertentu.
b. Instruksi JC (Jump on Carry) dan instruksi JNC (Jump on No Carry)
adalah instruksi jump bersyarat yang memantau nilai bit Carry didalam
Program Status Word (PSW).
c. CJNE (Compare and Jump if Not Equal), merupakan instruksi yang
membandingkan dua nilai dan MCS akan melompat ke program yang
dituju kalau kedua nilai tersebut tidak sama.
6. Lain-lain
PUSH Dir
POP Dir
Keterangan :
a. PUSH, digunakan untuk menyimpan data pada pengalamatan memori
internal.
b. POP, instruksi yang digunakan untuk mengambil data pada pengalamatan
memori internal.
2.24
Sistem Masukan dan Keluaran (I/O)
Sistem masukan dan keluaran (I/O) adalah sumber daya masukan (input)
yang mengalir melalui
elemen proses (transformasi) untuk diolah menjadi
sumber daya keluaran (output). Input dan output sendiri dapat kita definisikan
sbb:
1.
Masukan Sistem (input)
Masukan sistem adalah energi yang dimasukkan kedalam sistem yang
dapat berupa perawatan dan masukan sinyal untuk diolah menjadi
informasi.
2.
Keluaran Sistem (output)
Keluaran adalah hasil dari energi yang diolah dan diklasifikasikan menjadi
keluaran yang berguna bagi pemakainya.
Suatu mekanisme kontrol yang akan mengawasi jalannya sistem tersebut
untuk meyakinkan bahwa sistem tersebut dapat mencapai tujuannya
yang
dihubungkan pada arus sumber daya dengan memakai sumber lingkaran umpan
balik (feedback loop) yang mendapatkan informasi dari keluaran (output) sistem
dan menyediakan informasi bagi mekanisme kontrol. Mekanisme kontrol
membandingkan sinyal-sinyal umpan balik dengan tujuan, dan mengarahkan
sinyal pada elemen masukan (input) jika sistem operasi memang harus diubah.
Hubungan masukan, proses, keluaran, kontrol dan tujuan digambarkan pada
gambar 2.10.
tujuan
kontrol
masukan
proses
keluaran
Gambar 2.10 Hubungan input,proses dan output
2.25Tampilan Pada Komputer
Tampilan pada komputer adalah tampilan pada software monitoring
ketinggian air yang berupa gambar denah lokasi dimana terdapat titik-titik
bendungan termonitor dan tersensor yang kita tampilkan pada layar komputer.
Untuk membuat tampilan pada komputer, software yang akan kita gunakan
adalah bahasa pemrograman Visual Basic. Bahasa pemrograman Visual Basic
mempunyai beberapa bagian. Secara garis besar bagian-bagian akan dijelaskan
sebagai berikut:
a. Form
Inti dari setiap aplikasi Visual Basic adalah form. Form dapat dianggap
sebagai sebuah window. Defaultnya, Visual Basic memberi sebuah form pada
setiap project dan menampilkan sebuah form kosong pada saat visual basic
dimulai. Form dapat dipakai untuk menempatkan komponen, kontrol dan lainnya.
b. Properties
Sebuah obyek diakses melalui property-nya. Property dari obyek Visual
Basic memiliki nilai yang dapat diubah pada saat desain tanpa perlu menuliskan
program tetapi jika kita ingin mengubah property saat program dijalankan maka
kita harus menuliskan sedikit program.
c. IDE (Integrated Development Environtment)
IDE adalah sebuah lingkungan dimana semua tools yang diperlukan untuk
desain, menjalankan dan mengetes sebuah aplikasi disajikan dan terhubung
dengan baik sehingga memudahkan pengembangan program.
Ada beberapa alasan mengapa kita lebih menyukai bahasa pemrograman ini
diantaranya :
1.
Kualitas dari lingkungan pengembangan visual
2.
Kecepatan compiler dibandingkan dengan kompleksitasnya.
3.
Kekuatan
dari
bahasa
pemrograman
dibandingkan
dengan
kompleksitasnya.
4.
Fleksibilitas dari arsitektur basis data.
5.
Pola desain dan pemakaian yang diwujudkan oleh frame work-nya.
2.26
WLAN (Wireless Local Areal Network)
Wireless Local Areal Network sebenarnya hampir sama dengan jaringan
LAN, akan tetapi pada setiap node pada WLAN menggunakan wireless device
untuk berhubungan dengan jaringan. Node pada WLAN menggunakan channel
frekuensi yang sama dan SSID yang menunjukan identitas dari wireless device.
Tidak seperti jaringan kabel, jaringan wireless memiliki dua mode yang dapat
digunakan : infrastruktur dan Ad-Hoc. Komunikasi infrastruktur adalah
komunikasi antar masing masing PC melalui sebuah access point pada WLAN
atau LAN. Komunikasi Ad-Hoc adalah komunikasi secara langsung antara masing
masing komputer dengan menggunakan piranti wireless. Penggunaan kedua mode
ini tergantung
dari kebutuhan untuk berbagi data atau kebutuhan yang lain
dengan jaringan berkabel.
1. Mode Ad-Hoc
Ad-Hoc merupakan mode jaringan WLAN yang sangat sederhana, karena
pada ad-hoc ini tidak memerlukan access point untuk host dapat saling
berkomunikasi. Setiap host cukup memiliki transmitter dan receiver wireless
untuk berkomunikasi secara langsung satu sama lain seperti tampak pada
gambar 2.11. Kekurangan dari mode ini adalah komputer tidak bisa
berkomunikasi dengan komputer pada jaringan yang menggunakan kabel.
Gambar 2.11 Mode jaringan Ad-Hoc
2. Mode Infrastruktur
Jika pada jaringan wireless ingin mengakses jaringan kabel atau berbagi
printer misalnya, maka jaringan wireless tersebut harus menggunakan mode
infrastruktur ( Gambar 2.12 ). Pada mode infrastruktur access point berfungsi
untuk melayani komunikasi utama pada jaringan wireless. Acces point
mentransmisikan data pada PC dengan jangkauan tertentu pada suatu daerah.
Penambahan dan pengaturan letak access point dapat memperluas jangkauan dari
WLAN.
Gambar 2.12 Mode jaringan infrastruktur
Download