📜  电话键盘扫描仪

📅  最后修改于: 2021-09-16 10:40:21             🧑  作者: Mango

电话键盘是使用 PLD(可编程逻辑设备)设计的。
键盘以矩阵形式接线,每行和每列的交叉处都有一个开关。这个键盘扫描器的目的是确定哪个被按下并输出与键号对应的二进制数 N=N3 N2 N1 N0。例如:按“5”键将给出输出 0101,按“*”键将给出 1010 作为输出。

每当检测到有效键时,扫描器应在时钟时间 T 内输出信号 V。假设一次按下一个键,电阻和地连接到键盘的每一行,因此 R1=R2=R3=R4=没有按键时为 0。

  1. 将逻辑 1 应用于列 C0、C1、C2 并等待。
  2. 如果按下任何键,逻辑 1 将出现在相应的电阻器-R0、R1、R2 或 R3 上。
  3. 仅对列 C0 应用逻辑 1。如果任一电阻为 1,则检测到有效密钥。设置V=1,输出就是对应的N。
  4. 如果在第一列中未检测到任何键,则对 C1 应用 1 并重复。如果在第二列中未检测到键,则对 C2 重复。
  5. 当检测到有效键时,对 C0、C1、C2 施加 1 秒并等待直到没有键被按下。
    在扫描键盘以确定按下哪个键的过程中,扫描仪必须考虑“接触弹跳”。当机械开关打开或关闭时,开关触点会弹跳,对开关输出产生噪音。
  6. 因此,输出信号表明按键必须与时钟同步。
    因此,对于去抖动电路, Clock Period > Bounce time

解码器的逻辑方程为:

N3 = R2(C0)' + R3(C1)'
N2 = R1 + R2CO
N1 = R0(C0)' + (R2)'C2 + (R1)'(R0)'(C0)
N0 = R1C1 + (R1)'C2 + (R3)'(R1)'(C1)'