Anda di halaman 1dari 7

DASAR PEMROGRAMAN ASSEMBLY MENGGUNAKAN

SOFTWARE READ51 DAN DOWNLODER AEC-ISP PADA


SISTEM MICROPROSESOR ATMEL AT89S51
Teknologi sebagai alat bantu untuk mempermudah pekerjaan manusia merupakan faktor yang
sangat penting bagi kehidupan manusia. Peran teknologi disamping sebagai penghasil
daya(power) yang besar juga sebagai peminimalisir angka kecelakaan kerja bagi aktifitas manusia
seperti buruh pabrik, lalulintas, transportasi, dan sebagainya.

Perkembangan teknologi diawali dengan penemuan-penemuan kecil yang masih bersifat analog.
Kemudian berkembang pesat baik kualitas maupun kuantitasnya, hingga akhirnya menghasilkan
suatu teknologi yang saat ini mendominasi kehidupan yaitu teknologi era digitalisasi dan
otomatisasi.

Perkembangan teknologi di Indonesia saat ini masih tergolong sangat lambat pertumbuhannya
bila dilihat dari segi produksi, namun bila dilihat dari segi konsumsinya Indonesia dapat
digolongkan salah satu negara berkembang yang cukup tinggi akan konsumsi teknologi.

Yang menjadi faktor lambatnya pertumbuhan produksi teknologi di Indonesia salah satunya
adalah karena kurangnya penguasaan akan element teknologi itu sendiri. Kurangnya sumber daya
manusia yang berkompeten dalam teknologi serta kurangnya dukungan modal juga menjadi
penyebabnya.

Melihat permasalahan diatas perlu adanya suatu penyelenggaraan pendidikan yang berbasis
teknologi sebagai salah satu solusi untuk menciptakan sumber daya manusia yang kompeten dan
unggul dalam bidang teknologi. Oleh karena itu melalui laporan ini penulis akan memberi
beberapa dasar teori dan aplikasinya dalam penguasaan teknologi microkontroler berbasis
otomatisasi. Jika pembaca mengalami kesulitan dalam mengaplikasikan bahan ajaran dari laporan
ini, saya membuka forum diskusi sebagai media komunikasi dengan penulis melalui alamat email
hsbn89@student.undip.ac.id.

Pengertian Microprosesor dan Microkontroler

Mikrokontroler adalah sebuah chip yang dapat melakukan pemrosesan data secara
digital serta pengontrolan rangkaian elektronik sesuai dengan perintah bahasa assembly yang
diberikan pada IC tersebut. Perbedaan antara mikroprosesor dan mikrokontroler yaitu
mikroprosesor merup CPU tanpa memori dan I/O pendukung sebuah komputer, sedangkan
mikrokontroler terdiri dari CPU, memori, I/O dan unit pendukung lain spt ADC yang terintregrasi
didalamnya. Penggunaan mikrokontroler menjadi tren pada desain teknologi elektronika, karena
chip ini dapat mereduksi sistem digital diskrit dengan perangkat lunak yang diprogram dan
disisipkan dalam chip tersebut. Mikroprosesor dikembangkan kearah perangkat berbasis komputer
sedangkan mikrokontroler lebih banyak ke sistem instrumentasi elektronik.
Pemrograman Bahasa Assembly untuk IC AT89S51

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 :

1. Label, Kode yang ditentukan sendiri oleh pemrogram. jika lebih dari 2 kata, harus digabung
(tidak boleh dipisah) diakhiri dengan tanda ( : )
contoh, mulai : panjangbola :
2. Mnemonic (opcode), kode perintah yang akan melakukan aksi tiap operand
contoh, mov sjmp
3. Operand 1 (operand tujuan/target), data yang akan diproses oleh Mnemonic
contoh, P0 A
4. Operand 2 (operand asal), data yang akan dipindahkan ke operand tujuan
contoh, #13 #110001010B
5. 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 :

1. 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.
2. 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.
3. 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
4. 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
5. 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.
6. 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 baru


Untuk memulai membuat program ikuti langkah berikut :
Klik menu ―File‖;
pilih ―New File‖ seperti pada gambar :

setelah dipilih maka akan muncul gambar berikut

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 :

ketikkan nama file yang anda kehendaki pada form ―File Name‖, kemudian pilih direktori dimana
anda ingin menyimpan file tersebut.
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

Prosedur Convert HEX merupakan prosedur dimana mengkonversi program yang telah anda buat
yang sebelumnya disimpan dalam ekstensi .ASM untuk di konversi ke dalam bentuk file
berekstensi HEX. File yang berekstensi HEX inilah yang nantinya akan di upload ke sistem
microkontroler yaitu di masukkan ke IC AT89S51 pada sistem minimum.

3.Running Program
Setelah anda mengcompile program anda, selanjutnya adalah menjalankan program yang anda
buat yaitu dengan cara mengklik tombol bergambar tanda seru ―!‖

Setelah dijalankan maka dapat anda lihat hasilnya pada output program yang telah disediakan,

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.

Pada software AEC-ISP terdapat beberapa item menu diantaranya :

1. Load HEX File to Flash Buffer


2. Load HEX File to EEPROM Buffer
3. Display Flash Buffer
4. Display EEPROM Buffer
5. Program
6. Read Flash & EEPROM to Buffer
7. Save Flash Buffer to Hex File
8. Save EEPROM Buffer to Hex File
9. Reset
10. Setup
11. Show Scematic
12. About Us
13. 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 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.

 Isikan nama file beserta ekstensi HEX seperti yang ditunjukkan diatas. Nama file disarankan
tidak melebihi karakter. Kemudian tekan ENTER untuk mengeksekusinya
 Setelah ditekan,
 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.

Jika proses download telah selesai maka hardware kita telah diprogram sesuai dengan
pemrograman serta fungsinya. melalui bahasa assembly kita dapat menjalankan beberapa
peralatan elektronika ataupun sebuah robot. untuk contoh beberapa aplikasi dari bahasa assembly
akan kami bahas dalam artikel selanjutnya, jadi silahkan kunjungi website simawa.unnes.ac.id
untuk mendapatkan informasi mengenai artikel ini.

Artikel ini didapatkan dari Laboratorium Elektronika dan Instrumentasi (ELINS) Jurusan Fisika,
Universitas Negeri Semarang.

Filed under: Uncategorized

Anda mungkin juga menyukai