1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Bài 5: NGẮT NGOÀI (INT )

15 600 2
Tài liệu đã được kiểm tra trùng lặp

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 406,5 KB

Nội dung

Bài 5: NGẮT NGOÀI (INT) I>Khái niệm: Ngắt là sự đáp ứng các sự kiện bên trong hoặc bên ngoài nhằm thông báo cho bộ vi điều khiển biết thiết bị đang cần được phục vụ II>. Trình tự thực hiện ngắt của vi điều khiển Bài 5: NGẮT NGOÀI (INT) B1: Kết thúc lệnh hiện tại trong chương trình chính của vi điều khiển và lưu địa chỉ của lệnh kế tiếp vào ngăn xếp. B2: Lưu lại trạng thái hiện hành của tất cả các ngắt vào bên trong. B3: Nhảy tới một vị trí cố định trong bộ nhớ gọi là bảng vecto ngắt, nơi lưu địa chỉ của trình phục vụ ngắt B4: Nhận địa chỉ từ bảng vecto ngắt rồi nhảy tới địa chỉ đó và bắt đầu thực hiện trình phục vụ ngắt cho tới lệnh cuối cùng. B5: kết thúc trình phục vụ ngắt và vđk trở về đúng vị trí mà nó bị ngắt lúc trước sau nạp địa chỉ lệnh cần làm kế tiếp từ ngăn xếp và thực hiện lệnh này. Bi 5: NGT NGOI (INT) III>Cỏc Ngt Ca 8051 : Ngắt Cờ ịa chỉ vector Th t ngt Ngắt ngoài 0 IE0 0003H 0 Bộ định thời 0 TF0 000BH 1 Ngắt ngoài 1 IE1 0013H 2 Bộ định thời 1 TF1 001BH 3 Port nối tiếp RI hoặc TI 0023H 4 Bộ định thời 2 TF2 hoặc EXF2 002BH 5 Bài 5: NGẮT NGOÀI (INT) IV>Các Thanh Ghi Sử Dụng Cho Ngắt Ngoài 1.Thanh Ghi Cho Phép Ngắt IE (interrupt enable) EA -- ET2 ES ET1 EX1 ET0 EX0 EA (IE.7 bit) là bit cho phép ngắt toàn bộ. Tức là nếu bạn sử dụng một trong 5 ngắt kể trên của vđk thì bạn phải set bit này lên với giá trị 1. Ngược lại khi bit EA =0 thì toàn bộ các ngắt của vđk sẽ bị cấm. Bài 5: NGẮT NGOÀI (INT) ET2 ( IE.5 bit) là bit cho phép ngắt của timer 2 ( chỉ ở họ 52 ). Khi bit này = 1 thì ngắt định thời 2 sẽ được cho phép và ngược lại. ET1, ET0 ( IE.3, IE.1 bit ) là bit cho phép ngắt định thời 1, 0 của vđk 8051. Khi các bit này =1 thì ngắt của hai bộ định thời này được cho phép và ngược lại. ES ( IE.4 bit ) là bit cho phép ngắt truyền thông nối tiếp. EX1, EX0 (IE.0 và IE.2 bit) là hai bit cho phép của hai ngắt ngoài của vđk Bài 5: NGẮT NGOÀI (INT) 2.Thanh Ghi Thiết Lập Chế Độ Ngắt(TCON): TF1 TR1 TF1 TR0 IE1 IT1 IE0 IT0 TF1 ( TCON.7) cờ tràn của Timer1 TR1 ( TCON.6) bit Đk hoạt động của Timer1 TF0 ( TCON.5) cờ tràn của Timer0 TR0 ( TCON.4) bit Đk hoạt động của Timer0 Bài 5: NGẮT NGOÀI (INT) IE1 ( TCON.3) Cờ ngắt ngoài kích theo sườn ; được CPU thiết lập khi phát hiền có sườn xuống ngắt ngoài và đựơc CPU xoá khi ngắt được xư lý IE0 ( TCON.1) Cờ ngắt ngoài kích theo sườn ; được CPU thiết lập khi phát hiền có sườn xuống ngắt ngoài và đựơc CPU xoá khi ngắt được xư lý IT1 ( TCON.2) bit Đk kiểu ngắt INT1 được thiết lập và xoá bởi phần mềm để xác định kiểu ngắt theo sườn hay mức thấp IT0 ( TCON.0) bit Đk kiểu ngắt INT0 được thiết lập và xoá bởi phần mềm để xác định kiểu ngắt theo sườn hay mức thấp Bài 5: NGẮT NGOÀI (INT) Như vậy từ 2 thanh ghi trên , để sử dụng ngắt INT0 (ngắt theo mức ta sẽ phải khởi tạo như sau): void khoi_tao() { P3_2=1; // khai báo chân lấy tín hiệu EA=1; // cho phép ngắt toàn cục EX0=1; // cho phép ngắt ngoài 0 } Bài 5: NGẮT NGOÀI (INT) V>Chương Trình Phục Vụ Ngắt: Void Name (void) interrupt x ( x là số thứ thực của ngắt ) { // chuong trinh phuc vu ngat } Bài 5: NGẮT NGOÀI (INT) Như Vậy Các Bước Để Sư Dụng Ngăt Như Sau Start Các Lệnh tiền xử lý Hàm khởi tạo ngát Hàm phục vụ ngát Hàm main [...].. .Bài 5: NGẮT NGOÀI (INT) VI >Bài Tầp Thực Hành: B1 :Dùng ngắt ngoài INT0 để nháy Led1( P1_ 0) 5 lần khi công tắc tại chân P3_2 được nhấn ; chương trình chính nháy liên tục Led2 (P1_ 1) (Viết cho cả ngắt theo mức và theo sườn sau đó so sánh kết qu ) Bài 5: NGẮT NGOÀI (INT) #include void delay(long time) { long n; for(n=0;n . // cho phép ngắt ngoài 0 } Bài 5: NGẮT NGOÀI (INT) V>Chương Trình Phục Vụ Ngắt: Void Name (void) interrupt x ( x là số thứ thực của ngắt ) { // chuong. delay(2000 0); } } void main () { P1_0 = 1; P1_1 = 1; khoi_tao (); while( 1) { P1_1=~P1_1; delay(2000 0); } } Bài 5: NGẮT NGOÀI (INT) B2 :Dùng ngắt ngoài INT0 :khi nhấn

Ngày đăng: 27/10/2013, 20:15

TỪ KHÓA LIÊN QUAN

w