Perancangan Program Mikrokontroler Perancangan Perangkat Lunak Robot

3.4 Perancangan Perangkat Lunak Robot

Perangkat lunak yang dikembangkan dalam membangun sebuah robot IUV terbagi menjadi dua, yaitu program mikrokontroler dan program kendali berbasis GUI Graphical User Interface.

3.4.1 Perancangan Program Mikrokontroler

Program mikrokontroler adalah program yang ditanamkan ke dalam memori program Flash Memory. Program dibuat dengan menggunakan bahasa assembly A51, yaitu bahasa mesin untuk mikrokontroler MCS-51. Program ini digunakan untuk mengatur pembacaan input dari perangkat kontrol dan pengendalian pergerakkan robot serta komunikasi dengan perangkat kontrol. Berikut adalah penjelasan dari masing-masing proses pada program mikrokontroler. A, key A=’F’ MOV P1,05H END Yes A=’B’ MOV P1,0A0H A=’R’ MOV P1,60H No No Yes Yes A=’L’ MOV P1,90H No Yes CJNE A, Key START SERIAL_RECEIVE No Gambar 3.20 Flowchart Pembacaan Input Penunjuk Rutin Gerak Horizontal Universitas Sumatera Utara Pembacaan input read data dari perangkat kontrol dilakukan dengan proses scaning code nilai variabel key dari output program komputer yang diterima oleh mikrokontroler secara serial melalui register buffer yang kemudian di-copy ke dalam Akumulator. Nilai yang telah tersimpan pada akumulator akan dicek dengan rutin percabangan untuk menentukan perintah atau proses selanjutnya. Jika nilai A=’F’ ‘F’= kode ASCII karakter F sebagai konstanta pembanding maka akan dilakukan proses eksekusi rutin Forward robot bergerak maju. Namun, Jika nilai A yang dibandingkan tidak sama dengan salah satu konstanta pembanding ‘F’= forward, ’B’= back, ‘R’= right, atau ‘L’= left maka proses akan berpindah pada proses decision yang berikutnya hingga diperoleh nilai A=konstanta. Demikian juga halnya dengan proses pembacaan dan rutin gerak vertikal gambar 3.21. Masing-masing konstanta ‘U’, ‘D’, ‘N’, ‘M’ mewakili penunjuk rutin Up, Down, Normal posisi kamera normal, Manipulator posisi kamera mengarah pada manipulator. A, key A=’U’ MOV P1,05H END Yes A=’D’ MOV P1,0AH No Yes CJNE A, key No START SERIAL_RECEIVE Gambar 3.21 Flowchart Pembacaan Input Penunjuk Rutin Gerakan Vertikal Universitas Sumatera Utara Proses komunikasi dengan perangkat kontrol dilakukan secara serial, berikut adalah flowchart proses komunikasi serial asinkron mikrokontroler Gambar 3.22. END START A, SBUF SERIAL_RECEIVE Mov A,SBUF Clr RI SERIAL_PORT_INIT Gambar 3.22 Flowchart Komunikasi Serial Pada flowchart di atas dapat dilihat bahwa pertama kali akan dieksekusi rutin Initserial untuk menginisialisasi komunikasi serial, proses inisialisasi ini meliputi penentuan mode komunikasi serial yang digunakan, mode timer, dan penentuan baudrate komunikasi asinkron. kemudian untuk menerima data dari perangkat kontrol maka dieksekusi rutin SerialReceive, rutin SerialReceive akan menampung data pada register SBUF, apabila register SBUF sudah terisi penuh 8 bit maka RI akan bernilai satu high, kemudian data pada register SBUF di-copy mov ke register A. Data ini dapat diproses atau dibaca sebagai input perangkat kontrol. Untuk menerima data selanjutnya RI harus di-nol-kan Clr= Clear terlebih dahulu. Universitas Sumatera Utara

3.4.2 Perancangan Program Kendali Berbasis GUI Graphical User Interface