Ngt (INTERRUPT)

Một phần của tài liệu Thiết kế và điều khiển mô hình thang máy bằng vi xử lý PIC 16F877A (Trang 72)

- K tn i vi máy tính đ giám sát và ho tđ ngca mô hình thang máy.

9. Ngt (INTERRUPT)

PIC16F877A có đ n 15 ngu n t o ra ho t đ ng ng t đ c đi u khi n b i thanh ghi INTCON (bit GIE). Bên c nh đó m i ng t còn có m t bit đi u khi n và c ng t riêng. Các c ng t v n đ c set bình th ng khi th a mãn đi u ki n ng t s y ra b t ch p tr ng thái c a bit GIE, tuy nhiên ho t đ ng ng t v n ph thuôc vào bit GIE và các bit đi u khi n khác. Bit đi u khi n ng t RB0/INT và TMR0 n m trong thanh ghi INTCON, thanh ghi này còn ch a bit cho phép các ng t ngo i vi PEIE. Bit đi u khi n các ng t n m trong thanh ghi PIE1 và PIE2. C ng t c a các ng t n m trong thanh ghi PIR1 và PIR2.

Trong m t th i đi m ch có m t ch ng trình ng t đ c th c thi, ch ng trình ng t đ c k t thúc b ng l nh RETFIE. Khi ch ng trình ng t đ c th c thi, bit GIE t đ ng đ c xóa, đ a ch l nh ti p theo c a ch ng trình chính đ c c t vào trong b nh Stack và b đ m ch ng trình s ch đ n đa ch 0004h. L nh RETFIE đ c dùng đ thoát kh i ch ng trình ng t và quay tr v ch ng trình chính, đ ng th i bit GIE c ng s đ c set đ cho phép các ng t ho t đ ng tr l i. Các c hi u đ c dùng đ ki m tra ng t nào đang s y ra và ph i đ c xóa b ng ch ng trình tr c khi cho phép ng t ti p t c ho t đ ng tr l i đ ta có th phát hi n đ c th i đi m ti p theo mà ng t s y ra.

i v i các ng t ngo i vi nh ng t t chân INT hay ng t t s thay đ i tr ng thái các pin c a PORTB (PORTB Interrupt on change), vi c xác đnh ng t nào s y ra c n 3 ho c 4 chu kì l nh tùy thu c vào th i đi m s y ra ng t.

C n chú ý là trong quá trình th c thi ng t, ch có giá tr c a b đ m ch ng trình đ c c t vào trong Stack, trong khi m t s thanh ghi quan tr ng s không đ c c t và có th b thay đ i giá tr trong quá trình th c thi ch ng trình ng t. i u này nên đ c x lí b ng ch ng trình đ tránh hi n t ng trên s y ra.

¬ Ng t INT

Ng t này d a trên s thay đ i tr ng thái c a pin RB0/INT. C nh tác đ ng gây ra ng t có th là c nh lên hay c nh xu ng và đ c đi u khi n b i bit INT_EDG. Khi có c nh tác đ ng thích h p xu t hi n t i pin RB0/INT, c ng t INTF đ c set b t ch p tr ng thái các bit đi u khi n GIE và PEIE. Ng t này có kh n ng đánh th c vi đi u khi n t ch đ sleep n u bit cho phép ng t đ c set tr c khi l nh SLEEP đ c th c thi.

¬ Ng t do s thay đ i tr ng thái các chân trong PORTB

Các pin PORTB 4 ÷ 7 đ c dùng cho ng t này và đ c đi u khi n b i bit RBIE. C ng t c a ng t này là bit RBIF.

Một phần của tài liệu Thiết kế và điều khiển mô hình thang máy bằng vi xử lý PIC 16F877A (Trang 72)

Tải bản đầy đủ (PDF)

(76 trang)