首页 > 软件开发 > C语言 >

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

来源:互联网 2023-03-16 19:08:16 版权归原作者所有,如有侵权,请联系我们

4X4键盘扫描c语言程序详解,键盘扫描方法XOW办公区 - 实用经验教程分享!

工具/原料

  • 电脑
  • keill

方法/步骤

  • 1

    4X4键盘扫描,按下按键每个按键,在数码管上显示0~FXOW办公区 - 实用经验教程分享!

    4X4键盘扫描c语言程序详解XOW办公区 - 实用经验教程分享!

  • 2

    #include "reg51.h"//包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义XOW办公区 - 实用经验教程分享!

    4X4键盘扫描c语言程序详解XOW办公区 - 实用经验教程分享!

  • 3

    #define uint unsigned intXOW办公区 - 实用经验教程分享!

    #define uchar unsigned charXOW办公区 - 实用经验教程分享!

    4X4键盘扫描c语言程序详解XOW办公区 - 实用经验教程分享!

  • 3该信息未经授权抓取自百度经验
  • 4

    uint key;XOW办公区 - 实用经验教程分享!

    uchar smg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7fXOW办公区 - 实用经验教程分享!

    ,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//0-FXOW办公区 - 实用经验教程分享!

    uchar shuzu[4][4]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};/*数组(00)(01)(02)(03)XOW办公区 - 实用经验教程分享!

    (10)(11)(12)(13)XOW办公区 - 实用经验教程分享!

    (20)(21)(22)(23)XOW办公区 - 实用经验教程分享!

    (30)(31)(32)(33)*/XOW办公区 - 实用经验教程分享!

    4X4键盘扫描c语言程序详解XOW办公区 - 实用经验教程分享!

  • 5

    /******************************************************************/XOW办公区 - 实用经验教程分享!

    /* 延时函数声明 */XOW办公区 - 实用经验教程分享!

    /******************************************************************/XOW办公区 - 实用经验教程分享!

    /*void mdelay(uint t)XOW办公区 - 实用经验教程分享!

    {XOW办公区 - 实用经验教程分享!

    uchar n;XOW办公区 - 实用经验教程分享!

    for(;t>0;t--)XOW办公区 - 实用经验教程分享!

    for(n=0;n125;n )XOW办公区 - 实用经验教程分享!

    {;}XOW办公区 - 实用经验教程分享!

    }*/XOW办公区 - 实用经验教程分享!

    /*大约一毫秒的延时函数*/XOW办公区 - 实用经验教程分享!

    void mdelay(uint t)XOW办公区 - 实用经验教程分享!

    {XOW办公区 - 实用经验教程分享!

    uchar n;XOW办公区 - 实用经验教程分享!

    while(t--)XOW办公区 - 实用经验教程分享!

    {XOW办公区 - 实用经验教程分享!

    for(n=0;n123;n )XOW办公区 - 实用经验教程分享!

    {;}XOW办公区 - 实用经验教程分享!

    }XOW办公区 - 实用经验教程分享!

    }XOW办公区 - 实用经验教程分享!

    4X4键盘扫描c语言程序详解XOW办公区 - 实用经验教程分享!

  • 6

    /******************************************************************/XOW办公区 - 实用经验教程分享!

    /* 主函数 1 */XOW办公区 - 实用经验教程分享!

    /******************************************************************/XOW办公区 - 实用经验教程分享!

    void main()XOW办公区 - 实用经验教程分享!

    {XOW办公区 - 实用经验教程分享!

    uchar hang,lie;XOW办公区 - 实用经验教程分享!

    P2=0x00;XOW办公区 - 实用经验教程分享!

    while(1)XOW办公区 - 实用经验教程分享!

    {XOW办公区 - 实用经验教程分享!

    P3=0x0f; //行扫描XOW办公区 - 实用经验教程分享!

    key=P3;XOW办公区 - 实用经验教程分享!

    if(key!=0x0f)//检测是否有按键按下XOW办公区 - 实用经验教程分享!

    {XOW办公区 - 实用经验教程分享!

    mdelay(100);//去抖动XOW办公区 - 实用经验教程分享!

    key=P3;XOW办公区 - 实用经验教程分享!

    4X4键盘扫描c语言程序详解XOW办公区 - 实用经验教程分享!

  • 7

    if(key!=0x0f)XOW办公区 - 实用经验教程分享!

    {XOW办公区 - 实用经验教程分享!

    switch(key)//行按键选择XOW办公区 - 实用经验教程分享!

    {XOW办公区 - 实用经验教程分享!

    case 0x0e: hang=0; break;XOW办公区 - 实用经验教程分享!

    case 0x0d: hang=1; break;XOW办公区 - 实用经验教程分享!

    case 0x0b: hang=2; break;XOW办公区 - 实用经验教程分享!

    case 0x07: hang=3; break;XOW办公区 - 实用经验教程分享!

    XOW办公区 - 实用经验教程分享!

    }XOW办公区 - 实用经验教程分享!

    }XOW办公区 - 实用经验教程分享!

    }XOW办公区 - 实用经验教程分享!

    XOW办公区 - 实用经验教程分享!

    P3=0xf0; //列扫描XOW办公区 - 实用经验教程分享!

    key=P3;XOW办公区 - 实用经验教程分享!

    4X4键盘扫描c语言程序详解XOW办公区 - 实用经验教程分享!

  • 8

    if(key!=0xf0)//检测是否有按键按下XOW办公区 - 实用经验教程分享!

    {XOW办公区 - 实用经验教程分享!

    mdelay(100);//去抖动XOW办公区 - 实用经验教程分享!

    key=P3;XOW办公区 - 实用经验教程分享!

    if(key!=0xf0)XOW办公区 - 实用经验教程分享!

    {XOW办公区 - 实用经验教程分享!

    switch(key)//列按键选择XOW办公区 - 实用经验教程分享!

    {XOW办公区 - 实用经验教程分享!

    case 0x70: lie=0; break;XOW办公区 - 实用经验教程分享!

    case 0xb0: lie=1; break;XOW办公区 - 实用经验教程分享!

    case 0xd0: lie=2; break;XOW办公区 - 实用经验教程分享!

    case 0xe0: lie=3; break;XOW办公区 - 实用经验教程分享!

    XOW办公区 - 实用经验教程分享!

    }XOW办公区 - 实用经验教程分享!

    }XOW办公区 - 实用经验教程分享!

    }XOW办公区 - 实用经验教程分享!

    P0=smg[shuzu[hang][lie]];XOW办公区 - 实用经验教程分享!

    }XOW办公区 - 实用经验教程分享!

    }XOW办公区 - 实用经验教程分享!

    4X4键盘扫描c语言程序详解XOW办公区 - 实用经验教程分享!

  • 9

    本经验只供参考,如有不足,还请见谅,如果有什么疑问请在下边留言,及时给你解答。。。XOW办公区 - 实用经验教程分享!

  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!XOW办公区 - 实用经验教程分享!


    标签: C语言

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号