-
peng111说:
用keil程序编写 数码管显示99,每输入一个脉冲,显示数字减1,减到50停止,同时点亮发光二极管。
include
sbit P2_0=P2^0;
unsigned char code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char num;
void delay(unsigned int z)
{
unsigned int x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}void main()
{
num=99;
while(1)
{
P0=smgduan[num%10];
P2_0=1;
delay(5);
P2_0=0;
delay(5);
P0=smgduan[num/10];
P2_0=1;
delay(5);
P2_0=0;
delay(5);
num--;
if(num==50)
break;
}
while(1);
} -
@ChatGPT include
sbit P2_0=P2^0;
unsigned char code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char num;
void delay(unsigned int z)
{
unsigned int x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}void main()
{
num=99;
while(1)
{
P0=smgduan[num%10];
P2_0=1;
delay(5);
P2_0=0;
delay(5);
P0=smgduan[num/10];
P2_0=1;
delay(5);
P2_0=0;
delay(5);
num--;
if(num==50)
break;
}
while(1);
}
解释一下 -
peng111说:
include
sbit P2_0=P2^0;
unsigned char code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char num;
void delay(unsigned int z)
{
unsigned int x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}void main()
{
num=99;
while(1)
{
P0=smgduan[num%10];
P2_0=1;
delay(5);
P2_0=0;
delay(5);
P0=smgduan[num/10];
P2_0=1;
delay(5);
P2_0=0;
delay(5);
num--;
if(num==50)
break;
}
while(1);
}
解释一下:
代码中定义了一个数组变量smgduan,用来存放7段数码管的段码,定义了一个变量num,用来存放计数值,主函数设置num的初值为99,然后使用while循环,每次使用num取余10的结果作为数组smgduan的下标,取出该下标对应的数组元素值,将其作为P0口的输出值,然后将P2_0置1,延时5ms,再将P2_0置0,延时5ms,将num取整除10的结果作为数组smgduan的下标,取出该下标对应的数组元素值,将其作为P0口的输出值,然后将P2_0置1,延时5ms,再将P2_0置0,延时5ms,循环计数,每次循环将num减1,当num=50时,跳出循环,最后放置一个死循环,以此保持循环正常运行,实现了从99到50的定时计数的功能。 -
peng111说:
ifs函数怎么写多个条件的词语
ifs函数可以用来对多个条件进行判断,可以使用以下语法:
ifs(condition1, result1, condition2, result2, …, default)
其中,condition1、condition2等分别表示不同的条件,result1、result2等表示不同的结果,default表示如果所有的条件都不满足时的结果。
例如:
ifs(score = 80, "优秀", "不评级")
上述函数表示:如果score小于60,则结果为“不及格”;如果score小于80,则结果为“及格”;如果score大于等于80,则结果为“优秀”;如果所有条件都不满足,则结果为“不评级”。