การใช้งานวงจรนับและจับเวลาใน MCU

จาก Theory Wiki
รุ่นแก้ไขเมื่อ 10:43, 15 กันยายน 2552 โดย Chaiporn (คุย | มีส่วนร่วม) (หน้าที่ถูกสร้างด้วย 'ไมโครคอนโทรลเลอร์ที่เราใช้ในโครงงานนั้นมีฮาร์ด…')
(ต่าง) ←รุ่นแก้ไขก่อนหน้า | รุ่นแก้ไขล่าสุด (ต่าง) | รุ่นแก้ไขถัดไป→ (ต่าง)
ไปยังการนำทาง ไปยังการค้นหา

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


การใช้งานอินเทอร์รัพท์

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

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