1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Vi xử lý - Chương 7: Ngắt quãng

14 27 0

Đ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 14
Dung lượng 431,33 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng Vi sử lý - Chương 7: Ngắt quãng giới thiệu tới người học khái niệm về ngắt quãng, các loại ngắt quãng và cánh thức hoạt động, thiết kế chương trình sử dụng ngắt quãng, khởi tạo ngắt quãng, cấu trúc chương trình sử dụng ngắt quãng. Mời các bạn cùng tham khảo nội dung chi tiết.

Trang 1

TP.HCM

Ngắt quãng

Trang 2

©2009, CE Department 2

Giới thiệu

• Ngắt quãng là gì?

– An interrupt is the occurrence of a

condition an event that cause a temporary suspension

of a program while the event is serviced by another program (Interrupt Service Routine

ISR or Interrupt Handler).

©2009, CE Department

Trang 3

Giới thiệu (tt)

• 18F2220 có nhiều nguồn ngắt và có độ ưu

tiên (priority) khác nhau

– Ngắt có độ ưu tiên cao : 0008h

– Ngắt có độ ưu tiên thấp : 0018h

Khi một nguồn ngắt có độ ưu tiên cao xảy ra thì nó ngắt bất

kì nguồn ngắt có độ ưu tiên thấp, dù cho nguồn ngắt đó đang thực hiện

Trang 4

©2009, CE Department 4

Giới thiệu (tt)

©2009, CE Department

Trang 5

Các loại ngắt quãng

• Ngắt ngoài (3 kênh)

• Timer 0, 1, 2

• PortB interrupt change

• Capture/Compare/PWM interrupt

• USART

• ADC

• Comparator

Trang 6

©2009, CE Department 6

Cách thức hoạt động

©2009, CE Department

Trang 7

• Polling: chương trình chính kiểm tra các cờ,

đợi cho có sự kiện xảy ra (không hiệu quả trong một số trường hợp)

• Interrupt driven: CPU có thể thực hiện những công việc khác, không cần chờ các sự kiện xảy ra ( hiệu quả trong các ứng dụng điều khiển)

• I/O processor: các processor chuyên dụng xử

lý các sự kiện I/O, không can thiệp vào hoạt động của CPU (tốt nhất nhưng chi phí cao)

Trang 8

©2009, CE Department 8

Xử lý ngắt

• Khi một nguồn ngắt xảy ra và được chấp nhận bởi CPU thì chương trình chính sẽ bị ngắt

Sau đó CPU sẽ thực hiện các thao tác sau:

– Thực thi xong lệnh hiện tại.

– PC được lưu lại trên stack.

– Các trạng thái hiện tại được lưu lại bên trong.

– PC nhận giá trị địa chỉ vector tương ứng với nguồn ngắt.

– Thực thi ISR.

• ISR hoàn thành khi gặp lệnh RETFIE, sau đó phục hồi trạng thái của CPU rồi lấy lại giá trị

PC từ stack

Trang 9

Khởi tạo ngắt quãng

• IPEN (RCON<7>) : cho/không cho phép xảy ra

ngắt với độ ưu tiên khác nhau.

• IPEN: enable

– GIEH (INTCON<7>) : cho/không cho phép các ngắt có độ

ưu tiên cao.

– GIEL (INTCON<6>) : cho/không cho phép các ngắt có độ

ưu tiên thấp.

• IPEN: disable

– GIEH (INTCON<7>) : cho/không cho phép tất cả các nguồn ngắt xảy ra.

– PEIE (INTCON<6>) : cho/không phép tất cả các nguồn ngắt ngoại vi.

Trang 10

©2009, CE Department 10

Khởi tạo ngắt quãng (tt)

• Có 3 bit điều khiển hoạt động của mỗi nguồn ngắt

– Flag bit – Enable interrupt bit – Priority bit

Khi flag bit, enable bit và global enable bit được set thì chương trình sẽ nhảy tới địa chỉ 08h nếu là

nguồn ngắt có độ ưu tiên cao, và tới địa chỉ 18h nếu

là nguồn ngắt có độ ưu tiên thấp.

©2009, CE Department

Trang 11

Ví dụ khởi tạo ngắt timer 0

; cho phép ngắt xảy ra với độ ưu tiên cao

; xoá cờ ngắt

; cho phép ngắt timer0 xảy ra

Trang 12

©2009, CE Department 12

Khởi tạo ngắt timer 0

INIT_TIMER0

BSF RCON,IPEN ;enable priority interrupts.

BCF INTCON2,TMR0IP

BSF INTCON,TMR0IF

BSF INTCON,TMR0IE

BSF INTCON,GIEH ;set the global interrupt enable bits

BSF INTCON,GIEL

BSF T0CON,TMR0ON

RETURN

©2009, CE Department

Trang 13

Các thanh ghi điều khiển interrupt

• RCON

• INTCON

• INTCON2

• INTCON3

• PIR1, PIR2

• PIE1, PIE2

• IPR1, IPR2

Trang 14

©2009, CE Department 14

GOTO MAIN

GOTO ISR_HIGH

GOTO ISR_LOW

MAIN

CALL INIT_INTERRUPT

GOTO $

INIT_INTERRUPT

RETURN

EXTERNAL_INTERUPT_ROUTINE

RETURN

TIMER0_INTERRUPT_ROUTINE

RETURN

ISR_HIGH

CALL EXTERNAL_INTERUPT_ROUTINE

RETFIE

ISR_LOW

CALL TIMER0_INTERRUPT_ROUTINE

RETFIE

Flag bit phải được xoá bằng software trước khi cho phép ngắt xảy

ra tiếp tục, tránh trường hợp gọi đệ quị ISR

©2009, CE Department

Ngày đăng: 08/05/2021, 17:47

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm