(, 下载次数: 4)
通常我们检测矩阵键盘中某一按键是否被按下,常用的方法是行扫描法。图中一共有8条控制线,4条行控制线(ROW),4条列控制线(COL),而且可以看到8条控制线的初始状态都位高电平。那我们如何去检测某一个按键被按下,并且还能找到其具体的位置?假如我们让COL0=0,然后去逐行的进行扫描每一行,如果ROW0=0出现低电平通过20ms的延迟再次判断该行是否仍然为零,如果仍然为零,那么说明按键0被按下。其它按键的检测类似这种方法。例如:
如果COL=4’b0100时,当检测到ROW=4’b1011,则说明“A”被按下;可能这块有些读者会说为啥不是“5”被按下?如果有读者提出这个疑惑的话,那就很有必要跟着作者学完这节课,再仔细思考思考。
总体框架图