Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 26 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
26
Dung lượng
1,07 MB
Nội dung
Vi Điều Khiển 4.01 Chương 04 Ngắt (Interrupts) HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển Chương 4.02 GIỚI THIỆU NGẮT (1) ● Ngắt xảy điều kiện (sự kiện) làm cho VĐK treo tạm thời chương trình để thực chương trình khác Sau thực xong chương trình VĐK lại tiếp tục quay lại thực chương trình ● Interrupt is the signal sent to the processor to mark the event that requires immediate attention Interrupt is “asking" the processor to stop to perform the current program and to “make time” to execute a special code HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 4.03 Chương GIỚI THIỆU NGẮT (2) ● Các ngắt đóng vai trị quan trọng việc thiết kế thực ứng dụng vi điều khiển ● Các ngắt cho phép hệ thống đáp ứng kiện theo cách không đồng xử lý kiện chương trình khác thực thi ● Một hệ thống điều khiển ngắt cho ta ảo tưởng làm nhiều công việc đồng thời HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển Chương 4.04 THỰC THI CHƯƠNG TRÌNH (1) ● Chương trình xử lý ngắt gọi trình phục vụ ngắt ISR (Interrupt Service Routine) hay quản lý ngắt (Interrupt Handler) ● ISR thực thi nhằm đáp ứng ngắt trường hợp tổng quát thực việc xuất nhập thiết bị ● Khi ngắt xuất hiện, việc thực thi chương trình tạm thời bị dừng CPU thực việc rẽ nhánh đến trình phục vụ ngắt ISR ● CPU thực thi ISR để thực công việc sau kết thúc việc thực thi ISR chương trình lại tiếp tục nơi bị tạm dừng HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 4.05 Chương THỰC THI CHƯƠNG TRÌNH (2) HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 4.06 Chương NGUYÊN NHÂN NGẮT (1) ● Ngắt nội: Tín hiệu ngắt đến từ thiết bị bên VĐK (VD: bit cờ ngắt set lên 1) ● Ngắt ngoại: Tín hiệu ngắt đến từ thiết bị bên VĐK (VD: chân ngắt chuyển từ mức cao mức thấp) HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 4.07 Chương NGUYÊN NHÂN NGẮT (2) Thơng thường có 14 loại ngắt: EEIF - EEPROM Write Operation Interrupt Flag bit PSPIF - Parallel Slave Port Read/Write Interrupt Flag bit ADIF - A/D Converter Interrupt Flag bit RCIF - USART Receive Interrupt Flag bit TXIF - USART Transmit Interrupt Flag bit SSPIF - Synchronous Serial Port (SSP) Interrupt Flag bit CCP1IF - CCP1 Interrupt Flag bit TMR2IF - TMR2 to PR2 Match Interrupt Flag bit TMR1IF - TMR1 Overflow Interrupt Flag bit 10 CCP2IF - CCP2 Interrupt Flag bit 11 BCLIF - Bus Collision Interrupt Flag bit 12 T0IF - Timer interrupt flag 13 INTF - RB0/INT External Interrupt Flag bit 14 RBIF - RB Port Change Interrupt Flag bit HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 4.08 Chương NGUYÊN NHÂN NGẮT (3) HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 4.09 Chương SỬ DỤNG NGẮT (1) ● XXXIF: bit cờ ngắt thể trạng thái ngắt, mang giá trị bình thường, mang giá trị ngắt xảy ● XXXIE: bit cho phép ngắt, cho phép hay ngăn không cho phép ngắt xảy ● Chúng ta cho phép tồn hệ thống VĐK có ngắt hay khơng cách gán giá trị cho bit cho phép ngắt toàn cục Interrupt Enable bit GIE HCM City Univ of Technology, Faculty of Mechanical Engineering Global Phung Tri Cong Vi Điều Khiển 4.10 Chương SỬ DỤNG NGẮT (2) Để thực ngắt, làm bước sau: ● Bước 1: Kích khởi bit cho phép ngắt toàn cục GIE ● Bước 2: Kích khởi bit cho phép loại ngắt mà muốn sử dụng HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 4.12 Chương THANH GHI INTCON (1) HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 4.13 Chương THANH GHI INTCON (2) HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 4.14 Chương THANH GHI PIE1 (1) HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 4.15 Chương THANH GHI PIE1 (2) HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 4.16 Chương THANH GHI PIE2 (1) HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 4.17 Chương THANH GHI PIE2 (2) HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 4.18 Chương THANH GHI PIR1 (1) HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 4.19 Chương THANH GHI PIR1 (2) HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 4.20 Chương THANH GHI PIR1 (3) HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 4.21 Chương THANH GHI PIR2 (1) HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 4.22 Chương THANH GHI PIR2 (2) HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 4.23 Chương CÁC LỆNH SỬ DỤNG NGẮT Chương trình #INT_EXT #INT_RB Khai báo ngắt enable_interrupts(GLOBAL); enable_interrupts(INT_EXT); enable_interrupts(INT_RB); Ext_int_edge(H_to_L) ngắt toàn cục ngắt HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển 4.24 Chương VÍ DỤ 1: SỬ DỤNG NGẮT NGỒI Viết chương trình đếm số lần nhấn nút dùng ngắt hiển thị kết LED đoạn? HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong Vi Điều Khiển Chương 4.25 VÍ DỤ 2: SỬ DỤNG NGẮT NGỒI Viết chương trình sử dụng ngắt cách tăng giá trị PORTB lần đơn vị hiển thị kết LED đoạn? HCM City Univ of Technology, Faculty of Mechanical Engineering Phung Tri Cong ... LỆNH SỬ DỤNG NGẮT Chương trình #INT_EXT #INT_RB Khai báo ngắt enable _interrupts( GLOBAL); enable _interrupts( INT_EXT); enable _interrupts( INT_RB); Ext_int_edge(H_to_L) ngắt toàn cục ngắt HCM City