找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3896|回复: 2
打印 上一主题 下一主题
收起左侧

在51hei单片机开发板上写一个最简单的亮灯程序遇到问题

[复制链接]
跳转到指定楼层
楼主
ID:47534 发表于 2013-1-4 19:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

#include<reg52.h>
sbit d1=P1^4;
sbit d2=P0^7;
void main()
{
while(1);
{
d1=0;
d2=0;
}
}
这个程序可以编译通过为啥烧写到板上不亮啊
while循环语句用错了么

帮我分析一下吧

while(1)是死循环不,从哪开始循环,到哪结束啊
我把while去掉就亮了
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1 发表于 2013-1-4 19:55 | 只看该作者

while(1); 后面的分号应该去掉,

 

while  语句的意思很不难理解,在英语中它的意思是“当…的时候…”,在这里我们可 以理解为“当条件为真的时候就执行后面的语句”,它的语法如下:

while  (条件表达式)  语句;

 

while(1) 条件表达式是1 所以这个循环会永远执行,但是循环体在哪里呢?简单的说就是while(1) 括号后面的第一条语句,或者是while(1)  后面的{}语句块的的内容,当你在while(1) 后面跟一个;分号,那么循环体就是这个分号,也就是这条空语句会一直不停的执行,所以程序就无法往下面继续了,灯也不会亮.我建议你去看看这课 :c51循环语句http://www.51hei.com/mcuteach/136.html

回复

使用道具 举报

板凳
ID:33596 发表于 2013-1-8 12:45 | 只看该作者
while(1); 后面的分号应该去掉,
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表