Прерывание при изменении обычно для полубайта ввода / вывода, где внешние прерывания обычно для отдельных битов. Как вы уже сказали, одна вещь, которую вам нужно сделать в IOC ISR, это выяснить, какой бит (или биты) изменился.
МОК также немного сложнее в использовании, даже помимо этого. Крайне важно прочитать порт незадолго до включения прерывания, и еще более важно ЧИТАТЬ ПОРТ внутри ISR! Если у вас медленный сигнал, и вы думаете, что можете установить флаг внутри ISR, а потом читать, вне ISR, подумайте еще раз! Считывание порта (или любого бита на порте, если я правильно помню) сбрасывает фиксатор на компараторе, который вызывает прерывание. Если вы не очистите его внутри ISR, он сразу же запустится при выходе из ISR. Если вы не забудете это сделать, все будет хорошо, но если вы забудете и решите, что сможете прочитать порт, когда дойдете до него, вы будете немного разочарованы, пока не вспомните, что читали в ISR.