Vectơ ngắt là gì
Ngày đăng:
04/12/2021
Trả lời:
0
Lượt xem:
211
Giới thiệuMột ngắt là một sự kiện xảy ra ngẫu nhiên trong luồng liên tục.Nó giống như một cuộc gọi bạn có khi bạn bận rộn với một số công việc và tùy thuộc vào ưu tiên cuộc gọi, bạn quyết định có nên tham dự hoặc bỏ bê nó hay không. Điều tương tự cũng xảy ra trong vi điều khiển.8051 kiến trúc xử lý 5 nguồn ngắt, trong đó có hai là nội bộ (Timer Interrupts), hai là bên ngoài và một là một ngắt nối tiếp.Mỗi ngắt này có địa chỉ vector ngắt của chúng.Ngắt ưu tiên cao nhất là Reset, với địa chỉ vector 0x0000. Địa chỉ Vector: Đây là địa chỉ mà bộ điều khiển nhảy sau khi ngắt để phục vụ ISR (thường xuyên dịch vụ ngắt).
Cài lại Đặt lại là mức ưu tiên cao nhất bị gián đoạn, khi đặt lại vi điều khiển 8051 bắt đầu thực thi mã từ địa chỉ 0x0000. Ngắt nội bộ (ngắt Timer) 8051 có hai ngắt nội bộ là timer0 và timer1.Bất cứ khi nào bộ đếm thời gian tràn, cờ tràn bộ đếm thời gian (TF0 / TF1) được đặt.Sau đó, vi điều khiển nhảy đến địa chỉ vector của chúng để phục vụ ngắt.Đối với điều này, ngắt toàn cầu và hẹn giờ nên được kích hoạt. Ngắt nối tiếp 8051 có cổng giao tiếp nối tiếp và có các cờ ngắt liên tiếp nối tiếp (TI / RI).Khi bit cuối cùng (bit dừng) của byte được truyền, cờ ngắt nối tiếp TI được thiết lập và khi bit cuối cùng (bit dừng) nhận byte dữ liệu được nhận, cờ RI được đặt. Đăng ký IE: Ngắt kích hoạt Đăng ký Thanh ghi IE được sử dụng để bật / tắt các nguồn ngắt. Bit 7 - EA:Bật tất cả bit 1 =Bật tất cả các ngắt 0 =Vô hiệu hóa tất cả các ngắt Bit 6,5 -bit dự trữ Bit 4 - ES:Bật bit ngắt nối tiếp 1 =Bật ngắt nối tiếp 0 =Vô hiệu hóa ngắt nối tiếp Bit 3 - ET1:Bật bit ngắt Timer1 1 =Bật ngắt Timer1 0 =Vô hiệu hóa ngắt Timer1 Bit 2 - EX1:Bật bit ngắt ngoài 1 1 =Bật ngắt External1 0 =Vô hiệu hóa ngắt External1 Bit 1 - ET0:Bật bit ngắt Timer0 1 =Bật ngắt Timer0 0 =Tắt ngắt Timer0 Bit 0 - EX0:Bật bit ngắt ngoài External0 1 =Bật ngắt External0 0 =Vô hiệu hóa ngắt External0 Ưu tiên ngắtƯu tiên ngắt có thể được gán bằng cách sử dụngthanh ghi ưu tiên ngắt (IP) Mức độ ưu tiên ngắt sau khi Đặt lại:
Trong bảng, ngắt các ưu tiên khi đặt lại được hiển thị.Theo 8.051 mức độ ưu tiên ngắt, các ngắt ưu tiên thấp nhất không được phục vụ cho đến khi vi điều khiển kết thúc với các ưu tiên cao hơn.Trong một trường hợp khi hai hoặc nhiều ngắt đến vi điều khiển hàng đợi chúng theo ưu tiên. Đăng ký IP: Đăng ký ưu tiên ngắt 8051 có đăng ký ưu tiên ngắt để gán mức ưu tiên cho các ngắt. Bit 7,6,5 -bit dự trữ. Bit 4 - PS:Bit ngắt ưu tiên ngắt nối tiếp 1 =Gán mức độ ưu tiên cao cho ngắt nối tiếp. 0 =Gán mức ưu tiên thấp cho ngắt nối tiếp. Bit 3 - PT1:Timer1 ngắt ưu tiên bit 1 =Gán mức độ ưu tiên cao cho ngắt Timer1. 0 =Gán mức ưu tiên thấp cho ngắt Timer1. Bit 2 - PX1:Ngắt bên ngoài 1 Ưu tiên Bit 1 =Gán mức ưu tiên cao cho ngắt External1. 0 =Gán mức ưu tiên thấp cho ngắt External1. Bit 1 - PT0:Timer0 Ngắt ưu tiên Bit 1 =Gán mức ưu tiên cao cho ngắt Timer0. 0 =Gán mức ưu tiên thấp cho ngắt Timer0. Bit 0 - PX0:External0 Interrupt Priority Bit 1 =Gán mức ưu tiên cao cho ngắt External0. 0 =Gán mức ưu tiên thấp cho ngắt External0. Ngắt ngoài trong 8051
Ngắt bên ngoài có hai loại mức độ kích hoạt
Năm 8051, hai loại mức độ kích hoạt được sử dụng.Đó là, Cấp thấp được kích hoạt Bất cứ khi nào một mức thấp được phát hiện trên pin INT0 / INT1 trong khi các ngắt toàn cầu và bên ngoài được kích hoạt, bộ điều khiển nhảy để làm gián đoạn thường trình dịch vụ (ISR) để phục vụ ngắt. Đã kích hoạt cạnh giảm Bất cứ khi nào cạnh dưới được phát hiện trên chân INT0 / INT1 trong khi toàn cầu và ext.ngắt được kích hoạt, bộ điều khiển nhảy để làm gián đoạn dịch vụ thường xuyên (ISR) để phục vụ gián đoạn. Có bốn bit cờ thấp hơn trongthanh ghi TCON đượcyêu cầu để chọn và giám sát trạng thái ngắt và trạng thái ISR bên ngoài. TCON: Đăng ký bộ đếm thời gian / bộ đếm Bit 3- IE1: External Interrupt 1 cạnh cờ, được thiết lập bởi phần cứng khi ngắt trên INT1 pin xảy ra và xóa bằng phần cứng khi ngắt được xử lý. Bit 2- IT1: Bit này chọn loại sự kiện ngắt bên ngoài trên chân INT1, 1 = bộ gián đoạn trên cạnh giảm 0 = bộ gián đoạn ở mức thấp Bit 1- IE0: Cờ ngắt Interrupt0, được thiết lập bởi phần cứng khi ngắt trên INT0 pin xảy ra và xóa bằng phần cứng khi ngắt được xử lý. Bit 0 - IT0: Bit này chọn kiểu sự kiện ngắt bên ngoài trên chân INT0. 1 = bộ gián đoạn trên cạnh giảm 0 = bộ gián đoạn ở mức thấp Thí dụHãy lập trình ngắt bên ngoài của AT89C51 sao cho, khi cạnh giảm được phát hiện trên pin INT0 thì vi điều khiển sẽ chuyển đổi chốt P1.0. Các bước lập trình
Chương trình#include Lưu ý: Đối vớimức ngắt được kích hoạt cấpIT0 cần được xóa, ví dụ: IT0 = 0
|