搜索
cad2007下载
软件下载
solidworks下载
proe下载
机械标准
机械招聘
机械图纸
机械百科
机械交易网
网站建设
机械设计手册
proe视频教程
cad2013视频教程
solidworks2008视频教程
CAD2004视频教程

一个“单片机”的简单问题

[复制链接]
查看: 411|回复: 9

该用户从未签到

发表于 2013-11-14 22:23:31 | 显示全部楼层 |阅读模式
程序如下:
#include
sbit led=P0^0;
sbit led1=P0^1;
sbit led2=P0^2;
sbit led3=P0^3;
sbit led4=P0^4;
sbit led5=P0^5;
sbit led6=P0^6;
sbit led7=P0^7;
sbit ADDR0=P1^0;
sbit ADDR1=P1^1;
sbit ADDR2=P1^2;
sbit ADDR3=P1^3;
sbit ENLED=P1^4;
main()
{ ADDR0=0;ADDR1=0;ADDR2=0;ADDR3=1;ENLED=0;
  while(1)
  {led=0;led1=0;led2=0;led3=0;led4=0;led5=0;led6=0;led7=0;
}
}
我想问while(1)是一个函数吗,他后面有{}符号
回复

使用道具 举报

该用户从未签到

 楼主| 发表于 2013-11-14 22:24:27 | 显示全部楼层
半年前就有打算自学单片机,今晚突然有所参透,兴致大起,写了上面一段程序while(1),调试没问题,可是就是没法达到预期的效果,于是把“while(1);”后的“;”去了就可以了。  keil软件还是不够智能啊
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2013-11-14 22:25:22 | 显示全部楼层
唉!20年前学的单板机一直没怎么用现在都忘了
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2013-11-14 22:26:04 | 显示全部楼层

while循环语句循环体假如是代码块则不带;这是基本语法...先看会书再写
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2013-11-14 22:26:59 | 显示全部楼层
这是死循环吗
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2013-11-14 22:27:35 | 显示全部楼层
如果不去‘;’是空循环,一直在while那里。如果去掉‘;’就一直循环花括号内的代码,所以keill没报错。是吗?
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2013-11-14 22:28:18 | 显示全部楼层
while(1) 虽说是个死循环,但是单片机的程序循环控制的意义所在,如若不然,程序只去年一次便结束了。
顶楼上,若去掉的话,只显示警告,不会报错。仍可编译。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2013-11-14 22:28:52 | 显示全部楼层
循环体
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2013-11-14 22:29:30 | 显示全部楼层
while(1)xxxxx;  while(1){} 都是while的用法,前面是一句程序才可以那么写,如果 while循环体要实现很多内容就需要后一种用法了,你在while后面直接加;,那表示程序就运行到while+空就完事了 并没有向后循环。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2013-11-14 22:30:09 | 显示全部楼层
keil是会提示你“;”后面的语句不能执行到,但是不是错误,仍然可以运行,并不是keil的问题
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Copyright © 2012-2035 厦门鑫时器科技有限公司 版权所有
闽ICP备2023009579号-1 技术支持:机械网站建设  Powered by Discuz! X3.4
快速回复 返回顶部 返回列表