การ interupt ใน 8051
ประเภทของการ interrupt
-
External interrupt การตรวจสอบสัญญาณที่มา
interrupt นี้
จะสามารถกำหนดให้มีการตรวจสอบใน
ลักษณะเมื่อได้มีการเปลี่ยนแปลงระดับสัญญาณ
(Level-sensitive) ไปแล้ว
หรือในช่วงเวลาขณะเริ่มมี
การเปลี่ยนแปลง
สัญญาณจาก logic สูงไปต่ำ (
Edge-sensitive )
-
Internal inetrrupt
แหล่งกำเนิดสัญญาณนี้จะเป็นวงจรภายใน
Microcontroller เอง เช่น วงจรนับ
/จับเวลา
วงจรเชื่อต่อสัญญาณอนุกรม เป็นต้น
โครงสร้างการ
interrupt เกิดได้ 5
ลักษณะ คือ
- INT0
สัญญาณ interrupt
จากภายนอก ทางขาสัญญาณ
P3.2 โดย 8051 จะทำการสุ่มตัวอย่าง
สัญญาณ
เมื่อสิ้นสุดทุก Machine Cycle
- INT1
สัญญาณ interrupt จากภายนอกทางขาสัญญาณ P3.3 โดย 8051
จะทำการสุ่มตัวอย่าง
สัญญาณเมื่อสิ้น
สุดทุก Machine Cycle
- Timer0
สัญญาณการเกิด Overflow ของ Timer 0
- Timer1
สัญญาณการเกิด Overflow ของ Timer 1
- Serial
Port การเกิด interrupt
ที่เกิดขึ้นจาการรับ/ส่งข้อมูลอนุกรม
ทำให้มีผผผลต่อ flag interrupt RI และ TI
ตามลำดับ
จากแผนภาพโครงสร้างระบบ
interrupt ของ 8051 จะเห็นว่าเมื่อเกิดการ interrupt
สัญญาณ ต่างๆขึ้น
จะส่งผลให้มีการควบคุมเพื่อสั่งให้
processor กระโดดไปทำงานที่ต่ำแหน่ง Address
ต่างๆ ตามประเภทของแหล่งกำเนิด
สัญญาณ interrupt
ที่เกิดขึ้น ซึ่งปรกติควรมีการสร้าง program
เหล่านี้ไว้ เพื่อทำหน้าที่ย่อยบริการ
interrupt
การกำหนดให้
8051 สามารถตอบรับการ interrupt แต่ละประเภท
ทำได้โดยกำหนด bit ของ ข้อมูลที่เกี่ยวข้อง
ซึ่งมักอยู่ภายใน register TCON และ SCON
หากได้ว่ามีการกำหนด ค่าของ bit
ซึ่งอยู่ภายใน register IE ( Intereupt
Enable Register )
ด้วยแล้ว ก็สามารถตอบรับการ interrupt
ของสัญญาณนั้นๆ ได้
นอกจากหนี้ตามแผนภาพในรูป
ยังแสดง
ให้เห็นว่าสัญญาณ interrupt แต่ละ
ประเภท ยังสามารถกำหนด piority ของการ interrupt ได้ 2 ลักษณะ คือ
High Low
piority กล่าว
คือขณะที่ประมวลผลอยู่ภายในส่วนของ
program ย่อย บริเวณ interrupt ของสัญญาณที่มีระดับความ
สำคัญ
ต่ำอยู่ ก็สามารถถูก interrupt ที่มี
piorrity สูงกว่าได้ แต่หากว่าเป็นสัญญาณ interrupt
ที่มี piority
เดียวกันหรือต่ำกว่าแล้วก็
จะต้องรอให้เสร็จสิ้นการประมวลผลที่ดำเนินอยู่ก่อน
การควบคุม interrupt
ตามโครงสร้างที่ด้านการจัดการ
interrupt ของ 8051
สามารถกำหนดเรียกเพื่อยินยอมหรือไม่ยิน
ยอม
(Enable/Disabble) ให้มีการ interrupt
แต่ละสัญญาณได้ โดยใช้วิธีการกำหนด ค่าของ
bit ภาย ใน register IE
[ บทเรียน ] [ 204471 ] [ รายวิชา ]
[ ภาควิชาวิศวกรรมคอมพิวเตอร์ ] [ คณะวิศวกรรมศาสตร์ ] [ มหาวิทยาลัยเกษตรศาสตร์ ]