广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    4X4键盘扫描c语言程序详解

    来源:网络收集  点击:  时间:2024-03-11
    【导读】:
    4X4键盘扫描c语言程序详解,键盘扫描方法工具/原料more电脑keill方法/步骤1/9分步阅读

    4X4键盘扫描,按下按键每个按键,在数码管上显示0~F

    2/9

    #include reg51.h//包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义

    3/9

    #define uint unsigned int

    #define uchar unsigned char

    4/9

    uint key;

    uchar smg={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f

    ,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//0-F

    uchar shuzu={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};/*数组(00)(01)(02)(03)

    (10)(11)(12)(13)

    (20)(21)(22)(23)

    (30)(31)(32)(33)*/

    5/9

    /******************************************************************/

    /* 延时函数声明 */

    /******************************************************************/

    /*void mdelay(uint t)

    {

    uchar n;

    for(;t0;t--)

    for(n=0;n125;n++)

    {;}

    }*/

    /*大约一毫秒的延时函数*/

    void mdelay(uint t)

    {

    uchar n;

    while(t--)

    {

    for(n=0;n123;n++)

    {;}

    }

    }

    6/9

    /******************************************************************/

    /* 主函数 1 */

    /******************************************************************/

    void main()

    {

    uchar hang,lie;

    P2=0x00;

    while(1)

    {

    P3=0x0f; //行扫描

    key=P3;

    if(key!=0x0f)//检测是否有按键按下

    {

    mdelay(100);//去抖动

    key=P3;

    7/9

    if(key!=0x0f)

    {

    switch(key)//行按键选择

    {

    case 0x0e: hang=0; break;

    case 0x0d: hang=1; break;

    case 0x0b: hang=2; break;

    case 0x07: hang=3; break;

    }

    }

    }

    P3=0xf0; //列扫描

    key=P3;

    8/9

    if(key!=0xf0)//检测是否有按键按下

    {

    mdelay(100);//去抖动

    key=P3;

    if(key!=0xf0)

    {

    switch(key)//列按键选择

    {

    case 0x70: lie=0; break;

    case 0xb0: lie=1; break;

    case 0xd0: lie=2; break;

    case 0xe0: lie=3; break;

    }

    }

    }

    P0=smg];

    }

    }

    9/9

    本经验只供参考,如有不足,还请见谅,如果有什么疑问请在下边留言,及时给你解答。。。

    C语言
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.ff371.cn/art_320017.html

    相关资讯

    ©2019-2020 http://www.ff371.cn/ 国ICP备20009186号06-10 00:26:14  耗时:0.026