SlideShare a Scribd company logo
1 of 6
Download to read offline
Nội dung:
                                                      Chương 5: Hoạt động ngắt (INTERRUPT)
 • Chương 1: Giới thiệu về Vi xử lý                   5.1. Giới thiệu chung:
 • Chương 2: Giới thiệu về cấu trúc của Họ Vi điều
       khiển 8051                                       Ngắt là quá trình dừng chương trình đang thực thi
 • Chương 3: Khảo sát tập lệnh và lập trình Vi điều     để phục vụ cho một chương trình khác khi xảy ra
        khiển 8051                                      một sự kiện.
 • Chương 4: Hoạt động của bộ định thời
 • Chương 5: Hoạt động ngắt                             Chương trình xử lý sự kiện ngắt gọi là chương
 • Chương 6: Hoạt động truyền thông nối tiếp            trình phục vụ ngắt (ISR – Interrupt Service
 • Chương 7: Thiết kế giao tiếp                         Routine).




Chương 5: Hoạt động ngắt (INTERRUPT)                  Chương 5: Hoạt động ngắt (INTERRUPT)
            Thực thi chương trình không có ngắt       5.1. Tổ chức ngắt của MCS-51

                                                          Họ MCS-51 có tổng cộng 5 nguồn ngắt khác nhau:

                                                          • 2 ngắt ngoài 0, 1 (tại các chân INT0, INT1).
              Thực thi chương trình có ngắt               • 2 ngắt do timer 0, 1 (khi timer tương ứng tràn).
                                                          • 1 ngắt do port nối tiếp.
                                                          Đối với họ 89x52 sẽ có thêm ngắt do timer 2.
Chương 5: Hoạt động ngắt (INTERRUPT)                    Chương 5: Hoạt động ngắt (INTERRUPT)
5.2.1. Cho phép và không cho phép ngắt:                 5.2.1. Cho phép và không cho phép ngắt:

  Các nguyên nhân ngắt được cho phép hay
  không cho phép thông qua thanh ghi cho phép
  ngắt IE (Interrupt Enable).

  Thanh ghi này nằm trong vùng nhớ SFR,
  có địa chỉ byte A8h và được định địa chỉ từng
  bit.
                                                                      Thanh ghi cho phép ngắt IE



Chương 5: Hoạt động ngắt (INTERRUPT)                    Chương 5: Hoạt động ngắt (INTERRUPT)
5.2.1. Cho phép và không cho phép ngắt:                 5.2.2. Ưu tiên ngắt:

 Ví dụ: Để cho phép Timer 1 ngắt, ta có thể thực hiện         Khi có nhiều ngắt tác động đồng thời, ngắt nào
 bằng các lệnh:                                          có mức ưu tiên cao sẽ thực hiện trước, ngắt nào có
                                                         mức ưu tiên thấp hơn sẽ thực hiện sau.
           SETB      EA ; Cho phép ngắt toàn cục
           SETB      ET1 ; Cho phép Timer 1 ngắt              Việc thiết lập các mức ưu tiên ngắt được thực
 Hoặc có thể dùng lệnh sau:                              hiện thông qua thanh ghi ưu tiên ngắt IP (Interrupt

           MOV       IE, #10001000B                      Priority). Thanh ghi này có địa chỉ B8h và được định
                                                         địa chỉ từng bit.
Chương 5: Hoạt động ngắt (INTERRUPT)                  5.2.2. Ưu tiên ngắt:
5.2.2. Ưu tiên ngắt:

                                                         Họ MCS-51 có 2 mức ưu tiên: mức cao và
                                                         mức thấp. Quá trình xử lý ưu tiên ngắt mô tả
                                                         như sau:

                                                         • Nếu 2 ngắt xảy ra đồng thời thì ngắt nào có
                                                         mức ưu tiên cao hơn sẽ được phục vụ trước.


                 Thanh ghi ưu tiên ngắt



5.2.2. Ưu tiên ngắt:                                  5.3. Xử lý ngắt:
 • Nếu 2 ngắt xảy ra đồng thời có cùng mức ưu tiên     Khi có một ngắt xảy ra, được CPU chấp nhận, các
 thì thứ tự ưu tiên được thực hiện như sau:            thao tác sẽ được thực hiện như sau:
 Ngắt ngoài 0 ⇒ Ngắt do Timer 0 ⇒ Ngắt ngoài 1 ⇒       • Hoàn tất việc thực thi hiện hành.
 Ngắt do Timer 1 ⇒ Ngắt do cổng nối tiếp ⇒ Ngắt do
                                                       • Bộ đếm chương trình PC được cất vào Stack.
 Timer 2.
                                                       • Trạng thái của ngắt hiện hành được lưu giữ lại.
 • Nếu ISR của một ngắt có mức ưu tiên thấp đang
                                                       • Các ngắt được chặn lại ở mức ngắt.
 thực hiện mà có ngắt khác xảy ra với mức ưu tiên
 cao thì ISR này sẽ tạm dừng để thực thi ISR có mức    • Đưa vào thanh ghi PC địa chỉ ISR tương ứng.
 ưu tiên cao.                                          • Bắt đầu thực thi chương trình phục vụ ngắt.
Chương 5: Hoạt động ngắt (INTERRUPT)                 Chương 5: Hoạt động ngắt (INTERRUPT)
5.3. Xử lý ngắt:                                     5.3.1. Các vector ngắt:

    Việc thực thi ISR kết thúc khi gặp lệnh RETI.    • Vector ngắt là địa chỉ bắt đầu của chương trình
    Khi gặp lệnh này CPU lấy lại giá trị cũ của bộ     con phục vụ ngắt.
    đếm chương trình PC từ Stack. Sau đó,
    chương trình chính được tiếp tục thực thi ở      • Khi một ngắt được chấp nhận, vector ngắt
    nơi tạm ngưng.                                     được nạp cho bộ đếm chương trình PC.




Chương 5: Hoạt động ngắt (INTERRUPT)                 Chương 5: Hoạt động ngắt (INTERRUPT)
5.3.1. Các vector ngắt:                              5.4. Thiết kế chương trình sử dụng ngắt:
                                                            Khuôn mẫu của chương trình sử dụng ngắt:
5.4.1. Các chương trình có kích thước nhỏ:                   5.4.2. Các chương trình có kích thước lớn:
  Nếu chỉ có một nguyên nhân ngắt được dùng, chẳng                      ORG        0000H        ; Điểm nhập Reset
  hạn như ngắt do Timer 0 thì khuôn mẫu chương                          LJMP       MAIN
  trình có dạng như sau:                                                ORG        000BH ;Điểm nhập của ngắt do Timer 0
          ORG       0000H      ; Điểm nhập Reset                        LJMP       T0ISR
          LJMP      MAIN                                                …………….............; Điểm nhập các ngắt khác
          ORG       000BH ;Điểm nhập của ngắt do Timer 0                ORG        0030H ; Phía trên các vector ngắt
T0ISR:    ………………               ; ISR của Timer 0             MAIN:      ………………
          RETI                 ; Trở về chương trình chính   T0ISR:     ………………; ISR của Timer 0
MAIN:     ………………               ; chương trình chính                     RETI        ; Trở về chương trình chính




Chương 5: Hoạt động ngắt (INTERRUPT)                         Bài toán 1: Viết chương trình sử dụng bộ định thời T0 và các
                                                             ngắt để tạo ra sóng vuông 10kHz trên chân P1.0
5.5. Các ứng dụng của lập trình ngắt:
                                                                        ORG        0000H        ; Điểm nhập reset
                                                                        LJMP       MAIN         ; Nhảy qua khỏi vector ngắt
  Bài toán 1: Viết chương trình sử dụng bộ định thời                    ORG        000BH        ; Vector ngắt của T0
                                                             T0ISR:     CPL        P1.0         ; Lấy bù
  T0 và các ngắt để tạo ra sóng vuông 10kHz trên                        RETI
  chân P1.0                                                             ORG        0030H        ; Điểm nhập của ctrình chính
                                                             MAIN:      MOV        TMOD, #02H ; T0 ở mode 2
                                                                        MOV        TH0, #-50
                                                                        SETB       TR0          ; T0 hoạt động
                                                                        MOV        IE, #10000010B ; Cho phép ngắt do T0
                                                                        SJMP $                  ; Không làm gì
                                                                        END
Chương 5: Hoạt động ngắt (INTERRUPT)                            Bài toán 2: Viết chương trình sử dụng các ngắt để tạo ra các
                                                                sóng vuông 7 kHz và 500 Hz trên các chân P1.6 và P1.7
5.5. Các ứng dụng của lập trình ngắt:
                                                                           ORG        0000H     ; Điểm nhập reset
Bài toán 2: Viết chương trình sử dụng các ngắt để tạo ra các
                                                                           LJMP       MAIN      ; Nhảy qua khỏi vector ngắt
sóng vuông 7kHz và 500 Hz trên các chân P1.6 và P1.7                       ORG        000BH     ; Vector ngắt của T0
                                                                           LJMP       T0ISR
                                                                           ORG        001BH     ; Vector ngắt của T1
                                                                           LJMP       T1ISR
                                                                           ORG        0030H
                                                                MAIN:      MOV        TMOD, #12H ; Timer 1: mode 1
                                                                                                ; Timer 0: mode 2;
                                                                           MOV        TH0, #-71 ; Sử dụng T0, f= 7kHz




                                                                Chương 5: Hoạt động ngắt (INTERRUPT)
           SETB        TR0        ; Timer 0 hoạt động
           SETB        TF1        ; Buộc ngắt do Timer 1        5.5. Các ứng dụng của lập trình ngắt:
           MOV         IE, #8AH   ; Cho phép ngắt do T0 và T1
           SJMP        $
T0ISR:     CPL         P1.7
                                                                 Bài toán 3: Viết chương trình sử dụng các ngắt để
           RETI                                                  tạo ra các sóng vuông 10kHz và 20 Hz trên các
T1ISR:     CLR         TR1
                                                                 chân P1.0 và P1.1.
           MOV         TH1, #HIGH(-1000)
           MOV         TL1, #LOW(-1000)
           SETB        TR1
           CPL         P1.6
           RETI
           END

More Related Content

Viewers also liked

19. ky nang thuyet phuc
19. ky nang thuyet phuc19. ky nang thuyet phuc
19. ky nang thuyet phuc
Tang Tan Dung
 
Re VA Prresentation
Re VA PrresentationRe VA Prresentation
Re VA Prresentation
Ricky Juarez
 
NCKH - XÂY DỰNG ỨNG DỤNG LUYỆN THI LÝ THUYẾT LÁI XE TRÊN HỆ ĐIỀU HÀNH IOS (D...
NCKH - XÂY DỰNG ỨNG DỤNG  LUYỆN THI LÝ THUYẾT LÁI XE TRÊN HỆ ĐIỀU HÀNH IOS (D...NCKH - XÂY DỰNG ỨNG DỤNG  LUYỆN THI LÝ THUYẾT LÁI XE TRÊN HỆ ĐIỀU HÀNH IOS (D...
NCKH - XÂY DỰNG ỨNG DỤNG LUYỆN THI LÝ THUYẾT LÁI XE TRÊN HỆ ĐIỀU HÀNH IOS (D...
Vàng Cao Thanh
 

Viewers also liked (17)

7. kỹ năng thuyết trình
7. kỹ năng thuyết trình7. kỹ năng thuyết trình
7. kỹ năng thuyết trình
 
Kỹ năng lắng nghe
Kỹ năng lắng ngheKỹ năng lắng nghe
Kỹ năng lắng nghe
 
Slide bài giảng Kỹ năng Giao tiếp & lắng nghe - Tâm Việt
Slide bài giảng Kỹ năng Giao tiếp & lắng nghe - Tâm ViệtSlide bài giảng Kỹ năng Giao tiếp & lắng nghe - Tâm Việt
Slide bài giảng Kỹ năng Giao tiếp & lắng nghe - Tâm Việt
 
Tiki marketing Test
Tiki marketing TestTiki marketing Test
Tiki marketing Test
 
19. ky nang thuyet phuc
19. ky nang thuyet phuc19. ky nang thuyet phuc
19. ky nang thuyet phuc
 
Adobe photoshop cs6
Adobe photoshop cs6Adobe photoshop cs6
Adobe photoshop cs6
 
Học cách học (Learning How To Learn)
Học cách học (Learning How To Learn)Học cách học (Learning How To Learn)
Học cách học (Learning How To Learn)
 
Luyện cách hỏi
Luyện cách hỏi Luyện cách hỏi
Luyện cách hỏi
 
Kỹ năng Thuyết phục
Kỹ năng Thuyết phụcKỹ năng Thuyết phục
Kỹ năng Thuyết phục
 
Mmh small house design and plan
Mmh small house design and planMmh small house design and plan
Mmh small house design and plan
 
How to Listen Your Way to Fluency in a Foreign Language
How to Listen Your Way to Fluency in a Foreign LanguageHow to Listen Your Way to Fluency in a Foreign Language
How to Listen Your Way to Fluency in a Foreign Language
 
Thư viện bao cảnh đẹp - Dienhoakientruc.com
Thư viện bao cảnh đẹp - Dienhoakientruc.comThư viện bao cảnh đẹp - Dienhoakientruc.com
Thư viện bao cảnh đẹp - Dienhoakientruc.com
 
Re VA Prresentation
Re VA PrresentationRe VA Prresentation
Re VA Prresentation
 
DD Vietnam Map
DD Vietnam MapDD Vietnam Map
DD Vietnam Map
 
NCKH - XÂY DỰNG ỨNG DỤNG LUYỆN THI LÝ THUYẾT LÁI XE TRÊN HỆ ĐIỀU HÀNH IOS (D...
NCKH - XÂY DỰNG ỨNG DỤNG  LUYỆN THI LÝ THUYẾT LÁI XE TRÊN HỆ ĐIỀU HÀNH IOS (D...NCKH - XÂY DỰNG ỨNG DỤNG  LUYỆN THI LÝ THUYẾT LÁI XE TRÊN HỆ ĐIỀU HÀNH IOS (D...
NCKH - XÂY DỰNG ỨNG DỤNG LUYỆN THI LÝ THUYẾT LÁI XE TRÊN HỆ ĐIỀU HÀNH IOS (D...
 
Hướng dẫn lập trình tổng đài Panasonic KX-NS 300
Hướng dẫn lập trình tổng đài Panasonic KX-NS 300Hướng dẫn lập trình tổng đài Panasonic KX-NS 300
Hướng dẫn lập trình tổng đài Panasonic KX-NS 300
 
6 quy tac trong am tieng anh
6 quy tac trong am tieng anh6 quy tac trong am tieng anh
6 quy tac trong am tieng anh
 

Similar to Chuong 5 hoat dong ngat (16)

Chuong6 hoạt động ngắt
Chuong6 hoạt động ngắtChuong6 hoạt động ngắt
Chuong6 hoạt động ngắt
 
Ch03
Ch03Ch03
Ch03
 
Chuong 4 hoat dong dinh thoi
Chuong 4 hoat dong dinh thoiChuong 4 hoat dong dinh thoi
Chuong 4 hoat dong dinh thoi
 
Chuong 2 gioi thieu ve cau truc ho vdk 8051
Chuong 2 gioi thieu ve cau truc ho vdk 8051Chuong 2 gioi thieu ve cau truc ho vdk 8051
Chuong 2 gioi thieu ve cau truc ho vdk 8051
 
plc 300
plc 300plc 300
plc 300
 
De cuong thiet bi ngoai vi
De cuong thiet bi ngoai viDe cuong thiet bi ngoai vi
De cuong thiet bi ngoai vi
 
Ccna lap
Ccna lapCcna lap
Ccna lap
 
Mitsubishi
MitsubishiMitsubishi
Mitsubishi
 
PLC mitsubishi
PLC mitsubishiPLC mitsubishi
PLC mitsubishi
 
Hướng dẫn làm quen với stm8 f103 - tincanban.com
Hướng dẫn làm quen với stm8 f103 - tincanban.comHướng dẫn làm quen với stm8 f103 - tincanban.com
Hướng dẫn làm quen với stm8 f103 - tincanban.com
 
Altivar 31 vietnamese_final_3755
Altivar 31 vietnamese_final_3755Altivar 31 vietnamese_final_3755
Altivar 31 vietnamese_final_3755
 
lâp trình plc mitsubishi
lâp trình plc mitsubishilâp trình plc mitsubishi
lâp trình plc mitsubishi
 
Gioi thieu-ve-vi-dieu-khien-pic
Gioi thieu-ve-vi-dieu-khien-picGioi thieu-ve-vi-dieu-khien-pic
Gioi thieu-ve-vi-dieu-khien-pic
 
Do an lap_trinh_c_cho_vi_dieu_khien_8051_8462_1505
Do an lap_trinh_c_cho_vi_dieu_khien_8051_8462_1505Do an lap_trinh_c_cho_vi_dieu_khien_8051_8462_1505
Do an lap_trinh_c_cho_vi_dieu_khien_8051_8462_1505
 
BaoCaoFreeRTOS.pptx
BaoCaoFreeRTOS.pptxBaoCaoFreeRTOS.pptx
BaoCaoFreeRTOS.pptx
 
Tài liệu PCL tổng hợp
Tài liệu PCL tổng hợpTài liệu PCL tổng hợp
Tài liệu PCL tổng hợp
 

Chuong 5 hoat dong ngat

  • 1. Nội dung: Chương 5: Hoạt động ngắt (INTERRUPT) • Chương 1: Giới thiệu về Vi xử lý 5.1. Giới thiệu chung: • Chương 2: Giới thiệu về cấu trúc của Họ Vi điều khiển 8051 Ngắt là quá trình dừng chương trình đang thực thi • Chương 3: Khảo sát tập lệnh và lập trình Vi điều để phục vụ cho một chương trình khác khi xảy ra khiển 8051 một sự kiện. • Chương 4: Hoạt động của bộ định thời • Chương 5: Hoạt động ngắt Chương trình xử lý sự kiện ngắt gọi là chương • Chương 6: Hoạt động truyền thông nối tiếp trình phục vụ ngắt (ISR – Interrupt Service • Chương 7: Thiết kế giao tiếp Routine). Chương 5: Hoạt động ngắt (INTERRUPT) Chương 5: Hoạt động ngắt (INTERRUPT) Thực thi chương trình không có ngắt 5.1. Tổ chức ngắt của MCS-51 Họ MCS-51 có tổng cộng 5 nguồn ngắt khác nhau: • 2 ngắt ngoài 0, 1 (tại các chân INT0, INT1). Thực thi chương trình có ngắt • 2 ngắt do timer 0, 1 (khi timer tương ứng tràn). • 1 ngắt do port nối tiếp. Đối với họ 89x52 sẽ có thêm ngắt do timer 2.
  • 2. Chương 5: Hoạt động ngắt (INTERRUPT) Chương 5: Hoạt động ngắt (INTERRUPT) 5.2.1. Cho phép và không cho phép ngắt: 5.2.1. Cho phép và không cho phép ngắt: Các nguyên nhân ngắt được cho phép hay không cho phép thông qua thanh ghi cho phép ngắt IE (Interrupt Enable). Thanh ghi này nằm trong vùng nhớ SFR, có địa chỉ byte A8h và được định địa chỉ từng bit. Thanh ghi cho phép ngắt IE Chương 5: Hoạt động ngắt (INTERRUPT) Chương 5: Hoạt động ngắt (INTERRUPT) 5.2.1. Cho phép và không cho phép ngắt: 5.2.2. Ưu tiên ngắt: Ví dụ: Để cho phép Timer 1 ngắt, ta có thể thực hiện Khi có nhiều ngắt tác động đồng thời, ngắt nào bằng các lệnh: có mức ưu tiên cao sẽ thực hiện trước, ngắt nào có mức ưu tiên thấp hơn sẽ thực hiện sau. SETB EA ; Cho phép ngắt toàn cục SETB ET1 ; Cho phép Timer 1 ngắt Việc thiết lập các mức ưu tiên ngắt được thực Hoặc có thể dùng lệnh sau: hiện thông qua thanh ghi ưu tiên ngắt IP (Interrupt MOV IE, #10001000B Priority). Thanh ghi này có địa chỉ B8h và được định địa chỉ từng bit.
  • 3. Chương 5: Hoạt động ngắt (INTERRUPT) 5.2.2. Ưu tiên ngắt: 5.2.2. Ưu tiên ngắt: Họ MCS-51 có 2 mức ưu tiên: mức cao và mức thấp. Quá trình xử lý ưu tiên ngắt mô tả như sau: • Nếu 2 ngắt xảy ra đồng thời thì ngắt nào có mức ưu tiên cao hơn sẽ được phục vụ trước. Thanh ghi ưu tiên ngắt 5.2.2. Ưu tiên ngắt: 5.3. Xử lý ngắt: • Nếu 2 ngắt xảy ra đồng thời có cùng mức ưu tiên Khi có một ngắt xảy ra, được CPU chấp nhận, các thì thứ tự ưu tiên được thực hiện như sau: thao tác sẽ được thực hiện như sau: Ngắt ngoài 0 ⇒ Ngắt do Timer 0 ⇒ Ngắt ngoài 1 ⇒ • Hoàn tất việc thực thi hiện hành. Ngắt do Timer 1 ⇒ Ngắt do cổng nối tiếp ⇒ Ngắt do • Bộ đếm chương trình PC được cất vào Stack. Timer 2. • Trạng thái của ngắt hiện hành được lưu giữ lại. • Nếu ISR của một ngắt có mức ưu tiên thấp đang • Các ngắt được chặn lại ở mức ngắt. thực hiện mà có ngắt khác xảy ra với mức ưu tiên cao thì ISR này sẽ tạm dừng để thực thi ISR có mức • Đưa vào thanh ghi PC địa chỉ ISR tương ứng. ưu tiên cao. • Bắt đầu thực thi chương trình phục vụ ngắt.
  • 4. Chương 5: Hoạt động ngắt (INTERRUPT) Chương 5: Hoạt động ngắt (INTERRUPT) 5.3. Xử lý ngắt: 5.3.1. Các vector ngắt: Việc thực thi ISR kết thúc khi gặp lệnh RETI. • Vector ngắt là địa chỉ bắt đầu của chương trình Khi gặp lệnh này CPU lấy lại giá trị cũ của bộ con phục vụ ngắt. đếm chương trình PC từ Stack. Sau đó, chương trình chính được tiếp tục thực thi ở • Khi một ngắt được chấp nhận, vector ngắt nơi tạm ngưng. được nạp cho bộ đếm chương trình PC. Chương 5: Hoạt động ngắt (INTERRUPT) Chương 5: Hoạt động ngắt (INTERRUPT) 5.3.1. Các vector ngắt: 5.4. Thiết kế chương trình sử dụng ngắt: Khuôn mẫu của chương trình sử dụng ngắt:
  • 5. 5.4.1. Các chương trình có kích thước nhỏ: 5.4.2. Các chương trình có kích thước lớn: Nếu chỉ có một nguyên nhân ngắt được dùng, chẳng ORG 0000H ; Điểm nhập Reset hạn như ngắt do Timer 0 thì khuôn mẫu chương LJMP MAIN trình có dạng như sau: ORG 000BH ;Điểm nhập của ngắt do Timer 0 ORG 0000H ; Điểm nhập Reset LJMP T0ISR LJMP MAIN …………….............; Điểm nhập các ngắt khác ORG 000BH ;Điểm nhập của ngắt do Timer 0 ORG 0030H ; Phía trên các vector ngắt T0ISR: ……………… ; ISR của Timer 0 MAIN: ……………… RETI ; Trở về chương trình chính T0ISR: ………………; ISR của Timer 0 MAIN: ……………… ; chương trình chính RETI ; Trở về chương trình chính Chương 5: Hoạt động ngắt (INTERRUPT) Bài toán 1: Viết chương trình sử dụng bộ định thời T0 và các ngắt để tạo ra sóng vuông 10kHz trên chân P1.0 5.5. Các ứng dụng của lập trình ngắt: ORG 0000H ; Điểm nhập reset LJMP MAIN ; Nhảy qua khỏi vector ngắt Bài toán 1: Viết chương trình sử dụng bộ định thời ORG 000BH ; Vector ngắt của T0 T0ISR: CPL P1.0 ; Lấy bù T0 và các ngắt để tạo ra sóng vuông 10kHz trên RETI chân P1.0 ORG 0030H ; Điểm nhập của ctrình chính MAIN: MOV TMOD, #02H ; T0 ở mode 2 MOV TH0, #-50 SETB TR0 ; T0 hoạt động MOV IE, #10000010B ; Cho phép ngắt do T0 SJMP $ ; Không làm gì END
  • 6. Chương 5: Hoạt động ngắt (INTERRUPT) Bài toán 2: Viết chương trình sử dụng các ngắt để tạo ra các sóng vuông 7 kHz và 500 Hz trên các chân P1.6 và P1.7 5.5. Các ứng dụng của lập trình ngắt: ORG 0000H ; Điểm nhập reset Bài toán 2: Viết chương trình sử dụng các ngắt để tạo ra các LJMP MAIN ; Nhảy qua khỏi vector ngắt sóng vuông 7kHz và 500 Hz trên các chân P1.6 và P1.7 ORG 000BH ; Vector ngắt của T0 LJMP T0ISR ORG 001BH ; Vector ngắt của T1 LJMP T1ISR ORG 0030H MAIN: MOV TMOD, #12H ; Timer 1: mode 1 ; Timer 0: mode 2; MOV TH0, #-71 ; Sử dụng T0, f= 7kHz Chương 5: Hoạt động ngắt (INTERRUPT) SETB TR0 ; Timer 0 hoạt động SETB TF1 ; Buộc ngắt do Timer 1 5.5. Các ứng dụng của lập trình ngắt: MOV IE, #8AH ; Cho phép ngắt do T0 và T1 SJMP $ T0ISR: CPL P1.7 Bài toán 3: Viết chương trình sử dụng các ngắt để RETI tạo ra các sóng vuông 10kHz và 20 Hz trên các T1ISR: CLR TR1 chân P1.0 và P1.1. MOV TH1, #HIGH(-1000) MOV TL1, #LOW(-1000) SETB TR1 CPL P1.6 RETI END