新闻中心

EEPW首页>嵌入式系统>设计应用> 51单片机C编程(二、按键控制数码管显示)

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

作者: 时间:2016-11-27 来源:网络 收藏
#include

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口
}
}

本文引用地址: //m.amcfsurvey.com/article/201611/322163.htm



评论


技术专区

关闭