Monday, November 8, 2010

Info selingan

Assalamulaikum semua.

Sorry semua sebab dah lama tak update blog nie. Saya agak sibuk dan terpaksa menumpukan kepada satu projek peribadi.

Walaubagaimana pun insya allah saya akan cuba luangkan masa sedikit untuk updatekan blog ni dari masa ke semasa.

Terima kasih semua atas lawatan ke blog ini.

Thursday, November 4, 2010

Tutorial 3.0: Tulis C program yang pertama

Assalamualaikum semua.

Sekarang saya akan tunjukkan camne nak tulis satu program dalam bahasa C ( C language) dengan menggunakan kaedah 'Project Wizard'.

Saya akan tunjukkan secara bergambar dan sesiapa yang tidak/kurang faham boleh email saya di allpicproject@gmail.com.



Step 01: Run/double click 'MPLAB IDE v8.56



Ini gambaran default MPLAB IDE



Step 02: Pilih menu 'Project -> Project Wizards' n klik



Step 03: Klik 'Next'



Step 04: Pilih microcontroller/PIC yang akan digunakan,
dalam kes nie PIC16F887. Klik 'Next'



Step 05: Pilih 'HI-TECH Universal ToolSuite'.
... klik 'Next'.


Paparan ini akan terhasil.



Step 06: Pilih/buat folder dimana project n fail akan disimpan.
Dalam kes nie, saya buat folder 'AllPICProject'.


Saya buat satu lagi subfolder untuk pelajaran ini 'Demo-01_LED-n-Button'



Masukkan nama project yang akan dibina/create.
Dalam kes ini adalah 'LED-Button' ( LED-Button.mcp)
... klik 'Save'.


Step 07: Kalau semua ok, klik 'Next'


Step 08: Klik 'Next'



Step 09: Klik 'Finish'.



Paparan default untuk MPLAB IDE.



Paparan MPLAB IDE selepas re-arrange.



Step 10: Right-hand click kat atas 'LED-Button.mcp'
dan pilih 'Add New File ... ' n clik


Step 11: Masukkan nama fail C ( mesti ada ext .c)
... dalam kes ini adalah 'LED-Button.c' n klik 'Save'



Paparan yang terhasil.



#include

/*
* Demo program - Push Button n LED ON
* Guna PIC-Board v2 - code: C00-007G
*
* Tekan Button ( bertanda A0) sekali, LED di Port D akan count-up
*
* Copyright http://allpicproject.blogspot.com
*/

#define BUTTON RA0 // bit 0 of PORTA .. Button di sambung kpd Pin 0 di Port A (PortA.0).

main(void) // Function utama. Setiap C program mesti ada function ni. Program bermula di sini.
{ // Tanda mula bg function 'main(void)'

unsigned char j; // Set j sebagai pembolehubah type char ( 1 byte = 8 bit) .. j = 0 -> 255
unsigned int i; // Set pembolehubah (variable) i sebagai type integer ( 2 byte ) .. i = 0 -> 65,535

ANSEL = ANSELH = 0; // Disable semua port Analog ... sekarang semua port I/O adalah digital.

TRISD = 0; // Set semua Port D sebagai Digital Output (samada 0V atau 5V output)

j = 1; // Set nilai j = 1

PORTD = j; // Set Port D = 1 ( atau Port D = 00000001 )

while(0) // loop selama-lamanya
{ // tanda mula bg 'while()'

if(BUTTON == 1) // Jika Button A0 di tekan
{ // Tanda mula bg 'if(BUTTON == 1)'

j++; // j = j + 1
PORTD = j; // Set Port D = nilai j
while(BUTTON == 1) // Selagi Button A0 di tekan
{
for(i = 10000 ; --i ;) continue; // count down .. berfungsi sebagai delay
}
} // Tanda tutup bg 'if(BUTTON == 1)'

} // tanda tutup bg 'while()'

} // Tanda tutup bg function 'main(void)'




Step 12: Copy code kat atas ( dari '#include '
sehingga ' } // Tanda tutup bg function 'main(void)''
dan paste ke dalam .... LED-Button.c (spt dalam gambar di atas).
Klik icon save ( gambar diskett).



Selepas icon save di klik, tiada lagi
tanda '*' di tempat bertanda A (warna merah).



Step 13: Right-hand click kat atas 'LED-Button.mcp'
dan pilih 'Save' n klik.

Tiada tanda '*' dalam 2 bulatan merah.
Ini menandakan fail n project telah di save/simpan.


Step 14: Klik icon compile untuk compile C code
( untuk tukarkan C languange kepada
Hex code/bahasa mesin/code yang difahami oleh PIC)


Compilation berjaya ... tiada error.
Dalam kota merah, ruang/space yang digunakan oleh PIC


Compilation gagal ... kotak merah menerangkan
kesalahan/error kenapa compilation gagal.

That's all for today. Thank you.

Bersambung ........

Monday, November 1, 2010

Hardware: PIC board ver 2

Assalamualaikum semua.

Saya telah membuat PIC board ver 2. Di dalam board nie terdapat ciri2 berikut:

1. Socket untuk uC PIC 40 pin.
2. ICSP - in circuit serial program
3. LED (8 unit) yang disambung kepada Port D PiC
4. Push button ( 2 unit) yang disambung kepada Pin A0 (Port A.0) dan Pin A1 (Port A.1)
5. RS232 pin sambungan
6. PWM pin sambungan

Ciri2 ini disertakan supaya dapat mengurang kos bagi sesiapa yang ingin membuatnya setakat pelajaran asas. Untuk pelajaran peringkat tinggi, board ini juga boleh digunakan tanpa membuat board baru, cuma sambung kepada board2 yang berkenaan.

Bagi sesiapa yang ingin kepada gambar schematic n pcb yang complete untuk membuatnya sendiri, sila download kat hujung blog ni.

Sila clik gambar untuk mendapatkan gambar yang lebih besar.


PIC board ver 2 schematic.



PIC board ver. 2


PIC board ver. 2



PIC board ver. 2



PIC board ver. 2 dengan button yang disambung kepada pin A0 (PortA.0) n pin A1 (PortA.1). Manakala 8 LED disambung kepada PortD ( PortD.0 -> PortD.7).

Jika sesiapa yang ingin order daripada saya, sila email kepada allpicproject@gmail.com dan nyatakan kod package yang ingin dibeli (C00-007H).

Package siap pasang n test - C00-007H-SIAP - RM62.00 (termasuk belanja pos dll dalam Malaysia sahaja. Untuk negara lain, sila email ke allpicproject@gmail.com ).




Bagi sesiapa yang menggunakan fail PCB yang di download dari blog ni, sila tekan icon 'Ratsnet' rujuk gambar di bawah supaya litar PCB lengkap.


Terima kasih.

Nota: Saya akan menggunakan PIC board ver 2 ini (C00-007H) untuk pembelajaran PIC dalam blog ini.

Thursday, October 28, 2010

Tutorial 2: Setup MPLAB IDE

Assalamualaikum semua,

Berikut adalah cara2 untuk memasang/setup MPLAB IDE. Saya paparkan menggunakan urutan gambar2 supaya senang/tak keliru dalam memasangnya (sebenarnya tak susah pun).

Apa yang saya akan tunjukkan di sini adalah cara memasang MPLAB IDE n Hi-Tech C compiler. Hi-Tech C compiler yang akan dipasang ini adalah version Lite (Hi-Tech C Lite version/free version) untuk compile C code kepada hex code untuk PIC siri PIC10xxxx, PIC12xxxx dan PIC16xxxx.

MPLAB IDE adalah tempat untuk :

1. Menulis/edit C code/firmware/aturcara untuk uC PIC
2. Untuk compile C code kepada Hex code (code yang dipahami oleh PIC).
3. Untuk memasukkan Hex code ke dalam PIC dengan menggunakan PIC programmer (PICkit2) ... saya akan tunjukkan secara detail kemudian.
4. Untuk debug/mengenalpasti masalah terperinci peringkat bahasa mesin/Hex code/melihat PIC bekerja (yang ni susah sikit untuk di tunjukkan dalam blog ni, saya tak tunjuk dalam blog tapi mungkin diajar jika saya adakan kelas belajar PIC face to face).
5. Dan lain-lain (yang nie saya tak sentuh dalam blog ni).

Hi-Tech C compiler adalah untuk menukar/convert C code kepada Hex code. PIC hanya faham bahasa mesin iaitu hex code.

Berikut adalah langkah2 untuk memasang MPLAB IDE n Hi-Tech C compiler.


1. Pilih/double clik 'setup' untuk memulakan pemasangan MPLAB IDE.



2. MPLAB IDE installation in progress.



3. Clik 'Next'.



4. Accept MPLAB IDE license ... clik 'Next'.



5. Pilih complete installation ... clik 'Next'.



6. Accept license aggrement n clik 'Next'.



7. Accept license aggrement n clik 'Next'.



8. Accept license aggrement n clik 'Next'.



9. Mula install MPLAB IDE ... clik 'Next'.


10. Install MPLAB IDE ... in progress.



11. Install Hi-Tech C compiler ... clik 'Yes'.



12. Clik 'Next' untuk install Hi-Tech C ... clik 'Next'.



13. Accept lesen untuk install Hi-Tech C. clik checkbox n ... clik 'Next'.



14. Pilih folder untuk install Hi-Tech C ... clik 'Next'.



15. Pilih bahasa yang dikehendaki. Check box 'Add to environment path' adalah untuk kita menjalankan compilation menggunakan command line. Nak check/uncheck box .. mana2 pun boleh sebab kita tak guna command line dalam tutorial nie ... clik 'Next'.



16. Hi-Tech C compiler dah siap pasang ... clik 'Finish'.



17. Akhirnya, siap install MPLAB IDE ... clik 'Finish'.



18. Sesiapa nak baca dokumen yang berkenaan, sila pilih fail tersebut atau abaikannya.



19. Click icon nie untuk memulakan/menggunakan MPLAB ... selamat berjaya.