ฟังชันหลัก main MCS51
7/7/2557 SONGCHAI PRAPATRUNGSEE
ฟังชันหลัก main MCS51
ฟังชันหลัก(main) หมายถึง
เป็นจุดเริ่มต้นของการทำงานของโปรแกรม
และจุดสิ้นสุดการทำงานของโปรแกรม
หมายความว่าฟังชันนี้จะต้องมี
ถ้าไม่มีจะคอมไพล์(แปล)ไม่ผ่าน(ERROR)
ส่วนฟังชันย่อยจะมีหรือไม่มีก็ได้
แต่ถ้ามีชื่อฟังชันย่อยอยู่ในฟังชันหลัก
เมื่อทำงานมาถึงบรรทัดที่มีชื่อฟังชันย่อย
ฟังชันหลักก็จะเรียกใช้งานฟังชันย่อยนั้น
เมื่อทำงานในฟังชันย่อยจนเสร็จแล้วก็จะมาทำงาน
ต่อจากบรรทัดที่มีชื่อฟังชันย่อยนั้น
ส่วนฟังชันอินเทอรัพท์จะมีหรือไม่มีก็ได้เช่นกัน
ฟังชันอินเทอรัพท์คือฟังชันขัดจังหวะ
เมื่อฟังชันหลักกำลังทำงานอยู่
แล้วมีการขัดจังหวะจากฟังชันอินเทอรัพท์
ก็จะกระโดดไปทำงานยังฟังชันอินเทอรัพท์ก่อน
เสร็จแล้วก็จะกลับมาทำงานในฟังชันหลักที่ค้างไว้
//////////////////////////////////////////////////////
#include <REGX51.H>
void DELAY_MS(unsigned int TIME){
//DELAY HAVE INPUT
unsigned int
i,j;//0-65535
for(i=TIME;i!=0;i--)
for(j=124;j!=0;j--);//ADJUST TIME THIS ROW
}
/*CRYSTAL 12MHZ,
124=1MS PER ROUND*/
void main(void){
P1=255; //P1=PORT1
DELAY_MS(500);//500=DELAY 500MS
P1=0;
DELAY_MS(500);
}
//////////////////////////////////////////
#include <REGX51.H>
เอาไฟล์รีจิสเตอร์ของ
AT89S51
เข้ามาร่วมกับไฟล์.C
void DELAY_MS(unsigned int TIME){
//DELAY HAVE INPUT
unsigned int
i,j;//0-65535
for(i=TIME;i!=0;i--)
for(j=124;j!=0;j--);//ADJUST TIME THIS ROW
}
เป็นฟังชันย่อยชื่อDELAY_MS
ฟังชันนี้จะมีหรือไม่มีก็ได้
void main(void){ }
ฟังชันหลักเป็นฟังชันที่สำคัญจะไม่มีไม่ได้
voidแรก
คือRETURN
TYPEหรือเอาท์พุท
ส่วนคำว่า voidแปลว่าไม่มี
หมายความว่าไม่มีรีเทิร์นไทพ์หรือเอาท์พุท
main คือชื่อฟังชัน
แปลว่า หลัก
(void) คือ ARGUMENTหรืออินพุท
ในที่นี้หมายความว่าไม่มีอาร์กิวเมนท์หรืออินพุท
{ วงเล็บปีกกาเปิด
หมายถึงจุดเริ่มต้นการทำงานของโปรแกรม
} วงเล็บปีกกาปิด
หมายถึงจุดสิ้นสุดการทำงานของโปรแกรม
จากนั้นเข้าสู่โหมดประหยัดพลังงาน
P1=255; //P1=11111111
กำหนดให้PORT1 มีไฟออกทั้ง
8ขา(8BIT)
DELAY_MS(500); //500=DELAY
500MS
หน่วงเวลาไว้500มิลลิวินาที (ครึ่งวินาที)
P1=0; //P1=00000000
กำหนดให้PORT1 เป็นกราวด์ทั้ง
8ขา(8BIT)
DELAY_MS(500);
หน่วงเวลาไว้500มิลลิวินาที (ครึ่งวินาที)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น