TA的每日心情 | 开心 2024-12-4 11:23 |
---|
签到天数: 80 天 [LV.6]常住居民II
二级逆天
- 积分
- 912
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
/*****************************
编程人:刘利刊
时 间:24年7月的一个下午
*****************************/
#include <reg51.h>
#include <intrins.h> //延时需要的头文件
void Delay1000ms(void) //@12.000MHz
{
unsigned char data i, j, k;
_nop_();
i = 8;
j = 154;
k = 122;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
int a,b,c,d,count=0;
int shi=0,bai=0,qian=0; //十位、百位、千位默认显示数组的第一个元素0, /*如果把第一个元素换成0XFF不显示,那进位后原本显示0的就不显示了,这里没找到好办法*/
int G[11] = {0xff,0xC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90};//定义的数组显示0-9,10个数,
void main()
{
for(a=0; a<=9; a++)
{
for(b=0; b<=9; b++)
{
for(c=0; c<=9; c++)
{
for(d=0; d<=9; d++)
{
P3 = G[d+1];
P2 = G[shi];
P1 = G[bai];
P0 = G[qian];
Delay1000ms();
count ++;
}
shi++; //个位显示一轮后十位+1显示
if(count == 10) //count = 10的话就是第一次进位,第一次进位显示1
{
shi++;
}
if(shi == 11) //判断十位是否加到9了,如果是则进位显示0
{
shi = 1;
}
}
bai++; //十位显示一轮后百位+1显示
if(count == 100) //count = 100的话就是第一次进位,第一次进位显示1
{
bai++;
}
if(bai == 11) //判断百位是否加到9了,如果是则进位显示0
{
bai = 1;
}
}
qian++; //百位显示一轮后千位+1显示
if(count == 1000) //count = 100的话就是第一次进位,第一次进位显示1
{
qian++;
}
if(qian == 11) //判断千位是否加到9了,如果是则进位显示0
{
qian = 1;
}
}
}
显示效果:
后面的显示,需要的自己下载后验证
|
|