1. Trang chủ
  2. » Giáo án - Bài giảng

Chuong3 hoatdongcuangatngoai

9 2 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 9
Dung lượng 463,09 KB

Nội dung

1 Chương 3 HOẠT ĐỘNG CỦA NGẮT NGOÀI 3 1 Khái niệm 3 2 Thanh ghi điều khiển ngắt 3 3 Ví dụ kqha2006 CÔNG NGHỆ THÔNG TIN Khoa 2 3 1 Khái niệm về vi điều khiển và một số hiều biết cần có về vi điều khiển

8/7/2021 @ kqha2006 @ Khoa CÔNG NGHỆ THÔNG TIN Chương HOẠT ĐỘNG CỦA NGẮT NGOÀI 3.1 Khái niệm  Đang xem Youtube 3.1 Khái niệm 3.2 Thanh ghi điều khiển ngắt 3.3 Ví dụ @ kqha2006 @ Khoa CÔNG NGHỆ THÔNG TIN 3.1 Khái niệm  Pause Youtube, nghe điện thoại @ kqha2006 @ Khoa CÔNG NGHỆ THÔNG TIN 3.1 Khái niệm  Nghe điện thoại xong, tiếp tục xem Youtube 8/7/2021 @ kqha2006 @ Khoa CÔNG NGHỆ THÔNG TIN 3.1 Khái niệm @ kqha2006 @ Khoa 3.1 Khái niệm CÔNG NGHỆ THÔNG TIN Đang xem youtube… …Có gọi đến bất ngờ CON NGƯỜI VI ĐIỀU KHIỂN Đang xem youtube Đang thực cơng việc Điện thoại gọi đến Sự kiện ngắt xuất Tạm dừng xem Tạm dừng công việc thực youtube Tạm dừng xem youtube Nghe điện thoại Quay lại xem tiếp youtube dang dở Thực công việc tương ứng với kiện ngắt (trình phục vụ ngắt) Nghe điện thoại  Ngắt Quay lại xem youtube Quay lại thực tiếp công tiếp việc trước ngắt xuất @ kqha2006 @ Khoa CÔNG NGHỆ THÔNG TIN 3.1 Khái niệm  Ngắt (Interrupts), “tín hiệu khẩn cấp” gởi đến xử lí, yêu cầu xử lí tạm ngừng tức khắc hoạt động để “nhảy” đến nơi khác thực nhiệm vụ “khẩn cấp” đó, nhiệm vụ gọi trình phục vụ ngắt – isr (interrupt service routine) Sau kết thúc nhiệm vụ isr, xử lí quay thực tiếp nhiệm vụ dang dở @ kqha2006 @ Khoa 3.1 Khái niệm CÔNG NGHỆ THÔNG TIN  Ý nghĩa việc sử dụng ngắt Không dùng ngắt: Ngồi chờ điện thoại, không làm việc Dùng ngắt: Vẫn làm việc khác bình thường, có tín hiệu điện thoại cần tạm dừng để nghe khác  Ngắt có mức độ ưu tiên xử lí cao nhất, ngắt thường dùng để xử lí kiện bất ngờ không tốn nhiều thời gian 8/7/2021 @ kqha2006 @ Khoa CÔNG NGHỆ THÔNG TIN 3.1 Khái niệm @ kqha2006 @ Khoa CÔNG NGHỆ THÔNG TIN 10 3.1 Khái niệm  Giản đồ thực thi chương trình:  Ngắt thực cài đặt cho phép  Khi kiện ngắt- điện thoại reo xảy ra, thân cho phép trả lời điện thoại xem youtube có điện thoại ta tạm dừng youtube nghe @ kqha2006 @ Khoa CÔNG NGHỆ THÔNG TIN 11 3.1 Khái niệm @ kqha2006 @ Khoa CÔNG NGHỆ THÔNG TIN 12 3.1 Khái niệm  Chú ý:  Các loại ngắt vi điều khiển AVR:  Chương trình phục vụ ngắt nên viết lệnh thực  Ngắt ngồi nhanh, tốn thời gian thực thi, khơng dùng delay vịng lặp  Khơng thể ghi vào nhớ EEPROM chương trình phục vụ ngắt  Ngắt tràn Timer  Ngắt so sánh Timer  Ngắt truyền thông nối tiếp 8/7/2021 @ kqha2006 @ 13 Khoa 3.1 Khái niệm CÔNG NGHỆ THÔNG TIN  Các nguồn ngắt ngoài: @ kqha2006 @ 14 Khoa 3.2 Thanh ghi điều khiển ngắt CÔNG NGHỆ THÔNG TIN  Atmega16 có ngắt ngồi: Falling Edge INT0, INT1, INT2 tương Rising Edge ứng với chân số 16 VĐK Rising Edge: sườn lên (PD2), 17(PD3), 3(PB2) Low level Falling Edge: sườn xuống Low level: mức điện áp thấp Any change: thay đổi chân @ kqha2006 @ Khoa CÔNG NGHỆ THÔNG TIN 15 3.2 Thanh ghi điều khiển ngắt  Thanh ghi GICR (General Interrupt Control Register) @ kqha2006 @ 16 Khoa 3.2 Thanh ghi điều khiển ngắt CƠNG NGHỆ THƠNG TIN  Ví dụ:  Đây ghi bit, bit cao (bit 5, 7) bit điều khiển ngắt INT1: bit cho phép ngắt INT0: bit cho phép ngắt INT2: bit cho phép ngắt  Thiết lập bit tương ứng lên cho phép ngắt hoạt động, thiết lập - - - ? ?  Cho phép ngắt ngồi 0: Khi có tín hiệu ngắt đưa vào chân INT0 thực chương trình phục vụ ngắt ngồi  Khơng cho phép ngắt ngồi 2: Khi có tín hiệu ngắt đưa vào chân INT1 chân INT2 khơng thực chương trình phục vụ ngắt ngồi khơng cho phép ngắt hoạt động 8/7/2021 @ kqha2006 @ 17 Khoa 3.2 Thanh ghi điều khiển ngắt CÔNG NGHỆ THÔNG TIN @ kqha2006 @  Thanh ghi MCUCR: (MCU Control Register) ISC01 ISC00 Chế độ ngắt cho INT0 0 Low level Any change Falling edge 1 Rising edge  Đây ghi bit, bit thấp dùng để lựa chọn chế độ ngắt (Interrupt Sense Control)  ISC11, ISC10 (dùng cho INT1) ISC11 ISC10 Chế độ ngắt cho INT1 0 Low level Any change Falling edge 1 Rising edge  ISC01, ISC00 (dùng cho INT0) @ kqha2006 @ 19 3.2 Thanh ghi điều khiển ngắt CÔNG NGHỆ THÔNG TIN 3.2 Thanh ghi điều khiển ngắt CÔNG NGHỆ THÔNG TIN  Thanh ghi MCUCR: (MCU Control Register) Khoa 18 Khoa  Ví dụ: @ kqha2006 @ 20 Khoa 3.2 Thanh ghi điều khiển ngắt CÔNG NGHỆ THƠNG TIN  Ví dụ: ? ? ? ? 1  Ngắt ngắt theo chế độ Rising: Khi có tín hiệu sườn lên vào chân INT0 xảy ngắt ? ? ? ? 1  Ngắt ngắt theo chế độ Falling: Khi có tín hiệu sườn xuống vào chân INT1 xảy ngắt INT0 VĐK INT1 VĐK 8/7/2021 @ kqha2006 @ Khoa CÔNG NGHỆ THÔNG TIN 21 3.2 Thanh ghi điều khiển ngắt @ kqha2006 @ 22 Khoa 3.2 Thanh ghi điều khiển ngắt CÔNG NGHỆ THÔNG TIN  Thanh ghi MCUCSR: (MCU Control and Status Register)  Ví dụ: ?  Đây ghi bit Bit thứ - ISC2 dùng để điều khiển trạng thái ? ? ? ? ? vào chân INT2 xảy ngắt ISC2 Chế độ ngắt cho INT2 Falling Edge Rising Edge @ kqha2006 @ CÔNG NGHỆ THÔNG TIN -  Ngắt ngồi ngắt theo chế độ Falling: Khi có tín hiệu sườn xuống ngắt cho INT2 Khoa INT2 23 3.2 Thanh ghi điều khiển ngắt VĐK @ kqha2006 @ Khoa CÔNG NGHỆ THÔNG TIN 24 3.2 Thanh ghi điều khiển ngắt  Thanh ghi GIFR (General Interrupt Flag Register)  Thanh ghi GIFR (General Interrupt Flag Register)  Đây ghi bit, bit cao bit cờ ngắt  Thanh ghi có ý nghĩa giúp người lập trình biết INTF1: cờ ngắt INTF0: cờ ngắt ngồi INTF2: cờ ngắt ngồi có ngắt xảy ra, khơng có tác dụng cấu hình  Khi xuất kiện ngắt cờ ngắt tương ứng tự động set lên Nếu ngắt tương ứng thực thi cờ ngắt tự động xóa 8/7/2021 @ kqha2006 @ Khoa CÔNG NGHỆ THÔNG TIN 25 3.2 Thanh ghi điều khiển ngắt CÔNG NGHỆ THÔNG TIN  Tổng kết: Thanh ghi @ kqha2006 @ Khoa 26 3.3 Ví dụ  Ví dụ 1: Điều khiển hiển thị LED Thiết lập ngắt hoạt Ý nghĩa động chế độ Falling Edge Mỗi có kiện ngắt xảy số GICR Cho phép ngắt hoạt động hay không hiển thị LED tăng lên đơn vị MCUCR Thiết lập chế độ hoạt động ngắt MCUCSR GIFR Đọc trạng thái cờ ngắt @ kqha2006 @ Khoa CƠNG NGHỆ THƠNG TIN  Ví dụ 1: 27 3.3 Ví dụ @ kqha2006 @ Khoa CƠNG NGHỆ THƠNG TIN 28 3.3 Ví dụ  Ví dụ 1: Thiết lập cổng vào ra: o PC điều khiển LED  thiết lập làm cổng DDRC = 0xFF; PORTC = 0xFF; o PD2 nhận tín hiệu từ ngắt ngồi, thiết lập làm cổng vào kích hoạt Pull-up: DDRD = 0x00; PORTD |= 0x04; 8/7/2021 @ kqha2006 @ 29 Khoa 3.3 Ví dụ CƠNG NGHỆ THƠNG TIN @ kqha2006 @ 30 Khoa 3.3 Ví dụ CƠNG NGHỆ THƠNG TIN  Ví dụ 1:  Ví dụ 1: Thiết lập ghi cho phép ngắt 0: Thiết lập chế độ hoạt động cho ngắt 0: ? ? - - - ? ? ? ? ? ? GICR = 0b01000000; MCUCR = 0b00000010; GICR = 0x40; MCUCR = 0x02; @ kqha2006 @ Khoa CƠNG NGHỆ THƠNG TIN 31 3.3 Ví dụ CƠNG NGHỆ THƠNG TIN  Ví dụ 1: Cho phép ngắt tồn cục Kết quả: Lập trình chương trình phục vụ ngắt ? @ kqha2006 @ Khoa  Ví dụ 1: #asm("sei") ? 32 3.3 Ví dụ  Code  Mạch 8/7/2021 @ kqha2006 @ Khoa CƠNG NGHỆ THƠNG TIN 33 3.3 Ví dụ @ kqha2006 @ Khoa CÔNG NGHỆ THÔNG TIN  Ví dụ 2: 34 3.3 Ví dụ  Ví dụ 3: Điều khiển hiển thị LED Thiết lập ngắt hoạt Điều khiển hiển thị LED Thiết lập ngắt hoạt động chế độ Rising Edge Mỗi có kiện ngắt xảy số động chế độ Any change Mỗi có kiện ngắt xảy số hiển thị LED tăng lên đơn vị hiển thị LED tăng lên đơn vị  Code  Code  Mạch  Mạch @ kqha2006 @ Khoa CÔNG NGHỆ THÔNG TIN 35 3.3 Ví dụ  Ví dụ 4: @ kqha2006 @ Khoa CƠNG NGHỆ THƠNG TIN 36 3.3 Ví dụ  Bài tập Điều khiển hiển thị LED Thiết lập ngắt hoạt Điều khiển hiển thị LED Thiết lập ngắt hoạt động chế độ Falling Edge, ngắt hoạt động chế độ động chế độ Falling Edge, ngắt hoạt động chế độ Rising Falling Edge Mỗi có kiện ngắt xảy số hiển thị Edge Mỗi có kiện ngắt xảy số hiển thị LED LED tăng lên đơn vị, kiện ngắt xảy số hiển thị tăng lên đơn vị, kiện ngắt xảy số hiển thị trên LED giảm đơn vị LED giảm đơn vị  Code  Code  Mạch  Mạch

Ngày đăng: 01/09/2022, 17:28

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w