Minggu, 08 Maret 2020

Pengenalan Bahasa Assembly dengan menggunakan MPLab IDE

sebelum itu kita perlu tahu apa itu bahasa assembly dan apa itu MPLab.

Dikutip dari wikipedia bahwa "Bahasa rakitan atau lebih umum dikenal sebagai assembly language adalah bahasa pemrograman tingkat rendah yang digunakan dalam pemrograman komputer, mikroprosesor, pengendali mikro, dan perangkat lainnya yang dapat diprogram. Bahasa rakitan mengimplementasikan representasi atas kode mesin dalam bentuk simbol-simbol yang secara relatif lebih dapat dipahami oleh manusia. Berbeda halnya dengan bahasa-bahasa tingkat tinggi yang berlaku umum, bahasa rakitan biasanya mendukung secara spesifik untuk suatu ataupun beberapa jenis arsitektur komputer tertentu. Dengan demikian, portabilitas bahasa rakitan tidak dapat menandingi bahasa-bahasa lainnya yang merupakan bahasa pemrograman tingkat tinggi. Namun, bahasa rakitan memungkinkan programmer memanfaatkan secara penuh kemampuan suatu perangkat keras tertentu yang biasanya tidak dapat ataupun terbatas bila dibuat dengan menggunakan bahasa pemrograman tingkat tinggi."

dan MPLab dikutip dari salah satu artikel dari ilmukomputer.org bahwa "MPLAB IDE merupakan tool software dari Microchip dan dapat didapatkan secara gratis darisitus resmi Microchip di www.microchip.com. (tersedia juga di dalam CD bawaan buku ini).Software MPLAB IDE mendukung semua sistem operasi Windows. Bahasa pemrograman chipmikrokontroler secara default adalah assembler standar Microchip. Namun dalamperkembangannya, banyak vendor ketiga yang mengembangkan bahasa pemrograman sendiriseperti bahasa basic dan bahasa C.MPLAB IDE mendukung pemrograman semua produk mikrokontroler dari generasi pertamasampai 32 bit. Hanya saja ketika instalasi pertama dilakukan, MPLAB IDE tidak mendukungsemua bahasa pemrograman. Agar dapat mendukung bahasa pemrograman yang lain, maka perludiinstall lagi software kompiler bahasa secara terpisah. Beberapa pihak/perusahaan pengembangbahasa C dan basic yang mendukung produk Microchip misalnya Oshonsoft, Me-Lab, Hi-TechC. Mereka menawarkan kemudahan dalam memprogram PIC karena rutin-rutin pemrogramanyang sudah mereka sediakan, dan pemakai lebih enak dalam mengkofigurasi PIC. Namun disamping kemudahan itu, kita harus membeli dari software/source code yang mereka sediakan"

dan setelah mengetahui apa itu MPLab dan Bahasa Assembly kita bisa lanjut ke project, dan tentunya sudah ter install MPLAB X + XC 8.

Untuk memulai project ikuti langkah langkah sebagai berikut

Pilih new project

Pilih microchip – standalone project

Pilih ic mikro yang dipakai

Pilih simulator

Pilih xc8

Buat nama project dan simpan pada folder yang diinginkan

Membuat program main, klik kanan pada source file

Buat nama file dengan ekstensi .c

Berikut tampilan kerangka awal

Sekarang kita akan membuat program kenalan yaitu led blinking.port yang dipakai yaitu rd0. Kalo sudah terbiasa dengan avr studio+ gcc pasti akan sangat menyenangkan. Berikut program untuk led blinking pada port rd0
#include
#define _xtal_freq 16000000 

#pragma config fosc = hs // oscillator selection bits (hs oscillator) 

#pragma config wdte = off // watchdog timer enable bit (wdt disabled) 
#pragma config pwrte = off // power-up timer enable bit (pwrt disabled) 
#pragma config cp = off // flash program memory code protection bits (code protection off) 
#pragma config boren = on // brown-out reset enable bit (bor enabled) 
#pragma config lvp = on // low voltage in-circuit serial programming enable bit 
(rb3/pgm pin has pgm function; low-voltage programming enabled) 
#pragma config cpd = off // data ee memory code protection (code protection off) 
#pragma config wrt = on // flash program memory write enable (unprotected program memory may be written to by eecon control) void main(void) 

{

 __delay_ms(100);
 trisd=0;
 portd=0;
 for(;;)
 {
  rd0=1;
  __delay_ms(1000);
  rd0=0;
  __delay_ms(1000);
  } Return;
}

Setelah itu save all kemudian compile

Sedikit penjelasan dari newbie.

Pada program banyak sekali tulisan #pragma config, klo pada avr itu sama dengan mengatur fusebit. Pada pic pengaturan configuration fuse di ketikan pada program.

Kita tidak harus mengetikan dari awal,karena pada compiler mplab x ide+ xc 8 sudah ada generatornya. Kita tinggal masuk ke menu window-pic memory viewsconfiguration bits

Kemudian aturlah configuration bits dan pilih generation source file

Kemudian hasil pengaturan disisipkan pada program //========================================================= =========
Berikut source untuk pengaturan port sebagai output

Void main(void)
{
  __delay_ms(100);
  trisd=0; // sebagai output.

Untuk pengaturan input output port agak berbeda dengan avr. Pada pic klo port diisi dengan 0 maka port diatur sebagai output,jika 1 maka sebagai input. Register untuk pengaturan yaitu tris.

//========================================================= ==========

Library delay juga sudah tersedia. Syntaxnya seperti di bawah ini
 __delay_ms(1000);

//========================================================= =============

Untuk hasil cocmpile yaitu berupa file hex.berada difolder dist\production\proyekan pic 16f877\modul pic02 output\testoutput.x\dist\default\production

//========================================================= =============


sumber:
https://id.wikipedia.org/wiki/Bahasa_rakitan
http://ilmukomputer.org/wp-content/uploads/2017/05/ams-antarmukausb-pic4550-2.pdf
https://ilhammuzaqi.blogspot.com/2020/03/mengenal-mplab-x-ide.html