MAKALAH
DASAR
PEMROGRAMAN ASSEMBLY MENGGUNAKAN SOFTWARE READ51 DAN DOWNLODER AEC-ISP PADA
SISTEM MICROPROSESOR ATMEL AT89S51
KELAS : TI 11 A
Disusun
oleh
RIRI DIAN SARI
11.11.2348
STMIK
AMIKOM PURWOKERTO
2013
BAB I
PENDAHULUAN
1.1. Latar Belakang
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.
1.2. Rumusan
Masalah
1.
Pengertian Microprosesor dan Microkontroler
2.
Pemrograman Bahasa Assembly untuk IC AT89S51
3.
Software Read51
4.
Software AEC-ISP Dowanloder
1.3.
Tujuana
Tujuan dari pembuatan makalah ini
adalah untuk memenuhi tugas praktikum microprosesor serta untuk menambah
pengetahuan mengenai mikroprosesor dan mikrokontroler.
BAB II
PEMBAHASAN
2.1.
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.
2.2.
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 :
contoh, mulai : panjangbola :
2. Mnemonic (opcode),
kode perintah yang akan melakukan aksi tiap operand
contoh, mov sjmp
contoh, mov sjmp
3. Operand 1 (operand
tujuan/target), data yang akan diproses oleh Mnemonic
contoh, P0 A
contoh, P0 A
4. Operand 2 (operand
asal), data yang akan dipindahkan ke operand tujuan
contoh, #13 #110001010B
contoh, #13 #110001010B
5. Komentar, dapat
ditulis dengan menggunakan tanda ( ; ) dan tidak akan dieksekusi oleh hardware.
Contoh, ; ————————— INI ADALAH PROGRAM LED ————–
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.
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.
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
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
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.
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
RR (Rotate Right), Menggeser ke kanan perbit isi akumulator
RL (Rotate Left), Menggeser ke kiri perbit isi akumulator
2.3.
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 :
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”;
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.
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
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.
4. 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 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.
2.4.
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 :
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 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.
BAB
III
PENUTUP
3.1.
Kesimpulan
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. 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
3.2.
Saran
Untuk
mengetahui informasi yang kita butuhkan maka kita harus mempelajari serta mencoba membuat program dengan software yang
telah di sediakan untuk menambah pengetahuan kita.
DAFTAR
PUSTAKA