根据电路原理图,键盘扫描方法是:行线P10~P13为输出线,列线P14~P17为输入线。一开始单片机将行线(P10~P13)所有输出低电平,此时读入列线数据,若列线全为高电平则没有键按下,当列线有出现低电平时调用延时程序以此来去除按键抖动。延时完成后再判断是否有低电平,若是此时读入列线数据仍是有低电平,则说明确实有键按下。最后一步肯定键值。如今咱们以第二行的S5键为例,若按下S5后咱们应该怎么获得这个键值呢?当判断确实有键按下以后,行线轮流输出低电平,根据读入列线的数据能够肯定键值。首先,单片机将P10输出为低电平,其它P11~P13输出高电平,此时读取列线的数据全为高电平,说明没有在第一行有键按下;其次,单片机将P11输出低电平,其它P十、P十二、P13仍为高电平,此时再来读取列线数据,发现列线读到的数据有低电平,数值为1011(0x0B),若是咱们的键盘布局已经肯定,那么0x0B就表明S5的值了。转到S5键功能处理子程序就能够达到目的。布局