初学者请帮忙找错-流水灯不亮

2019-07-15 21:34发布

本帖最后由 ttl_web 于 2013-11-26 11:55 编辑
  1. #include<iom128v.h>
  2. #include <stdlib.h>

  3. unsigned int i,j,k;
  4. void main(void)
  5. {

  6.         DDRA = 0xff;
  7.         PORTA = 0xff;
  8.         while(1){
  9.         if(k==8) k=0;
  10.           PORTA =~ (1<<k);        
  11.           k++;
  12.       for (i=0;i<10;i++)
  13.       {
  14.             for (j=0;j<4000;j++);
  15.           }
  16.         }
  17. }

  18. 硬件环境:
  19. ATmega128 核心板
  20. 硬件连接:
  21. PA0-8 ===== LED*8 ==== VCC
  22. 开发环境:
  23. ICCAVR 6.31A
复制代码
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
闲者
1楼-- · 2019-07-15 23:17
 精彩回答 2  元偷偷看……
愤怒的企鹅
2楼-- · 2019-07-16 01:29
if后面不用{}的吗?难道说你的if就单单if(k==8) k=0;????
ttl_web
3楼-- · 2019-07-16 06:50
闲者 发表于 2013-11-25 17:18
很明显的逻辑错误,根本就不会有反应!

要是能改改这个代码就好了

ttl_web
4楼-- · 2019-07-16 09:54
愤怒的企鹅 发表于 2013-11-25 17:45
if后面不用{}的吗?难道说你的if就单单if(k==8) k=0;????

就执行一句,应该可以节约一对{}
Fraser88
5楼-- · 2019-07-16 13:14
愤怒的企鹅 发表于 2013-11-25 17:45
if后面不用{}的吗?难道说你的if就单单if(k==8) k=0;????


数学公式版流水灯
#include<reg52.h>
unsigned int temp,x,y,z,m,n;
void delay(unsigned int);
void main()
{
temp=0xfe;
P0=temp;
delay(200);
m=1;
temp=temp-m;
P0=temp;
delay(200);
for(n=7;n>0;n--)
{
  m=m*2 ;
  temp=temp-m;
  P0=temp;
  delay(200);
}


}
void delay(unsigned int z)
{
  
for(x=z;x>0;x--)
{
  for(y=500;y>0;y--)
  {
  }
}
}
姓薛的
6楼-- · 2019-07-16 14:35
 精彩回答 2  元偷偷看……

一周热门 更多>