单片机数码管问题,下面程序中,我没有指定循环,为什么数码管一直循环显示呀。

#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintucharcodetable[]={0xc0... #include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[] = {0xc0,0xf9,0xa4,0xb0,0x99};
void Delay(uint num);
void main(void)
{
uchar i;
for(i = 0; i < 5; i++)
{
P1 = table[i];
Delay(200);
}
}
void Delay(uint num)
{
uint i,j;
for(i = 0; i <= num; i++)
for(j = 0; j <= 1000; j++);
}
问题点写错了,是我没指定死循环,为什么数码管一直循环显示
展开
 我来答
GUEL86
2013-05-27 · TA获得超过5855个赞
知道大有可为答主
回答量:5538
采纳率:86%
帮助的人:2717万
展开全部
这个本来就是一个循环,显示 0 1 2 3 4 ,最又 重复
for(i = 0; i < 5; i++)
{
P1 = table[i]; // 这里 i = 0 ~ 4 、显示 0 ~ 4 , 5 结束循环,又重新开始。
Delay(200);
}
追问
嗯,对呀,但显示5次后,应该结束呀....
追答
你这个程序执行完后,又会重新开始的。
Delay(200);
} // 你在这后面 加上 进入 空循环就结束了
while(1)
{ }
napipan
2013-05-27 · TA获得超过687个赞
知道小有建树答主
回答量:928
采纳率:87%
帮助的人:149万
展开全部
C程序的主函数都应该有一个while(1);不知道你的为何特殊呢???
追问
是个意外,下到板子的时候,发现数码管循环显示,挺纳闷的,想知道为什么....
追答
看看汇编才知道的,是不是C编译器已经自动弄成死循环了???
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3e2a4b5
2021-04-07
知道答主
回答量:1
采纳率:0%
帮助的人:501
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式