Trung tâm đào tạo thiết kế vi mạch Semicon


  • ĐĂNG KÝ TÀI KHOẢN ĐỂ TRUY CẬP NHIỀU TÀI LIỆU HƠN!
  • Create an account
    *
    *
    *
    *
    *
    Fields marked with an asterisk (*) are required.
semicon_lab.jpg

Bài 2 Vi điều khiển MSP430: Interrupt (ngắt)

E-mail Print PDF
Cũng như các VĐK khác thì MSP430 cũng có interrupt phục vụ cho quá trình hoạt động của nó. Vậy chúng ta cùng tìm hiểu:
1, Ngắt (interrupt) là gì?
Ngắt (interrupt) là quá trình dừng chương trình chính đang chạy để ưu tiên thực hiện một chương trình khác, chương trình này được gọi là chương trình phục vụ ngắt (ISR – Interrupt Service Routine).
 
2, Trong các quá trình ngắt, ta phân biệt thành 2 loại: ngắt cứng và ngắt mềm
Ngắt mềm là ngắt được gọi bằng một lệnh trong chương trình ngôn ngữ máy
Khác với ngắt mềm, ngắt cứng không được khởi động bên trong máy tính mà do các
linh kiện điện tử tác đông lên hệ thống

3, Hoạt động: Khi thực hiện lệnh gọi ngắt, CPU sẽ tìm kiếm trong bảng vector ngắt địa chỉ của chương trình phục vụ ngắt. Người sử dụng cũng có thể xây dựng môt chương trình cơ sở như các chương trình xử lý ngắt. Sau đó, các chương trình khác có thể gọi ngắt ra để sử dụng. Một chương trình có thể gọi chương trình con loại này mà không cần biết địa chỉ của nó.

Ưu điểm của ngắt:
 
Trình tự xử lý ngắt:
 
Bảng Vector ngắt:
 
Cú pháp cho P1 and P2 interrupts
 
Ví dụ ngắt ngoài P2.0
#include  <msp430F5510.h>
 void main(void)
 {
   WDTCTL = WDTPW + WDTHOLD;                 // Stop watchdog timer
   P1DIR |= 0x01;                            // Set P1.0 to output direction
   P2IE |= 0x01;                             // P2.0 interrupt enabled
   P2IES |= 0x01;                            // P2.0 Hi/lo edge
   P2IFG &= ~0x01;                           // P2.0 IFG cleared
    _BIS_SR(LPM4_bits + GIE);                 // Enter LPM4 w/interrupt
 }
 // Port 2 interrupt service routine
 #pragma vector=PORT2_VECTOR
 __interrupt void Port_2(void)
 {
   P1OUT ^= 0x01;                            // P1.0 = toggle
   P2IFG &= ~0x01;                           // P2.0 IFG cleared
 }

Bạn có đam mê ngành thiết kế vi mạch và bạn muốn có mức lương 1000 usd cùng lúc bạn

đang muốn tìm một Trung tâm để học vậy hãy đến với ngành vi mạch tại SEMICON

  HotLine: 0972 800 931 Ms Duyên

 

 

 
Last Updated ( Wednesday, 14 October 2015 08:54 )  

Related Articles

Chat Zalo