KEIL C51 EDT Pemrograman

4.2. Implementasi Perangkat lunak

Pada implementasi perangkat lunak penulis mengimplementaskan perancangan perangkat lunak yang telah dibahas pada bab sebelumnya seperti software yang digunakan penulis untuk menanamkan program robot kedalam mikrokontroler, driver motor, sensor ultrasonik, sensor api.

4.2.1 Mikrokontroler AT89C51

Untuk implementasi dari perancangan perangkat lunak mikrokontroler AT89C51 penulis menggunakan hardware dan software yaitu KEIL C51 v8.16 software untuk merubah bahasa C++ yang penulis buat ke bentuk biner atau heksa dan EDT programmer hardware yaitu alat untuk tempat mikrokontroler pada saat ditanamkan program untuk robot yang penulis buat dan EDT programmer software untuk menanamkan program C++ yang telah dirubah ke biner atau heksa untuk ditanamkan ke mikrokontroler.

4.2.1.1 KEIL C51

Program C++ merupakan program yang ditulis oleh penulis yaitu program yang berupa kumpulan baris-baris perintah dan disimpan dalam file yang berextensi .Uv2 uvision project . program ini ditulis menggunakan software Keil c51. Keil C51 adalah software untuk menulis program C++ dari keluarga MCS-51 sehingga Keil c51 ini cocok digunakan untuk mikrokontroler AT89C51. Keil ini berfungsi untuk merubah mengkonvert program C++ ke biner atau heksa file yang akan ditanam ke mikrokontroler AT89C51. Gambar 4.10 tampilan Keil C51 Pada Keil C51 ini mengkonvert program yang telah dibuat dalam bentuk .bin atau biner dan juga .hex atau heksa ini bertujuan untuk program yang akan ditanam ke mikrokontroler. Langkah pertama yang harus dilakukan adalah buka Keil C51 jika telah terinstal buka open dan pilih program dan letak program anda yang akan dikonvert menjadi biner atau heksa selanjutnya pilih run atau tekan f5.

4.2.1.2 EDT

programmer software EDT programmer adalah software yang digunakan penulis untuk menanam mendownload program C++ yang telah kita konvert ke dalam bentuk heksa untuk robot ke mikrokontroler, dengan fasilitas pendukung hardware dari EDT programmer . Gambar 4.11 EDT programmer software Setelah penulis membuat program robot dengan bahasa C++ maka penulis mengkonvert program C++ tersebut menjadi program biner atau heksa dan tahap terakhir yaitu menanam program biner atau heksa tersebut ke mikrokontroler dengan menggunakan sofware dan hardware EDT programmer .

4.2.1.3 Pemrograman

driver motor Untuk implementasi perangkat lunak driver motor ini penulis mengimplementasikan dari perancangan perangkat lunak dari driver motor dimana penulis akan mengimplementasikan program yang akan digunakan atau ditanamkan ke mikrokontroler AT89C51 untuk menggerakkan motor dc yang berfungsi untuk menarik roda robot sehingga robot dapat bergerak sesuai dengan program yang diisikan atau ditanamkan ke mikrokontroler AT89C51. Telah dibahas pada bab sebelumnya tentang perancangan perangkat lunak dari driver motor tentang diagram alir yang penulis buat pada gambar 3.8 yaitu untuk menggerakkan robot bergerak maju, belok kanan, mundur dan belok kiri. Penulis mengimplementasikan diagram alir tersebut kepada robot untuk langkah pertama yaitu seperti yang dijelaskan pada bab mikrokontroler AT89C51 yaitu membuat programC++ pada Keil C51 dikonvert ke biner atau heksa lalu ditanam ke mikrokontroler dengan menggunakan EDT programmer hardware dan software. Program yang ditanamkan penulis untuk mengimplementasikan diagram alir dari bab sebelumnya tentang driver motor adalah sebagai berikut : void majulong delay { L1 = 1; L2 = 0; R1 = 1; R2 = 0; idelaydelay; } void kirilong delay { L1 = 0; L2 = 1; R1 = 1; R2 = 0; idelaydelay; } void kananlong delay { L1 = 1; L2 = 0; R1 = 0; R2 = 1; idelaydelay; } void kiri2long delay { L1 = 0; L2 = 0; R1 = 1; R2 = 0; idelaydelay; } void kanan2long delay { L1 = 1; L2 = 0; R1 = 0; R2 = 0; idelaydelay; } void mundurlong delay { L1 = 0; L2 = 1; R1 = 0; R2 = 1; idelaydelay; } void matilong delay { L1 = 0; L2 = 0; R1 = 0; R2 = 0; P0_0 = 1; spd = 1; idelaydelay; } Keterangan dari perangkat lunak driver motor diatas adalah L untuk roda sebelah kiri R untuk roda sebelah kanan, sedangkan 0 adalah pemberian nilai pada motor yaitu negatif atau 0, 1 adalah pemberian nilai positif atau 1 dalam assembly 1 adalah set bit sedangkan 0 adalah clear, void disini adalah sub rrutin pemanggilan, spd adalah PWM atau kecepatan dari motor dan delay adalah penundaan.

4.2.1.4 Pemrograman