Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 42 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
42
Dung lượng
14,45 MB
Nội dung
Báo cáo kỳ: Vi Điều Khiển Ứng Dụng Đề tài 3: INTERRUPT Giáo viên hướng dẫn : TS.Võ Duy Thành Nhóm: Sinh viên thực : Phạm Anh Dũng - 20181428 Phạm Quốc Huy - 20181534 Phạm Thành Long - 20181623 Phạm Quốc Huy - 20173961 NỘI DUNG CHÍNH I TỔNG QUAN VỀ NGẮT II GIỚI THIỆU VỀ STM32F103C8T6 III NGẮT NGOÀI TRÊN STM32F103C8T6 IV THỰC HÀNH NGẮT NGOÀI TRÊN CHIP STM32F103C8T6 I TỔNG QUAN VỀ NGẮT Ngắt (Interrupt): q trình xử lý thơng tin vi xử lý Khi có kiện khẩn cấp bên bên vi điều khiển xảy ra, buộc CPU tạm dừng thực chương trình tại, phục vụ nhiệm vụ mà ngắt yêu cầu – nhiệm vụ gọi trình phục vụ ngắt (ISR: Interrupt Service Routine) Sau kết thúc chương trình ngắt CPU quay trở lại vị trí trước để thực tiếp nhiệm vụ cịn dang dở Một số ngắt phổ biến vi điều khiển: • Ngắt ngồi: Sự kiện thay đổi sườn tn hiệu (edge) sườn lên, sườn xuống, 2. • Ngắt UART: Thường sử dụng ngắt nhận, kiện buffer nhận đủ byte liệu • Ngắt ADC: Thường sử dụng hồn thành việc chuyển đổi ADC • Ngắt Timer: Thường sử dụng tràn ghi đếm, giá trị đếm với ghi so sánh I TỔNG QUAN VỀ NGẮT Điểm mạnh ngắt: • • • Vi điều khiển phục vụ nhiều thiết bị, thứ tự thực dựa mức độ ưu tiên gán cho Vi điều khiển tạm thời ngưng việc thực thi chương trình để phục vụ chương trình khác Khơng lãng phí thời gian cho thiết bị khơng cần phục vụ Ứng dụng: Ngắt giúp chương trình xử lý theo việc, đáp ứng kiện thay đổi mức logic từ chân vi điều khiển (ngắt ngồi), nhận kí tự (ngắt nhận UART)… • • • Để khơng lãng phí thời gian CPU Để CPU thực nhiều việc lúc Thực trao đổi thông tin với ngoại vi chậm I TỔNG QUAN VỀ NGẮT Hoạt động ngắt: • Khi chương trình thực câu lệnh thứ k mà gặp tín hiệu báo ngắt vi xử lý thực xong câu lệnh thứ k kiểm tra ngắt • Nếu ngắt khơng chấp nhận vi xử lý bỏ qua ngắt thực câu lệnh • Nếu ngắt chấp nhận vi xử lý tạm dừng chương trình xử lý ngắt Sau xử lý xong chương trình ngắt quay trở thực câu lệnh chương trình I TỔNG QUAN VỀ NGẮT Các bước thực ngắt vi điều khiển: • • • Bước 1: Thực xong câu lệnh thực (câu lệnh mã máy sau trình compiler, asembler từ ngôn ngữ bật cao người dùng viết). Bước 2: Lưu địa câu lệnh thực lưu trạng thái lượng hoạt động vào vùng nhớ Stack ( Quá trình stacking) Bước 3: Xóa bit cho phép ngắt tồn cục ghi trạng thái, đưa vi điều khiển chế độ hoạt động bình thường (active mode) chế độ tiết kiệm lượng Bit cho phép ngắt bật lên lại phép ngắt chồng ngắt (Nested Interrupt) • Bước 4: Vi điều khiển thực thi chương trình phục vụ ngắt (ISR) cách nạp địa câu lệnh chương trình phục vụ ngắt vào ghi PC (Địa địa vecter ngắt interrupt vector table) • Bước 5: Khi thực xong chương trình phục vụ ngắt, vi điều khiển thực trình unstacking: nạp lại giá trị ghi PC lưu, bật lại bit cho phép ngắt toàn cục, quay trạng thái lượng ban đầu I TỔNG QUAN VỀ NGẮT Hoạt động ngắt lồng nhau: Khi ngắt xảy thời điểm, ngắt có mức ưu tiên cao thực trước Khi ngắt chạy, có ngắt khác có mức độ ưu tiên cao gọi thực ngắt ngắt II GIỚI THIỆU VỀ STM32F103C8T6 Hình 1: STM32F103C8T6 Blue Pill II GIỚI THIỆU VỀ STM32F103C8T6 Giới thiệu sơ lược • STM32 dòng chip phổ biến ST với nhiều họ thơng dụng F0,F1,F2,F3,F4… • STM32F103 thuộc họ F1 với lõi ARM COTEX M3 • STM32F103 vi điều khiển 32 bit, tốc độ tối đa 72Mhz • Giá thành STM32F103 rẻ so với loại vi điều khiển có chức tương tự • Mạch nạp cơng cụ lập trình đa dạng dễ sử dụng Ứng dụng • • • • • Dùng cho driver để điều khiển ứng dụng Máy tính thiết bị ngoại vi chơi game GPS Thiết bị lập trình PLC Máy in, máy quét, hệ thống cảnh báo, thiết bị liên lạc nội bộ… II GIỚI THIỆU VỀ STM32F103C8T6 Một số thơng tin khác • Phần mềm lập trình: có nhiều trình biên dịch cho STM32 STM32CubeXIDE, • Thư viện lập trình: có nhiều loại thư viện lập trình cho STM32 như: STM32snippets, STM32Cube LL, STM32Cube HAL, Standard Peripheral Libraries, Mbed core Mỗi thư viện IAR Embedded Workbench, Keil C… có ưu khuyết điểm riêng, có Standard Peripheral Libraries đời lâu thông dụng, hỗ trợ nhiều ngoại vi dễ hiểu rõ chất lập trình • Mạch nạp: Có nhiều loại mạch nạp : ULINK, J-LINK , CMSIS-DAP, STLINK… có mạch nạp STLINK có giá thành rẻ debug lỗi tốt 10 III NGẮT NGOÀI TRÊN STM32F103C8T6 Cấu hình ngắt ngồi STM32CubeMX: • Bước 3: Lựa chọn trạng thái cho GPIO chế độ cho ngắt 28 III NGẮT NGỒI TRÊN STM32F103C8T6 Cấu hình ngắt ngồi STM32CubeMX: • Bước 4: Cho phép ngắt Line lựa chọn mức độ ưu tiên cho ngắt 29 III NGẮT NGỒI TRÊN STM32F103C8T6 Cấu hình ngắt ngồi STM32CubeMX: • Bước 5: Cấu hình xung Clock 30 III NGẮT NGỒI TRÊN STM32F103C8T6 Cấu hình ngắt ngồi STM32CubeMX: • Bước 6: Đặt tên cho Project -> Lựa chọn phần mềm lập trình (KeilC V5) -> Generate Code 31 III NGẮT NGOÀI TRÊN STM32F103C8T6 Một số hàm quan trọng lập trình ngắt KeilC V5: 32 III NGẮT NGOÀI TRÊN STM32F103C8T6 Một số hàm quan trọng lập trình ngắt KeilC V5: 33 III NGẮT NGOÀI TRÊN STM32F103C8T6 Một số hàm quan trọng lập trình ngắt KeilC V5: 34 III NGẮT NGOÀI TRÊN STM32F103C8T6 Một số hàm quan trọng lập trình ngắt KeilC V5: 35 IV THỰC HÀNH NGẮT NGOÀI Nội dung: Ứng dụng ngắt ngồi vào chương trình bật tắt đèn Led 36 IV THỰC HÀNH NGẮT NGOÀI 37 IV THỰC HÀNH NGẮT NGOÀI 38 IV THỰC HÀNH NGẮT NGOÀI 39 IV THỰC HÀNH NGẮT NGOÀI 40 TÀI LIỆU THAM KHẢO 41 Xin cảm ơn Thầy bạn lắng nghe ! 42 ... NGOÀI TRÊN CHIP STM32F103C8T6 I TỔNG QUAN VỀ NGẮT Ngắt (Interrupt) : q trình xử lý thơng tin vi xử lý Khi có kiện khẩn cấp bên bên vi điều khiển xảy ra, buộc CPU tạm dừng thực chương trình tại,... trình phục vụ ngắt (ISR:? ?Interrupt Service Routine) Sau kết thúc chương trình ngắt CPU quay trở lại vị trí trước để thực tiếp nhiệm vụ cịn dang dở Một số ngắt phổ biến vi điều khiển: • Ngắt ngồi:... cho Vi điều khiển tạm thời ngưng vi? ??c thực thi chương trình để phục vụ chương trình khác Khơng lãng phí thời gian cho thiết bị khơng cần phục vụ Ứng dụng: Ngắt giúp chương trình xử lý theo vi? ??c,