TA的每日心情 | 开心 2024-10-21 14:00 |
---|
签到天数: 78 天 [LV.6]常住居民II
二级逆天
- 积分
- 905
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
#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;
int shi=0,bai=0,qian=0; //十位、百位、千位默认显示数组的第一个元素0, /*如果把第一个元素换成0XFF不显示,那进位后原本显示0的就不显示了,这里没找到好办法*/
int G[10] = {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++)
{
P3 = G[c];
P2 = G[shi];
P1 = G[bai];
P0 = G[qian];
Delay1000ms();
}
shi++; //个位显示一轮后十位+1显示
if(shi == 10) //判断十位是否加到9了,如果是则清零
{
shi = 0;
}
}
bai++; //十位显示一轮后百位+1显示
if(bai == 10) //判断百位是否加到9了,如果是则清零
{
bai = 0;
}
}
qian++; //百位显示一轮后千位+1显示
if(qian == 10) //判断千位是否加到9了,如果是则清零
{
qian = 0;
}
}
显示效果
这是程序选择的显示0000-9999,不希望上电就显示0000,应该上电显示个位0,其余不显示然后每秒递增
朋友们请问如何做到***0~**10~*100-1000~9999,*表示还没有进位的就不显示。。
|
|