我想用51单片机两个定时器实现一下功能:每隔300ms蜂鸣器改变一次蜂鸣频率,频率值依次为20hz,10hz 。。

2025-04-09 08:02:29
推荐回答(2个)
回答1:

从程序上看,由于a没有清零的操作,第一次d、a比较相同后,d清零,以后a在6的基础上不断增加,d在0的基础上不断增加,第二次相同时可能d=a=7(也可能依然是d=a=6,取决于第6次中断产生时主程序的正在执行哪条指令),d清零,第三次是d=a=8(也可能是d=a=7),是你想要的结果吗?是不是在d=0后需要有一句a=0?没读懂你的思路。

程序还没写完吧?不过感觉这里的两个中断用法不太好,思路不太容易被理解。意见,供参考。

回答2:

搞不懂a为什么要一直加啊