我已经将PIC16F877(数据表)用于多个项目。对于单个外部引脚变化中断,可以使用PORTB0中断。但现在我需要在单个电路中支持 8 个独立的外部引脚更改中断。
在数据表中它说有 15 个中断PIC16F877,但我猜这些被计算在内,包括定时器溢出中断等......在这种情况下是无用的。
这就是数据表中关于INTCON寄存器的内容。

我可以使用 bit0 有 4 个独立的中断RBIF吗?它代表PB7:PB4. 如何识别哪个引脚发生了变化,是通过读取中断例程中的端口值吗?
即使我得到以上的肯定答案,我也需要 8 次中断?当然,我仍然可以使用INTE, 进行PORTB0更改。那么4 + 1 = 5,但是其他 3 呢?(但是所有 8 个中断事件都是同一类型的,这4 + 1 + 3 = 8件事看起来很丑,不是吗?)
除了监控 8 个引脚之外,微控制器没有其他繁重的任务。(谈到其他任务,它必须维护一组单独的计数器变量,并经常向 PC 串行传输大约 4 个字节)
欢迎任何建议。即使是关于将微控制器更改为更适合的微控制器(但是,呃..不要告诉我远离PICs)。