2503|0

569

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

看这个C程序错在哪里 [复制链接]

1.8个发光管间隔200ms由上至下,再由下至上,再重复一次,然后全部熄灭再以300ms间隔全部闪烁5次。重复此过程。
#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar temp1;
uchar temp2;
unsigned int a;
uint d;
uint b;
uint e;
uint f;
void delay(uint);
void main()
{
while(1)
{
  uint c;
  for(c=2;c>0;c--)
  {
   temp1=0XFE;
   
   for(a=8;a>0;a--)
   {
    P0=temp1;
    delay(2);
    temp1=_crol_(temp1,1);
   
   }
   temp1=0X7F;
  
   for(b=8;b>0;b--)
   {
    P0=temp1;
    delay(2);
    temp1=_cror_(temp1,1);
   }
  }
  P0=0X00;
  delay(5);
  
  for(d=5;d>0;d--)
   {
    temp2=0XFE;
   
    for(e=8;e>0;e--)
    {
     P0=temp2;
     delay(3);
     temp2=_crol_(temp2,1);
   
    }
    temp2=0X7F;
   
    for(f=8;f>0;f--)
    {
     P0=temp2;
     delay(3);
     temp2=_cror_(temp2,1);
    }
   }
  
}
  
}
void delay(uint z)
{
uint x,y;
for(x=100;x>0;x--)
  for(y=z*246;y>0;y--);
}
两部分单独运行还可以,但两个大的for语句合并起来,就不行了。编译没有错误,就是单片机执行不了
此帖出自单片机论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表