Pada kali ini, saya akan menerangkan secara ringkas tentang isi kandungan file LED.c.
Kepada sesiapa yang tidak jelas, sila emailkan kepada saya di allpicproject@gmail.com atau letakkan message anda di CBOX di sebelah kiri blog.

1. #include
- Mesti ada dalam setiap file.c (hitech.c) dan mesti berada di baris paling atas.
- Kegunaanya adalah untuk memuatkan/mendapatkan maklumat-maklumat penting bagi microcontroller seperti alamat pin, alamat port, pin naming dan lain-lain.
- Untuk pengetahuan lanjut, sila rujuk file pic.h di tempat hitech.c di install.
2. /*
3. * LED Demo program
4. * Running LEDs on Port D
5. */
- Ini adalah komen-komen pengenalan dan info. Setiap komen mestilah di dahulukan dengan ‘/*’ dan di tamatkan dengan ‘*/’. Komen jenis ini boleh berada dalam beberapa baris seperti contoh di atas.
- Tanda komen ‘//’ dalam ‘// Set varible I n J sebagai unsign int (nilai 0 - 65k)’ adalah tanda komen untuk satu baris sahaja. Jika komen tersebut perlukan 2 baris maka setiap baris mestilah dimulakan dengan ‘//’
6. main(void){
17 }
- Rujuk no. 6, ini adalah function utama ( function ini mesti nama ‘main(void)’. Setiap file.c yang utama mesti ada function ini. Di function inilah setiap program c akan bermula.
- Rujuk no. 17, ‘}’ ini adalah tanda penutup bagi function ‘main(void).
- Arahan-arahan bahasa C yang berada di dalam ‘{‘ dan ‘}’ akan di jalankan / run.
7. unsigned int I, J; // Set varible I n J sebagai unsign int (nilai 0 - 65k)
- Int adalah singkatan bagi integer
- Baris ini menetapkan pembolehubah I dan J sebagai pembolehubah unsigned integer
- Nilai unsigned integer adalah 0 à 65,535
- Nilai integer (bukan unsigned) adalah -32,768 à 32,765
- Setiap baris arahan mesti di akhiri dengan tanda ‘;’
8. TRISD = 0; /* Set semua Pin Port D sebagai output */
- PIC16F887 mempunyai lima jenis port iaitu PORTA, PORTB,PORTC, PORTD dan PORTE (sila rujuk datasheet untuk maklumat terperinci)
- Bilangan pin dalam setiap PORT tak sama (rujuk datasheet)
- PORTD terdiri dari 8 bit iaitu RD0 à RD7 dan RD7 adalah nilai bit yang terbesar (MSB)
- Nilai PORTD dari 0 à 255 atau 0b00000000 à 0b11111111 (format binary) atau 0x00 à0xFF (format hexadecimal)
- TRISD adalah gabungan TRIS dan PORTD
- TRIS adalah arahan untuk set sesuatu port sebagai masukan/keluaran (input/output)
- TRISD = 0 adalah sama dengan TRISD = 0b00000000 (0bxxxxxxxx adalah format binary)
- TRISD = 255 çè TRISD = 0b11111111 çè TRISD = 0xFF (format hexadecimal)
- TRISD = 0 = 0b00000000 bermaksud semua bit/pin PORTD di set sebagai keluaran/output. 0 à Output / keluaran , 1 à Input / masukan
- Jika TRISD = 0b10000000, bermaksud hanya bit RD7 / bit D7 di set sebagai Input dan selainnya adalah sebagai Output.
- Setiap baris arahan mesti di akhiri dengan tanda ‘;’
9. J = 1; // Set nilai default/awal J = 0
- Set nilai J bersamaan 1.
- Setiap baris arahan mesti di akhiri dengan tanda ‘;’
10 while(1){ // Loop selama-lamanya
16 } // Penutup untuk 'while' syntax.
- Arahan ‘while(1){ ……} ‘ melaksana semua arahan-arahan yang berada di dalam ‘{ … }’ tanpa henti / selama-lamanya.
11 PORTD = J; // Set portD dengan nilai J
- Setkan nilai PORTD bersamaan dengan nilai J
- Setiap baris arahan mesti di akhiri dengan tanda ‘;’
12 for(I = 65000 ; --I ;) continue; // Sebagai delay
13 for(I = 65000 ; --I ;) continue; // Sebagai delay - satu lagi delay
- Ini adalah arahan ‘for … next’ atau ‘for … buat sesuatu … ulang sehingga no 0 atau no tertentu.
- Dalam kes ini, hanya di set sebagai masa lengah / delay sahaja.
14 J = J * 2; // Nilai J di darab dengan 2.
- Setiap baris arahan mesti di akhiri dengan tanda ‘;’
15 if(J > 128) J = 1; // Set nilai J = 1 jika nilai J > 128.
- Setiap baris arahan mesti di akhiri dengan tanda ‘;’
Bersambung ....
0 comments:
Post a Comment