Cơ sở dữ liệu - Ngắt quãng

pdf 14 trang vanle 2720
Bạn đang xem tài liệu "Cơ sở dữ liệu - Ngắt quãng", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfco_so_du_lieu_ngat_quang.pdf

Nội dung text: Cơ sở dữ liệu - Ngắt quãng

  1. dce 2009 Ngắt quãng BK TP.HCM ©2009, CE Department
  2. dce 2009 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 2
  3. dce 2009 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 ©2009, CE Department 3
  4. dce 2009 Giới thiệu (tt) ©2009, CE Department 4
  5. dce 2009 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 ©2009, CE Department 5
  6. dce 2009 Cách thức hoạt động ©2009, CE Department 6
  7. dce 2009 Thiết kế chương trình sử dụng ngắt quãng • 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). ©2009, CE Department 7
  8. dce 2009 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. ©2009, CE Department 8
  9. dce 2009 Khởi tạo ngắt quãng • IPEN (RCON ) : cho/không cho phép xảy ra ngắt với độ ưu tiên khác nhau. • IPEN: enable – GIEH (INTCON ) : cho/không cho phép các ngắt có độ ưu tiên cao. – GIEL (INTCON ) : cho/không cho phép các ngắt có độ ưu tiên thấp. • IPEN: disable – GIEH (INTCON ) : cho/không cho phép tất cả các nguồn ngắt xảy ra. – PEIE (INTCON ) : cho/không phép tất cả các nguồn ngắt ngoại vi. ©2009, CE Department 9
  10. dce 2009 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 10
  11. dce 2009 Ví dụ khởi tạo ngắt timer 0 ; cho phép ngắt xảy ra với độ ưu tiên cao. BSF INTCON2,TMR0IP ; xoá cờ ngắt BCF INTCON,TMR0IF ; cho phép ngắt timer0 xảy ra BSF INTCON,TMR0IE ©2009, CE Department 11
  12. dce 2009 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 CLRF T0CON MOVLW 0x3c MOVWF TMR0H MOVLW 0xAF MOVWF TMR0L BSF T0CON,TMR0ON RETURN ©2009, CE Department 12
  13. dce 2009 Các thanh ghi điều khiển interrupt • RCON • INTCON • INTCON2 • INTCON3 • PIR1, PIR2 • PIE1, PIE2 • IPR1, IPR2 ©2009, CE Department 13
  14. dce 2009 Cấu trúc chương trình sử dụng ngắt quãng ORG 00h EXTERNAL_INTERUPT_ROUTINE GOTO MAIN BCF INTCON,INT0IF ORG 08H RETURN GOTO ISR_HIGH TIMER0_INTERRUPT_ROUTINE ORG 18H BCF INTCON,TMR0IF GOTO ISR_LOW RETURN MAIN ISR_HIGH CALL INIT_INTERRUPT CALL EXTERNAL_INTERUPT_ROUTINE GOTO $ RETFIE ISR_LOW INIT_INTERRUPT RETURN 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 14