TEKNIK MERANCANG APLIKASI DENGAN DST-UNI PROG Dalam merancang suatu aplikasi pada sistem mikrokontroler, seringkali seorang pemula bingung bagaimana kita harus memulai rancangan tersebut. Apabila terjadi kesalahan di mana aplikasi yang dirancang tidak bekerja sebagaimana mestinya, maka praktisi tersebut seringkali mengalami jalan buntu. “Bagaimana saya harus mencari letak kesalahan dari aplikasi saya?” Berikut adalah tahapan-tahapan dalam merancang suatu aplikasi yang tampak pada gambar 1. Dengan dilakukan proses secara bertahap maka merancang aplikasi akan terasa lebih mudah. Tahapan-tahapan tersebut diawali dengan telah ditemukannya ide suatu disain. Setelah ditemukan ide, maka proses dilanjutkan dengan merancang sistem perangkat kerasnya. Dengan menggunakan modul-modul siap pakai maka kesalahan dalam hardware dapat dihindari. Walau demikian, pengguna tetap disarankan menguji coba hardware tersebut karena kesalahan masih bisa terjadi dari berbagai macam sebab, misalkan kabel konektor putus atau kurang kuat dll. Untuk menguji coba hardware tersebut anda dapat potongan-potongan program kecil saja atau subrutinsubrutin. Subrutin ini nantinya dapat digunakan sebagai subrutin yang mendukung program utama. Untuk pengguna Modul DST-52, praktisi juga dapat menggunakan subrutin-subrtin siap pakai yang telah tersedia pada modul tersebut. Download potongan-potongan program kecil tersebut dan coba jalannya pada perangkat keras. Apabila terjadi kesalahan pada hardware maka hal tersebut dapat diketahui lebih dini dan segera diperbaiki. Setelah uji coba hardware selesai dengan baik, maka proses dilanjutkan ke tahap disain software. Praktisi dianjurkan untuk sesering mungkin mencoba jalannya program setiap agar seandainya terjadi kesalahan, maka dapat segera diperkirakan di bagian proses apa kesalahan tersebut terjadi. Contohnya pada saat baru saja ditambahkan proses pengambilan data dari keypad, ternyata program tidak berjalan sebagaimana mestinya (program hang atau mengambil data yang keliru) maka praktisi dapat langsung mulai melacak kesalahan ke bagian proses pengambilan keypad. Untuk melacak lebih detail, yaitu menentukan bagian instruksi mana yang mengalami kesalahan maka praktisi dapat menggunakan proses debug di mana program dapat dijalankan step by step sambil memantau perubahan isi registernya. Proses debug pada Modul DST-52 dilakukan langsung pada perangkat keras sehingga selain dapat dipantau perubahan registernya (gambar 2), praktisi juga dapat melihat secara langsung reaksinya di perangkat keras, contohnya pada LED atau LCD. Proses ini juga dapat bereaksi terhadap input yang masuk melalui saklar, keypad, PC Keyboard dan lain-lain. Dengan adanya fasilitas Real Time Debugging pada Modul DST-52, praktisi juga dapat meletakkan Breakpoint yaitu sebuah tanda di mana program yang di RUN harus dapat berhenti (Break) dan menampilkan isi dari register-registernya saat mencapai titik lokasi tersebut. Setelah program berhenti, maka praktisi dapat melanjutkan dengan perintah Trace/Debug yang menjalankan program step by step. Contohnya Breakpoint diletakkan pada alamat 2024h, maka saat program di RUN dan mencapai alamat tersebut, maka program harus berhenti dan menampilkan isi registernya persis seperti yang ada pada gambar 2, namun dengan alamat berisi 2024h.
DELTA ELECTRONIC http://www.delta-electronic.com
Ide Disain
Persiapan Hardware
Uji coba hardware OK?
Periksa hardware
Menggunakan Modul DST-52 Disain Software
Uji coba software OK?
Periksa software
Konversi ke bentuk single chip
Menggunakan Modul DSTPROG
Tulis ke dalam Flash PEROM
Uji coba OK?
Aplikasi selesai
Gambar 1
Tahap-tahap merancang aplikasi Gambar 2
Proses Debug pada DST-52 Penggunaan Breakpoint ini sangat bermanfaat untuk melakukan bypass terhadap bagian program yang mempunyai looping cukup besar atau terdapat proses polling (menunggu datangnya input) di mana proses Trace/Debug yang hanya menjalankan program step by step tidak mungkin melewatinya dengan mudah. Listing 1 DELTA ELECTRONIC http://www.delta-electronic.com
2024 2024 2026 2026 2028 202B 202D 202F
|Start: | Mov |Loop: : B2 90 | Cpl : 12 00 90 :0090 | Lcall : DF F9 :FFF9 | Djnz : C2 91 | Clr : 01 2F :202F | Ajmp : 7F 0A
R7,#10 P1.0 Delay_1detik R7,Loop P1.1 $
Contoh pada listing 1, di mana program berfungsi untuk membuat kondisi P1.0 berubah setiap detiknya sebanyak 10 kali dan dilanjutkan dengan Clear P1.1. Apabila praktisi ingin menghentikan program setelah 10 detik, maka hal ini dapat dilakukan dengan meletakkan breakpoint pada alamat 202D. Program akan mengubah kondisi logika P1.0 setiap detik sebanyak 10 kali dan berhenti sambil menampilkan isi register-registernya setelah mencapai alamat 202D. Dengan proses debugging yang bersifat real time, maka delay 1 detik yang di emulasikan tetap akan terjadi secara real yaitu satu detik pula sehingga tepat 10 detik program berhenti. Setelah program berhenti di alamat 202D, praktisi dapat meneruskan secara step by step dengan menggunakan perintah Trace/Debug. Breakpoint dalam hal ini berfungsi mem-bypass looping yang terjadi pada subrutin delay 1 detik yang cukup banyak. Sampai pada proses ini, program yang didownload dan run masih dilakukan di dalam 8 Kb EEPROM dari Modul DST-52 sehingga praktisi dapat dengan mudah mendownload ulang program serta mencobanya kembali bila masih ditemukan kesalahan tanpa menyentuh perangkat keras. Setelah keseluruhan program teruji dengan baik praktisi dapat mengubah lokasi program dari alamat 2000h ke 0000h. (lokasi alamat EEPROM DST-52 ke alamat Flash PEROM AT89C5x) dan assembly ulang. Pada tahap ini fungsi Universal Programmer dari DST-UNI PROG dapat digunakan di mana file hex yang dihasilkan pada proses assembly yang terakhir didownload ke dalam Flash PEROM AT89C5x. Pasang Modul DST-PROG pada Modul DST-52 dan buka Software DST UP 2.x (sesuai versi modul). Praktisi terlebih dahulu harus masuk ke menu Option untuk mengatur port komunikasi serial serta mengisi buffer dengan program yang akan diisikan ke dalam Flash PEROM (gambar 3).
DELTA ELECTRONIC http://www.delta-electronic.com
Gambar 3 Menu Option
Gambar 3 Menu utama DST UNI-PROG DELTA ELECTRONIC http://www.delta-electronic.com
Gambar 4 Menu utama DST UNI-PROG (2)
Setelah program masuk ke dalam Flash PEROM, sekali lagi praktisi harus mencoba jalannya program tersebut. Ini merupakan uji coba terakhir sebelum prototype aplikasi dicoba di luar ruang kerja atau laboratorium anda. Apabila uji coba berhasil, maka prototype siap untuk diuji coba di lapangan. Namun bila masih ada hal-hal yang kurang sesuai, maka praktisi masih dapat merevisi dan mendownload ulang program. Apabila kesalahan program masih dapat dilacak dengan mudah, maka praktisi cukup mengedit file *.asm, assembly lagi ke *.hex dan isikan lagi ke dalam Flash PEROM. Namun bila kesalahan program cukup sulit untuk dilacak, maka praktisi dapat kembali ke tahap disain software dengan kembali menggunakan Fungsi Development System. Pada saat ini Modul DST-PROG dapat dilepas dan kembali download program dilakukan pada EEPROM DST-52. Demikian seterusnya hingga diperoleh hasil uji coba yang sesuai dengan harapan praktisi karena DST UNI-PROG bukan sekedar Development System biasa ataupun Universal Programmer biasa, namun merupakan gabungan dari kedua perangkat tersebut sehingga Fungsi Development (pengembangan) dan Fungsi Programmer terdapat di dalamnya. Paulus Andi Nalwan, Delta Electronic
DELTA ELECTRONIC http://www.delta-electronic.com