众所周知,有一种鉴别盗版计算器的方法叫做四按一松。在正版计算器上,按住1,接着按住0、等于、减号,接着松开1,会发现打出cos。本文讲述了其原理。
矩阵键盘
为了方便,计算器用7根输出线(称为KO线)与8根输入线(称为KI线)读取键盘输入。每个键对应两两不同的唯一的一对KO与KI。如果键按下,会连通对应的KI与KO。反过来,如果对应的KI与KO连通,那么认为键按下。

为了节约,计算器没设计区分直接还是间接连通的方法。因此,如果按住0、等于、减号,那么cos就会被认为按下。
键盘输入
在处理键盘输入时,计算器一般好像是这样处理的:
- 从小到大遍历每条KO:
- 将这条KO设为低电平,其他设为高电平
- 从大到小遍历每条KI:
- 如果这条KI是低电平:
- 发现对应按键按下,程序结束
- 如果这条KI是低电平:
实际上,等先前一个键松开后,才会检测其他键。如按住1,接着按住3、4、6、9,松开1,松开3后才会打出7。
这就能解释开头的问题了:松开1后,有0、等号、减号按下,KO5连通KI1连通KO7连通KI5,因此cos最先被检测出。
自检模式
当开机时,如果KO1只连通KI中的KI8与KI3(对应按键SHIFT与7),那么会显示自检屏幕。下一篇文章内讲了自检模式。
自检模式文章https://blog.csdn.net/weixin_67572129/article/details/142425133