定时器1中断动态刷新从999999~0倒计时,数码管只显示有效位的C语言程序怎么编? 80
定时器1中断动态刷新从999999~0倒计时,数码管只显示有效位的C语言程序怎么编?帮忙弄一下程序,最好有图片...
定时器1中断动态刷新从999999~0倒计时,数码管只显示有效位的C语言程序怎么编?帮忙弄一下程序,最好有图片
展开
1个回答
展开全部
这个和代码顺序有关系:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
while (1)
{
if (flag1s == 1) //判断1秒定时标志
{
flag1s = 0; //1秒定时标志清零
sec--; //秒计数自减1【这里是先减一,后面再送显示】
//将sec按十进制位从低到高依次提取到buf数组中
buf[0] = sec%10;
buf[1] = sec/10%10;
buf[2] = sec/100%10;
buf[3] = sec/1000%10;
buf[4] = sec/10000%10;
buf[5] = sec/100000%10;
//从最高为开始,遇到0不显示,遇到非0退出循环
}
}
如果初值要改为999999,代码可以改成如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
while (1)
{
if (flag1s == 1) //判断1秒定时标志
{
flag1s = 0; //1秒定时标志清零
// sec--; //秒计数自减1【屏蔽】
//将sec按十进制位从低到高依次提取到buf数组中
buf[0] = sec%10;
buf[1] = sec/10%10;
buf[2] = sec/100%10;
buf[3] = sec/1000%10;
buf[4] = sec/10000%10;
buf[5] = sec/100000%10;
sec--; //秒计数自减1【这里是先送显示,后面再减一】
//从最高为开始,遇到0不显示,遇到非0退出循环
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
while (1)
{
if (flag1s == 1) //判断1秒定时标志
{
flag1s = 0; //1秒定时标志清零
sec--; //秒计数自减1【这里是先减一,后面再送显示】
//将sec按十进制位从低到高依次提取到buf数组中
buf[0] = sec%10;
buf[1] = sec/10%10;
buf[2] = sec/100%10;
buf[3] = sec/1000%10;
buf[4] = sec/10000%10;
buf[5] = sec/100000%10;
//从最高为开始,遇到0不显示,遇到非0退出循环
}
}
如果初值要改为999999,代码可以改成如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
while (1)
{
if (flag1s == 1) //判断1秒定时标志
{
flag1s = 0; //1秒定时标志清零
// sec--; //秒计数自减1【屏蔽】
//将sec按十进制位从低到高依次提取到buf数组中
buf[0] = sec%10;
buf[1] = sec/10%10;
buf[2] = sec/100%10;
buf[3] = sec/1000%10;
buf[4] = sec/10000%10;
buf[5] = sec/100000%10;
sec--; //秒计数自减1【这里是先送显示,后面再减一】
//从最高为开始,遇到0不显示,遇到非0退出循环
}
}
追问
有完整点的程序么,后面好像还有东西吧
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询