因此,当按下按钮时,我启用程序尝试接受中断。没有中断的原始代码或sound1只是一个单独的声音door.bell,按下按钮时可以工作。
正如您所看到的,我正在尝试添加中断以尝试更改SelTune的值,该值决定了门铃设置播放的声音类型。
所以我的问题是: (1)如何选择一个特定的按钮作为中断源而不是整个默认的4-7按钮(RBIF)?
(2)代码需要修复还有其他问题吗?它会起作用吗?我问这个,因为我现在无法测试,因为我没有必要的东西。
非常感谢。
(trimmed)
INTERRUPT:
BTFSS INTCON,RBIF ;Test if a change on PORTB caused the interrupt
GOTO exit_interrupt ;If not exit from the interrupt routine
decfsz SelTune
BCF INTCON,RBIF ;We should clear RBIF flag to enable it again
exit_interrupt NOP ;exit interrupt label
RETFIE ;Enable general interrupts and return
END ;///////////////////////////////////////////////////////////////////////////
答案 0 :(得分:0)
也许您应该在中断例程中检查按下了哪个键? 如果不了解HW,很难说更多。