- 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.