原创 我的AVR学习----------实验1流水灯

2010-2-17 16:27 1736 0 分类: MCU/ 嵌入式

 


        各位高手大家好啊,我是初学AVR的,新人大家多多关照哈,从1月23号开始焊接,1月25日正式学习AVR,主要是看网上的视频,看实验指导和请教高手。


         到春节前刚好会弄些简单的,现在把我的代码和心得给大家看看,初学的可以看看,可能可以少走点歪路,高手也可以指点一下我,大家一起分享,有问题大家讨论一下,谢谢。


 


首先贴一个实验1,流水灯


//PA口输出低电平可导通发光二极管


 


#include <iom16v.h>
#include <macros.h>
#define uc unsigned char
#define ui unsigned int


void delay (ui ms)   //延时函数
{
  ui i,j;
  for(i=0;i<ms;i++)
    {
      for(j=0;j<1141;j++);
    }
}
void main()
{
  uc k;
  DDRA="0XFF";        
//初始化,PA口全为输出
  PORTA="0XFF";        //全为输出高电平,即不导通
  while(1)
  {
  for (k=0;k<8;k++)
   {
    PORTA="PORTA"&~BIT(k);   
//当k=0,BIT(k)=0000 0001,~BIT(k)=1111 1110,与上后,即PA0置零,0灯导通,当k由0到7时,灯0--7依次点亮,不会灭
 delay(1000);
   }
  
for (k=0;k<8;k++)
   {
 PORTA=PORTA|BIT(k); 
//当k=0,BIT(k)=0000 0001,或上后,即PA0置一,0灯灭,当k由0到7时,灯0--7依次灭
 delay(1000);
   }
   for (k=0;k<8;k++)
   {
    PORTA="PORTA"&~BIT(7-k);
 delay(1000);
   }
  for (k=0;k<8;k++)
   {
 PORTA=PORTA|BIT(7-k);
 delay(1000);
   }
     
  }
}

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
0
关闭 站长推荐上一条 /2 下一条