BAB II
TINJAUAN PUSTAKA
2.1.Hardware
2.1.1 Mikrokontroler AT89S51
Mikrokontroller, sebagai suatu terobosan teknologi mikrokontroler dan microkomput er, hadir
memenuhi kebutuhan pasar (market need) dan teknologi baru. Sebagai teknologi baru, yaitu teknologi
semi konduktor dengan kandungan transistor yang lebih banyak namun hanya membutuhkan ruang kecil
serta dapat diproduksi secara massal (dalam jumlah banyak) sehingga harga menjadi lebih murah
(dibandingkan microprocessor). Sebagai kebutuhan pasar, mikrokontroler hadir untuk memenuhi selera
industri dan para konsumen akan kebutuhan dan keinginan alat-alat bantu dan mainan yang lebih canggi
serta dalam bidang pendidikan.
Tidak seperti sistem komputer, yang mampu menangani berbagai macam program aplikasi
(misalnya pengolah kata, pengolah angka, dan lain sebagainya), Microcontroller hanya bisa digunakan
untuk satu aplikasi tertentu saja. Perbedaan lainnya terletak pada perbandingan RAM dan ROM-nya. Pada
sistem komputer perbandingan RAM dan ROM-nya besar, artinya program-program pengguna disimpan
dalam ruang RAM yang relatif besar, sedangkan rutin-rutin antar muka perangkat keras disimpan dalam
ruang ROM yang kecil. Sedangkan Pada mikrokontroler, perbandingan ROM dan RAM-nya yang besar
artinya program control disimpan dalam ROM yang ukurannya relatif lebih besar, sedangkan RAM
digunakan sebagai tempat penyimpanan sederhana sementara, termasuk register-register yang digunakan
pada Microcontroller yang bersangkutan. Microcontroller AT89S51 merupakan salah satu keluarga dari
MCS-51 keluaran Atmel. Jenis Microcontroller ini pada prinsipnya dapat digunakan untuk mengolah data
per bit ataupun data 8 bit secara bersamaan.
Pada prinsipnya program pada Microcontroller dijalankan bertahap, jadi pada program itu sendiri
terdapat beberapa set instruksi dan tiap instruksi itu dijalankan secara bertahap atau berurutan.
Beberapa fasilitas yang dimiliki oleh microcontroller AT89S51 adalah sebagai berikut: Sebuah Central Processing Unit 8 bit
RAM internal 128 byte Flash memori 4 Kbyte
Lima buah jalur interupsi (dua buah interupsi eksternal dan tiga buah interupsi internal) Empat buah programable port I/O yang masing-masing terdiri dari delapan buah jalur I/o Sebuah port serial dengan kontrol serial full duplex UART
Kemampuan untuk melaksanakan operasi aritmatika dan operasi logika
Kecepatan dalam melaksanakan instruksi per siklus 1 mikrodetik pada frekuensi 12 MHz.
2.1.2 Kontruksi AT89S51
Microcontroller AT89S51 hanya memerlukan tambahan 3 kapasitor, 1 resistor dan 1 kristal serta
catu daya 5 volt. Kapasitor 10 micro-fard dan resistor 10 kilo Ohm dipakai untuk membentuk rangkaian
riset. Dengan adanya rangkaian riset ini AT89S51 otomatis diriset begitu rangkaian menerima catu daya.
Kristal dengan frekuensi maksimum 24MHz dan kapasitor 30 mikro-farad dipakai untuk melengkapi
rangkaian oscilator pembentuk clock yang menentukan kecepatan kerja Microcontroller.
Memori merupakan bagian yang sangat penting pada Microcontroller. Microkontroller 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 Memory (RAM) isinya akan sirna begitu IC kehilangan catu daya, dipakai untuk
menyimpan data pada saat program bekerja. RAM yang dipakai untuk menyimpan data ini disebut
sebagai memori data.
Ada berbagai jenis ROM. Untuk Microcontroller dengan program yang sudah baku dan
diproduksi secara massal, program diisikan kedalam ROM pada saat IC Microcontroller dicetak dipabrik
IC. Untuk keperluan tertentu Microcontroller menggunakan ROM yang dapat diisi ulang atau
Programble-Eraseable ROM yang disingkat menjadi PROM (PEROM). Dulu banyak UV-EPROM (Ultra
Violet Eraseable Programble ROM) yang kemudian dinilai mahal dan ditinggalkan setelah ada flash
Jenis memori yang dipakai untuk memori program AT89S51 adalah flash PEROM, program
untuk mengendalikan Microcontroller diisikan ke memori itu lewat bantuan alat yang dinamakan sebagai
AT89C4051 flash PEROM Programmer. Memori data yang disediakan dalam chip AT*(S51 sebesar 128
kilo byte meskipun hanya kecil saja tapi untuk banyak keperluan memori kapasitas itu sudah cukup.
AT89S51 dilengkapi UART (Universal Asyncronous Receiver/Transmiter) yang biasa dipakai
untuk komunikasi data secara seri. Jalur untuk komunikasi data seri (RXD dan TXD) diletakkan
berhimpitan dengan P1.0 dan P1.1. pada kaki nomor 2 dan 3, sehingga kalau sarana input/output 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/output paralel 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 dangan P3.2 dan P3.3 sehingga
tidak bisa dipakai sebagai jalur input/output paralel kalau INT0 dan INT1 dipakai untuk menerima sinyal
interupsi. Port1 dan 2, UART, Timer 0, Timer 1 dan sarana lainnya merupakan yang secara fisik
merupakan RAM khusus, yang ditempatkan di Special Function Register (SFR).
2.1.3. Pin-Pin pada Microcontroller AT89S51
Deskripsi pin-pin pada Microcontroller AT89S51 :
Gambar 2.1 IC Mikrokontroler AT89S51
VCC (Pin 40)
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.
Pada fungsi sebagai low order multiplex address/data, port ini akan mempunyai
internal pull up.terutama pada saat verifikasi program.
Port 2 (Pin 21 – pin 28)
Port 2 berfungsi sebagai I/O biasa atau high order address, pada saat mengaksememori 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 tabel berikut :
Tabel 1. 2.1.3 Fungsi Pin Mikrokontrler
Nama pin Fungsi
P3.0 (pin 10) RXD (Port input serial)
P3.1 (pin 11) TXD (Port output serial)
P3.2 (pin 12) INTO (interrupt 0 eksternal)
P3.3 (pin 13) INT1 (interrupt 1 eksternal)
P3.4 (pin 14) T0 (input eksternal timer 0)
P3.5 (pin 15) T1 (input eksternal timer 1)
P3.6 (pin 16) WR (menulis untuk eksternal data memori)
RST (pin 9)
Reset akan aktif dengan memberikan input high selama 2 cycle.
ALE/PROG (pin 30)
Address latch Enable adalah pulsa output untuk me-latch byte bawah dari alamat selama mengakses
memori eksternal. Selain itu, sebagai pulsa input progam (PROG) selama memprogam 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 progamming, pin ini akan mendapat
tegangan 12 Volt.
XTAL1 (pin 19)
Input untuk clock internal.
XTAL2 (pin 18)
Output dari osilator.
2.1.4 Driver Jembatan H
Motor stepper yang digunakan adalah motor stepper bipolar. Untuk mengendalikan motor stepper
bipolar ini dibutuhkan sebuah rangkaian driver motor stepper. Rangkaian driver motor stepper ini
berfungsi untuk memutar motor stepper searah/berlawanan arah dengan arah jarum jam. Mikrokontroler
tidak dapat langsung mengendalikan putaran dari motor stepper, karena itu dibutuhkan driver sebagai
perantara antara mikrokontroler dan motor stepper, sehingga perputaran dari motor stepper dapat
dikendalikan oleh mikrokontroler. Rangkaian driver motor stepper bipolar ditunjukkan pada gambar 2.2
VCC 5V 18 330 330 2SC945 2SC945 1.0k 1.0k 18 Tip 127 VCC 5V Tip 122 VCC 5V VCC 5V 18 330 330 2SC945 2SC945 1.0k 1.0k 18 Tip 127 Tip 122 Kumparan2 Kumparan1 Tip 127 18 Tip 122 1.0k VCC 5V VCC 5V 2SC945 1.0k 18 2SC945 330 330 Tip 127 18 Tip 122 1.0k VCC 5V VCC 5V 2SC945 1.0k 18 2SC945 330 330 Kumparan3 Kumparan4 Motor AT89C4051 AT89C4051 AT89C4051 AT89C4051 I III II IV
Gambar 2.2 Rangkaian driver motor stepper
Untuk mempermudah penjelasan, maka rangkaian di atas dikelompokkan menjadi 4 rangkaian.
Pada rangkaian di atas, jika salah input rangkaian I yang dihubungkan ke mikrokontroler diberi logika
high dan input pada rangkaian lainnya diberi logika low, maka kedua transistor tipe NPN C945 pada
rangkaian I akan aktip. Hal ini akan membuat kolektor dari kedua transistor C945 pada rangkaian I akan
mendapat tegangan 0 volt dari ground. Kolektor dari transistor C945 yang berada di sebelah kiri atas
diumpankan ke basis dari transistor tipe PNP TIP 127 sehingga basis dari transistor TIP 127 mendapatkan
tegangan 0 volt yang menyebabkan transistor ini aktip (transistor tipe PNP akan aktip jika tegangan pada
basis lebih kecil dari 4,34 volt). Aktipnya transistor PNP TIP 127 ini akan mengakibatkan kolektornya
terhubung ke emitor sehingga kolektor mendapatkan tegangan 12 volt dari Vcc.
Kolektor dari transistor TIP 127 dihubungkan ke kumparan, sehingga kumparan akan
mendapatkan tegangan 12 volt. Hal ini akan mengakibatkan kumparan menimbulkan medan magnet.
Medan magnet inilah yang akan mnarik motor untuk mengarah ke arah kumparan yang menimbulkan
medan magnet tersebut.
Sedangkan rangkaian II, III dan IV karena pada inputnya diberi logika low, maka kumparannya
tidak menimbulkan medan magnet, sehingga motor tidak tertarik oleh kumparan-kumparan tersebut.
Demikian seterusnya untuk menggerakkan motor agar berputar maka harus diberikan logika high
0 10 20 30 40 50 60 70 80 90 100 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.8 0.9 1.0 1.1
E
R
I
LI
L 2.1.5 Photo DiodaPada sebuah LED, cahaya yang tampak atau emiter infra red merubah listrik menjadi cahaya.
Cahaya pada sebuah LED terjadi akibat adanya gerakan dari sifat pembawa muatan minoritas pada arus
maju yang mengalir. Suatu dioda yang digunakan cahaya dibawah kondisi tertentu, dapat dibuat sensitif
dan junction dapat beroperasi sebagai sebuah photo sensor yang dikenal sebagai photo dioda, jadi photo
dioda adalah sebuah dioda PN junction yang merupakan jenis Silicon bias mundur yang arus mengalirnya
tergantung dari cahaya yang teradiasi.
Cahaya radiasi pada persambungan pada panjang gelombang tertentu menyebabkan
pasangan-pasangan lubang elektron terbentuk dan ini berasal dari penambahan aliran arus pada rangkaian luar.
Gambar 2.3 menunjukkan rangkaian photo detektor bias mundur. Dioda memiliki respon panjang
gelombang yang luas.
Gambar 2.3. Rangkaian Photo detektor bias mundur
Sungguh pun pengeluaran arus kecil. Panjang gelombang dan sensitifitas bahan yang digunakan
dengan tipe pemberi dan penerima material semikonduktor yang digunakan pada kedalaman penerobosan
dari cahaya radiasi gambar 2.4 menunjukkan gelombang photo dioda MRD 500.
In
te
n
si
ta
s
Arus
Intensitas H dari flux yang teradiasi (diukur dalam uW/cm2) menentukan besarnya arus IL jika
tidak ada radiasi cahaya maka arus bocor yang disebut arus gelap (IL) akan tetap, selain itu arus IL juga
tergantung pada tegangan dari arus bias mundur, resistansi beban, dan temperatur.
Photodioda PIN silicon dapat digunakan sebagai sumber tegangan photo. Cahaya yang
bergeseran pada penipisan area akan menciptakan sebuah tegangan photo yang sebanding pada cahaya
yang masuk, dalam hal ini tak ada bias dari luar yang dibutuhkan karena junction menggenerasikan
kekuatan elektromotivnya sendiri. Photodioda digunakan dalam aplikasi – aplikasi yang meliputi kartu
bacaan, kontrol cahaya ambient, layar proyektor. Photodioda yang dapat energi bias dari luar akan
menyebabkan arus kontrol mengalir melalui rangkaian eksternal.
Pada photodioda kita mengenal istilah responsivitas yaitu kemampuan dari sebuah photodioda
untuk menambah arus bias mundur sebagai hasil dari sebuah penambahan pada cahaya. Reposivitas dari
photodioda merupakan perbandingan dalam mA/mW pada panjang gelombang tertentu photodioda honeywell SE3452 mempunyai perbandingan 0.5mA/mW. Jika cahaya yang teradiasi pada cell 2 mV,
dioda akan menghasilkan arus yang mengalir sebesar 1 mA (0,5 mA/mW x 2 mV). Respon tertinggi dari
SE3452 sekitar 820nm .gambar 2.5 menunjukkan bias mundur dari sebuah photo dioda yang dihubungkan
pada beban resistor dimana tegangan dinaikkan.
IR
Gambar 2.5. Rangkaian photodioda bias mundur dengan beban resistor
Arus yang mengalir 0,1 mA melalui resistor 10kΩ akan menghasilkan tegangan 1 V, semakin tinggi harga resistor maka senakin besar pula tegangan yang dihasilkan tapi respon frekuensi akan
semakin kecil, sungguhpun responsivitas photodioda berada dalam range 0,2 – 0,6. photo transistor
multiplikasi. Kapasitansi suatu dioda kecil dan karena waktu, responnya kecil sekitar -50ns atau kurang.
Rise time (respon naik) suatu photo transistor berada pada range 1-20 us. Dalam menentukan emiter –
emiter dan sensor-sensor cahaya, pertimbangan harus ditentukan dari sebuah perangkat.
Karakteristik-karakteristik utama dari perangkat photo meliputi :
1. Spectral range
2. Besar output (emiter)
3. Sesinsitivitas (sensor)
4. Waktu respon
5. Pertimbangan – pertimbangan mekanik.
2.1.6 Transistor Sebagai Saklar.
Banyak kegunaan dari transistor, salah satunya adalah sebagai saklar. Jika transistor digunakan
sebagai saklar maka dalam hal ini transistor tersebut dioperasikan dalam daerah jenuhnya (saturasi) dan
daerah yang menyumbat (cut-off). Pada saat transistor dalam keadaan jenuh maka resistansi antara
kolektor dan emitor akan sangat kecil, maka transistor ini akan berfungsi sebagai saklar yang tertutup
(ON) sedangkan apabila transistor dalam keadaan cut-off, maka resistansi antara kolektor dan emiter
akan sangat besar, maka transistor akan berfungsi sebagai saklar yang terbuka (OFF). Lebih lanjut dapat
kita lihat seperti gambar 2.6
Vi
a b
Gambar 2.6. Transistor Sebagai Saklar
a. Transistor sebagai saklar
b. Analogi transistor sebagai saklar
- Arus IC = maximum
- Tegangan VCE = 0
Paa saat OFF:
- Arus IC = 0 - VCE = VCC – VRC
- VRC = Ic x Rc = VCC – 0V
= 0 x Rc VCE = VCC
= 0
Pada saat basis transistor mengalir arus, transistor dalam keadaan on, maka:
IB = Vi - VBE / RB……….(2.1)
IC = VCC / RC……….(2.2)
2.1.7 Regulator Tegangan Tetap (78xx)
Catu daya merupakan sesuatu yang sangat penting untuk semua rangkaian elektronika. Dewasa ini semua sistim elektronika sudah beroperasi dengan catu daya yang stabil. Untuk mendapatkan tegangan yang benar-benar stabil dari suatu penyearah yang telah di-filter dengan kapasitor dapat digunakan
rangkaian tegangan tetap. Regulator tegangan tetap ini terbagi atas 2 bagian rangkaian yaitu: * Regulator Positif (IC78XX)
* Regulator Negatif (IC79XX)
Regulator ini dimaksudkan untuk memberikan kemampuan catu yang mantap dengan komponen extern seminim mungkin. Ragulator ini bekerja berdasarkan asas-asas, seperti pembatasan arus lipat balik, penghambat panas, dan pembatas daerah aman yang mencegah tingkat keluaran bergerak keluar dari disipasi daya aman.
IC1 Trafo D1 D2 C1 C3 D3 D4 C2 C4 IC2
Tabel 2.3. Karakteristik IC 78XX dan 79XX
Type
78/79XX
V(out)
Volt
I Out (amper) V in (volt)
Min Max Min Max
05 5 0.5 1 7.5 20 06 6 0.5 1 8.6 21 08 8 0.5 1 10.6 23 10 10 0.5 1 12.7 25 12 12 0.5 1 14.8 27 15 15 0.5 1 14.8 27 18 18 0.5 1 21 33 24 24 0.5 1 27.5 36
Bila menggunakan regulator tegangan IC 78XX ada beberapa hal tentang kontruksi yang perlu diperhatikan:
Semua konduktor yang mengalirkan arus-arus besar harus diusahakan setebal dan sependek mungkin.
Semua sambungan umum harus dihubungkan dengan kondensator.
Kondensator-kondensator kopling masukan dan keluaran harus dipasang sedekat mungkin dengan masukan dan pena keluaran IC
Harus diadakan pendinginan yang memadai.
2.1.8 Kristal
Kristal adalah komponen yang dibuat dari bahan alam yang menunjukan efek piezoelektrik,
sehingga sering disebut Kristal Piezoelektrik. Bahan utama kristal yang dapat menimbulkan efek
piezoelektrik adalah garam rachelle, tourmaline dan quarte.
Dalam sebuah kristal Piezoelektrik, biasanya quartz, yang mempunyai yang dilapiskan pada
permukaan yang berhadapan, apabila diberikan suatu potensial pada elektroda-elektrodanya maka gaya
akan bekerja pada muatan-muatan yang terikat dalam kistal. Apabila komponen ini dipasang dengan
benar, maka dalam kristal akan terjadi deformasi - deformasi sehingga terbentuk suatu sistim
elektromekanik yang akan bergetar bila dibandingkan dengan benar. Frekuensi, resonansi dan nilai Q –
MHz. jangkauan nilai Q-nya yang beberapa ribu sampai beberapa ratus ribu data diperoleh secara
komersial.
Dengan nilai Q yang sangat tinggi dan dari kenyataan bahwa karakteristik Quartz sangat setabil
terhadap waku dan temperatur, maka kristal akan menghasilkan stabilitas frekuensi pada osilator –osilator
yang dibangun dengan menggunakan kristal.
Pada hakikatnya, frekuensi dari suatu osilator kristal hanya dittentukan oleh kristalnya dan tidak
oleh komponen lainnya. Lambang kristal dan ekivalen AC (model listriknya) dapat dilihat pada gambar
2.8 berikut ini :
Gambar 2.8. (a) lambang Kristal, (b) Rangkaian ekivalen AC Kristal
2.1.9 Rangkaian UV-Tron dengan AVR
UV-Tron yang kita gunakan merupakan UV-Tron seperti bola lampu dengan board pengaturnya
C3704. Anoda UV-Tron (kaki lebih panjang) dihubungkan dengan lubang di C3704 dengan tanda A dan
Katoda (kaki lebih pendek) dengan lubang bertanda K.
Gambar 2.9 UV-Tron yang terpasang di C3704
Untuk input tegangan menurut spesifikasi, board C3704 membutuhkian input tegangan 10 – 30 V
DC. Sebenarnya input tersebut tetap diregulasi ole C3704 menjadi 5V. Untuk melewati regulator pada
C3704 dengan memberikan langsung tegangan 5V ke kaki output regulator 3704. Regulator pada 3704
O (output), G (ground), I(input), dan 0 (output). Lubang ke-4 yang bertanda “0” tidak digunakan sebagai
input tegangan 5V. Seperti gambar dibawah:
Figure 76: UV TRON Wiring
Gambar 2.10 Hubungan sumber tegangan C3704
Gambar 2.11 Hubungan sumber tegangan C3704
Jika kita menggunakan sumber tegangan 10-30V DC, bisa disambungkan dengan tanda “+” dan
groundnya tetap kelubang betanda “-“. Hubungan ke AVR adalah melalui lubang Q (lubang denagn tanda
1)dan Q bar (lubang bertanda 2). Lubang 1 da 2 ini merupakan sinyal output berupa pulsa high atau low.
Jika diinginkan uC untuk membaca masukan 5V, maka pin uC dihubungkan dengan lubang Q. Jika
diinginkan uC untuk membaca kondisi low, maka hubungkan dengan kondisi low, maka hubungkan
dengan lubang Q bar. Lebar pulsa saat mendeteksi adanya nyala lilin adalah 10 ms. Di board C3704 juga
terdapat setting jumper 3.5.7. dan 9 ( disebut dengan setting background cancel level). Jika pancaran
cahaya natural terlalu banyak dapat diset jumpernya ke- 9, defaulnya adalah 3. Jadi saat UV-Tron
2.3 software
2.2.1 Bahasa Assembly MCS-51
Bahasa yang digunakan untuk memprogram IC mikrokontroler AT89S51 adalah bahasa
assembly untuk MCS-51. angka 51 merupakan jumlah instruksi pada bahasa ini hanya ada 51 instruksi.
Instruksi –instruksi tersebut antara lain :
1. Instruksi MOV
Perintah ini merupakan perintah untuk mengisikan nilai ke alamat atau register tertentu. Pengisian
nilai dapat secara langsung atau tidak langsung.
Contoh pengisian nilai secara langsung
MOV R0,#20h
Perintah di atas berarti : isikan nilai 20 Heksadesimal ke register 0 (R0).
Tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah nilai.
Contoh pengisian nilai secara tidak langsung
MOV 20h,#80h ...
... MOV R0,20h
Perintah di atas berarti : isikan nilai yang terdapat pada alamat 20 Heksadesimal ke register 0
(R0).
Tanpa tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah alamat.
2. Instruksi DJNZ
Decreament Jump If Not Zero (DJNZ) ini merupakan perintah untuk mengurangi nilai register
tertentu dengan 1 dan lompat jika hasil pengurangannya belum nol. Contoh ,
MOV R0,#80h Loop: ...
...
DJNZ R0,Loop ...
R0 -1, jika belum 0 lompat ke loop, jika R0 = 0 maka program akan meneruskan ke perintah pada
3. Instruksi ACALL
Instruksi ini berfungsi untuk memanggil suatu rutin tertentu. Contoh :
... ACALL TUNDA ... TUNDA: ... 4. Instruksi RET
Instruksi RETURN (RET) ini merupakan perintah untuk kembali ke rutin pemanggil setelah
instruksi ACALL dilaksanakan. Contoh,
ACALL TUNDA ... TUNDA: ... RET 5. Instruksi JMP (Jump)
Instruksi ini merupakan perintah untuk lompat ke alamat tertentu. Contoh,
Loop:
... ... JMP Loop
6. Instruksi JB (Jump if bit)
Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud
berlogika high (1). Contoh,
Loop:
JB P1.0,Loop ...
7. Instruksi JNB (Jump if Not bit)
Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud
berlogika Low (0). Contoh,
JNB P1.0,Loop ...
8. Instruksi CJNZ (Compare Jump If Not Equal)
Instruksi ini berfungsi untuk membandingkan nilai dalam suatu register dengan suatu nilai
tertentu. Contoh,
Loop:
...
CJNE R0,#20h,Loop ...
Jika nilai R0 tidak sama dengan 20h, maka program akan lompat ke rutin Loop. Jika nilai R0 sama dengan 20h,maka program akan melanjutkan instruksi selanjutnya..
9. Instruksi DEC (Decreament)
Instruksi ini merupakan perintah untuk mengurangi nilai register yang dimaksud dengan 1.
Contoh,
MOV R0,#20h R0 = 20h ...
DEC R0 R0 = R0 – 1 ...
10. Instruksi INC (Increament)
Instruksi ini merupakan perintah untuk menambahkan nilai register yang dimaksud dengan 1.
Contoh,
MOV R0,#20h R0 = 20h ...
INC R0 R0 = R0 + 1 ...
11. Dan lain sebagainya
2.2.2 Software 8051 Editor, Assembler, Simulator (IDE)
Instruksi-instruksi yang merupakan bahasa assembly tersebut dituliskan pada sebuah editor, yaitu 8051 Editor, Assembler, Simulator (IDE). Tampilannya seperti di bawah ini.
Gambar 2.12. 8051 Editor, Assembler, Simulator (IDE)
Setelah program selesai ditulis, kemudian save dan kemudian Assemble (compile). Pada saat
di-assemble akan tampil pesan peringatan dan kesalahan. Jika masih ada kesalahan atau peringatan, itu
berarti ada kesalahan dalam penulisan perintah atau ada nama subrutin yang sama, sehingga harus
diperbaiki terlebih dahulu sampai tidak ada pesan kesalahan lagi.
Software 8051IDE ini berfungsi untuk merubah program yang kita tuliskan ke dalam bilangan
heksadesimal, proses perubahan ini terjadi pada saat peng-compile-an. Bilangan heksadesimal inilah yang
akan dikirimkan ke mikrokontroller.
2.2.3 Software Downloader
Untuk mengirimkan bilangan-bilangan heksadesimal ini ke mikrokontroller digunakan software
ISP- Flash Programmer 3.0a yang dapat didownload dari internet. Tampilannya seperti gambar di bawah
ini
Gambar 2.13 ISP- Flash Programmer 3.a
Cara menggunakannya adalah dengan meng-klik Open File untuk mengambil file heksadesimal dari hasil