Bài giảng Vi xử lý - Chương 7: Ngắt quãng
lượt xem 7
download
Bài giảng "Vi sử lý - Chương 7: Ngắt quãng" giới thiệu tới người học khái niệm về ngắt quãng, các loại ngắt quãng và cánh thức hoạt động, thiết kế chương trình sử dụng ngắt quãng, khởi tạo ngắt quãng, cấu trúc chương trình sử dụng ngắt quãng. Mời các bạn cùng tham khảo nội dung chi tiết.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Vi xử lý - Chương 7: Ngắt quãng
- dce 2009 Ngắt quãng BK TP.HCM ©2009, CE Department
- dce 2009 Giới thiệu • Ngắt quãng là gì? – An interrupt is the occurrence of a condition-- an event -- that cause a temporary suspension of a program while the event is serviced by another program (Interrupt Service Routine ISR or Interrupt Handler). ©2009, CE Department 2
- dce 2009 Giới thiệu (tt) • 18F2220 có nhiều nguồn ngắt và có độ ưu tiên (priority) khác nhau. – Ngắt có độ ưu tiên cao : 0008h – Ngắt có độ ưu tiên thấp : 0018h Khi một nguồn ngắt có độ ưu tiên cao xảy ra thì nó ngắt bất kì nguồn ngắt có độ ưu tiên thấp, dù cho nguồn ngắt đó đang thực hiện ©2009, CE Department 3
- dce 2009 Giới thiệu (tt) ©2009, CE Department 4
- dce 2009 Các loại ngắt quãng • Ngắt ngoài (3 kênh). • Timer 0, 1, 2. • PortB interrupt change. • Capture/Compare/PWM interrupt • USART • ADC • Comparator ©2009, CE Department 5
- dce 2009 Cách thức hoạt động ©2009, CE Department 6
- dce 2009 Thiết kế chương trình sử dụng ngắt quãng • Polling: chương trình chính kiểm tra các cờ, đợi cho có sự kiện xảy ra (không hiệu quả trong một số trường hợp). • Interrupt driven: CPU có thể thực hiện những công việc khác, không cần chờ các sự kiện xảy ra ( hiệu quả trong các ứng dụng điều khiển). • I/O processor: các processor chuyên dụng xử lý các sự kiện I/O, không can thiệp vào hoạt động của CPU. (tốt nhất nhưng chi phí cao). ©2009, CE Department 7
- dce 2009 Xử lý ngắt • Khi một nguồn ngắt xảy ra và được chấp nhận bởi CPU thì chương trình chính sẽ bị ngắt. Sau đó CPU sẽ thực hiện các thao tác sau: – Thực thi xong lệnh hiện tại. – PC được lưu lại trên stack. – Các trạng thái hiện tại được lưu lại bên trong. – PC nhận giá trị địa chỉ vector tương ứng với nguồn ngắt. – Thực thi ISR. • ISR hoàn thành khi gặp lệnh RETFIE, sau đó phục hồi trạng thái của CPU rồi lấy lại giá trị PC từ stack. ©2009, CE Department 8
- dce 2009 Khởi tạo ngắt quãng • IPEN (RCON) : cho/không cho phép xảy ra ngắt với độ ưu tiên khác nhau. • IPEN: enable – GIEH (INTCON) : cho/không cho phép các ngắt có độ ưu tiên cao. – GIEL (INTCON) : cho/không cho phép các ngắt có độ ưu tiên thấp. • IPEN: disable – GIEH (INTCON) : cho/không cho phép tất cả các nguồn ngắt xảy ra. – PEIE (INTCON) : cho/không phép tất cả các nguồn ngắt ngoại vi. ©2009, CE Department 9
- dce 2009 Khởi tạo ngắt quãng (tt) • Có 3 bit điều khiển hoạt động của mỗi nguồn ngắt. – Flag bit – Enable interrupt bit – Priority bit Khi flag bit, enable bit và global enable bit được set thì chương trình sẽ nhảy tới địa chỉ 08h nếu là nguồn ngắt có độ ưu tiên cao, và tới địa chỉ 18h nếu là nguồn ngắt có độ ưu tiên thấp. ©2009, CE Department 10
- dce 2009 Ví dụ khởi tạo ngắt timer 0 ; cho phép ngắt xảy ra với độ ưu tiên cao. BSF INTCON2,TMR0IP ; xoá cờ ngắt BCF INTCON,TMR0IF ; cho phép ngắt timer0 xảy ra BSF INTCON,TMR0IE ©2009, CE Department 11
- dce 2009 Khởi tạo ngắt timer 0 INIT_TIMER0 BSF RCON,IPEN ;enable priority interrupts. BCF INTCON2,TMR0IP BSF INTCON,TMR0IF BSF INTCON,TMR0IE BSF INTCON,GIEH ;set the global interrupt enable bits BSF INTCON,GIEL CLRF T0CON MOVLW 0x3c MOVWF TMR0H MOVLW 0xAF MOVWF TMR0L BSF T0CON,TMR0ON RETURN ©2009, CE Department 12
- dce 2009 Các thanh ghi điều khiển interrupt • RCON • INTCON • INTCON2 • INTCON3 • PIR1, PIR2 • PIE1, PIE2 • IPR1, IPR2 ©2009, CE Department 13
- dce 2009 Cấu trúc chương trình sử dụng ngắt quãng ORG 00h EXTERNAL_INTERUPT_ROUTINE GOTO MAIN BCF INTCON,INT0IF ORG 08H RETURN GOTO ISR_HIGH TIMER0_INTERRUPT_ROUTINE ORG 18H BCF INTCON,TMR0IF GOTO ISR_LOW RETURN MAIN ISR_HIGH CALL INIT_INTERRUPT CALL EXTERNAL_INTERUPT_ROUTINE GOTO $ RETFIE ISR_LOW INIT_INTERRUPT RETURN CALL TIMER0_INTERRUPT_ROUTINE RETFIE Flag bit phải được xoá bằng software trước khi cho phép ngắt xảy ra tiếp tục, tránh trường hợp gọi đệ quị ISR ©2009, CE Department 14
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Vi xử lý và Lập trình hợp ngữ
54 p | 388 | 100
-
Bài giảng Vi xử lý - Chương 4: Tập lệnh và lập trình điều khiển
43 p | 245 | 35
-
Bài giảng Vi xử lý – Vi điều khiển
222 p | 165 | 26
-
Bài giảng Vi xử lý: Phần 1 - Đại học Công nghiệp TP. HCM
99 p | 183 | 25
-
Bài giảng Vi xử lý - Chương 9: Ứng dụng
17 p | 136 | 19
-
Bài giảng Vi xử lý: Phần 2 - Đại học Công nghiệp TP. HCM
99 p | 101 | 12
-
Bài giảng Vi xử lý: Chương 3.1 - Bùi Minh Thành
101 p | 119 | 11
-
Bài giảng Vi xử lý: Chương 5 - Bùi Minh Thành (tt)
84 p | 132 | 11
-
Bài giảng Vi xử lý: Chương 5 - Bùi Minh Thành
140 p | 136 | 10
-
Bài giảng Vi xử lý: Chương 3.4 - Bùi Minh Thành
75 p | 95 | 8
-
Bài giảng Vi xử lý: Chương 3.7 - Bùi Minh Thành
26 p | 104 | 7
-
Bài giảng Vi xử lý: Chương 1 - Bùi Minh Thành
135 p | 85 | 7
-
Bài giảng Vi xử lý- Chương 6: Giao tiếp ngoại vi
41 p | 99 | 6
-
Bài giảng Vi xử lý: Chương 3.6 - Bùi Minh Thành
39 p | 79 | 6
-
Bài giảng Vi xử lý: Chương 3.8 - Bùi Minh Thành
49 p | 87 | 6
-
Bài giảng Vi xử lý: Chương 3.9 - Bùi Minh Thành
48 p | 82 | 6
-
Bài giảng Vi xử lý - Chương 10: Vi điều khiển H8
55 p | 110 | 5
-
Bài giảng Vi xử lý - Chương 8: Các chức năng đặc biệt
64 p | 87 | 5
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn