1. Trang chủ
  2. » Tất cả

huong dan thuc hanh interrupt

12 2 0
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

Nội dung

Microsoft PowerPoint huong dan thuc hanh interrupt sv HƯỚNG DẪN LẬP TRÌNH NGẮT GV Vũ Thị Hồng Nga Khoa Công Nghệ Điện Tử II Lập trình ngắt cơ bản (ngắt nội) 1 Ngắt RB0 (ngắt ngoài) a Điều kiện xảy ra.

HƯỚNG DẪN LẬP TRÌNH NGẮT GV: Vũ Thị Hồng Nga Khoa Cơng Nghệ Điện Tử II Lập trình ngắt (ngắt nội) Ngắt RB0 (ngắt ngoài): a Điều kiện xảy ngắt ngồi: có thay đổi xung cạnh lên xung cạnh xuống chân RB0 vi điều khiển b Các bit liên quan: - Cho phép ngắt: + cho phép ngắt ngoài: INTIE = + cho phép ngắt toàn cục: GIE = - Chọn xung tác động theo cạnh lên/xuống: INTEDG = 1/0 - Cờ ngắt: INTIF tự động set lên có kiện ngắt ngồi xảy Cờ INTIF phải xóa chương để vi điều khiển quản lý xác lần ngắt Ghi chú: INTEDG = 1/0 ( bit ghi OPTION_REG); INTIE (bit ghi INTCON); GIE (bit ghi INTCON); INTIF (bit ghi INTCON) Ví dụ 1: Sử dụng ngắt ngồi lập trình điều khiển led theo yêu cầu sau Bình thường: Led đếm 07 theo mã nhị phân Ngắt: led chớp tắt lần Phân tích phần cứng : • Cấu hình PORTE: digital output • Cấu hình PORTB: digital input, kích hoạt R kéo lên chân RB0 • Kích hoạt tính ngắt ngồi • Viết chương trình • Viết chương trình ngắt • Nhấn nút RB0 để tạo kiện ngắt • mơ kiểm tra kết Lưu đồ giải thuật #include #include CONFIG (FOSC_HS & WDTE_OFF & PWRTE_ON & MCLRE_ON & CP_OFF & CPD_OFF & BOREN_OFF & IESO_OFF & FCMEN_OFF & LVP_OFF); #define _XTAL_FREQ 4000000 void main(void) { unsigned char i; void interrupt isr(void) ANSEL = 0X00; { ANSELH = 0X00; unsigned char j; TRISE = 0X00; if (INTE && INTF) TRISB0 = 1; { nRBPU = 0; INTF = 0; WPUB = 0x01; for (j=0;j

Ngày đăng: 22/11/2022, 20:29