0

在此处输入图像描述目前我正在设计简单的数码钢琴模型。我使用了大量的解码器和 And's 来构建我的项目。在模拟中,这些 AND 被连接并启用外部 int0。这样如果按下任何按钮,无论其他进程如何,都会触发按钮播放功能。但在 PCB 和焊接中,我发现这些 AND 很烦人。所以我试图通过更改我的代码来省略这些 AND。如果任何单个输入达到零,是否有任何软件中断会自动触发?还是 Atmega 128 中类似 FPGA 的组件?或者我是否必须在我的主代码的每一行中编写按钮扫描代码(我扫描了数据表但没有成功)

74148为8对3编码器

4

2 回答 2

0

好吧,如果您的时序“慢”,您可以轻松实现一个二极管并用 1n4148 二极管(74148 的阴极)和一个独特的上拉电阻替换所有的 AND 到所有阳极......当任何输入将二极管驱动到 GND它会拉下avr上的中断...

通过适当的上拉(4.7k),您可以达到 10us 帧响应时间(也许更多)

于 2015-11-19T22:03:15.657 回答
0

对于很多键,您可能需要使用一系列并行移位寄存器(例如 74HC(T)165 ... 每个单元 8 个键) - 菊花链式连接 - 并且每 10 毫秒一次读取它们的值左右使用ATMega128 SPI接口

进一步阅读

于 2015-11-24T09:48:37.810 回答