Bài giảng Vi xử lý - Chương 7 Ngắt quãng
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
Bạn đang xem nội dung tài liệu Bài giảng Vi xử lý - Chương 7 Ngắt quãng, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
BK
TP.HCM
2009
dce
©2009, CE Department
Ngắt quãng
2009
dce
©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
dce
©2009, CE Department 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
2009
dce
©2009, CE Department 4
Giới thiệu (tt)
2009
dce
©2009, CE Department 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
2009
dce
©2009, CE Department 6
Cách thức hoạt động
2009
dce
©2009, CE Department 7
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
dce
©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.
2009
dce
©2009, CE Department 9
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
dce
©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
dce
©2009, CE Department 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.
BSF INTCON2,TMR0IP
; xoá cờ ngắt
BCF INTCON,TMR0IF
; cho phép ngắt timer0 xảy ra
BSF INTCON,TMR0IE
2009
dce
©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
CLRF T0CON
MOVLW 0x3c
MOVWF TMR0H
MOVLW 0xAF
MOVWF TMR0L
BSF T0CON,TMR0ON
RETURN
2009
dce
©2009, CE Department 13
Các thanh ghi điều khiển interrupt
• RCON
• INTCON
• INTCON2
• INTCON3
• PIR1, PIR2
• PIE1, PIE2
• IPR1, IPR2
2009
dce
©2009, CE Department 14
Cấu trúc chương trình sử dụng ngắt quãng
ORG 00h
GOTO MAIN
ORG 08H
GOTO ISR_HIGH
ORG 18H
GOTO ISR_LOW
MAIN
CALL INIT_INTERRUPT
GOTO $
INIT_INTERRUPT
RETURN
EXTERNAL_INTERUPT_ROUTINE
BCF INTCON,INT0IF
RETURN
TIMER0_INTERRUPT_ROUTINE
BCF INTCON,TMR0IF
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
Các file đính kèm theo tài liệu này:
- slide_vi_xu_li_chuong_7_8558.pdf