#include<reg52.h> sbit d1=P1^4; sbit d2=P0^7; void main() { while(1); { d1=0; d2=0; } } 这个程序可以编译通过为啥烧写到板上不亮啊 while循环语句用错了么 帮我分析一下吧 while(1)是死循环不,从哪开始循环,到哪结束啊 我把while去掉就亮了
while(1); 后面的分号应该去掉,
while 语句的意思很不难理解,在英语中它的意思是“当…的时候…”,在这里我们可 以理解为“当条件为真的时候就执行后面的语句”,它的语法如下:
while (条件表达式) 语句;
while(1) 条件表达式是1 所以这个循环会永远执行,但是循环体在哪里呢?简单的说就是while(1) 括号后面的第一条语句,或者是while(1) 后面的{}语句块的的内容,当你在while(1) 后面跟一个;分号,那么循环体就是这个分号,也就是这条空语句会一直不停的执行,所以程序就无法往下面继续了,灯也不会亮.我建议你去看看这课 :c51循环语句http://www.51hei.com/mcuteach/136.html
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |