单片机c语言程序 #include<reg52.h> sbit dula=P2^6; sbit wela=P2^7; void main()

{wela=1;P0=0xfe;wela=0;dula=1;P0=0x7f;dula=0;while(1);}求教最后面的while(1);这个语句不是已经是让程序在此一... {
wela=1;
P0=0xfe;
wela=0;
dula=1;
P0=0x7f;
dula=0;
while(1);
}
求教最后面的while(1);这个语句不是已经是让程序在此一直循环,为什么单片机上第一个数码管还可以显示数字8.谢谢
展开
 我来答
NASHGXP
2012-10-02 · 超过13用户采纳过TA的回答
知道答主
回答量:57
采纳率:0%
帮助的人:48.4万
展开全部
这个要看硬件结构图了,从你给的程序来看,你应该是用到了锁存器来控制数码管,这个锁存器高电平直通,低电平锁存,虽然单片机在while处循环,但是,单片机IO口的状态已经被所存在锁存器上,所以数码管仍然正常显示
tty_0323
2012-10-02 · TA获得超过233个赞
知道小有建树答主
回答量:255
采纳率:0%
帮助的人:189万
展开全部
1..不是锁存器
2..如果是74377锁存器的话应该是上升沿锁存?
3..还是硬件问题..,但实质可能是程序对应不上硬件...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
轻巧还坦然灬多宝鱼A
2012-10-02 · 超过19用户采纳过TA的回答
知道答主
回答量:129
采纳率:0%
帮助的人:70.4万
展开全部
void main()
{
while(1)
{

wela=1;
P0=0xfe;
wela=0;
dula=1;
P0=0x7f;
dula=0;
}
}
应该这样写。
追问
还要请教一下while(1);语句在此处有何作用。谢谢
追答
保证代码循环运行,你那个程序,只运行一次,仿真可能没问题,但是,实际调试是不行的。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3844c27
2012-10-02 · TA获得超过2952个赞
知道小有建树答主
回答量:782
采纳率:100%
帮助的人:499万
展开全部
w
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
张心波003
2012-10-02 · 超过11用户采纳过TA的回答
知道答主
回答量:69
采纳率:0%
帮助的人:33.1万
展开全部
你没用锁存器吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式