打印

为什么主程序会无限循环

[复制链接]
2508|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
2001myp|  楼主 | 2009-5-7 08:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <REG51.H>
#define uint unsigned int
uint i;
/**************************************************/
void delay(uint k,n)                
{                            
  uint data l,i,j;                    
    for(l=0;l<k;l++)            
    {                        
      for(j=0;j<n;j++)
        {
          for(i=0;i<121;i++) 
          {;}
        }        
    }                        
}
/**************************************************/
void main(void)
{

   P0=0x00;
   delay(2,64);
   P0=0xff;
   delay(1,60);
           }

以上小程序应该我去测量后P0口输出一个高电平,但是现在示波器测量它却在不停的高低循环,为什么呢?高手指教

相关帖子

沙发
xuehongren| | 2009-5-7 09:23 | 只看该作者

呵呵 楼主的做法没试过

CPU执行完后下一步走哪呢 
一直走下去,直到走完。再怎么走 呵呵 。。。。。。。。

使用特权

评论回复
板凳
kengao55| | 2009-5-7 09:42 | 只看该作者

你这么写不规范

P0=0x00;
这种写法不对
应该是
temp = 0x00;
P0 = temp;
你试试
直接赋值是带输入的

使用特权

评论回复
地板
computer00| | 2009-5-7 09:43 | 只看该作者
5
areshan| | 2009-5-7 10:49 | 只看该作者

main函数是不停循环的

主函数是不停循环执行的,用个while(1){P0=0xff},就可以让程序在while中循环。。。让P0产生高电平。。。。

使用特权

评论回复
6
2001myp|  楼主 | 2009-5-7 11:21 | 只看该作者

谢谢各位指教

我回去研究下

使用特权

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

本版积分规则

59

主题

210

帖子

0

粉丝