** บทความและโครงงานนี้เป็นความคิดเห็นของผู้เขียนเอง ซึ่งผู้อ่านไม่จำเป็นต้องเห็นด้วยเสมอไปครับ
หาก มีข้อเสนอแนะ หรือพบข้อความใดๆ ผิก กรุณาแจ้งมายังผู้เขียนด้วยครับ จะได้ทำการแก้ไขข้อมุลให้
ถูกต้อง ครับ
กลับหน้าหลัก บทความ
 

ภาษา_C_เบื้องต้น

ภาษาC กับ PIC
การเขียนโปรแกรมของไมโครคอนโทรลเลอร์ PIC นอกจากจะใช้ภาษาแอสเซมปลี(Assembly) แล้ว เรายังสามารถใช้ภาษาอื่นๆได้อีก เช่นภาษาเบสิก และ ภาษาซี เป็นต้น แต่ในบทความต่อจกนี้จะขอกล่าวถึงภาษาซีเท่านั้นครับ
การเขียนโปรแกรมด้วยภาษาC มีข้อดีอยู่ เช่น
C เป็นภาษาไม่ขึ้นกับฮาร์แวร์
C สามารถเขียนแบบโครงสร้าง
C ง่ายต่อการ ศึกษา
C มีความสามารถใกล้เคียงแอสเซมบลี
C สามารถเขียนการทำงานที่ซับซ้อนได้
ในการเขียนโปรแกรมของไมโครคอนโทรลเลอร์ตระกูลอื่นสามารถเขียนด้วยหลักการใกล้เคียงกัน

โปรแกรมภาษา C
ภาษา C นั้นประกอบด้วย 3 ส่วนหลักๆคือ 1. ฟัง์ชัน 2.ตัวแปร 3.คำสั่งการทำงาน ตัวอย่างโปรแกรมภาษา C
#include
void main
{
printf("Hello PIC");
}

โปรแกรมนี้จะแสดงคำว่า "Hello PIC"

คีย์เวิร์ด (keywords) หรือ คำสงวนในภาษาC
คีย์เวิร์ด (keywords) หรือ คำสงวนในภาษาC เป็นคำที่สงวนไว้หามนำมาใช้สร้างเป็นชื่อฟังก์ชันชั้น หรือ ตัวแปร ถ้าใช้แล้วจะทำให้การผิดพลาดในการคอมไพล์เลอร์ คำสงวนมีดังนี้


การเขียนคอมเมนต์(comments)
บรรทัดใดมีการเขียนคอมเมนต์ บรรทัดนั้นจะไม่ถูกนำไปคอมไพล์เลอร์ คือจะผ่านบรรทัดนั้นไปเลย การเขียนคอมเมนต์ก็เพื่อที่จะอธิบายการทำงาน หรือ ต้องการบอกอะไรบางอย่างของโปรแกรมนั้นๆ ซึ่งการเขียนคอมเมนต์ทำได้คือ
1. ใช้เครื่องหมาย // นำหน้า เช่น // โปรแกรมแสดงการทำงานของนาฬิกา
2. ใช้เครื่องหมาย /* */ ค่อมระหว่างอักษรที่ต้องการ เช่น /* โปรแกรมแสดงการทำงานของนาฬิกา */ ซึ่งการใช้เครื่องหมายแบบนี้สามารถใช้แบบหลายบรรทัดได้

ชนิดตัวแปร (Variable type)
ตัวแปรคือ ชื่อที่ผู้เขียนโปรแกรมกำหนดขึ้นเพื่อใช้งาน (หรือใช้ในการจองหน่วยความจำ) โดยก่อนที่จะกำหนดชื่อตัวแปรนั้น เราจะต้องกำหนดชนิดของข้อมูลตัวแรก่อน โดยชนิดของข้อมูลตัวแปรในภาษC เช่น
int ตัวเบขจำนวนเต็ม 8 บิต 0 ถึง 255
long ตัวเลข 16 บิต 0 ถึง 65,535
float ตัวเลขทศนิยม 32 บิต 3.4x10e-38 ถึง 3.4 x10e38
char ตัวอักขระ 8 บิต
int16 ตัวเลข 16 บิต 0 ถึง 65,535
int32 ตัวเลข 32 บิต 0 ถึง 4,294,967,298

ค่าคงที่ (Constants)
ค่าคงที่เป็นการประกาศครั้งเดียวแล้วสามารถเรียกค่านั้นมาใช้งานได้เลย ซึ่งเราจะใช้ ไดเร็กตีฟ #define ในการกำหนดค่าคงที่ เช่น
#define PI 3.142 คือ การประกาศว่าค่า PI มีค่าเท่ากับ 3.142
#drfine TRUE 1 คือ การประกาศว่าค่า TRUE มีค่าเป็น1
#drfine FALSE 0 คือ การประกาศว่าค่า FALSE มีค่าเป็น 0

การคำนวณทางคณิตศาสตร์
สัญลักษณ์การคำนวณทางคณิศาสตร์ในการเขียนโปรแกรมมีดังนี้


เงื่อนไขการทำงานและลอจิก
เงื่อนไขการทำงานกับตัวแปร มีสัญลักษณ์ต่างๆดังนี้

<>br> การกระทำทางบิต
การกระทำทางบิตจะใช้ในระบบดิจิตอลซึ่งจะมีสัญลักษณ์ดังต่อไปนี้


การทำงานแบบมีเงื่อนไข
การทำงานแบบมีเงื่อนไขจะมีอยู่ 2 คำสั่งคือ if..else และ switch
if...else จะเป็นการตรวจสอบเงื่อนไข ถ้าเป็นจริงจะทำตามเงื่อนไข ถ้าเป็นเท็จจะทำตามเงื่อนไขหลัง else และเขียนโครงสร้างได้ดังนี้
if(condition) {
statements 1;
}
else {
statements2;
} if(เงื่อนไขการทำงาน) { // เงื่อนไขเป็นจริง
คำสั่งการทำงาน 1;
}
else { // เงื่อนไขเป็นเท็จ
คำสั่งการทำงาน 2;
} // จบการทำงาน

switch จะใช้ตรวจสอบค่ากับเงื่อนไข โดยค่าที่ตรวจสอบจะเป็นค่าเดี่ยวๆจะเป็นค่าอยู่ระหว่างไม่ได้ซึ่งสามารถเขียนโครงสร้างได้ดังนี้
switch(expression){
case condition 1:
statements1;
Beak;
case condition 2:
statements2;
Beak;
.
.
default
statements;
Break
}
switch (ตัวแปรในการตรวจสอบ){
case เงื่อนไขที่ 1:
คำสั่งที่ 1;
หยุด; // จะมีหรือไม่มีก็ได้
case เงื่อนไขที่ 2:
คำสั่งที่ 2;
หยุด; // จะมีหรือไม่มีก็ได้
.
.
.default //
คำสั่งสุดท้าย;
หยุด; // จะมีหรือไม่มีก็ได้
} // จบการทำงาน


การทำงานแบบวนลูป
คำสั่งวนลูปเป็นคำสั่งที่ทำให้โปรแกรมทำงานไปเรื่อยๆ ซึ่งจะมีคำสั่งอยู่ 3 คำสั่งคือ while , for และ do
for ในคำสั่ง for เราสามารถกำหนดค่าเริ่มต้น เงื่อนไข และ การเพิ่มค่าได้ตั้งแต่แรก เขียนลำดับการทำงานได้ดังนี้
for(assignment,condition ,increment ){
statement;
}

for(ค่าเริ่มต้น,เงื่อนไขการทำงาน,เพิ่ม/ลด ค่า){
คำสั่งในการทำงาน;
}

while จะทำงานจนกว่าเงื่อนไขเป็นเท็จ สามารถเขียนลำดับการทำงานได้
while ( condition) {
statements;
}
while (เงื่อนไข) {
คำสั่งในการทำงาน ;
}

do จะทำงานคล้ายกับ while การใช้ do จะทำงาน 1 ครั้งก่อนแล้วจึงทำการตรวจสอบเงื่อนไข สามารถเขียนลำดับการทำงาน
ได้ดังนี้
do {
statements ;
} while ( condition)

do{
คำสั่งในการทำงาน ;
} while ( เงื่อนไข )


เขียนเมื่อ 2 มี.ค. 2554