User Rating: / 1
แย่ดีที่สุด 
ดัชนีบทความ
ควบคุมไมโครคอนโทรลเลอร์ด้วยภาษาซี ตอนที่1
ควบคุมไมโครคอนโทรลเลอร์ด้วยภาษาซี หน้า2
ทุกหน้า

ในการควบคุมไมโครคอนโทรลเลอร์ให้ทำงานตามที่เราออกแบบไว้นั้นจะต้องเขียนโปรแกรมควบคุมขึ้นมา จะด้วยภาษาใดก็ได้มีหลายภาษาด้วยกัน เช่น ภาษาเบสิก ภาษาซี ภาษาปาสคาล และภาษาโลโก้ หรือภาษาโฟลว์ชาร์ทก็แล้วแต่ ล้วนทำได้หมดทั้งสิ้น เพียงแต่ปัจจัยที่สำคัญนั้นอยู่ที่ตัวคอมไพเลอร์ของแต่ละยี่ห้อนั้นจะทำเน้นในภาษาใดเท่านั้น

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

พื้นฐานที่จำเป็นของภาษาซี

ตัวดำเนินการเลขคณิตในภาษาซี
-              การลบ                                   x-y
+             การบวก                                 x+y
*             การคูณ                                  x*y
/             การหาร                                  x/y
%            การหารเอาเฉพาะเศษไว้             9%2= เศษ 1 , 1 คือผลลัพธ์
- -             การลดค่าครั้งละ 1                   x- - หรือ - -x  จะมีค่าเหมือนกับ x=x-1
++             การเพิ่มค่าครั้งละ 1                 x++ หรือ ++x จะมีค่าเหมือนกับ x=x+1

จากข้างต้น ในภาษาซีจะมีลำดับในการประมวลผลก่อนและหลัง หากมีการใช้ตัวดำเนินการมากๆในหนึ่งนิพจน์ ดังนี้
()                                            ลำดับที่1
++,- -                                       ลำดับที่2
* / %                                       ลำดับที่3
+-                                            ลำดับที่4
+= , -= , *= , /= , %=               ลำดับที่5

ตัวดำเนินการในภาษาซีทั้งหมดมีดังนี้
()                                            Function call
[]                                            array element
.                                             structure member
->                                           pointer to structure member
!                                             Logical
-                                             Minus
+                                            Add
- -                                           Decrement
++                                          Increment
&                                            address of
=                                            content of
*                                             Multiply
/                                             Divide
%                                           Modulus
<<                                         (left shift)
>>                                         (right shift)
<                                            less than
<=                                          less than or equal to
>                                            greater than
>=                                          greater than or equal to
==                                          equality
!=                                            not equal
&                                             AND (bit by bit)
^                                             XOR (bit by bit)
!                                              OR (bit by bit)
&&                                            logical AND
||                                             logical OR
?:                                             Conditional
=                                             Assignment
*=/=%=+=                              compound assignment
-=<<=>>=                              compound assignment
&=^=!=                                   compound assignment
,                                              comma operator