Erna Kumalasari Nurnawati

Slides:



Advertisements
Presentasi serupa
JWASM Input Keyboard.
Advertisements

Pemrograman Terstruktur
Pemograman DEBUG.
Oleh: Anis Nurlaili W, MT
erna kumalasari nurnawati
ASSEMBLER PERTEMUAN KE-1
Frekuensi Quartz Crystal atau Ceramic Resonator (kedua istilah ini disebut Osilator) yang dapat digunakan berkisar antara 0 Hz hingga 24 MHz, bahkan.
MikrokontrolerSlamet Winardi Mikrokontroler SISTEM KOMPUTER.
PENGANTAR TEKNOLOGI INFORMASI (A)
BAB IV MODE PENGALAMATAN
Set-Set Instruksi MCS-51 (Pendahuluan)
Teknik Pemrograman Mikrokontroller (Simbol Bhs Asembler) 1.Label Label menunjukkan alamat lokasi memori fisik yg berkaitan dg pernyataan yg diberi label.
Tipe-Tipe Instruksi MCS-51 (Arithmatika)
PENGERTIAN INTERRUPT VEKTOR INTERUPSI
POINTER A. PENDAHULUAN Tanpa pointer untuk memindahkan data dari suatu variabel ke register 8 bit, maka variabel tersebut haruslah 8 bit juga yang dapat.
Rangkaian ADC 0804 dan 0808.
Arsitektur Komputer “Mode Pengalamatan”
Mode Pengalamatan.
Pengalamatan Bit Pengalamatan bit adalah penunjukan alamat lokasi bit baik dalam RAM internal (byte 32H sampai dengan 47H) atau bit perangkat keras. Untuk.
Pertemuan 3 Arsitektur Komputer II
DEBUG.
Organisasi Komputer STMIK – AUB SURAKARTA
Instruksi Percabangan
IKI10230 Pengantar Organisasi Komputer Solusi UTS
1 OLEH : EPYK SUNARNO JURUSAN TEKNIK ELEKTRO INDUSTRI POLITEKNIK ELEKTRONIKA NEGERI SURABAYA INSTITUT TEKNOLOGI SEPULUH NOPEMBER SURABAYA 2007 B A H A.
Dasar pemrograman Mikroprosesor 8086
Erna Kumalasari Nurnawati
BAB III RAM Internal pada MCS-51
SET INTRUKSI & PEMOGRAMAMN ASSEMBLEY MCS 51
Pendahuluan : Konsep memprogram, bahasa pemrograman dan komputer
::. MATA KULIAH MIKROPROSESSOR.:: 09/04/101 :: MEMORI :: TEORI, IMPLEMENTASI & APLIKASI []
BAB IV Teknik Pemrograman
CPU (CENTRAL PROCESSING UNIT)
Mode Pengalamatan Mengatasi keterbatasan format instruksi
ADDRESSING MODES Penjelasan dan program lihat pada Pemograman Bahasa Assembly (Ilmu Komputer)
UNIVERSITAS PANCA MARGAEMBEDDED SYSTEM Addressing Mode.
ORGANISASI KOMPUTER Mode Pengalamatan 10-Apr-17.
ADDRESSING MODE (PENGALAMATAN DATA).
Sistem Mikroprosesor SMK NEGERI 29 JAKARTA.
Erna Kumalasari Nurnawati
SET INSTRUKSI.
Johannes Simatupang, MKom, Cobit5-F NIDN :
REGISTER.
Mode Pengalamatan.
EE-2623 Mikroprosesor & Antarmuka
SISTEM BILANGAN DAN REGISTER
Bahasa Mesin dan Assembly
Arsitektur Perangkat Lunak 8086
Pertemuan 4 (Set Instruksi ARM)
Mikrokontroler Materi 2
TEK 2524 Organisasi Komputer
Pertemuan 5 (SET INSTRUKSI ARM, MOTOROLA, DAN INTEL)
Arsitektur Mikroprosessor 8086
Abdillah, S.Si MIT Model Hipotesis SAP-1 Abdillah, S.Si MIT
Instruksi dalam CPU.
Pengenalan Assembler.
Dasar pemrograman Mikroprosesor 8086
BAB IV Teknik Pemrograman
MODE PENGALAMATAN DAN SET INSTRUKSI
Mode Pengalamatan.
CPU (CENTRAL PROCESSING UNIT)
REGISTER.
Pengenalan Assembler.
PENGANTAR MIKROKONTROLER
Pertemuan 6 Instruksi Bahasa Rakitan 8088
KOMPUTER SIMPLE AS POSSIBLE (SAP-1)
OPERASI PEMINDAHAN DATA
PENGANTAR TEKNOLOGI INFORMASI
TEK 2524 Organisasi Komputer
Ilustrasi kinerja CPU.
Transcript presentasi:

Erna Kumalasari Nurnawati mikrokontroler Pertemuan 3 Erna Kumalasari Nurnawati

PERANGKAT LUNAK MIKROKONTROLER MCS-51 2.1. Pendahuluan Sebuah mikrokontroler tidak akan dapat bekerja bila tidak diberikan program kepadanya. Sistem kerja mikrokontroler dapat dirubah setiap saat sesuai dengan program yang diberikan kepadanya. Erna Kumalasari Nurnawati 2

Erna Kumalasari Nurnawati Instruksi-instruksi perangkat lunak berbeda untuk masing-masing jenis mikrokontroller. Sebuah mikrokontroler tidak dapat memahami instruksi-instruksi yang berlaku pada mikrokontroler jenis lain. Contoh: Mikrokontroler buatan Intel dengan mikrokontroler buatan Zilog memiliki perangkat instruksi yang berbeda Instruksi-instruksi pada mikrokontroler dikenal sebagai bahasa pemrograman sistem mikrokontroler Erna Kumalasari Nurnawati 3

Erna Kumalasari Nurnawati 2.2. Operand dan Ekspresi Assembler a. Operand Bentuk umum semua instruksi dalam assembler Intel dapat dituliskan sebagai berikut: [LABEL:] MNEMONIC [OPERAND] [OPERAND] [OPERAND] [;KOMENTAR] Erna Kumalasari Nurnawati 4

Erna Kumalasari Nurnawati Jumlah operand tergantung pada type mnemonic. Semua operand dapat dibagi dalam 6 kelompok, yaitu: 1. Simbol Khusus Assembler 2. Pengalamatan Tak Langsung 3. Pengalamatan Langsung (Immediate Data) 4. Pengalamatan Data 5. Pengalamatan Bit 6. Pengalamatan Kode 7. Operator Assembler Erna Kumalasari Nurnawati 5

Simbol Khusus Assembler Assembler telah menyediakan beberapa simbol untuk menunjukkan register tertentu sebagai operand. Contoh: A Akumulator R0 …. R7 Register Serbaguna DPTR Data Pointer Register 16 Bit PC Program Counter C Carry Flag B Register B Erna Kumalasari Nurnawati 6

Pengalamatan Tak Langsung Operand pengalamatan tak langsung menunjuk ke sebuah register yang berisi lokasi alamat memory yang akan digunakan dalam operasi. Lokasi yang nyata tergantung pada isi register saat instruksi dijalankan. Erna Kumalasari Nurnawati 7

Pengalamatan Tak Langsung Untuk melaksanakan pengalamatan tak langsung digunakan simbol @ Contoh: MOV A,@R1 MOV @R0,A MOV @R1,24H Erna Kumalasari Nurnawati 8

Pengalamatan Tak Langsung Pengalamatan tak langsung (Indirect) ini biasa digunakan untuk melakukan penulisan, pemindahan atau pembacaan beberapa data dalam lokasi memori yang mempunyai urutan beraturan. Jika proses ini dilakukan dengan menggunakan pengalamatan langsung jumlah baris program yang diperlukan akan cukup panjang. Erna Kumalasari Nurnawati 9

Pengalamatan Tak Langsung Contohnya penulisan data 08H pada alamat 50H hingga 57H. Listing a.1 ORG 0H MOV 50H,#08H MOV 51H,#08H MOV 52H,#08H MOV 53H,#08H MOV 54H,#08H MOV 55H,#08H MOV 56H,#08H MOV 57H,#08H END Erna Kumalasari Nurnawati 10

Pengalamatan Tak Langsung Dengan digunakan sistem pengalamatan tak langsung, dapat diubah menjadi : Listing a.2. ORG 0H MOV R0,#50H ; LOOP: MOV @R0,#08H INC R0 CJNE R0,#58H,LOOP END Erna Kumalasari Nurnawati 11

Pengalamatan Tak Langsung Dalam listing program a.2 diatas, R0 digunakan sebagai register yang menyimpan alamat dari data yang akan dituliskan. Dengan melakukan penambahan pada isi R0 dan mengulang perintah penulisan data ke alamat yang ditunjuk R0 hingga register ini menunjukkan nilai 57H + 1, atau 58H. Dengan demikian, barisan perintah pada Listing a.1 dapat dieliminasi. Erna Kumalasari Nurnawati 12

Pengalamatan Tak Langsung MCS-51 mempunyai sebuah register 16 bit (DPTR) dan dua buah register 8 bit ( R0 dan R1 ) yang dapat digunakan untuk melakukan pengalamatan tidak langsung. Contoh-contoh perintah yang menggunakan sistem pengalamatan tak langsung adalah : MOV @R0,A ; R0 sebagai reg. penyimpan alamat MOV A,@R1 ; R1 sebagai reg. penyimpan alamat ADD A,@R0 ; R0 sebagai reg. penyimpan alamat MOVX @DPTR,A ; DPTR sebagai reg. penyimpan alamat MOVC A,@A+DPTR ; DPTR sebagai register penyimpan alamat Erna Kumalasari Nurnawati 13

Pengalamatan Langsung ( Immediate Data ) Proses pengalamatan ini terjadi pada sebuah perintah ketika nilai operand merupakan data yang akan diproses. Biasanya operand tersebut selalu diawali dengan tanda ‘#’ seperti pada contoh berikut. MOV A,#05H MOV A,#45H MOV B,#0E4H MOV DPTR,#4356H Erna Kumalasari Nurnawati 14

Pengalamatan Langsung ( Immediate Data ) Operand yang digunakan pada immediate data juga dapat berupa bilangan bertanda mulai - 256 hingga + 256. Contoh : MOV A,# -1 sama dengan MOV A,#0FFH Bilangan -1 adalah sama dengan bilangan 0 dikurangi 1, dalam bentuk heksa bilangan 00H. Jika dikurangi dengan 1, hasilnya adalah 0FFH. Dengan pengertian seperti ini, bilangan -1 dapat dianggap sama dengan 0FFH. Erna Kumalasari Nurnawati 15

Erna Kumalasari Nurnawati Pengalamatan Data Proses pengalamatan ini terjadi pada sebuah perintah ketika nilai operand merupakan alamat dari data yang akan diisi, dipindahkan atau diproses. Contoh : MOV P0,A Port 0 adalah salah satu I/O pada MCS-51 yang mempunyai alamat 80H. Perintah pada contoh di atas selain mengirimkan data akumulator ke Port 0 juga merupakan perintah pemindahan data dari akumulator ke alamat 80H sehingga dapat juga dituliskan MOV 80H,A. Erna Kumalasari Nurnawati 16

2.2. Register Pada Mikrokontroler MCS-51 Adalah tempat menyimpan/mengolah data sementara pada saat mikroprosessor / mikrokontroller bekerja. Erna Kumalasari Nurnawati 17

Erna Kumalasari Nurnawati Pada MCS-51 terdapat antara lain: REGISTER 8 bit A: Accumulator R3 B R4 R0 R5 R1 R6 R2 R7 REGISTER 16 bit DPTR DPH DPL PC PC ( Program Counter ) Erna Kumalasari Nurnawati 18

2.3. Instruksi Pemrograman Pada Mikrokontroler MCS-51 Pada MCS-51 mempunyai ± 256 instruksi pemrograman yang secara garis besar dibagi menjadi : 1. Transfer Data 2. Operasi Aritmatika 3. Operasi Logika 4. Manipulasi Variabel Boolean 5. Instruksi Percabangan Erna Kumalasari Nurnawati 19

2.3.1. Instruksi Transfer Data Instruksi Transfer Data mempunyai beraneka ragam bentuk yang berbeda yang disesuaikan dengan darimana data tersebut berasal (SOURCE) dan akan ditransfer kemana (DESTINATIONS). Instruksi ini menggunakan operand MOV yang tidak mengubah isi data pada sumber ( Source ) dan hanya mengkopi (menggandakan) data dari sumber ( Source ) ke tujuan (Destinations) Erna Kumalasari Nurnawati 20

Erna Kumalasari Nurnawati Jenis-jenis Instruksi Transfer Data a. ACCUMULATOR / REGISTER Metode ini adalah mengkopi data dari suatu Register ( R0 – R7 ) ke Accumulator ( A ) Contoh : MOV A,R0 MOV A,R1 MOV A,R2 MOV A,R3 MOV A,R4 MOV A,R5 MOV A,R6 MOV A,R7 Erna Kumalasari Nurnawati 21

Erna Kumalasari Nurnawati b. REGISTER / ACCUMULATOR Metode ini adalah mengkopi data yang berada di Accumulator ( A ) ke suatu Register ( R0 – R7 ) Contoh : MOV R0,A MOV R1,A MOV R2,A MOV R3,A MOV R4,A MOV R5,A MOV R6,A MOV R7,A Erna Kumalasari Nurnawati 22

Erna Kumalasari Nurnawati c. ACCUMULATOR / DATA ( IMMEDIATE ) Metode ini adalah untuk mengisi data ke dalam Accumulator ( A ) dengan data 8 bit secara langsung. Pada metode ini digunakan tanda # pada data yang akan diisikan. Contoh : MOV A,#24H MOV A,#7FH MOV A,#0FEH MOV A,#0F8H MOV A,#100 MOV A,#255 MOV A,#0FFH Erna Kumalasari Nurnawati 23

Erna Kumalasari Nurnawati d. REGISTER / DATA ( IMMEDIATE ) Metode ini adalah untuk mengisi data ke dalam suatu Register ( R0 – R7 ) dengan data 8 bit secara langsung. Pada metode ini digunakan tanda # pada data yang akan diisikan. Contoh : MOV R0,#24H MOV R1,#7FH MOV R2,#0FEH MOV R3,#0F8H MOV R4,#100 MOV R5,#255 MOV R6,#0FFH MOV R7,#0FH Erna Kumalasari Nurnawati 24

Erna Kumalasari Nurnawati e. REGISTER / REGISTER Metode ini adalah mengkopi data yang berada di Register (R0-R7) ke suatu Register (R0-R7) yang lain. Contoh : MOV R0,R5 MOV R4,R0 MOV R2,R1 MOV R6,R2 MOV R4,R7 MOV R5,R1 MOV R3,R2 MOV R7,R3 Erna Kumalasari Nurnawati 25

Erna Kumalasari Nurnawati f. ACCUMULATOR / DIRECT Instruksi ini akan memindahkan data dari sebuah alamat internal RAM ke Accumulator tanpa melalui register lainnya. Contoh : MOV A,20H MOV A,21H MOV A,22H MOV A,23H MOV A,24H MOV A,25H MOV A,2FH Erna Kumalasari Nurnawati 26

Erna Kumalasari Nurnawati g. DIRECT / ACCUMULATOR Instruksi ini akan memindahkan data dari Accumulator ke sebuah alamat internal RAM tanpa melalui register lainnya. Contoh : MOV 20H,A MOV 21H,A MOV 22H,A MOV 23H,A MOV 24H,A MOV 25H,A MOV 2FH,A Erna Kumalasari Nurnawati 27

Erna Kumalasari Nurnawati h. ACCUMULATOR / INDIRECT Type instruksi ini hanya dapat menggunakan register R0 dan R1 sebagai pointer Contoh : MOV A,@R0 MOV A,@R1 i. INDIRECT / ACCUMULATOR Contoh : MOV @R0,A MOV @R1,A Erna Kumalasari Nurnawati 28

Erna Kumalasari Nurnawati j. REGISTER / DIRECT Instruksi ini akan memindahkan data dari sebuah alamat internal RAM ke Register-register yang berada di Mikrokontroller. Contoh : MOV R0,20H MOV R1,21H MOV R2,22H MOV R3,23H MOV R4,24H MOV R5,25H MOV R6,29H MOV R7,2FH Erna Kumalasari Nurnawati 29

Erna Kumalasari Nurnawati k. DIRECT / REGISTER Instruksi ini akan memindahkan data dari sebuah Register ke sebuah alamat internal RAM yang berada di Mikrokontroller. Contoh : MOV 22H,R0 MOV 24H,R1 MOV 25H,R2 MOV 28H,R3 MOV 2AH,R4 MOV 2CH,R5 MOV 2DH,R6 MOV 2EH,R7 Erna Kumalasari Nurnawati 30

Erna Kumalasari Nurnawati l. DIRECT / DIRECT Instruksi ini akan memindahkan data dari sebuah alamat internal RAM ke sebuah alamat internal RAM juga. Contoh : MOV 22H,20H MOV 24H,21H MOV 25H,23H MOV 28H,26H MOV 2AH,20H MOV 2CH,29H MOV 2DH,2FH MOV 2EH,21H Erna Kumalasari Nurnawati 31

Erna Kumalasari Nurnawati m. DIRECT / DATA Pada instruksi ini akan mengisi data pada sebuah alamat internal RAM secara langsung dengan cara memasukkan data delapan bit. Contoh : MOV 22H,#0FEH MOV 24H,#7EH MOV 25H,#23H MOV 28H,#9FH MOV 2AH,#0D5H MOV 2CH,#0B4H MOV 2DH,#22H Erna Kumalasari Nurnawati 32

Erna Kumalasari Nurnawati n. INDIRECT - DATA Pada instruksi yang dipakai disini menggunakan register INDIRECT sebagai register pemrosesnya dengan diisi data secara langsung. Contoh : MOV @R0,#21H MOV @R1,#0C8H Erna Kumalasari Nurnawati 33

Erna Kumalasari Nurnawati o. INDIRECT - DIRECT Pada instruksi yang dipakai disini menggunakan register INDIRECT sebagai register pemrosesnya dengan diisi data dari alamat internal RAM. Contoh : MOV @R0,21H MOV @R1,25H Erna Kumalasari Nurnawati 34