Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Erna Kumalasari Nurnawati1 mikrokontroler Pertemuan 3.

Presentasi serupa


Presentasi berjudul: "Erna Kumalasari Nurnawati1 mikrokontroler Pertemuan 3."— Transcript presentasi:

1 Erna Kumalasari Nurnawati1 mikrokontroler Pertemuan 3

2 Erna Kumalasari Nurnawati2 2 PERANGKAT LUNAK MIKROKONTROLER MCS 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.

3 Erna Kumalasari Nurnawati3 3 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

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

5 Erna Kumalasari Nurnawati5 5 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

6 Erna Kumalasari Nurnawati6 6 Simbol Khusus Assembler Assembler telah menyediakan beberapa simbol untuk menunjukkan register tertentu sebagai operand. Contoh: AAkumulator R0 …. R7 Register Serbaguna DPTRData Pointer Register 16 Bit PCProgram Counter CCarry Flag BRegister B

7 Erna Kumalasari Nurnawati7 7 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.

8 Erna Kumalasari Nurnawati8 8 Pengalamatan Tak Langsung Untuk melaksanakan pengalamatan tak langsung digunakan Contoh:

9 Erna Kumalasari Nurnawati9 9 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.

10 Erna Kumalasari Nurnawati10 Pengalamatan Tak Langsung Contohnya penulisan data 08H pada alamat 50H hingga 57H. Listing a.1 ORG0H MOV50H,#08H MOV51H,#08H MOV52H,#08H MOV53H,#08H MOV54H,#08H MOV55H,#08H MOV56H,#08H MOV57H,#08H END

11 Erna Kumalasari Nurnawati11 Pengalamatan Tak Langsung Dengan digunakan sistem pengalamatan tak langsung, dapat diubah menjadi : Listing a.2. ORG0H MOVR0,#50H ; INCR0 CJNER0,#58H,LOOP END

12 Erna Kumalasari Nurnawati12 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.

13 Erna Kumalasari Nurnawati13 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 : R0 sebagai reg. penyimpan alamat MOV R1 sebagai reg. penyimpan alamat R0 sebagai reg. penyimpan alamat DPTR sebagai reg. penyimpan alamat MOVC ; DPTR sebagai register penyimpan alamat

14 Erna Kumalasari Nurnawati14 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. MOVA,#05H MOVA,#45H MOVB,#0E4H MOVDPTR,#4356H

15 Erna Kumalasari Nurnawati15 Pengalamatan Langsung ( Immediate Data ) Operand yang digunakan pada immediate data juga dapat berupa bilangan bertanda mulai hingga Contoh : MOVA,# -1 sama dengan MOVA,#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.

16 Erna Kumalasari Nurnawati16 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.

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

18 Erna Kumalasari Nurnawati18 Pada MCS-51 terdapat antara lain: REGISTER 8 bit A: AccumulatorR3 BR4 R0R5 R1R6 R2R7 REGISTER 16 bit DPTRDPHDPL PC PC ( Program Counter )

19 Erna Kumalasari Nurnawati 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

20 Erna Kumalasari Nurnawati 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)

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

22 Erna Kumalasari Nurnawati22 b. REGISTER / ACCUMULATOR Metode ini adalah mengkopi data yang berada di Accumulator ( A ) ke suatu Register ( R0 – R7 ) Contoh :MOVR0,A MOVR1,A MOVR2,A MOVR3,A MOVR4,A MOVR5,A MOVR6,A MOVR7,A

23 Erna Kumalasari Nurnawati23 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 :MOVA,#24H MOVA,#7FH MOVA,#0FEH MOVA,#0F8H MOVA,#100 MOVA,#255 MOVA,#0FFH

24 Erna Kumalasari Nurnawati24 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 :MOVR0,#24H MOVR1,#7FH MOVR2,#0FEH MOVR3,#0F8H MOVR4,#100 MOVR5,#255 MOVR6,#0FFH MOVR7,#0FH

25 Erna Kumalasari Nurnawati25 e. REGISTER / REGISTER Metode ini adalah mengkopi data yang berada di Register (R0-R7) ke suatu Register (R0-R7) yang lain. Contoh :MOVR0,R5 MOVR4,R0 MOVR2,R1 MOVR6,R2 MOVR4,R7 MOVR5,R1 MOVR3,R2 MOVR7,R3

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

27 Erna Kumalasari Nurnawati27 g. DIRECT / ACCUMULATOR Instruksi ini akan memindahkan data dari Accumulator ke sebuah alamat internal RAM tanpa melalui register lainnya. Contoh :MOV20H,A MOV21H,A MOV22H,A MOV23H,A MOV24H,A MOV25H,A MOV2FH,A

28 Erna Kumalasari Nurnawati28 h. ACCUMULATOR / INDIRECT Type instruksi ini hanya dapat menggunakan register R0 dan R1 sebagai pointer Contoh i. INDIRECT / ACCUMULATOR Type instruksi ini hanya dapat menggunakan register R0 dan R1 sebagai pointer Contoh

29 Erna Kumalasari Nurnawati29 j. REGISTER / DIRECT Instruksi ini akan memindahkan data dari sebuah alamat internal RAM ke Register-register yang berada di Mikrokontroller. Contoh :MOVR0,20H MOVR1,21H MOVR2,22H MOVR3,23H MOVR4,24H MOVR5,25H MOVR6,29H MOVR7,2FH

30 Erna Kumalasari Nurnawati30 k. DIRECT / REGISTER Instruksi ini akan memindahkan data dari sebuah Register ke sebuah alamat internal RAM yang berada di Mikrokontroller. Contoh :MOV22H,R0 MOV24H,R1 MOV25H,R2 MOV28H,R3 MOV2AH,R4 MOV2CH,R5 MOV2DH,R6 MOV2EH,R7

31 Erna Kumalasari Nurnawati31 l. DIRECT / DIRECT Instruksi ini akan memindahkan data dari sebuah alamat internal RAM ke sebuah alamat internal RAM juga. Contoh :MOV22H,20H MOV24H,21H MOV25H,23H MOV28H,26H MOV2AH,20H MOV2CH,29H MOV2DH,2FH MOV2EH,21H

32 Erna Kumalasari Nurnawati32 m. DIRECT / DATA Pada instruksi ini akan mengisi data pada sebuah alamat internal RAM secara langsung dengan cara memasukkan data delapan bit. Contoh :MOV22H,#0FEH MOV24H,#7EH MOV25H,#23H MOV28H,#9FH MOV2AH,#0D5H MOV2CH,#0B4H MOV2DH,#22H

33 Erna Kumalasari Nurnawati33 n. INDIRECT - DATA Pada instruksi yang dipakai disini menggunakan register INDIRECT sebagai register pemrosesnya dengan diisi data secara langsung. Contoh :

34 Erna Kumalasari Nurnawati34 o. INDIRECT - DIRECT Pada instruksi yang dipakai disini menggunakan register INDIRECT sebagai register pemrosesnya dengan diisi data dari alamat internal RAM. Contoh :


Download ppt "Erna Kumalasari Nurnawati1 mikrokontroler Pertemuan 3."

Presentasi serupa


Iklan oleh Google