Прерывания занимают много места в МикроКонтроллёре, если нужно просто проверять состояние портов и "одновременно" выполнять простую программу то вот: TRISB = %00000000
PORTB = %00000000
prwerko1:
IF PORTB.0 = 0 THEN prwerk00
IF PORTB.1 = 0 THEN prwerk01
IF PORTB.2 = 0 THEN prwerk02
'тут ваша короткая программа которая выполняется в месте с проверкой портов
goto prwerko1
prwerk00:
'ваша программа которая выполняется если на выводе PORTB.0 сигнал 0
IF PORTB.0 = 1 THEN prwerko1 'пока на порте не будет сигнал 1 программа будет ждать этот сигнал чтобы перейти к метке prwerko1
goto prwerk00
prwerk01:
'ваша программа которая выполняется если на выводе PORTB.1 сигнал 0
IF PORTB.1 = 1 THEN prwerko1 'пока на порте не будет сигнал 1 программа будет ждать этот сигнал чтобы перейти к метке prwerko1
goto prwerk01
prwerk02:
'ваша программа которая выполняется если на выводе PORTB.2 сигнал 0
IF PORTB.2 = 1 THEN prwerko1 'пока на порте не будет сигнал 1 программа будет ждать этот сигнал чтобы перейти к метке prwerko1
goto prwerk02
Сам я прерываниями никогда не пользовался, пусть ктонибудь напишет программу с прерыванием возможно она лучше этой что я написал ))