Untuk
berinteraksi dengan perangkat keras yang meliputi memberi perintah
maupun pengaturan perangkat dapat digunakan suatu bahasa pemrograman
dasar tingkat rendah yaitu bahasa pemrograman Assembly. Assembly
merupakan bahasa dasar mesin, meskipun saat ini telah banyak bahasa
pemrograman tingkat tinggi yang lebih sederhana dan mudah dipahami namun
semua bahasa tersebut sesungguhnya juga merupakan pengembangan dari
bahasa assembly. Agar kita dapat menguasai lebih mendalam akan interaksi
antara user (manusia) dengan mesin maka pada kuliah microprosesor dan
microkontroler di gunakan bahasa assembly sebagai bahasa pemrograman
sistem microkontroler. Struktur dasar dari bahasa assembly terdiri atas :
Label - Mnemonic (OPcode) - Operand 1 - Operand 2 - Komentar
misalnya, mulai : mov P0,#13 ; pengisian data 13
Keterangan :
- Label,
Kode yang ditentukan sendiri oleh pemrogram. jika lebih dari 2 kata,
harus digabung (tidak boleh dipisah) diakhiri dengan tanda ( : )
contoh, mulai : panjangbola : - Mnemonic (opcode), kode perintah yang akan melakukan aksi tiap operand
contoh, mov sjmp - Operand 1 (operand tujuan/target), data yang akan diproses oleh Mnemonic
contoh, P0 A - Operand 2 (operand asal), data yang akan dipindahkan ke operand tujuan
contoh, #13 #110001010B - Komentar, dapat ditulis dengan menggunakan tanda ( ; ) dan tidak akan dieksekusi oleh hardware.
Contoh, ; --------------------------- INI ADALAH PROGRAM LED --------------
Instruksi - instruksi Mnemonic yang sering digunakan pada sistem microkontroler diantaranya adalah sebagai berikut :
- Intruksi pemindahan data ( MOV )
instruksi (MOV) digunakan untuk memindahkan data dari satu tempat ke tempat lain, atau juga digunakan untuk memindahkan data dari satu pin microcontroler ke pin yang lain. Contoh : mov P3, #11001100B
keterangan :
instruksi diatas digunakan untuk memindahkan data biner 11001100 ke port 3 pada sistem microcontroler. - Instruksi lompatan
ada beberapa macam instruksi lompatan diantaranya :
SJMP (Short Jump), melompat ke alamat / label untuk alamat kode yang pendek.
AJMP (Absolut Jump), sama dengan SJMP hanya jarak lompatannya lebih jauh.
ACALL, Instruksi memanggil subrutin ke sebuah label/sub program.
RET (Return), digunakan untuk menghentikan subrutin dan melanjutkan ke instruksi berikutnya. - Instruksi operasi bit
SETB (Set Bit), digunakan untuk mengisi alamat bit dengan nilai 1
contoh, SETB P0.0 ; bit P0.0 diisi dengan nilai 1
CLR (Clear), Mengosongkan / mengubah alamat bit dengan nilai 0
contoh, CLR P0.0 ; bit P0.0 dikosongkan dengan nilai 0 - Instruksi lompatan bersyarat
CJNE (Compare and Jump if Not Equal)
Membandingkan nilai sebuah register dengan suatu data/register lain dan akan melompat ke alamat/label yang dituju jika belum sama nilainya.
Contoh, CJNE R0,#100,mulai JB (Jump if Bit Set)
Melakukan lompatan menurut isi (nilai) sebuah bit. Yang di cari adalah nilai "1" pada bit yang diamati nilainya. Jika bit bernilai "0" akan melanjutkan instruksi berikutnya, namun jika bit bernilai "1" akan melompat ke alamat yang ditentukan.
Contoh, mulai : JB P0.0, eksekusi SJMP mulai JNB (Jump if Not Bit Set)
Kebalikan dari JB, yang dicari adalah nilai NOL (0) pada bit yang dialamati.
DJNZ (Decrement and Jump if Not Zero)
Mengurangi nilai sebuah register /alamat tertentu dengan nilai 1 dan jika hasilnya sudah NOL (0) maka instruksi selanjutnya akan dijalankan
contoh DJNZ R4, mulai - Instruksi aritmatika
INC (Increment)
menambahkan "1" angka dari register/data yang dituju dan hasilnya disimpan pada register tersebut.
Contoh INC A ADD
Menambahkan isi Akumulator dengan sebuah nilai dan hasilnya disimpan kembali akumulator tersebut.
DEC (Decrement)
Mengurangi "1" angka dari register yang dituju dan hasilnya disimpan pada register tersebut. - Instruksi geser
RR (Rotate Right), Menggeser ke kanan perbit isi akumulator
RL (Rotate Left), Menggeser ke kiri perbit isi akumulator
Software Read51
Software
Read51 merupakan salah satu software editor bahasa pemrograman
assembly. Dengan menggunakan software ini kita dapat merancang dan
membuat pemrograman assembly, C, dll. Pada percobaan yang dilakukan
dalam kuliah ini, kita menggunakan Read51 untuk merancang program
menggunakan bahasa assembly dimana file program disimpan dalam ekstensi
.ASM. Adapun software read51 seperti ditampilkan pada gambar berikut :
Read51
terdiri dari 3 komponen utama yaitu : Jendela Editor (sisi kiri,
sebagai tempat dimana kita membuat dan merancang bahasa pemrograman
assembly), Jendela Output (terdapat output berupa tampilan LED, berada
di sisi kanan) serta jendela build (di sisi bawah, sebagai coment yang
menunjukan proses dari software).
1.Memulai membuat file baruUntuk memulai membuat program ikuti langkah berikut :
Klik menu “File”;
pilih “New File” seperti pada gambar :
Kemudian pilih “Assembly File”, lalu klik tombol “OK”:
Maka akan muncul jendela text editor di sisi kiri, setelah itu kita tinggal menuliskan bahasa pemrograman assembly sesuai rancangan kita.
2.Menyimpan program
Setelah kita membuat halaman editor, langkah selanjutnya adalah menyimpan program kita terlebih dahulu sebelum membuat pemrograman. Kenapa kita harus menyimpan dulu baru kemudian membuat pemrograman? Tidak lain adalah untuk berjaga – jaga agar nantinya jika suatu saat terjadi kerusakan komputer atau tiba-tiba listrik padam data kita telah aman terlebih dahulu. Tips ringan bagi anda disarankan anda menyimpan program anda secara berjangka misalnya setiap 5 menit agar apa yang telah kita ketikkan tidak sia-sia nantinya ketika terjadi kerusakan komputer atau lainnya. Lalu bagaimana cara menyimpan pemrograman kita? Ikutilah langkah berikut :
Langkah pertama klik menu “File”;
Pilih “Save As”; maka akan muncul gambar berikut :
Maka akan muncul jendela text editor di sisi kiri, setelah itu kita tinggal menuliskan bahasa pemrograman assembly sesuai rancangan kita.
2.Menyimpan program
Setelah kita membuat halaman editor, langkah selanjutnya adalah menyimpan program kita terlebih dahulu sebelum membuat pemrograman. Kenapa kita harus menyimpan dulu baru kemudian membuat pemrograman? Tidak lain adalah untuk berjaga – jaga agar nantinya jika suatu saat terjadi kerusakan komputer atau tiba-tiba listrik padam data kita telah aman terlebih dahulu. Tips ringan bagi anda disarankan anda menyimpan program anda secara berjangka misalnya setiap 5 menit agar apa yang telah kita ketikkan tidak sia-sia nantinya ketika terjadi kerusakan komputer atau lainnya. Lalu bagaimana cara menyimpan pemrograman kita? Ikutilah langkah berikut :
Langkah pertama klik menu “File”;
Pilih “Save As”; maka akan muncul gambar berikut :
Setelah itu tekan tombol “Save”;
Sekarang file anda telah tersimpan dan silahkan membuat program anda.
3.Mengcompile dan Mengconvert file HEX
Setelah anda membuat program yang anda inginkan langkah selanjutnya adalah mengkompile dan mengconvert file program anda ke dalam bentu file berekstensi .HEX . Untuk melakukan ini anda tidak perlu bersusah payah karena Read 51 akan menjalankan prosedure Conver HEX ketika anda mengkompile program anda.
Prosedur Compile penting untuk dilakukan karena prosedur compile merupakan prosedur untuk mengechek program yang anda buat apakah terjadi kesalahan atau tidak. Jika terjadi kesalahan silahkan anda memperbaiki kesalahan tersebut. Sedangkan jika berhasil, maka anda dapat mensimulasikan program anda. Cara mengcompile cukup dengan menekan tombol compile (bergambar palu/ IDE mode / F2) seperti digambarkan dibawah ini
3.Running Program
Setelah anda mengcompile program anda, selanjutnya adalah menjalankan program yang anda buat yaitu dengan cara mengklik tombol bergambar tanda seru “!” seperti pada gambar berikut :
Setelah dijalankan maka dapat anda lihat hasilnya pada output program yang telah disediakan, tampak seperti pada gambar berikut.
Software AEC-ISP Dowanloder
Setelah selesai membuat dan mengconvert pemrograman ke dalam bentuk
file .HEX selanjutnya adalah mengirim/mengupload file HEX tersebut ke
dalam IC AT89S51 yang telah terpasang pada sistem minimum. Jalur
koneksi yang digunakan untuk mengupload seperti yang telah dijelaskan
pada sistem minimum diatas, dan selanjutnya adalah penggunaan software
EAC-ISP.exe untuk mengupload file tersebut. Komponen software dasar
yang dibutuhkan ketika mengupload adalah harus tersedianya software EAC-ISP.exe serta terdapat file sfr51.inc
pada direktori dimana program kita akan di upload. Tanpa adanya kedua
komponen tersebut kita tidak dapat mengupload program yang telah
dibuat.
Untuk
mengupload program anda sebelumnya anda harus menempatkan file .HEX
yang telah di convert menjadi satu direktori dengan software
AEC-ISP.exe serta file sfr51.inc, kemudian silahkan menjalankan
software AEC-ISP. Tampilan dari software tersebut adalah seperti pada
gambar berikut :
Pada software AEC-ISP terdapat beberapa item menu diantaranya :
- Load HEX File to Flash Buffer
- Load HEX File to EEPROM Buffer
- Display Flash Buffer
- Display EEPROM Buffer
- Program
- Read Flash & EEPROM to Buffer
- Save Flash Buffer to Hex File
- Save EEPROM Buffer to Hex File
- Reset
- Setup
- Show Scematic
- About Us
- Exit
Dari menu menu diatas kita cukup memperhatikan beberapa menu saja yaitu
menu nomor 1 , 5 , 9 dan 10 karena menu inilah yang nantinya akan
digunakan untuk mengirim file .HEX ke sistem microcontroler. Adapun
langkah - langkah untuk mengirim program adalah sebagai berikut :
- Pastikan file HEX telah siap untuk di upload, periksa sambungan Port Pararel (LPT 1) ke sistem minimum.
- Jalankan software AEC-ISP
- Pilih menu "Setup" untuk menyeting software AEC-ISP. Setelah dipilih maka akan muncul gambar seperti berikut :
- setelah muncul gambar diatas, selanjutnya adalah menyeting "Device" dengan item "AT89S51". Kemudian menyeting menu "Select Printer Port" dengan item "LPT1" setelah diseting kemudian pilih "Save Setup".
- Setelah disimpan setingan tersebut kemudian kita menyeting menu "Reset" menjadi "Low".
- Kemudian pilih menu "Load HEX File to Flash Buffer" untuk mengirim file ber HEX yang telah disiapkan tersebut. Maka dipojok bawah akan muncul gambar berikut :
- Isikan nama file beserta ekstensi HEX seperti yang ditunjukkan diatas. Nama file disarankan tidak melebihi karakter. Kemudian tekan ENTER untuk mengeksekusinya
- Setelah ditekan, jika berhasil maka akan muncul tampilan berikut.
- Kemudian kembali ke menu utama dengan cara menekan sembarang tombol pada keyboard.
- Setelah berada pada menu utama, kemudian pilih menu "Program", menu inilah yang berfungsi sebagai pengupload file pemrograman HEX kita ke sistem microcontroler. Jika file berhasil di kirim maka akan muncul persentase pengiriman data, namun bila gagal akan muncul pesan error. Jika file gagal di upload ke sistem, silahkan periksa kembali file anda atau sambungan kabel koneksi di LPT1 kemudian cobalah mengirim kembali.
terimakasih atas infonya
BalasHapusSolder portable