Instruktur : Ferry Wahyu Wibowo, S.Si., M.Cs.
1
Pengenalan Serangkaian instruksi PIC 16 Operasi register file berorientasi Byte Operasi register file berorientasi Bit Operasi kendali dan literal Format instruksi Jenis operasi MPASM Assembler Contoh Rangkuman 2
Pilihan pemrograman Mikrokontroler: 1.
2.
3.
Kode mesin 00 0111 0001 0101 Bahasa Assembly: perlu assembler addwf NUM, w Bahasa tingkat tinggi: perlu kompiler for (i=0; i<10; i++) sum += a[i];
3
4
5
35 instruksi Tiga kelompok: 1. Operasi register file berorientasi Byte 2. Operasi register file berorientasi Bit 3. Operasi kendali dan literal
Jenis Operasi:
◦ ◦ ◦
Aritmatik Perpindahan data Dan lain-lain
–> Logik –> Kendali
6
Format: op f, t ◦ op: operasi ◦ f: jumlah file atau register ◦ t: tujuan (0: working register, 1: file register)
Contoh: addwf PORTA, 0 Tambahkan isi working register dan register PORTA, letakkan hasilnya dalam working register.
7
Format: op f, b ◦ op: operasi ◦ f: jumlah file atau register ◦ b: jumlah bit, 0 sampai 7
Contoh: bsf STATUS, 5 Set ke 1 Bit 5 register STATUS.
8
Format: op k ◦ op: operasi ◦ k: literal, 8-bit jika data atau 11-bit jika alamat
Contoh: addlw 5 Tambahkan ke working register nilai 5. call 9 Panggil subrutin pada alamat 9.
9
10
Mnemonic Operand
Deskripsi
Status yang Siklus dipengaruhi
ADDWF
f, t
Tambah W dan f
1
C,DC,Z
COMF
f, t
Komplemen f
1
Z
DECF
f, t
Decrement f
1
Z
INCF
f, t
Increment f
1
Z
SUBWF
f, t
Kurangi W dari f
1
C,DC,Z
ADDLW
k
Tambah literal dan W
1
C,DC,Z
SUBLW
k
Kurangi W dari literal
1
C,DC,Z
11
Mnemonic Operand
Deskripsi
Status yang Siklus dipengaruhi
ANDWF
f, t
AND W dengan f
1
Z
IORWF
f, t
Inclusive OR W dengan f
1
Z
XORWF
f, t
Exclusive OR W dengan f
1
Z
ANDLW
k
1
Z
IORLW
k
1
Z
XORLW
k
AND literal dengan W Inclusive OR literal dengan W Exclusive OR literal dengan W
1
Z
12
Mnemonic Operand
Deskripsi
Status yang Siklus dipengaruhi
MOVF
f, t
Pindahkan f
1
MOVWF
F
Pindahkan W ke f
1
SWAPF
f, t
Swap nibbles dalam f
1
MOVLW
k
Pindahkan literal ke W
1
Z
13
Mnemonic Operand DECFSZ INCFSZ BTFSC BTFSS CALL GOTO RETFIE
f, t f, t f, b f, b k k -
RETLW
k
RETURN
-
Deskripsi
Siklus
Decrement f, Skip jika 0 Increment f, Skip jika 0 Bit Test f, Skip jika Clear Bit Test f, Skip jika Set Panggil subrutin Menuju alamat Kembali dari interupsi Kembali dengan literal dalam W Kembali dari Subrutin
1 (2) 1 (2) 1 (2) 1 (2) 2 2 2
Status yang dipengaruhi
2 2 14
Mnemonic Operand
Deskripsi
Status yang Siklus dipengaruhi 1 Z 1 Z 1 1 C
CLRF CLRW NOP RLF
f f, d
Hapus f Hapus W Tidak ada operasi Rotasi kiri f via Carry
RRF
f, d
Rotasi kanan f via Carry
1
C
BCF BSF CLRWDT
f, b f, b -
1 1 1
TO',PD'
SLEEP
-
Bit Clear f Bit Set f Hapus Watchdog Timer Berada pada mode standby
1
TO',PD' 15
16
Arahan Assembler
Keterangan
list
Mengimplementasikan pilihan daftar
#include
Memasukkan file sumber tambahan
org
Set program awal
equ
Definisi konstanta assembly; menggunakan sebagai nilai dan label
end
Akhir blok program 17
Radix
Contoh
Decimal
D’255’
Hexadecimal
H’8d’ atau 0x8d
Octal
O’574’
Binary
B’01011100’
ASCII
‘G’ atau A’G’
18
19
;*************************************************** ;ELECTRONIC PING-PONG DATA MOVE ;Program penekanan tombol di port A menghidupkan LED ;pada port B ;*************************************************** ; ;Configuration Word: WDT off, power-up timer on, ; code protect off, RC oscillator ; list p=16F84A
20
; ;tentukan SFR status equ porta equ trisa equ portb equ trisb equ ;
03 05 05 06 06
21
; org 00 ;Inisialisasi start bsf status,5 ;memilih memory bank 1 movlw B’00011000’ movwf trisa ;set arah port A movlw 00 movwf trisb ;semua port B sebagai keluaran bcf status,5 ;pilih bank 0
22
; ;Program utama clrf loop movf
porta ;hapus emua bit pada port A porta,0 ;pindahkan port A ke ;register W movwf portb ;pindahkan register W ke ;port B goto loop end
23
Assembler merupakan bahasa pemrograman yang merupakan bagian toolset yang digunakan dalam pemrograman embedded system, yang mempunyai aturan dan teknik sendiri. Perlu untuk mengadopsi dan mempelajari IDE ketika mengembangkan program. MPLAB IDE merupakan tool yang sesuai untuk mikrokontroler PIC. Ketika seseorang ingin memprogram hardware, terlebih dahulu harus mempelajari fitur simulator. Simulator dalam MPLAB mengijinkan pengguna untuk menguji fitur program dengan kecepatan tinggi dan merupakan tool pembelajaran.
24