打印
[AVR单片机]

求助:avr128循环流水灯程序

[复制链接]
2223|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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 | 只看该作者
谢谢各位我试一下再

使用特权

评论回复
5
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();
    }
  }

这样不是更清晰一点?

使用特权

评论回复
6
xinshouxuexi| | 2011-10-14 20:29 | 只看该作者
哥们儿,51的编译环境不支持二进制

使用特权

评论回复
7
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();
                 }
                 
        }       
}

使用特权

评论回复
8
qin552011373| | 2013-7-24 13:52 | 只看该作者
这个帖子睡觉的时间太久了

使用特权

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

本版积分规则

0

主题

10

帖子

1

粉丝