[AVR单片机] 求助:avr128循环流水灯程序

[复制链接]
 楼主| zhixf-0501 发表于 2011-9-27 21:09 | 显示全部楼层 |阅读模式
#include<iom128v.h>
#include<macros.h>
void delay(void)
{
   int i;
  for(i=0;i<20000;i++);
}
void main(void)
{
   unsigned char temp;
  unsigned char j;
  //DDRE=0x00;
  //DDRG=0b11111111;
  DDRA=0xff;
  //PORTA=0b11111111;
  PORTA=0b11111111;//关闭所有LED;
  while(1)
  {
      for(j=0;j<8;j++)
    {
      PORTA=0b11111111;
    temp=(1<<j);//这一步
    PORTA=PORTA&(~temp);//PA口轮流输出
    delay();
    }
  }
}
上面是代码,我调试时为什么到这一步时就不动了,而且最后烧录进去也不是自己想象的那样顺序闪烁,求高手为我解答,先谢谢大家了。
chen3bing 发表于 2011-9-28 09:59 | 显示全部楼层
我用proteus仿真没问题,是不是硬件的毛病?
ziyun5 发表于 2011-10-2 21:08 | 显示全部楼层
这个问题很简单,虽然我没有用过AVR128,但我用的51跟这个基本原理还是一样的,你可以看哈我写的程序
#incllude<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsingned int
void dselay(uint z)
{
    uint x,y;
      for(x=z;x>0;x--)
         for(y=110;y>0;y--);

}
void mian()
{

             while(1)
                 {
                 

                     }
}
 楼主| zhixf-0501 发表于 2011-10-3 23:16 | 显示全部楼层
谢谢各位我试一下再
fu10 发表于 2011-10-7 11:44 | 显示全部楼层
楼上的,感觉语法有问题吧,为什么要那样写?写成这样不更好?

while(1)
  {
  temp=1;加这一步
      for(j=0;j<8;j++)
    {
      PORTA=0b11111111;
    temp=temp<<j;这一步,改这一步
    PORTA=PORTA&(~temp);//PA口轮流输出
    delay();
    }
  }

这样不是更清晰一点?
xinshouxuexi 发表于 2011-10-14 20:29 | 显示全部楼层
哥们儿,51的编译环境不支持二进制
Black残 发表于 2013-7-24 10:04 | 显示全部楼层
#include<iom128v.h>
#include<macros.h>
//#include<stdio.h>
//#include<AVR_PQ1A.H>

#define uchar unsigned char
#define uint unsigned int

void delay(void)
{
         uint i;
           for(i=0;i<65000;i++);
}

void port_init (void)
{
         DDRB=0XFF;
         PORTB=0XFF;
}

void main (void)
{
         uchar i;
         port_init();
         while(1)
         {
             for(i=4;i<8;i++)
                 {
                       delay();
                         delay();
                         PORTB=0xFF;
                         PORTB &= ~BIT(i);
                         delay();
                         delay();
                 }
                 
        }       
}
qin552011373 发表于 2013-7-24 13:52 | 显示全部楼层
这个帖子睡觉的时间太久了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

10

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

0

主题

10

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部