四个按键,四个灯,两个数码管,初始状态是数码管显示10,led1亮,按键1按下数码管加5,再按再加5,按键2,按下减5.按键3按下led2亮,数码管显示40,再按,led3亮,数码管显示30,再按led4亮,数码管显示30,再按回到led1亮,数码管显示10.按键3安下后,数码管显示数字之后,按键1,或按键2加减5都要在它显示的数字基础之上,按键4按下之后,别的键都不能再操作,然后数码管在按键4按下之前的数字状态下开始倒计时到剩下一分钟后蜂鸣器响。各位大哥麻烦帮忙写下代码,c语言的,我是菜鸟跪求了 ,财富值我没有了 但是我以后肯定能给你补上,我现在很着急,谢谢了!
我也是新手 写了个 你看看吧
首先定义四个按键 数组 led 变量什麽的吧
void main()
{
m=0;
flag=0;
TMOD=0x01;
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
ET0=1;
TR0=1;
EA=1;
while(1)
{
if(flag=0)
{
if(K1==0)
{
mun=num+5;
while(K1==0);
}
if(K2==0)
{
mun=num-5;
while(K2==0);
}
if(K3==0)
{
m++;
if(m==3)
{
m=0;
}
while(K3==0);
}
if(K4==0)
{
flag=1;
}
switch(m)
{
case 0: num=10;led1=0;led2=1;led3=1;led4=1;break;
case 1: num=40;led1=1;led2=0;led3=1;led4=1;break;
case 2: num=30;led1=1;led2=1;led3=0;led4=1;break;
case 3: num=10;led1=1;led2=1;led3=1;led4=0;break;
}
}
P1=table[num/10];
P2=table[num%10];
}
}
void time0() interrupt 0
{
if(flag==1)
{
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
num--;
P1=table[num/10];
P2=table[num%10];
if(j<60)
{
buzzer=0;
if(z==0)
{
z=0;
flag=0;
}
}
}
}
首先定义四个按键 数组 led 变量什麽的吧
void main()
{
m=0;
flag=0;
TMOD=0x01;
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
ET0=1;
TR0=1;
EA=1;
while(1)
{
if(flag=0)
{
if(K1==0)
{
mun=num+5;
while(K1==0);
}
if(K2==0)
{
mun=num-5;
while(K2==0);
}
if(K3==0)
{
m++;
if(m==3)
{
m=0;
}
while(K3==0);
}
if(K4==0)
{
flag=1;
}
switch(m)
{
case 0: num=10;led1=0;led2=1;led3=1;led4=1;break;
case 1: num=40;led1=1;led2=0;led3=1;led4=1;break;
case 2: num=30;led1=1;led2=1;led3=0;led4=1;break;
case 3: num=10;led1=1;led2=1;led3=1;led4=0;break;
}
}
P1=table[num/10];
P2=table[num%10];
}
}
void time0() interrupt 0
{
if(flag==1)
{
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
num--;
P1=table[num/10];
P2=table[num%10];
if(j<60)
{
buzzer=0;
if(z==0)
{
z=0;
flag=0;
}
}
}
}
温馨提示:答案为网友推荐,仅供参考