^Back To Top
Get Adobe Flash player

ทดลอง MCU ตอนที่ 5 (Delay)

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

 

การเขียนโปรแกรมหน่วงเวลาสามารถทำได้ 2 แบบคือ
1. การหน่วงเวลาโดยอาศัยการคำนวณทางคณิตศาสตร์
2. การหน่วงเวลาโดยอาศัยการทำงานของวงจรไทเมอร์เคาน์เตอร์

 การหน่วงเวลาโดยอาศัยการคำนวณทางคณิตศาสตร์

  เป็นการเขียนฟังก์ชั่นเพื่อให้ไมโครคอนโทรลเลอร์ไปคำนวณคณิตศาสตร์(นับเลข) ซึ่งผู้เขียนโปรแกรมสามารถใช้ฟังก์ชั่นได้หลายแบบขึ้นอยู่กับเทคนิคของแต่ละท่าน สำหรับในที่นี้ของแนะนำการใช้ฟังก์ชั่น For โดยมีผังไหลดังรูป

 

 ตัวโปรแกรมจะได้ดังนี้

void delay(void)
{
      int x;
      for(x=0;x<1000;x++)
       {}
}

 เวลาเรียกใช้งานใช้รูปแบบ delay();

 

ในทางปฏิบัติการใช้ for เพียงครั้งเดียวจะใช้สำหรับหน่วงเวลาสั้นๆเท่านั้น หากต้องการหน่วงเวลามากขึ้นจะใช้ฟังก์ชั่น for ซ้อนอีกชั้นและให้มีการรับค่ากำหนดเวลาเข้าฟังก์ชั่นเพื่อให้สามารถหน่วงเวลาได้หลากหลายค่า ดังนี้

 

void delay(int n)
{
      int x,y;
      for(x=0;x<n;x++)
            {
              for(y=0;y<500;y++)
                  {
                  }         
           
}
}

 

  เวลาเรียกใช้งานใช้รูปแบบ delay(100); จะหน่วงเวลาน้อยกว่า delay(200); เนื่องจากค่าที่ส่งเข้าไปในฟังก์ชั่น

 

Copyright © 2024 www.praphas.com. All Rights Reserved.
Joomla! is Free Software released under the GNU General Public License.