0
Tải bản đầy đủ (.pdf) (95 trang)

HOẠT ĐỘNG CỦA BỘ NGẮT (INTERRUPT):

Một phần của tài liệu THIẾT KẾ MỘT MÔ HÌNH THÍ NGHIỆM MẠCH ĐIỆN VÀ BỘ ĐO CÁC ĐẠI LƯỢNG ĐIỆN, CÓ GIAO DIỆN NỐI TIẾP VỚI MÁY (Trang 28 -30 )

Một interrupt (ngắt) là sự xảy ra một điều kiện – một sự kiện, mà nĩ gây treo tạm thời chương trình trong điều kiện cĩ được phục vụ bởi một chương trình khác.

Chương trình giải quyết ngắt gọi là chương trình phục vụ ngắt (ISR: Iterrupt Service Routine) hoặc bộ xử lý ngắt. ISR thực thi đáp ứng ngắt và thơng thường thực hiện tác vụ nhập hay xuất với một thiết bị. Khi ngắt xảy ra, chương trình chính tạm thời bị treo và rẽ

nhánh đến ISR: ISR thi hành và kết thúc bằng lệnh trở về ngắt. Chương trình tiếp tục thực thi tại chỗ mà nĩ tạm dừng. Thường người ta xem chương trình chính thực thi ở mức nền (cơ sở) và các ISR thực thi ngắt (Interrupt Level). Người ta dùng thuật ngữ Foreground (phía trước) (Base – Level) chỉ mức nền và Background (phía sau)(Interrupt – level) chỉ mức ngắt. Hình ảnh các ngắt được mơ tả trong hình sau:

Thực thi chương trình khơng cĩ ngắt

Thực thi chương trình cĩ ngắt * : gọi ngắt

** : quay về từ ngắt

2. Tổ chức ngắt của AT89C51:

Thật sự tất cả cĩ 5 nguồn ngắt ở AT89C51: 2 ngắt ngồi, 2 từ timer và một ngắt Port nối tiếp. Tất cả các ngắt theo mặc nhiên đều bị cấm sau khi Reset hệ thống và được cho phép bằng phần mềm.

Khi cĩ 2 hoặc nhiều ngắt đồng thời, 1 ngắt xảy ra trong khi 1 ngắt khác đang được phục vụ, cĩ cả 2 sự tuần tự hỏi vịng và sơ đồ ưu tiên 2 mức dùng để xác định thực hiện ngắt. Việc hỏi vịng tuần tự thì cố định nhưng ưu tiên ngắt thì cĩ thể lập trình được.

3. Các ngắt của µ CAT89C51: a. Các ngắt Timer:

Các ngắt timer cĩ địa chỉ vertor ngắt là 000BH (Timer 0) và 001BH (Timer1). Ngắt Timer xảy ra khi các thanh ghi Timer (TLX/THX) tràn và set các cờ báo tràn (TFX) lên 1.

Chú ý rằng các cờ Timer (TFX) khơng bị xĩa bằng phần mềm. Khi cho phép ngắt, tự động bị xĩa bằng phầm cứng khi CPU chuyển đến ngắt.

b. Các ngắt cổng nối tiếp:

Ngắt cổng nối tiếp xảy ra khi cờ ngắt phát (TI) hoặc cờ ngắt thu (RI) được đặt lên 1. Ngắt phát xảy ra khi truyền một ký tự trước đã được ghi vào SBUF vừa hồn tất. Ngắt thu xảy ra khi một ký tự đã được nhận xong và đang đợi trong SBUF để được đọc.

SV : TRIỆU QUANG MINH Trang 29

CHƯƠNG TRÌNH CHÍNH

C/tr cchinhchí nh

C/tr chính C/tr chính C/tr chính

ISR ISR ISR

Ngắt cổng nối tiếp hơi khác với các ngắt Timer. Cờ gây ngắt cổng nối tiếp khơng bị xĩa bằng phần cứng khi CPU chuyển tới ngắt. Nguyên do là cĩ hai nguồn cổng ngắt nối tiếp: TI và RI. Nguồn ngắt phải được xác định trong ISR và cờ tạo ngắt sẽ được xĩa bằng phần mềm.

c. Các ngắt ngồi:

Các ngắt xảy ra khi cĩ một mức thấp hoặc cạnh xuống trên chân INT0 hoặc INT1 của µCAT89C51. Đây là chức năng chuyển đổi của các bit Port 3: P3.2 (Chân 12) và P3.3 (chân 13).

Các cờ tạo ngắt là các bit IE0 và IE1 trong TCON. Khi quyền điều khiển đã chuyển đến ISR, cờ tạo ngắt chỉ được xĩa nếu ngắt được tích cực ở cạnh xuống. Nếu ngắt được tích cực theo mức, thì nguồn yêu cầu ngắt bên ngồi sẽ điều khiển mức của cờ thay cho phần cứng.

4. Định thì interrupt:

Các interrupt được lấy mẫu & chốt ở S5P2 của mỗi chu kỳ máy. Chúng được hỏi vịng ở chu kỳ máy kế và nếu một điều kiện interrupt tồn tại, nĩ được chấp nhận nếu :

+ Khơng cĩ interrupt khác cĩ độ ưu tiên bằng hoặc cao hơn đang xảy ra. + Chu kỳ hỏi vịng là chu kỳ cuối trong một lệnh.

+ Lệnh hiện hành khơng là RETI (để bảo đảm là tối thiểu một lệnh thực thi sau mỗi chương trình phục vụ ngắt)hoặc bất cứ truy xuất nào đến IE hoặcIP.

Trong hai chu kỳ kế , bộ xử lý cất PC vào ngăn xếp và nạp vào PC địa chỉ vector interrupt. ISR bắt đầu thực thi.

Thời gian giữa 1 điều kiện ngắt xảy ra và ISR bắt đầu gọi là thời gian chờ interrupt .Thời gian chờ interrupt quan trọng trong nhiều ứng dụng điều khiển. Với thạch anh 12MHz, thời gian chờ interrupt cĩ thể ngắn là 3.25ms ở AT89C51. Hệ thống AT89C51 mà sử dụng interrupt cĩ ưu tiên cao sẽ cĩ 1 thời gian chờ interrupt xấu nhất là 9.25ms (giả sử interrupt ưu tiên cao luơn được cho phép).Việc này xảy ra nếu điều kiện interrupt xảy ra vừa trước lệnh RETI của ISR mức 0 mà đi theo sau là lệnh nhân.

IV. HOẠT ĐỘNG PORT NỐI TIẾP :1. Giới thiệu :


Một phần của tài liệu THIẾT KẾ MỘT MÔ HÌNH THÍ NGHIỆM MẠCH ĐIỆN VÀ BỘ ĐO CÁC ĐẠI LƯỢNG ĐIỆN, CÓ GIAO DIỆN NỐI TIẾP VỚI MÁY (Trang 28 -30 )

×