Top Banner
Mikroprosesor 1 Pemrograman Mikroprosesor/Mikrokontroler Nuryono S.W.,S.T., M.Eng.
103

Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Apr 22, 2018

Download

Documents

nguyennguyet
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 1

PemrogramanMikroprosesor/Mikrokontroler

Nuryono S.W.,S.T., M.Eng.

Page 2: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 2

Program & Instruksi

• Program: sekumpulan instruksi ygberurutan yg diberikan kepada MPU/MCU

• Instruksi: operasi yg diperintahkan kepadaMPU/MCU utk dilakukan

• Instruksi dievaluasi dan dieksekusi secaraberurutan mulai dari atas kebawah(kecuali pd kondisi khusus)

Page 3: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 3

Program&Instruksi

Page 4: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 4

Program&Instruksi

Page 5: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 5

Terminologi• Mnemonics: Kode 3 atau 4 huruf yg

mendeskripsikan fungsi suatu operasi/instruksi• Operation Code:Kode biner(1 byte) yg diberikan

kepada MPU/MCU utk melakukan suatu operasitertentu

• Operand:Data yg dioperasikan oleh suatuinstruksi, merupakan pelengkap suatuinstruksi(0, 1 atau 2 byte)

• Machine Language: Kode biner/hexadecimal ygdipakai MPU/MCU sbg perwujudan suatuprogram

Page 6: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 6

Terminologi

• Contoh pada M68HC11

Page 7: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 7

Terminologi

• Assembly Language: Kumpulan instruksiyg ditulis dlm bentuk mnemonic

• Assembly Language disebut juga low level language karena kedekatannya denganmachine code/machine language

• High level language:instruksi yg ditulisdengan sesuatu yg menyerupai bahasamanusia, memiliki sintaks serupa denganstruktur kalimat. Contoh:BASIC, FORTRAN

Page 8: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 8

Terminologi

• Mid Level language:instruksi yg ditulisdengan sesuatu yg terletak di antara high level & low level language. Contoh : C, C++, FORTH

• High&Mid level language relatifportable(dapat dikompilasi dan dijalankanpada hardware yg berbeda dengan sedikitpenyesuaian)

• Low level language cenderung lebih kecildan lebih cepat eksekusinya

Page 9: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 9

High & Low Level Language

Page 10: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 10

Terminologi

• Source Program/Source Code: Program yg ditulis dlmAssembly Language atau bahasa pemrograman yg lain

• Hand Assembly: Proses konversi setiap instruksi dlmsuatu source program dari mnemonics menjadi op codes& machine code yg bersesuaian dilakukan secaramanual

• Assembler: Suatu aplikasi(software) yg mampumelakukan proses konversi setiap instruksi dlm suatusource program dari mnemonics menjadi op codes& machine code yg bersesuaian

• Kompiler/crossassembler : Suatu aplikasi(software) ygmampu melakukan proses konversi setiap instruksi dlmsuatu source program dari bahasa program yang lainmenjadi assembly codes (mnemonics) atau op codes& machine code yg bersesuaian

Page 11: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 11

Terminologi

• Linking : Proses penggabungan library functions kode program yang lain menjadisuatu hasil kompilasi yang utuh

• Locating: proses menetapkan memory program (code memory) untuk setiapinstruksi yang ada di dalam program ygdikompilasi

Page 12: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 12

Terminologi

Page 13: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 13

Level Bahasa Pemrograman

Page 14: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 14

Pemrograman

Page 15: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 15

Pemrograman

Page 16: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 16

Pemrograman

Page 17: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 17

Konsep Pemrograman• Loop:suatu perulangan instruksi atau

sekuen/rangkaian instruksi tertentu• Label:suatu kata/kode yg

menyatakan/mewakili suatu alamat• Komentar: suatu kata/kalimat yg

digunakan sbg penjelasan dr program(tdkdiproses oleh assembler/compiler)

• Flow-Chart:representasi grafis dr algoritmayg dinyatakan dlm blok fungsional dangaris yg menunjukkan progress drprogram

Page 18: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 18

Look-Up Tables

• Look-up table:adalah suatu tabel 1 dimensi yg berisi dua kelompok angka ygbersesuaian dari sisi ke sisi

• Look-Up table bisa berisi:– Codes

– Equations– Messages

Page 19: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 19

Bagian-Flowchart• Start/End

• Proses

• Input/Output

• Decision/Keputusan

• Subrutin

Page 20: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 20

Bagian-Flowchart• On page connector

• Off page connector

• Persiapan/preparation

Page 21: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 21

Contoh Struktur Dasar Flow-chart

• Sequence

• Branch Proses B

A True?

Proses C

Yes

No

Proses A

Proses B

Page 22: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 22

IF-THEN-ELSE

Page 23: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 23

Contoh Struktur Dasar Flow-chart

• Loop

Proses B

Proses A

A True?

Yes

No

Page 24: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 24

While & Until

Page 25: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 25

Contoh

Page 26: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 26

Contoh

Page 27: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 27

AVR dan bahasa C• AVR dikembangkan secara khusus untuk dapat

diprogram menggunakan bahasa Assembly dan bahasaC

• Bahasa C adalah suatu general-purpose programming language yang dapat digunakan denganmikroprosesor/mikrokontroler apapun, sepanjangterdapat Kompilernya.

• Bahasa C menampilkan secara lebih mudah konsep ttgapa yg harus dilakukan oleh mikrokontroler(komputer) dengan teks yang bisa dibaca dengan mudah dan logis.

• Setelah menguasai bahasa C, secara umum kita dapatberpindah dari satu mikrokontroler ke yg lain denganlebih mudah, mampu menyusun program yg mudahdipahami & dikembangkan dgn lbh cepat.

Page 28: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 28

AVR dan bahasa C

• Secara umummenyusun program dalam High Level Language (BASIC atau C) lebihmudah dibandingmenggunakanbahasa assembly.

Page 29: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 29

AVR dan bahasa C

• Kompiler bahasa C untuk mikrokontrolerAVR– WinAVR

– IAR C– GCC AVR (GNU Compiler Collection)

– ICC AVR(Imagecraft C Compiler for AVR)– CodeVision AVR

Page 30: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 30

Dasar-dasar bahasa C

• Bentuk paling sederhana suatu program dalam bahasa C

void main()

{

while(1) //do forever

;

}

Page 31: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 31

Dasar-dasar bahasa C

• Bentuk lebih lengkap#include <stdio.h>

void main()

{

printf(“HELLO WORD”);

while(1) //do forever

;

}

Page 32: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 32

Struktur Program C• Struktur Penulisan Program dlm bahasa C

secara umum terdiri dari :– Preprocessor

– Deklarasi Konstanta global atau variabel– Fungsi atau Prosedur

– Program Utama

• Ada kalanya dapat dilakukanPemrograman secara sederhana yaitudilakukan dengan menuliskan program utamanya saja

Page 33: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 33

Preprocessor• Preprocessor

– Digunakan untuk menyertakan teks dari file lain,misalnya header file yg berisi library yang akandigunakan dalam pemrograman, dengan # include file (*.hex),

– Digunakan untuk mendefinisikan macro, dengan#define

– Contoh: # include <mega8535.h># include <stdio.h># include <math.h>#define PULSE PORTC.0#define OUT 1

Page 34: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 34

Konstanta&Variabel• Deklarasi Konstanta&Variabel

– Berisi tentang nama konstanta & variabel, tipedata yg digunakan serta nilai awalnya(jikaada)

– Penulisan konstanta mengikuti aturan sbb:• Integer ditulis dengan format desimal biasa• Biner dengan awalan 0b (misal:0b10100011)• Heksadesimal dengan awalan 0x (misal: 0xff)• Unsigned Integer dengan akhiran U (misal: 1000U)• Long Integer dengan akhiran L (misal:99L)• Floating point dengan akhiran F(misal: 1.234F)

Page 35: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 35

Tipe Data• Tipe Data yg ada pada Codevision AVR

Page 36: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 36

Program• Untuk kemudahan dalam menyusun &

membaca suatu program terdapat:– Komentar

– Identifier– Fungsi

– Prosedur

Page 37: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 37

Komentar• Komentar tidak akan dikompilasi oleh

kompiler, keberadaan komentar hanyaberguna bagi kita(programmer) untukmembantu mengingat kembali kegunaansuatu program atau bagian programContoh :

// line comment/* block comment */ /* this is another

block comment*/

Page 38: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 38

Identifier• Identifier adalah suatu nama yg dapat

diberikan pada suatu variabel, fungsi, label atau obyek lainnya.

• Suatu identifier dapat berisi huruf (A...Z, a...z) dan angka (0...9), ataupun tandaunderscore character (_).

• Suatu identifier harus dimulai dengansuatu huruf atau underscore.

• Bersifat Case sensitif , variable1 tidaksama dengan Variable1.

• Identifiers memiliki panjang 64 characters

Page 39: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 39

Reserved Keywords• Ada beberapa kata yg tidak boleh digunakan

untuk identifier, di antaranya :breakbitbool_Boolcasecharconstcontinuedefaultdefined

Page 40: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 40

Flow Control

• Flow Control adalah bagian program ygdigunakan untuk mengatur/mengendalikanjalannya aliran program

• Dengan adanya flow control maka:– Dapat dibentuk suatu percabangan

– Dapat dibentuk suatu perulangan

• Flow control ini ada yg bersyarat(conditional) dan tidak bersyarat(unconditional)

Page 41: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 41

CodevisionAVRDecision and structures• IF-THEN• IF-THEN-ELSE• SWITCH-CASE-BREAK• SWITCH-CASE-DEFAULT• FOR• WHILE• DO-WHILE• BREAK• CONTINUE• GOTO-LABEL

Page 42: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 42

IF-THEN• Bentuk Umumif (kondisi) {

Pernyataan;

};

Contohif (a<0x50) {

PORTD=0xFF;

};

IF

Proses

(Pernyataan)

Ya

Tidak

Page 43: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 43

IF-THEN-ELSE• Bentuk Umumif (kondisi a) {

pernyataan a;

}

else {

pernyataan b;

};

IF

Proses a

(Pernyataan a)

Proses b

(Pernyataan b)

Ya

Tidak

Page 44: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 44

SWITCH-CASE• Bentuk Umumswitch (ekspresi) {

case konstanta1:penyataan1;

break;

case konstanta2:penyataan2;

break;

case konstantaN:penyataanN;

break;};

Page 45: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 45

SWITCH-CASE-DEFAULT• Bentuk Umumswitch (ekspresi) {

case konstanta1:

penyataan1;

break;

case konstanta2:

penyataan2;

break;

case konstantaN:

penyataanN;

break;

default:

pernyataanD;

};

K1

Proses 1

(Pernyataan 1)

K2

Proses 2

(Pernyataan 2)

K3

Proses 3

(Pernyataan 3)

Kn

Proses n

(Pernyataan n)

Default

Page 46: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 46

FOR• Bentuk Umumfor

(mulai;kondisi;penambahan/pengurangan) {

pernyataan1;penyataan2;

};

• Contoha=1;for (i=1;i<50;i++) {a=a*2;b=a-2;

};

Uji Proses

Mulai

Ya

Tidak

Page 47: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 47

WHILE• Bentuk Umumwhile (kondisi) {

pernyataan1;

Pernyataan2;

};

Uji ProsesYa

Tidak

Page 48: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 48

DO-WHILE• Bentuk Umumdo {

pernyataan1;

pernyataan2;

}

while (kondisi);

Uji

Proses

Ya

Tidak

Page 49: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 49

Flow Control lainnya

• BREAKDigunakan untuk menghentikan ataumengeluarkan dari suatu blok program

• CONTINUEDigunakan untuk melakukan kembaliproses perulangan dari awal

• GOTO-LABELDigunakan untuk melakukan loncatan kelabel yg sesuai.

Page 50: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 50

Flow Control lainnya

• Super Loop (perulangan terus menerustanpa syarat)

while (1) {

pernyataan1;

Pernyataan2;

};

Page 51: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 51

OPERATOR dalam C

• Operator adalah suatusimbol yang menyatakan suatu operasi tertentu.

• Dalam bahasa C ada 3 kelompok– Unary, operator yg beroperasi pada satu

operand– Binary, Operator yg beroperasi pada dua

operand

– Ternary, Operator yg memerlukan tiga ataulebih operand

Page 52: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 52

OPERATOR ARITMATIKA

Page 53: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 53

OPERATOR ARITMATIKA

Page 54: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 54

OPERATOR LOGIKA

Page 55: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 55

MANIPULASI BIT

Page 56: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 56

Prosedur• Prosedur adalah suatu kumpulan instruksi

untuk mengerjakan suatu keperluantertentu tanpa mengembalikan suatu nilai

void nama_prosedur(par 1,..,par N) {

Pernyataan-pernyataan;

}

Page 57: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 57

Fungsi• Fungsi adalah kumpulan instruksi untuk

mengerjakan suatu keperluan tertentu denganhasil akhir pengembalian nilai dari keperluantersebut.

Type data nama_fungsi (par1,..parN)

{

Pernyataan-pernyataan;

return variabel_hasil;

}

Page 58: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 58

Fungsi

• Fungsi untuk menghitung luas persegipanjang

Luas=panjang x lebar

Int luas ( int panjang, int lebar)

{

luas=panjang*lebar;

return luas;

}

Page 59: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 59

CodeVision AVR• CodevisionAVR adalah C COMPILER under

Windows untuk keluarga mikrokontroler AVR. • Dapat dijalankan pada Windows 98, Me, NT 4,

2000, XP dan Vista • Merupakan software tool yg bersifat IDE,

Integrated Development Environment, sehinggaterdapat fasilitas editor, assembler/kompiler,simulator dan emulator serta programmer

• Secara umum mengikuti kaidah bahasapemrograman bahasa C

• Hasil Kompilasi kompatibel dengan USB Programmer AVR910, Kanda System, dsbnya

Page 60: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 60

CodeVisionAVR IDE

Page 61: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 61

CodewizardAVRTerdapat Fasilitas Codewizard yg dapat kita

gunakan untuk kemudahan membuatprogram

• Setting jenis chip dan kristal yg digunakan• Mengakomodasi fitur-fitur AVR• Konfigurasi pada program dilakukan

secara otomatis• Pengguna tinggal melanjutkan/melengkapi

program sesuai dengan aplikasi yg dibuat

Page 62: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 62

CodewizardAVR• Tentukan Chip&Crystal yg

digunakan• Konfigurasi I/O• Setting Interupt• Setting Timer/Counter• Setting LCD• Setting I2C,SPI,1Wire• Setting USART,ADC,

Analog Comparator• Tab fitur yg muncul

mengikuti type chip ygdigunakan

Page 63: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 63

CodeVision AVR

• Pengaturan programmer

• Pilih Atmel AVRProg (AVR910)

Page 64: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 64

CodeVision AVR

• Click File>New

• Muncul Dialog Box, pilih Project, click OK

Page 65: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 65

CodeVision AVR

• Muncul dialog box bantuanCodeWizard

• Pilih Yes, aturcodewizard sesuaikebutuhan, laluGenerate, save&exit

Page 66: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 66

CodevisionAVR IDE

• Anda akan diminta menyimpan(save) tigajenis file yaitu:*.c,*.prj,*.cwp

Page 67: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 67

CodevisionAVR IDE

• Lengkapilah program anda melalui editor yg ada pada CodeVision AVR, anda akanmelakukan perubahan pada file *.c

• Setelah selesai editing program, aturproject agar sesuai dengan jenis aplikasiyg dibuat , type data yg dipergunakan(pada Codevision type data yg bisadigunakan terbatas)

Page 68: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 68

CodeVision AVR

Page 69: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 69

CodevisionAVR IDE

• Atur pada tab After Build, agar secaraotomatis setelahselesai kompilasidan anda dapatlangsungmendownload kechip mikrokontroler(aktifkan pilihanProgram the Chip)

Page 70: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 70

CodevisionAVR IDE• Untuk memperoleh suatu executable program

dibutuhkan langkah berikut:1. Mengkompilasi Program dlm bahasa C yg dari

suatu project, menggunakan CodeVisionAVR C Compiler, dan menghasilkan file object ygdibutuhkan oleh linker

2. Melakukan Linking file object files yg dihasilkanpada tahap kompilasi dan menghasilkan satu file assembler source file

3. Melakukan Assembling terhadap assembler source file, menggunakan Atmel AVR assembler AVRASM2.

Page 71: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 71

CodevisionAVR IDE• Terhadap suatu Project terdapat tiga

aktifitas yg terkait dengan proseskompilasi– Compile, hanya melakukan proses 1– Build, melakukan proses 1,2 dan 3 namun

hanya terhadap bagian/modul program ygtelah diubah dari sebelumnya

– Build All, melakukan proses 1,2 dan 3 terhadap semua bagian/modul program darisuatu project

Page 72: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 72

CodevisionAVR IDE

• Build membutuhkan waktu yg lebih singkatdibanding dengan Build All

• Build All lebih terjamin• Untuk lebih amannya pilih saja Build All

Page 73: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 73

CodevisionAVR IDE

• Muncul Informasitentang hasilkompilasi

• Jika tidak terdapaterror maka andadapat langsungmendownloaddengan memilihtombol Program the Chip

Page 74: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 74

DT AVR LC Micro

• Dilengkapi dengan RS232

Page 75: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 75

Sistem Minimal

• ATmega 8535

Page 76: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 76

Sistem Minimal

Page 77: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 77

Sistem Minimal

• Sebenarnya mikrokontroler AVR memungkinkan untuk beroperasi dengantidak menggunakan crystal, yg digunakanadalah internal osilator AVR

• Konfigurasi yg harus dibuat hanya koneksipada Vcc dan ground serta AVcc danAGND

• Harus dilakukan pengubahan pada fuse bit yg mengatur pilihan sumber clock (setting dilakukan pada programmer)

Page 78: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 78

PROGRAMMER/DOWNLOADER

• KandaSystem STK200/STK300

Page 79: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 79

PROGRAMMER/DOWNLOADER

• KandaSystem STK200/STK300

Page 80: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 80

PROGRAMMER/DOWNLOADER

• KandaSystem STK200/STK300

Page 81: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 81

USB ISP AVR910

• AVR 910

Page 82: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 82

AVRDOPER USB ISP

Page 83: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 83

K 125-i

Page 84: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 84

Programmer

• Contoh Programmer lain– AVRdude-SP12 (http://xs4all.nl/~sbolt/e-

index.html)– TwinAVR (www.rowalt.de/mc/)

Page 85: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 85

Bootloader• Bootloader :aplikasi pada mikrokontroler

yang memungkinkan untuk memprogramulang program utama pada mikrokontrolertersebut.

• Bootloader memungkinkan pengubahanprogram pada mikrokontroler dilakukanmelalui komunikasi serial tanpamembutuhkan programmer yang berupahardware khusus.

Page 86: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 86

Pemrograman Motorola M68HC11

Nuryono S.W.,S.T., M.Eng.

Page 87: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 87

EVBU• Terdiri dari:

– M68HC11(seri E9)– MC68HC68 (Real Time Clock)– RS232 Communication– Expanded Devices (EPROM/EEPROM, RAM dan PPI

8255)

Page 88: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 88

BUFFALO

• Bit User Fast Friendly Aid To Logical Operations

• Program Monitor, suatu program ygmenyediakan suatu lingkungan kerja ygterkontrol di mana sistem (M68HC11) dapat beroperasi

• Dilengkapi User Interface (UI) agar pengguna dapat mengakses memory, menjalankan program aplikasi danmemonitor fungsi dan kerja M68HC11

Page 89: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 89

BUFFALO• Bersama dengan EVBU, memungkinkan

– On-line assembler (Memasukkan program secaralangsung ke memory)

– Program Download (Program yg telah dibuat dandiassembly secara eksternal dapat dimasukkan kedalam memory)

– Debugging/trace (menjalankan program secara step atau instruksi per instruksi agar pengguna bisamengamati jalannya program dan isi dari register danmemory M68HC11)

• BUFFALO sudah ada di dalam M68HC11 sejakdari Pabrik (di dalam ROM),namun bisa dinonaktifkan

Page 90: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 90

Konfigurasi• Untuk menggunakan

EVBU dan BUFFALO dibutuhkan :– PC dengan program yg

dbutuhkan(Programmer’s Notepad & AxIDE atauHyperterminal atauProComm dan AS11, Q Editor)

– EVBU dan Power Supplynya

– Kabel serial

HOST COMPUTER

EVBU 68HC11

POWERSUPPLY

COM1COM2

RS 232

Page 91: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 91

Assembler Directives• ORG (Originate)

Directive yang digunakan untuk mengeset lokasi Program Counter dari assembler. Assembler akan menterjemahkan statemenprogram ke dalam kode instruksi mesin dan data pada lokasimemori yang ditunjukkan oleh ORG ini dan kemudian Program Counter akan menunjukkan lokasi memori berikutnya. Setiapprogram setidaknya mempunyai satu ORG untuk menentukanalamat awal program dalam memori. Program yang lengkapmemiliki ORG kedua yang menentukan alamat vektor reset danvektor interrupt.

• EQU (Equate)Directive yang digunakan untuk mengasosiasikan nilai biner dengansuatu label. Nilai ini bisa 8 bit maupun 16 bit. Directive ini tidakmembentuk kode objek apa pun. Dalam proses assembly, assembler harus selalu melihat daftar referensi di mana diamenyimpan nilai biner ekuivalen untuk setiap label. Jika ada label yang muncul dalam program, assembler akan melihat padareferensi untuk mendapatkan nilai biner ekuivalennya.

Page 92: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 92

Assembler Directives• FCB (Form Constant Byte) memiliki argumen

berupa label atau angka, yang dipisahkandengan koma, yang dapat dikonversikanmenjadi data-data byte tunggal. Setiap byte yang dispesifikasikan dalam directive FCB menghasilkan sebuah byte kode mesin dalamfile objek. Karena itu FCB digunakan untukmendefinisikan suatu konstanta dalam suatuprogram

• FDB (Form Double Byte) memiliki argumenberupa label atau angka, yang dipisahkandengan koma, yang dapat dikonversikanmenjadi data 16 bit.

Page 93: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 93

Assembler Directives• FCC (Form Constant Character)

digunakan untuk mengisi suatu memoridengan suatu karakter dlm kode ASCII

• RMB (Reserve Memory Byte) digunakanuntuk mengeset suatu spasi dalam RAM untuk tempat variabel program.

• FILL digunakan untuk mengisi sejumlahmemori dengan suatu konstanta

• BSZ (Block Store Zeros) & ZMB (Zero Memory Byte) digunakan untuk mengisisejumlah memori dengan nol

Page 94: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 94

Assembler Directives• Contoh penggunaan directive dalam

assembler adalah:

PORTA EQU$00ORG $0200

DATA FCB $35,$89,$67ADD_DATA FDB STARTTEMPA RMB 1TEMPX RMB 1

Page 95: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 95

Simbol KhususInformasi yang disediakan dalam listing program menggunakanbeberapa simbol untuk menentukan tipe dari numerik yang digunakan. Simbol khusus ini adalah:

• Tanpa simbol mengindikasikan numerik desimal. Angka ini akanditerjemahkan menjadi nilai biner sebelum disimpan dalam memoridan digunakan oleh CPU.

• Simbol $ mengindikasikan numerik heksadesimal, seperti $24 adalah 24 dalam heksadesimal yang bernilai sama dengan 36 desimal.

• Simbol @ mengindikasikan numerik oktal, seperti @10 bernilaisama dengan 8 desimal.

• Simbol % mengindikasikan numerik biner, seperti %000100 bernilaisama dengan 8 desimal.

• Simbol ‘ (apostrof) mengindikasikan karakter ASCII tunggal. • Simbol # mengindikasikan operand langsung (immediate) dan

angka ditemui langsung dalam lokasi memori yang mengikuti kodeoperasi. Beberapa macam simbol dan ekspresi dapat mengikutisimbol # ini.

Page 96: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 96

File Kode Objek• File Kode Objek• Telah dipelajari bahwa komputer meminta program dalam bentuk nilai 8-bit di dalam

memori. Sejauh ini, program yang ditulis terlihat sebagai tulisan manusia, sedangkanyang diinginkan oleh komputer untuk dimuat ke memori adalah yang disebut denganobject code file (file kode objek). Untuk mikrokontroler Motorola, bentuk umum darifile kode objek adalah S-record file. Assembler dapat digunakan untuk menghasilkanlisting file maupun file kode objek ini.

• Suatu file S-record adalah file teks ASCII yang dapat dilihat dengan program tekseditor atau pengolah kata biasa. Setiap baris dari file ini adalah sebuah record. Setiaprecord dimulai dengan huruf kapital S dan diikuti oleh angka-angka kode dari 0 sampai 9. Angka-angka kode yang penting adalah S0, S1, dan S9. S0 adalah header record opsional yang berisi nama dari file untuk kepentingan pemakai yang inginmenggunakan file ini. S1 adalah data record utama. Dan suatu record S9 digunakanuntuk menandai akhir dari file S-record. Gambar di bawah menunjukkan sintaks dariS1-record.

• Semua angka di dalam file S-record ditulis dalam format heksadesimal. Field length(panjang) adalah jumlah pasangan digit heksadesimal di dalam record tanpatermasuk field type dan length. Field address (alamat) adalah alamat 16-bit di manabyte data pertama akan disimpan di dalam memori. Setiap pasangan dari digit heksadesimal di dalam field object code data adalah kode mesin yang mewakili suatuharga 8-bit yang akan disimpan dalam suatu lokasi di memori. Field checksumadalah harga 8-bit yang mewakili komplemen (1’s complement) dari jumlah semuabyte dalam record S untuk mem-verify bahwa data sudah benar dan komplit.

Page 97: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 97

Addressing Mode• Immediate:

Dalam mode pengalamatan ini, operand ditempatkan pada lokasialamat setelah opcode. Jumlah byte yang dibuthkan tergantungpada ukuran memori atau register yang dioperasikan. Contoh :LDAA #23LDAB #%01000110

• ExtendedAlamat efektif operand disimpan pada dua byte setelah opcode, satu byte untuk high-order dan satu byte untuk low-order. Instruksiyang menggunakan mode pengalamatan ini membutuhkan tiga atauempat byte. Satu atau dua byte untuk opcode dan dua byte untukoperand. Contoh :LDAA $1023STAA $10FF

Page 98: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 98

Addressing Mode• Direct

Alamat operand low-order byte ditempatkan sesudah opcode. Alamat operand high-order byte adalah $00. Mode pengelamatn inihemat memori dan waktu eksekusi karena hanya membutuhkansatu byte untuk alamat operand.Contoh :LDAA $20LDAA $30

• InherentPada mode pengalamatan inherent semua informasi yang dibutuhkan untuk melaksanakan instruksi terdapat dalam opcodesehingga tidak memerlukan operand. Contoh :INCAINCBINXINY

Page 99: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 99

Addressing Mode• Indexed

Alamat efektif ditentukan dengan menjumlahkan ofsetalamt 8 bit pada instruksi dengan isi register index (IX atau IY). Contoh :LDX #$1000LDAA $20,XADDA $30,X

• RelativeMode pengalamatan relatif hanya digunakan padainstruksi percabangan(branch). Jika kondisipercabangan benar maka alamat ofset 8 bit yang terdapat pada instruksi ditambahkan dengan isi Program Counter untuk membentuk alamat efektif percabangan.

Page 100: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 100

Konsep Pemrograman

• Mode Pengalamatan

Page 101: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 101

Konsep Pemrograman

• Mode Pengalamatan

Page 102: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 102

Konsep Pemrograman

• Mode Pengalamatan

Page 103: Pemrograman Mikroprosesor/Mikrokontroler · Contoh:BASIC, FORTRAN. Mikroprosesor 8 ... suatu program atau bagian program Contoh : // line comment ... Mikroprosesor 77 Sistem Minimal

Mikroprosesor 103

Referensi• Ken Stiffler, 1996, Design with Microprocessor

for Mechanical Engineers, McGraw Hill,hal 44-85

• John Crisp, 2004, Introduction to Microprocessors & Microcontrollers, NewnesPublishing

• Technician’s Guide to M68HC11 Microcontroller

• Dhananjay V. G., 2001, Programming & Customizing the AVR Microcontroller, McGraw Hill

• www.freescale.com• www.microchip.com