中国IEEE
关于我们 | 会员登陆 | 收藏本站 | 留 言 薄
 

 | 网站首页 | 电子知识 | 单片机知识 | 电路设计 | 微电子技术 | SCADA系统 | 资源下载 | 给我留言 | 谷歌商城 | 视频教程 | ieee | 
热门搜索关键字: 单片机教程 | 三极管 | 二极管 |  C语言汇编语言SCADA元器件模拟电子 |
cnieee.com baidu
栏目导航  
栏目更新推荐  
·8051单片机C语言数据采集程序
·99计数器C语言版本
·3x4矩阵键盘的扫描程序(C语言)
·51单片机串口调试程序(C语言)
·一些常用的软件滤波方法(C语言)
·一些常用的软件滤波方法
·volatile用法
·嵌入式实时程序设计中C/C++代码的优…
点击TOP(10)  
  • 此栏目下没有热点文章
  • 图片文章  

    C语言嵌入式系统编程…

    C语言嵌入式系统编程…

    C语言嵌入式系统编程…
     
    您现在的位置: 中国IEEE中国电气电子工程师网 >> 单片机知识 >> 编程语言 >> 单片机C语言 >> 正文

    3x4矩阵键盘的扫描程序(C语言)
    文章来源:不详 点击数: 更新时间:2008-5-5 【字体:
    (欢迎光临中国IEEE,希望本文能对您有所帮助http://www.cnieee.com)


    相关文章:

    4×4矩阵式键盘识别技术
    4×4矩阵式键盘识别技术  单片机系列实验…
    Maxim推出高速PCIe 2.0无源开关MAX4888A/MAX4889A…
    Maxim推出MAX4208/MAX4209H仪表放大器

  • 上一个文章:

  • 下一个文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     
    关于〖3x4矩阵键盘的扫描程序(C语言)〗的最新评论:
    /*  3x4矩阵键盘的扫描程序
    按相应的按键,数码管显示相应的数字,星号键和井号键分别显示为E和F
    *********************************
      Create by:左秀龙 
      support:
      Tel:0755-82879296
      email: cutedesign@tom.com
      Date: 2005/06/23
    *********************************
    测试通过*/

    #include


    unsigned char code table[]={0xC0,0xF9,0xA4,0xB0,0x99, //0~4
           0x92,0x82,0xF8,0x80,0x90, //5~9
           0x88,0x83,0xA7,0xA1,0x86,0x8E}; //A~F

    void KeyScan();
    void delay10ms(unsigned char time);
    void Dispaly(unsigned char k);

    unsigned char key,temp;

    void main() //主程序
    {
     while(1)
     {
      KeyScan();
     }
    }

    void KeyScan() //按键扫描子程序
    {
     P1=0xFF;
     P1_3=0;
     temp=P1;
     temp&=0xF0;
     if(temp !=0xF0)
     {
      delay10ms(1);
      temp=P1;
      temp&=0xF0;
      if(temp !=0xF0)
      {
       temp=P1;
       temp&=0xF0;

       switch(temp)
       {
       case 0x70:
        key=1;break;
       case 0xB0:
        key=2;break;
       case 0xD0:
        key=3;break;
       }
       Dispaly(key);
      }
     }

     P1=0xFF;
     P1_2=0;
     temp=P1;
     temp&=0xF0;
     if(temp !=0xF0)
     {
      delay10ms(1);
      temp=P1;
      temp&=0xF0;
      if(temp !=0xF0)
      {
       temp=P1;
       temp&=0xF0;

       switch(temp)
       {
       case 0x70:
        key=4;break;
       case 0xB0:
        key=5;break;
       case 0xD0:
        key=6;break;
       }
       Dispaly(key);
      }
     }

     P1=0xFF;
     P1_1=0;
     temp=P1;
     temp&=0xF0;
     if(temp !=0xF0)
     {
      delay10ms(1);
      temp=P1;
      temp&=0xF0;
      if(temp !=0xF0)
      {
       temp=P1;
       temp&=0xF0;

       switch(temp)
       {
       case 0x70:
        key=7;break;
       case 0xB0:
        key=8;break;
       case 0xD0:
        key=9;break;
       }
       Dispaly(key);
      }
     }

     P1=0xFF;
     P1_0=0;
     temp=P1;
     temp&=0xF0;
     if(temp !=0xF0)
     {
      delay10ms(1);
      temp=P1;
      temp&=0xF0;
      if(temp !=0xF0)
      {
       temp=P1;
       temp&=0xF0;

       switch(temp)
       {
       case 0x70:
        key=14;break;
       case 0xB0:
        key=0;break;
       case 0xD0:
        key=15;break;
       }
       Dispaly(key);
      }
     }
    }

    //延时程序
    void delay10ms(unsigned char time)
    {
     unsigned char a,b,c;
     for(a=0;a  for(b=0;b<10;b++)
       for(c=0;c<120;c++)
       ;
    }

    void Dispaly(unsigned char k) //显示程序
    {
     P0=table[k];
     P2_1=0;
    }

    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明网站地图 | 名站导航 | 管理登录 | 
    本站资源部分来自互联网,如侵犯您的权利,我们将予以删除  鲁ICP备08006092号
    本站欢迎同类网站做友情链接,QQ留言
    中国IEEE 中国电气电子工程师网 版权所有