广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

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

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

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

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

    独立按键c语言程序详解

    来源:网络收集  点击:  时间:2024-03-07
    【导读】:
    使用独立按键c语言程序详解工具/原料more电脑方法/步骤1/10分步阅读

    独立按键0~F数码管显示,实现加一加二,减一减二数码管显示

    2/10

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

    3/10

    #define uint unsigned int

    #define uchar unsigned char

    sbit k0=P3^0;//定义按键

    sbit k1=P3^1;//定义按键

    sbit k2=P3^2;//定义按键

    sbit k3=P3^3;//定义按键

    4/10

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

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

    5/10

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

    /* 延时函数声明 */

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

    /*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/10

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

    /* 主函数 */

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

    void main()

    {

    uchar count=0;

    while(1)

    {

    P2=0x00;

    P0=smg;//给数码管赋个初值

    if(k0==0)

    {

    mdelay(100);//去抖动

    if(k0==0)

    {

    P0=smg;//k0按下数值加一

    count++;

    while(!k0);//如果按键按下,在此停下;如果按键松开,继续检测

    if(count==16)

    count=0;

    }

    }

    7/10

    if(k1==0)

    {

    mdelay(100);//去抖动

    if(k1==0)

    {

    P0=smg;//k1按下数值减一

    while(!k1);

    if(count==0)

    count=15;

    else

    count--;

    }

    }

    8/10

    if(k2==0)

    {

    mdelay(100);//去抖动

    if(k2==0)

    {

    P0=smg;//k0按下数值加二

    count=count+2;

    while(!k2);//如果按键按下,在此停下;如果按键松开,继续检测

    if(count==16)

    count=0;

    if(count==17)

    count=1;

    }

    }

    9/10

    if(k3==0)

    {

    mdelay(100);//去抖动

    if(k3==0)

    {

    P0=smg;//k1按下数值减二

    while(!k3);

    if(count==0)

    count=14;

    else if(count==1)

    count=15;

    else

    count=count-2;

    }

    }

    }

    }

    10/10

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

    C语言
    本文关键词:

    版权声明:

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

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

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

    4、文章链接:http://www.1haoku.cn/art_278871.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-07 20:11:48  耗时:0.023
    0.0232s