打印

请教c51一个比较基础的问题

[复制链接]
2056|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
renrongwen|  楼主 | 2007-10-10 09:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在如下的测试程序中,LED_R,LED_G为什么一直闪烁而不停止,当然main函数里面将c=1换成一个while(1)死循环可行,c=1赋值为什么不行呢?谢谢!
/////////////////////////////////////////////////////////
#include<reg51.h>
#include<intrins.h>

#define uint  unsigned int

sbit LED_R = P0^0;
sbit LED_G = P0^1;

uint c=3;

void Delay(uint n);

void main()
{
    LED_G=!LED_G;
    while(c--)
    {
        LED_R=!LED_R;
        Delay(1000);
    }
    c=1;

}

//function Delay 100us(); delay 100us
//*******************************************************************
void Delay(uint n)
{
    uint i;
    while(n--)
    for(i=0;i<80;i++);
}
//*******************************************************************

相关帖子

沙发
zhaoyu2005| | 2007-10-10 10:13 | 只看该作者

不改的话,你的程序一次次从头开始执行

单片机的程序完成初始化以后应该进入一个死循环,而不应该反复从头开始

使用特权

评论回复
板凳
xwj| | 2007-10-10 10:20 | 只看该作者

呵呵

使用特权

评论回复
地板
ayb_ice| | 2007-10-10 10:43 | 只看该作者

执行c=1;后程序没有定义,程序可能又重新开始运行了。。。

使用特权

评论回复
5
renrongwen|  楼主 | 2007-10-10 10:58 | 只看该作者

请问是main这个死循环吗

请问是main这个死循环吗 还是执行完后还从最开始的地方重新执行把c=3也重新执行?谢谢!

使用特权

评论回复
6
ayb_ice| | 2007-10-10 11:04 | 只看该作者

51 MAIN不允许返回的(不知返回哪里去了)...

使用特权

评论回复
7
古道热肠| | 2007-10-10 11:17 | 只看该作者

哈哈,C语言没学好吧

  不光C51如此,Turob C 也是一样的。

使用特权

评论回复
8
杨小照| | 2007-10-10 11:30 | 只看该作者

够基础

够基础

使用特权

评论回复
9
无智| | 2007-10-10 15:08 | 只看该作者

嗯,基礎點好!

使用特权

评论回复
10
ethunter| | 2007-10-10 15:27 | 只看该作者

学习了

只知道单片机要在一个死循环中运行,还真不知道是这么回事,学习了~

使用特权

评论回复
11
avenue| | 2007-10-10 19:39 | 只看该作者

嘿嘿

基础的可以啊

使用特权

评论回复
12
xwj| | 2007-10-10 19:56 | 只看该作者

LZ,还是去买本书吧,要不了多少钱的!

使用特权

评论回复
13
123654789| | 2007-10-10 20:02 | 只看该作者

这样

void main()
{
while(1)
{


里面 这里 任意  你写 







里面 这里 任意  你写 




里面 这里 任意  你写 

    LED_G=!LED_G;
    while(c--)
    {
        LED_R=!LED_R;
        Delay(1000);
    }
    c=1;




绝对 可以 死   循环  



绝对 可以 死   循环  



绝对 可以 死   循环  

}
}

使用特权

评论回复
14
zusen| | 2007-10-10 20:12 | 只看该作者

其实C不难的

来来去去都是那几条句话
就看你如何组合他们了,如何优化他们了,呵呵

使用特权

评论回复
15
eswares| | 2007-10-12 10:20 | 只看该作者

请教c51一个比较基础的问题

想推广你的产品吗?还是想找什么产品?

来电子方案网吧,一个良好的电子交易平台。

http://www.myesw.cn

使用特权

评论回复
16
myturkey| | 2007-10-13 10:46 | 只看该作者

在while(1){}里面写就OK了

如题

使用特权

评论回复
17
yongzai| | 2011-5-7 11:49 | 只看该作者
优化不懂啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

88

帖子

1

粉丝