找回密码
 立即注册

QQ登录

只需一步,快速开始

帖子
查看: 1875|回复: 0
打印 上一主题 下一主题
收起左侧

51单片机C编程(二、按键控制数码管显示)

[复制链接]
跳转到指定楼层
楼主
ID:107189 发表于 2016-3-6 14:49 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
#include<reg51.h>
sbit k1=P3^0;     //p30定义为第一个按键
sbit k2=P3^1;     //p31定义为第二个按键
char tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x02,0xf8,0x00,0x10};

void delay(int x)
{
  int i,j;
  for(i=x;i>0l;i--)
  {for(j=255;j>0;j--);}
}

void main()
{
int n=0;
P0=0xc0;              // 初始显示0
while(1)
{
    if(k1==0)         //如果第一个按键按下
    {
      delay(30);    //延时去抖
      if(k1==0)     //再判断是否按下
      {
          ++n;      //N加1
          if(n==10) //如果N等于10,N为0
           n=0;
       }
   while(k1==0); //等待按键松开
    }
   if(k2==0)         //如果第二个按键按下
    {
      delay(30);    //延时去抖
      if(k2==0)     //再判断是否按下
      {
          --n;       //N减1
          if(n<0)   //如果N小于0,N为9
          n=9;
       while(k2==0);    //等待按键松开
      }
    }
P0=tab[n];             //将段码送P0口
}
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表