Anda di halaman 1dari 20

PEMROGRAMAN

MIKROKONTROLER
Bustanul Arifin
Fakultas Teknologi Industri
Universitas Islam Sultan Agung
Semarang

http://bustanularf.edublogs.org/category/Sistem-Mikroprosesor
Sistem mikroprosesor atau mikrokontroler
tidak dapat bekerja tanpa adanya program
yang dimasukkan ke dalamnya.

Kerja sebuah mikroprosesor/mikrokontroler


adalah siklus pembacaan instruksi yang
tersimpan di dalam memori.

Elektro, Informatika, Komputer 2


FTI UNISSULA
Mikroprosesor/mikrokontroler menentukan
alamat memori program yang akan
dibaca, dan melakukan proses baca data
di memori.

Data yang dibaca diinterpretasikan sebagai


instruksi. Alamat instruksi disimpan oleh
mikroprosesor/mikrokontroler di program
counter.

Elektro, Informatika, Komputer 3


FTI UNISSULA
Program tersebut diberikan ke
mikroprosesor/mikrokontroler dengan
kaidah-kaidah tertentu yang dimengerti
oleh chip tersebut.

Mikroprosesor/mikrokontroler menerima
program dalam bentuk bit-bit 1 dan 0
yang disimpan dalam memori program.

Elektro, Informatika, Komputer 4


FTI UNISSULA
 Pemrograman Prosedural, program
dibedakan antara bagian data dengan
bagian instruksi. Bagian instruksi terdiri
atas runtun (sequence) instruksi yang
dilaksanakan satu per satu secara
berurutan oleh sebuah pemroses.

 Alur ini dapat berubah jika terjadi


percabangan/kondisional.

Elektro, Informatika, Komputer 5


FTI UNISSULA
 Bahasa-bahasa tingkat tinggi seperti
Cobol, Basic, Pascal, Fortran, dan C (serta
assembly) merupakan bahasa
pemrograman prosedural.

Elektro, Informatika, Komputer 6


FTI UNISSULA
 Bahasa yang digunakan  Bahasa
assembly menggantikan kode-kode biner
dari bahasa mesin dengan mnemonik
yang mudah diingat.

 Bahasa C  SDCC (Small Device C


Compiler) atau CVAVR (Code Vision AVR)

Elektro, Informatika, Komputer 7


FTI UNISSULA
 Misalnya sebuah instruksi penambahan
dalam bahasa mesin disajikan dengan
kode 10110011 yang dalam bahasa
asssembly dapat disajikan dalam
mnemonik ADD, sehingga mudah diingat
dibanding sederetan angka 0 dan 1.

Elektro, Informatika, Komputer 8


FTI UNISSULA
 Perintah penambahan membutuhkan
suatu operan baik berupa data langsung
maupun suatu lokasi memori yang
menyimpan data yang bersangkutan.
Dengan demikian kode untuk ADD bisa
berbeda-beda tergantung kebutuhan atau
jenis operannya. Instruksi lainnya rata-
rata juga membutuhkan operan dalam
bentuk yang berbeda-beda.

Elektro, Informatika, Komputer 9


FTI UNISSULA
 Program bahasa assembly adalah sebuah
program yang terdiri atas label-label,
mnemonik dan lain sebagainya. Masing-
masing pernyataaan berhubungan dengan
suatu instruksi mesin.

 Bahasa assembly sering juga disebut kode


sumber (source code) atau kode simbolik
(symbolic code) tidak dapat dijalankan
oleh prosesor.
Elektro, Informatika, Komputer 10
FTI UNISSULA
 Asembler adalah suatu program yang
dapat menerjemahkan program bahasa
assembly ke program bahasa mesin.
 Sedangkan program bahasa mesin
didefinisikan sebagai sebuah program
yang mengandung kode-kode biner yang
merupakan instruksi-instruksi yang bisa
dipahami prosesor. Program bahasa mesin
sering disebut sebagai kode objek dapat
dijalankan /dikerjakan oleh prosesor.

Elektro, Informatika, Komputer 11


FTI UNISSULA
 Banyak program-program asembler yang bisa
digunakan untuk mengembangkan aplikasi
mikrokontroler MCS51. Program asembler dari
Intel untuk mikrokontroler MCS51 ASM51
merupakan program standar.
 Program asembler ASM51 dapat dijalankan pada
komputer PC dengan sistem operasi DOS atau
Windows. Karena komputer yang digunakan
prosesor bukan keluarga MCS51, maka ASM51
sering dikenal sebagai pemrogram cross
assembler.

Elektro, Informatika, Komputer 12


FTI UNISSULA
 Program bisa diketik menggunakan
sembarang editor DOS maupun Windows
dan harus disimpan dalam format teks
(bukan rtf atau sejenisnya). Kemudian di-
assembly menggunakan ASM51 sehingga
menghasilkan berkas objek, tetapi tidak
bisa dijalankan dengan komputer yang
bersangkutan karena prosesnya bukan
keluarga MCS51. Langkah berikutnya
adalah mengubah jadi format heksa atau
biner yang siap dikirim/disimpan dalam
AT89XX melalui pemrogram
(programmer).
Elektro, Informatika, Komputer 13
FTI UNISSULA
 Format program bahasa assembly adalah
instruksi-instruksi mesin, pengarah-pengarah
asembler, kontrol-kontrol asembler, dan
komentar-komentar. Instrruksi-instruksi mesin
merupakan mnemonik yang menyatakan suatu
instruksi yang bisa dijalankan (misalnya MOV).

Elektro, Informatika, Komputer 14


FTI UNISSULA
 Pengarah asembler (assembler directive)
merupakan instruksi ke program asembler yang
mendefinisikan struktur program, simbol-simbol
data, konstanta dan lain-lain (misalnya ORG).
kontrol-kontrol asembler mengatur/menentukan
mode-mode asembler dan aliran asembly
langsung (misalnya $TITLE). Komentar perlu
dituliskan agar program mudah dipahami. Baris-
baris program yang mengandung instruksi mesin
atau pengarah asembler harus mengikuti aturan
program asembler ASM51.

Elektro, Informatika, Komputer 15


FTI UNISSULA
 Masing-masing baris atas beberapa field yang
dipisahkan dengan spasi atau tabulasi. Format
umunya adalah:

 [Label]: mnemonic [operan],[operan] [….]


; [komentar]

Elektro, Informatika, Komputer 16


FTI UNISSULA
 Label mewakili suatu alamat dari instruksi (atau
data) yang mengikat. Label ini digunakan
sebagai operan pada instruksi-instruksi
percabangan. Simbol dan label adalah dua hal
yang berbeda. Simbol tidak menggunakan titik
dua sedangkan label menggunakan titik dua.
contohnya adalah:
 PAR EQU 500 ; PAR adalah suatu simbol
nilai 500
 START: MOV A, #0FFH ; START adalah label
; yang menunjukkan
; lokasi instruksi

Elektro, Informatika, Komputer 17


FTI UNISSULA
 Sebuah simbol (label) harus diawali dengan
sebuah huruf, tanda tanya atau garis bawah
kemudian diikuti dengna huruf. Angka tanda
tanya atau garis bawah hingga 31 karakter. Kata
tercadang (reserved words) tidak dapat
digunakan sebagai simbol maupun label.

 Mnemonik instruksi atau pengarah asembler


dimasukkan dalam mnemonic field yang
mengikuti label mnemonic. Mnemonic instruksi
misalnya ADD, MOV, INC, dan lain-lain.
Sedangkan pengarah asembler adalah ORG,
EQU, DB dan lain-lain.

Elektro, Informatika, Komputer 18


FTI UNISSULA
 Operan ditulis setelah mnemonik, bisa berupa
alamat atau data yang digunakan instruksi yang
bersangkutan. Bisa juga berupa label yang
mewakili alamat suatu data atau berupa simbol
yang mewakili suatu data konstanta. Perlu
diingat bahwa ada beberapa instruksi MCS51
yang tidak memerlukan operan (RET misalnya)

 Komentar harus diawali dengan titik koma (;).


Sebuah baris akan dianggap sebagai komentar
jika diawalai dengan titik koma. Sub-rutin
bagian-bagian besar program yang mengerjakan
suatu operasi biasanya diawali dengan blok
komentar yang menjelaskan funsi sub-rutin atau
bagian besar program tersebut.
Elektro, Informatika, Komputer 19
FTI UNISSULA
Literatur
 Andi Nalwan. Paulus, 2003, Panduan Praktis teknik Antarmuka
dan Pemrograman Mikrokontroler AT89C51, Elex Media
Komputindo, Jakarta.
 Eko Putra, Agfianto, 2002, Belajar Mikrokontroler
AT89C51/52/55 Teori dan Aplikasi, Gava Media Yogyakarta.

Elektro, Informatika, Komputer 20


FTI UNISSULA

Anda mungkin juga menyukai