Các vector ngắt

Một phần của tài liệu Điều khiển thiết bị và báo trộm - cháy qua mạng điện thoại (Trang 75 - 78)

M 0: cho phép nhảy tin nhắn mà khơng cần biết địa chỉ vật lý của mỗi tin nhắn ỗi xung tấp của CE\ làm cho con trỏ địa chỉ nhảy đến địa chỉ kế tiếp ode này chỉ sử

2.5.3.3.6 Các vector ngắt

Khi cĩ 1 yêu cầu ngắt xảy ra thì sau khi cất giá trị địa chỉ trong PC vào ngăn xếp địa chỉ của chương trình con phục vụ ngắt tương ứng cịn gọi bởi vector địa chỉ ngắt sẽ được nạp vào thanh ghi PC, địa chỉ này là cố định do nhà chế tạo quy định. Các chương trình ngắt phải bắt đầu viết đúng tại địa chỉ quy định đĩ .

Bảng 21: Bảng các vector ngắt

Interrupt Flag Vectors Address

System Reset RST 0000H External 0 IE0 0003H Timer 0 TF0 000BH External 1 IE1 0013H Timer 1 TF1 001BH Serial port RI or TI 0023H Timer 2 TF 2 or EXF 2 002BH

Vector reset hệ thống ( RST ở địa chỉ 0000H ): khi reset vi điều khiển thì thanh ghi PC = 0000H và chương trình chính luơn bắt đầu tại địa chỉ này.

Do khoảng vùng nhớ giữa các vector địa chỉ của các nguồn ngắt chỉ cĩ vài ơ nhớ . Ví dụ như vector địa chỉ ngắt của INT0 tại 0003H và vector địa chỉ ngắt của ngắt T0 tại 000BH chỉ cách nhau cĩ 9 ơ nhớ. Nếu chương trình phục vụ ngắt của ngắt INT0 cĩ kích thước lớn hơn 9 byte thì nĩ nhảy đến vùng nhớ của cờ ngắt T0. Cách giải quyết tốt nhất là ngay tại địa chỉ 0003H ta viết lệnh nhảy đến 1 vùng nhớ khác rộng hơn. Cịn nếu các ngắt T0 và các ngắt khác khơng sử dụng thì ta cĩ thể viết chương trình tại đĩ cũng được.

Chương trình chính luơn bắt đầu tại địa chỉ 0000H sau khi Reset hệ thống, nếu trong chương trình cĩ sử dụng ngắt thì ta phải dùng lệnh nhảy tại địa chỉ 0000H để nhảy đến một vùng nhớ khác rộng hơn khơng bị giới hạn để viết tiếp.

Một phần của tài liệu Điều khiển thiết bị và báo trộm - cháy qua mạng điện thoại (Trang 75 - 78)