KOMUNITAS HOBBIYST ELEKTRONIKA - KHE

Diskusi Elektronika => Kategori Mikrokontroller/Robotik => Mikrokontroller Seri PIC => Topik dimulai oleh: Cosphi84 pada Juli 17, 2014, 11:09:15 PM

Judul: Belajar PIC Micro langsung dengan ASM
Ditulis oleh: Cosphi84 pada Juli 17, 2014, 11:09:15 PM
Hallow Rekan semua..!!

Sudah lama sekali perasaan tidak menulis di forum ini. Masihkah rame seperti dahulu? atau sudah berpindah ke grup forum Whats-app nya Om Ridho..?? ;D ;D

Sembari menunggu kantuk yang belum kunjung datang (.. Padahal besok harus bangun pagi pagi sekali... :-\ :-\), saya coba sembatkan untuk membuat thread baru di blok Microcontroller ini. Yup... Kita coba belajar micro Programming lagi.. tentunya masih dengan chip keluaran dari Microchip...

tapi, kita tak akan mengulas dengan bahasa program BASIC, PASCAL, BASKOM, PANCI, PANCI KRESS, atau lainnya... kita akan mencoba belajar langsung dengan bahasa dasarnya uC : ASSEMBLY.

Mari Kita bahas bareng bareng ya... Yang punya ilmunya, mari di share... Biar jadi tambah banyak. Kalau share Uang, yang ada uang kita berkurang... tapi kalau share Ilmu, yang ada kita masih ada dan bahkan tambah ngerti, dan orang lain juuga bisa ikut ngerti juga... jadinya Tambah banyak kan..??
Judul: Re:Belajar PIC Micro langsung dengan ASM
Ditulis oleh: Cosphi84 pada Juli 17, 2014, 11:28:23 PM
Untuk Pendahuluan, saya mencoba memulai sedikit ya... Kalau salah silahkan koreksi, kalau kurang silahkan tambah, kalau bermanfaat silahkan ambil, kalau menjadkan anda kaya, silahkan transfer ke saya... ;D ;D

Kenapa Microchip?
Saya memilih chip keluarga dari microchip, karena yang saya pahami ya ini... heheheh  ;D ;D. Pernah saya mencoba mempelajari uC dari INTEL (atMEGA), tetapi... ternyata buntu lagi buntu lagi.. dan saya merasakan kemudahan dalam memprogram uc dari microchip.

Selain itu, tools juga tersedia gratis (MPLABX dan MPASMX). oya, jika anda seius ingin belajar microcontroller ini, maka saya sarankan anda segera mengunduh dan memasang IDE dan ASEMBLER ini dari webnya microchip. Saya sendiri menggunakan MPLABX versi 2.10 di lingkungan Linux Ubuntu 14.04 LTS (komplit benerrr....) Sementara untuk compiler, saya menggunakan MPASMX V 5x...

Kenapa ASSEMBLY?
Kenapa ya...??
Ya karena dengan asembly, kita bisa membuat program yang sangat efektif, cepat, dan efisien. info dari seorang pakar uC, ternyata compiler bahasa lain ke ASM itu terkadang bikin program jadi boros... jadi lambat, dan tidak efisien. Terkecuali jika anda mau membeli lisensinya, maka si compiler akan membuat optimisation dengan sempurna... tapi, tidak sesempurna dengan kita menulis langsung dengan ASM.

memang terkadang dirasa lebih susah menggunakan ASM, tapi percayalah.. untuk efektifitas dan performa firm ware kita... jauh lebih baik....

Batasan
Di thread ini, saya batasi pembahasannya hanya untuk mnemonic, Logaritma, trik, dan tips saja.. Sementara pemahaman untuk proses burning, belinya dimana, pakai jenis apa... silahkan bikin thread sendiri...

Oke...

Wehh.. sudah perih nih mata... jam sudah pukul 23:30... sambung esok lagi ya... insyaa Allah....

de pardiman, 73, cherio...
Judul: Re:Belajar PIC Micro langsung dengan ASM
Ditulis oleh: cungkrinx pada Juli 18, 2014, 03:20:29 PM
ikut belajar akh biar ikutan pinter :D
Judul: Re:Belajar PIC Micro langsung dengan ASM
Ditulis oleh: cgp.2500 pada Juli 25, 2014, 04:51:44 PM
Numpang absen dan menyimak para master... Sekalian pengen banget belajar karena masih nubie banget dalam bahasa asm, tetapi kepengen banget belajar khususnya PIC mikro. Siapa tahu banyak pencerahan di sini.
Judul: Re:Belajar PIC Micro langsung dengan ASM
Ditulis oleh: bc pada Agustus 04, 2014, 02:24:55 PM
ikut nimbrung ahh..

salam
Judul: Re:Belajar PIC Micro langsung dengan ASM
Ditulis oleh: Cosphi84 pada Agustus 12, 2014, 11:36:46 AM
Maap baru sempat nongol lagi. Bulan puasa, aktifitas padat, jadi ga sempat check in di sini.

Untuk dapat mengarui bahtera Microcontroller PIC, maka beberepa persiapan yang harus kita sediakan dahulu adalah:
+--> Software:
   +---> MPLABX IDE. Silahkan sesuiakan dengan versi OS anda. Windows atau Linux. Software ini bisa di download secara gratis di http://www.microchip.com/pagehandler/en-us/family/mplabx/ (http://www.microchip.com/pagehandler/en-us/family/mplabx/). note: Siapkan bandwith internet yang cukup karena filenya lumayan besar. Software ini merupakan sebuah IDE (integreated Development Envireontment), dimana nantinya setiap kita hendak bekerja dengan sebuah project, maka kita hanya bekerja di "satu" halaman / page saja, dan nantinya, si MPLABX IDE akan menyediakan sleuruh sumber daya (seperti header file, compiler, dll). Intinya, untuk memudahkan kita dalam proses pembuatan project.
 
   +---> MPASMX. Software Compiler, yang mengkompilasi karakter karakter asci yang kita tulis (yang disebut source code) menjadi simbol simbol bahasa mesin. Software ini akan terinstall otomastis saat kita menginstall MPASMX.


+> Hardware:
 +--> Programmer PIC Micro. Apa saja jenisnya, yang penting bisa digunakan untuk menulis file hex ke microcontroller. Bisa type Paralel, Serial, USB, JDM, keluarga K-series, atau apapunn.. bebas....

 +--> tentu saja, IC Pic Microcontroller. Tipe apa saja. tetapi untuk sekedar memulai project belajar, bisa dari kelas yang paling ringan dahulu, sejenis PIC16F84A, 628A, atau PIC16F877a. Jika anda kesulitan mencari IC PIC tsb di daerah anda, maka anda bisa membelinya secara online. Salah satu toko online yang saya biasa membeli IC pic micro adalah di indo-ware semarang (Bukan sedang iklan yaaaaaa.......)

Selanjutnya, pasang semua dan seting standart aja. Yang peting adalah semua sudah tersedia.

Jika semua sudah ada, maka kita sudah siap untuk memulai memprogram PIC micro....

''' Its show time....!!"
Judul: Re:Belajar PIC Micro langsung dengan ASM
Ditulis oleh: cungkrinx pada Agustus 14, 2014, 07:08:39 PM
hardware sama software udah punya neh,,, tinggal ke tahap berikutnya... :D
Judul: Re:Belajar PIC Micro langsung dengan ASM
Ditulis oleh: Cosphi84 pada Agustus 16, 2014, 06:24:58 AM
Oh iya, ada satu suplement penting yang tidak boleh tertinggal, yaitu DATASHEET dari IC PiC yang akan kita pakai, dan juga MPASMx User Manual dari microchip. Keduanya bisa di download dari websitenya Microchip. Format PDF.

Sekilas tetnag Source Code dan compiling

Dalam membuat project, MPASM memberikan kita 2 pilihan, ABSOLUTE code dan RELOCATABLE code.
Gampangnya, Absolute code itu kita menuliskan semua kode dan identifier dalam satu file. Jadi semua deskripsi, baik itu alamt register, perintah, dll ditulis dalam satu file asm, kemudian di compilasi, dan jadilah file HEX. Sedangkan Relocatable adalah modular. source code bisa dikelompokan menjadi library libray, dan nanti ketika kita akan memakainya, tinggal di link-kan dengan MPLINK.

Disini kita akan gunakan yang lebih mudah saja, yaitu yang mode ABSOLUTE. jadi silahkan MPLAB-nya diseting dengan model ABSOLUTE. bagi yang ingin tau lebih dalam, silahkan merujuk ke MPASM user manual (DS33014L) halaman 50.

Bentuk SOURCE code ASM.

Source code asm pada MPLAB project berisi 4 kolom info:

Ke empat info tsb dipisahkan dengan MINIMAL SATU SPASI.
jadi, susunannya akan sepert:

LABEL [spasi] MNEMONICS [spasi] OPERANDS [spasi] KOMENTAR.

Komentar bersifat additional saja, untuk mempermudah. Sedangkan label, biasanya digunakan untuk menjadi acuan untuk perintah JUMP.

Berikut contoh dari sebuah SOURCE code ASM:

(https://scontent-a.xx.fbcdn.net/hphotos-xpa1/v/t1.0-9/10349947_785537131466396_568020569287183198_n.jpg?oh=1a069fe4c9b98b42d0fe07efa5060c58&oe=545AEF28)

LABEL, digunakan untuk merepresentasikan sekumpulan baris atau grup perintah. Terkadang, label di akhiri dengan titik dua (:). Ketentuan Label: tidak boleh diawali dengan angka, maksimal 32 karakter, dan defaultnya Case sensitive, Artinya, "LaBEL" dengan "label" adalah beda.

MNEMONICS adalah sebuah syntax yang memerintahkan assembler untuk menyusun perintah micocontroller. Ia adalah sebuah intruksi yang dimengerti oleh assembler (MPASM) untuk membuat susunan instruksi mesin. COntohnya adalah ADD, MOVLW, INCF, GOTO, dll. SEMUA intruksi MNEMONIC ada di datasheet IC pic pada bagian INSTRUCTION SET.

OPERANDS adalah data atau informasi yang digunakan oleh MNEMONICS. Misal kita perintahkan pic untuk meng-ADD, maka pasti akan ada angka berapa yang akan di ADD-kan. Bilangan tersebut adalah Operands.
Contoh, ADDLW 0xF2, asrtinya ADD W dengan bilangan Literal 0xF2. nah, 0xF2 ini adalah sebuah OPERANDS.

Komentar, harus selalu diawali dengan semicolon (;) Semua yang DISEBALAH KANAN semikolon adalah komentar dan akan diabaikan oleh compiler. Komentar ini sifatnya untuk memudahkan dalam pembacaan Source code oleh kita sendiri.

RADIX.
Dalam penulisan konstan numerik, mpasm menggunakan tanda:

Tobe continued, insyaa Allah
[/list]