Pemrograman Mikrokontroler AT89S51 (Tingkat Dasar)

Setelah membuat programmer AT89S51 pada tulisan saya sebelumnya, maka kemudian untuk dapat menggunakan mikrokontroler tersebut, maka diperlukan program yang akan di tuliskan ke mikrokontroler tersebut agar mikrokontroler tersebut dapat berfungsi seperti yang kita harapkan.

Untuk dapat melakukan pemrograman pada mikrokontroler AT89S51 sebenarnya ada beberapa bahasa pemrograman yang bisa dipakai, diantaranya adalah bahasa pemrograman tingkat rendah seperti bahasa mesin dan bahasa assembly, ataupun dengan menggunakan bahasa pemrograman tingkat tinggi, seperti bahasa C, Basic, pascal, dll.

1. Bahasa Mesin dan bahasa assembly

Sebenarnya mikrokontroler sendiri cuma mengerti bahasa mesin, yang hanya mesin (mikrokontroler) saja yang mengerti, bahasa mesin ini tersusun dari angka – angka binary yang disimpan dalam memory mikrokontroler yang berupa flash, untuk AT89S51 flash nya berkapasitas 4kB. Contohnya adalah seperti dibawah ini:

Contoh bahasa mesin pada memory flashContoh bahasa mesin pada memory flash 

Program diatas tersimpan dalam memory flash dari mikrokontroler AT89S51, program tersebut berasal dari hasil compile dari bahasa assembly sebagai berikut :

mov p1,#5
mov p1,#6
end

Dalam memory tersebut, tersimpan data yaitu : ox75, 0×90, 0×05, 0×75, 0×90, dan 0×06. Dari program tersebut, mesin dapat menerjemahkan sebagai berikut:

angka pertama adalah commandnya (0×75 = mov) adalam perintah untuk memberikan nilai pada alamat 0×90 (P1) sebesar 0×05, kemudian mov lagi (0×75) untuk memberikan nilai pada alamat 0×90 sebesar 0×05.

Untuk compiler bahasa assebly nya bisa di donwload melalui link berikut:

AT89SXX Assembly Compiler

Sedangkan untuk tutorial bahasa pemograman assembly untuk intel 8051 (AT89S51 full compatible dengan microprosesor intel 8051) dapat di download melalui link berikut:

8051 assembly language

Instruction setnya dapat dilihat dalam chapter 4 pada tutorial di atas.

2. Bahasa C

Penggunaan bahasa asembly memiliki kekurangan yaitu bahasa yang digunakan sulit sekali dimengerti oleh manusia, karena masih menggunakan pemrograman tingkat rendah, akan tetapi kelebihannya adalah penggunaan memorynya menjadi semakin kecil. Dengan menggunakan bahasa pemrograman C maka bahasa pemrograman menjadi lebih mudah dipahami, sedangkan penggunaan memori menjadi sedikit lebih besar.

Compiler bahasa C untuk 8051 diantaranya adalah

A. Reads51

programnya dapat di download melalui link berikut:

Reads51

Contoh programnya adalah sebagai berikut:

Pemrograman Mikrokontroler AT89S51 menggunakan Reads51Pemrograman Mikrokontroler AT89S51 menggunakan Reads51 

Jika program diatas dikompile, maka akan menghasilkan file .hex (bahasa mesin) sebagai berikut:

File .hex hasil compilan menggunakan Reads51 bahasa CFile .hex hasil compilan menggunakan Reads51 bahasa C 

Pada program di atas, sebetulnya perintahnya hampir sama dengan perinta pada bahasa assembly di atas, akan tetapi dengan menggunakan bahasa C Reads51 ternyata banyak perintah – perintah inisialisasi yang besarnya mendekati 2 kB, hal ini tentu saja sangat memboros memory flash, yang pada At89S51 cuma 4 kB.

Program Read51 diatas juga bisa digunakan untuk mengkompile dengan menggunakan bahasa pemrograman asembly.

B. SDCC

Compiler SDCC dapat di download dari link berikut ini:

SDCC Compiler

Contoh programnya adalah sebagai berikut (dengan menggunakan Reads51 hanya untuk editornya saja)

Program menggunakan compiler SDCCProgram menggunakan compiler SDCC 

Compiler SDCC masih berbasis dos, jadi untuk mengkompile program butuh sintaks tertentu untuk mengkompilenya, command untuk mengkompile nya adalah sebagai berikut :

dari command prompt :

C:\>sdcc [nama file]

misal :

C:\sdcc file.c

jika kompilasi berhasil, maka akan dihasilkan beberapa file, diantaranya ‘file.ihx’, file tersebutlah yang kemudian akan di download ke mikrokontroler, jika file tersebut dilihat menggunakan isppgm (seperti yang telah disinggung dalam pembahasan downloader /  writer mikrokontroler AT89S51), maka dapat dilihat buffernya adalah sebagai berikut :

File bahasa mesin (.ihx) menggunakan compiler SDCCFile bahasa mesin (.ihx) menggunakan compiler SDCC 

Jika dibandingkan dengan compiler sebelumnya yang menggunakan Reads51, penggunaan memorinya lebih sedikit(inisialisasi program sekitar 99 byte) dengan menggunakan perintah bahasa C yang sama, oleh karena itu disarankan untuk menggunakan SDCC compiler untuk pemrograman bahasa C pada mikrokontroler AT89S51.

~ oleh dourangga pada 02/27/2011.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

 
%d blogger menyukai ini: