标题: 51单片机4X4矩阵按键代码,超级简洁可以直接调用 [打印本页]

作者: 无常    时间: 2019-7-7 16:27
标题: 51单片机4X4矩阵按键代码,超级简洁可以直接调用
是不是很简洁,完全可以直接调用!


单片机源程序如下:
  1. #include "STC15Fxxxx.H"
  2. #include "juzhen_key.h"
  3. #include "delay.h"

  4. /*******************************************************************************
  5. * 函数: u8 key_scan()
  6. * 功能: 矩阵按键扫描
  7. * 输入: 无
  8. * 返回: 按下的按键值
  9. * 说明:首先行输出低电平、列输出高电平,判断哪列按下
  10. *                再让行输出高电平、列输出低电平,判断哪行按下
  11. *******************************************************************************/
  12. u8 key_scan()
  13. {
  14.         u8 value=20;
  15.         key=0x0f;
  16.         if(key!=0x0f)
  17.         {
  18.                 delay_ms(50);
  19.                 if(key!=0x0f)
  20.                 {
  21.                         key=0x0f; //测试哪列按下
  22.                         switch(key)
  23.                         {
  24.                                 case 0x07:value=0;break; //0列按下
  25.                                 case 0x0b:value=1;break; //1列按下
  26.                                 case 0x0d:value=2;break; //2列按下
  27.                                 case 0x0e:value=3;break; //3列按下
  28.                         }
  29.                         key=0xf0; //测试哪行按下
  30.                         switch(key)
  31.                         {
  32.                                 case 0x70:value=value;break; //0行按下
  33.                                 case 0xb0:value=value+4;break; //1行按下
  34.                                 case 0xd0:value=value+8;break; //2行按下
  35.                                 case 0xe0:value=value+12;break; //3行按下        
  36.                         }
  37.                 }               
  38.         }
  39.         return value;//返回按下的按键值
  40. }
复制代码

所有程序51hei提供下载:
矩阵键盘.zip (51.85 KB, 下载次数: 79)



作者: liu198601    时间: 2019-11-8 14:19
感谢分享
作者: Sweet888    时间: 2019-12-3 10:45
有原理图么




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1