BAB 2
LANDASAN TEORI PINTU KANAL BANJIR OTOMATIS PADA
BENDUNGAN
2.1 Prinsip kerja pembuka/penutup pintu
Dalam membuat suatu alat ada beberapa hal yang perlu di perhatikan yaitu bagaimana cara merancang alat yang akan di buat sesuai dasar teori. Sebelum merancang suatu sistem atau rangkaian terlebih dahulu membuat blok diagramnya.
Sensor air sederhana A T 8 9 S 5 1 pintu
Motor stepper
Driver stepper motor
Saklar batas tutup
Saklar batas buka
Gambar 2.1 Diagram Blok Sistem pembuka/penutup pintu
Universitas Sumatera Utara
Diagram blok merupakan salah satu cara yang paling sederhana untuk menjelaskan cara kerja dari suatu sistem dan memudahkan untuk melokalisir kesalahan dari suatu sistem. Dengan diagram blok kita dapat menganalisa cara kerja rangkian dan merancang hardware yang akan dibuat secara umum. Diagram merupakan pernyataan hubungan yang berurutan dari suatu atau lebih komponen yang memiliki kesatuan kerja tersendiri, dan setiap blok komponen mempengaruhi komponen lainya.
Diagram blok memiliki arti yang khusus dengan memberikan keterangan di dalamnya. Untuk setiap blok di hubungkan dengan sutatu garis yang menunjukkan arah kerja dari setiap blok yang bersangkutan.
2.2 Sensor air sedehana
Sensor air sederhana dapat dibuat scara langsung yaitu,hanya dengan menggunakan dua utas kabel. Sifat air yang dapat menghantar arus listrik dengan baik menbuat kita dapat mendeteksi adanya air yang telah menyentu sensor. Salah satu utas kabel diberi tegangan listrik apabila air menyentuh kedua utas kabel maka arus listrik yang telah diberikan kepada salah satu utas kabel akan mengali ke kabel yang satu lagi. Tegangan listrik yang diberikan tentunya bukan tegangan listrik yang tinggi, sebap tegangan listrik yang tinggi akan membahayakan dan membunuh ekosistem pada bendungan. Tegangan yang di berikan hanyalah tegangan rendah 5V DC.
Universitas Sumatera Utara
2.3 Mikrokontroler AT89S51
Mikrokontroller
sebagai
suatu
terobosan
teknologi
mikrokontroler
dan
microkomputer, 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 registerregister 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.
Universitas Sumatera Utara
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 Osilatc : internal dan rangkaian pewaktu 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.
Universitas Sumatera Utara
2.3.1 Kontruksi AT89S51
Mikrokontroller 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 AT89C4051 otomatis diriset begitu rangkaian menerima catu daya. Kristal dengan frekuensi maksimum 24MHz dan kapasitor 30 mikro-farad dipakai untuk melengkapi rangkaian
oscilator
Microcontroller.
pembentuk
Memori
clock
merupakan
yang bagian
menentukan yang
sangat
kecepatan
kerja
penting
pada
Microcontroller. Microcontroller 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. 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 PEROM yang harganya jauh lebih murah.
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.
Universitas Sumatera Utara
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 AT89S51 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).
Universitas Sumatera Utara
2.3.2
Pin-Pin pada Microcontroller AT89S51
Deskripsi pin-pin pada Microcontroller AT89S51 :
Gambar 2.2 IC Mikrokontroler AT89S51
VCC (Pin 40) Suplai tegangan GND (Pin 20 ) Ground Port 0 (Pin 39-Pin 32)
Universitas Sumatera Utara
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, por ini akan mempunyai internal pull up. Pada saat flash progamming diperlukan eksternal pull up, terutama pada saat verifikasi program. 4. 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. 5. Port 3 (Pin 10 – pin 17) Port 3 merupakan 8 bit port I/O dua arah dengan internal pullup. Port 3 juga mempunyai fungsi pin masing-masing, yaitu sebagai berikut :
Tabel 2.1 Fungsi Masing-masing Pin pada Port 3 Mikrokontroler
Nama Pin
Fungsi
Alternatif
P3.0 (pin 10)
RXD
Untuk menerima data port serial
P3.1 (pin 11)
TXD
Untuk mengirim data port serial
P3.2 (pin 12)
INT0
Interupsi Eksternal waktu pencacah 0
Universitas Sumatera Utara
P3.3 (pin 13)
INT1
Interupsi Eksternal waktu pencacah 1
P3.4 (pin 14)
T0
Input Eksternal waktu pencacah 0
P3.5 (pin 15)
T1
Input Eksternal waktu pencacah 1
P3.6 (pin 16)
WR
Jalur menulis memori data eksternal
P3.7 (pin 17 )
RD
Jalur membaca memori data eksternal
6. RST (pin 9) Reset akan aktif dengan memberikan input high selama 2 cycle. 7. 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. 8. SEN (pin 29) Progam store enable digunakan untuk mengakses memori progam eksternal 9. 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. 10. XTAL1 (pin 19) Input untuk clock internal 11. XTAL2 (pin 18) Output dari osilator
Universitas Sumatera Utara
2.4 Driver Motor stepper Motor stepper yang digunakan pada contoh ini bertipe hibrid unipolar, memiliki empat fasa dan panjang langkah sebesar 1,80 per langkahi. Motor diharapkan dapat berputar dalam dua arah dan memiliki dua kecepatan. Karena itu diperlukan pengendali motor stepper yang memiliki empat keluaran pulsa dengan kemampuan dua arah perputaran dan dua macam frekuensi pulsa guna mengatur kecepatan motor.
. Gambar 2.3 (a) bentuk pulsa keluaran dari driver motor stepper (b) penerapan pulsa driver pada motor stepper dan arah putaran yang bersesuaian Arah putaran motor dapat diatur dengan mengatur kondisi logika masukan pada pena 13 dari IC 74LS86. Jika diterapkan logika 0, maka motor akan berputar berlawanan dengan arah jarum jam (counter clock wise) sedangkan jika diterapkan logika 1, maka motor akan berputar dengan arah sesuai dengan ajah jarum jam (clockwise).
Kecepatan motor ditentukan oleh frekuensi masukan clock yang berbentuk gelombang persegi empat. Pulsa clock ini dibangkitkan oleh rangkaian osilator pembangkit pulsa berbasis IC timer 555.
Universitas Sumatera Utara
Gambar 2.4 bentuk gelombang keluaran rangkaian pembangkit pulsa
Pulsa di atas memiliki frekuensi dan periode yang konstan. Periode dari satu gelombang penuh adalah Tt (Time total). Th (Time high) adalah periode sinyal positif atau tinggi sedangkan Tl (Time low) adalah periode sinyal nol atau rendah. Periode gelombang keluaran tersebut ditentukan oleh VR1, VR2, R1, R2 dan C1. Kapasitor C2 hanya berfungsi sebagai penstabil rangkaian. Untuk menghitung Periode keluaran, dapat dilakukan dengan rumus berikut ini: Th = 0,693 × C1 × (VR1 + R1 + R2) Tl = 0,693 × C1 × R2 Tt = Th + T Jadi periode gelombang (Tt) adalah: f=
1 Tt
dimana f adalah frekunsi (Hz) Tt adalah time total ( sekon ) Karena motor yang digunakan terdiri atas 4 phase dan memiliki kecepatan sudut 1,80 per langkah, maka:
v=
×f
Universitas Sumatera Utara
dimana : v adalah kecepatan motor ( rpm ) f adalah frekuensi (Hz ) digunakan transistor bipolar (BJT) tipe TIP31 yang disusun sebagai open collector switch. Transistor TIP31 adalah tergolong transistor daya menengah yang mampu mengalirkan arus puncak hingga 5 A. Transistor-transistor ini harus dilengkapi oleh lempengan pendingin dari aluminium untuk mengurangi panas yang terjadi akibat besarnya arus yang mengalir. L1 - L4 adalah lilitan (wound) dalam motor stepper. Dioda D1 - D4 berfungsi sebagai pelindung rangkaian dari tegangan tinggi (back EMF) yang mungkin timbul dari lilitan motor setepper.
Keluaran dari rangkain pengendali motor stepper (phase1 - phase4) dihubungkan ke masukan dari empat transistor tersebut melalui R1 - R2. Jika masukan bernilai sinyal rendah, maka transistor akan berada pada keadaan cut-off sehingga arus dalam lilitan motor stepper tidak mengalir. Jika masukan bernilai tinggi (diatas tegangan ambang transistor), maka transistor akan on sehingga tegangan antara kolektor dengan emitor (VCE ) turun dan arus dapat mengalir ke tanah (ground). Dengan begitu motor stepper berputar. Jika sinyal keluaran dari pengendali motor stepper berbentuk seperti L4 akan dialiri arus secara berurutan. Dengan begitu rotor dari motor stepper akan berputar sesuai dengan arah urutan.
Universitas Sumatera Utara
2.5 Motor Stepper Motor stepper adalah perangkat elektromekanis yang bekerja dengan mengubah pulsa elektronis menjadi gerakan mekanis diskrit. Motor stepper bergerak berdasarkan urutan pulsa yang diberikan kepada motor. Karena itu, untuk menggerakkan motor stepper diperlukan pengendali motor stepper yang membangkitkan pulsa-pulsa periodik. Sudut rotasi motor proporsional dengan pulsa masukan sehingga lebih mudah diatur
Stepper motor adalah salah satu tipe motor yang sangat populer digunakan sebagai peralatan penggerak/pemutar (movement unit/actuator) dalam sistem kontrol otomatis di industri, instrumentasi, bahan printer yang sering kita pakai sehari-hari
Pada dasarnya, prinsip kerja stepper motor ini sama DC Motor, yaitu pembangkitan medan magnit untuk memperoleh gaya tarik ataupun gaya lawan dengan menggunakan catu tegangan DC pada lilitan/kumparannya. Perbedaanya terletak pada gaya
yang digunakan. Bila DC Motor menggunakan gaya lawan
untuk ”melawan” atau mendorong ”fisik kutub magnet” yang dihasilkan maka stepper motor justru menggunakan gaya tarik untuk menarik ”fisik kutub magnet yang berlawanan” sedekat mungkin ke posisi kutub magnet dihasilkan oleh kumparan.Oleh karena itu, pada DC Motor, putaranya relatif tidak terkendal, jarak tolakannya sangat relatif, tergantung pada besar medan magnet yang dihasilkan. Sebaliknya pada stepper motor, gerakan motor terkendali karena begitu kutub yang berlawanan tadi sudah tarik-menarik dalam posisi yang paling dekat, gerakan akan berhenti dan direm.
Bila kumparan mendapat tegangan dengan analogi mendapat logika 1, maka akan dibangkitkan kutub magnet yang berlawanan dengan kutub magnet tetap pada
Universitas Sumatera Utara
rotor. Dengan demikian, posisi kutub magnet rotor akan ditarik mendekati lilitan yang menghasilkan kutub magnet tetap pada rotor itu akan berpinda posisi menuju kutub magnet lilitan yang dihasilkan sekarang. Berarti, telah terjadi gerakan 1 step. Bila langkah ini diulang terus-menerus, dengan memberikan tegangan secara bergantian ke lilitan-lilitan yang bersebelahan, rotor akan berputar.
Logika perputaran rotor tersebut dapat dianalogikan secara langsung dengan data 0 atau 1 yang diberikan secara serentak terhadap semua lilitan stator moto. Hal ini sangat memudahkan bagi sistem designer dalammencibtakan putaran-putaran stepper motor secara bebas dengan hanya mempermainkan bit-bit pada data yang dikirimkan ke rangkaian interface stepper motor tersebut.
Untuk stepper motor 4 fase, pada prinsipnya ada dua macam cara kerja, yaitu full stef dan Half stef . Penjabatan formasi logika dalam tabel ini adalah untuk mewakili putaran 360° relatif terhadap fase dari motor.
Stepper Motor yang dijumpai di pasaran sebagian besar melipatgandakan jumlah kutub magnit kumparannya dengan memperbanyak kumparan stator sejenis melingkar berurutan dalam konfigurasi penuh 360° rill terhadap poros rotor ( dengan jumlah fase tetap). Hal ini dilakukan untuk memperoleh efek rill ” putaran 1 stef” yang lebih presisi, misalnya 3,6°/stef atau 1,8°/stef.
Untuk memperoleh efek ” cekraman ” yang lebih kuat, modus data yang diberikan pada mode full wave dapa dimanipulasi dengan memberikan double aktive bits pada setiap formasi. Dengan cara ini, torsi yang dihasilkan akan lebih besar. Namun demikian, penggunaan arus akan berlipat dua karena pada saat yang
Universitas Sumatera Utara
bersamaan dua lilitan mendapatkan arus kemudi. Dalam aplikasinya, sumber daya yang tersedia perlu diperhatikan.
Tabel 2.2 Formasi tegangan/logika pada Stepper Motor
Stef ke 1 2 3 4 5 6 7 8
full stef 1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
1 1 0 0 0 0 0 1
Berulang ke stef 1
Half stef 0 0 1 0 1 0 1 1 0 1 0 1 0 0 0 0 Berulang ke stef 1
0 0 0 0 0 1 1 1
Tabel 2.3 Formasi double active bit untuk mode putaran full step
1 2 3 4
Stef ke 1 0 0 1
Full step 1 1 0 0
0 1 1 0
0 0 1 1
Pada full step, suatu titik pada sebuah kutub magnet dirotor akan kembali mendapat tarikan medan magnet stator pada lilitan yang sama setelah step 4. Berikutnya, dapat diberikan lagi mulai dari stef satu 1. Untuk Half step semua kutub magnet pada rotor akan kembali mendapatkan tarikan dari medan magnet lilitan yang sama setelah step 8. Berikutnya mulai step 1.
Melihat bahwa pergerakan stepper motor adalah berdasarkan perubahan logika pada input lilitan-lilitanya maka menjadi mudah bagi programer untuk mengubah arah gerakan dan kedudukan rotor pada posisi yang akurat. Ini adalah salah satu keuntungan dari penggunaan stepper motor. Untuk membuat gerakan yang lebih
Universitas Sumatera Utara
presisi, biasanya jumah batang magnet di rotor di perbanyak dan lilitan dibuat berpasangan sesuai posisi kutub magnet rotor. Cara lain adalah menggunakan sistem gear pada poros rotor tanpa mengubah karakteristik stepper motornya.
2.6 Perangkat lunak 2.6.1 Bahasa Assembly MCS-51
Bahasa yang digunakan untuk memprogram IC mikrokontroler AT89C4051 adalah bahasa assembly untuk MCS-51. angka 51 merupakan jumlah instruksi pada bahasa ini hanya ada 51 instruksi, antara lain yaitu :
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).
Universitas Sumatera Utara
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 baris berikutnya.
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,
Universitas Sumatera Utara
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, Loop: JNB P1.0,Loop .................
Universitas Sumatera Utara
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
..............
Universitas Sumatera Utara
2.6.2 Software 8051 Editor, Assembler, Simulator
Instruksi-instruksi yang merupakan bahasa assembly tersebut dituliskan pada sebuah editor, yaitu 8051 Editor, Assembler, Simulator. Tampilannya seperti di bawah ini.
Gambar 2.5 Software 8051 Editor, Assembler, Simulator Setelah program selesai ditulis, kemudian di-save dan kemudian di-Assemble (dicompile). 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.
Universitas Sumatera Utara
2.6.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.6 ISP- Flash Programmer
Cara menggunakannya adalah dengan meng-klik Open File untuk mengambil file heksadesimal dari hasil kompilasi 8051IDE, kemudian klik Write untuk mengisikan hasil kompilasi tersebut ke mikrokontroller.
Universitas Sumatera Utara