新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > AVR单片机-流水灯2

AVR单片机-流水灯2

作者: 时间:2016-11-29 来源:网络 收藏
  利用单片机可以做出各种花样的流水灯效果,曾经就见有人用一片STC89C52单片机接了32个LED,做成一个心的形状,然后送给了女朋友。呵呵~~

  利用c语言的数组功能就可以实现花样流水灯的设计,只要把每种流动方式的代码写进数组,依次从数组取出显示就可以了。想要多少花样都由你说了算!

本文引用地址:https://www.eepw.com.cn/article/201611/323497.htm

源代码:

/*
* LED1.c
*
* Created: 2011-6-24 15:29:32
* Author: ZYIN
*/

#include <avr/io.h>

unsigned char led0[]={0x81,0x42,0x24,0x18,0x00,0x18,0x24,0x42,0x81,0x00,0x55,0xaa,0x55,0xaa,0x55,0xaa,0xff,0x00,0xff,0x00,0xff,0x00};

void delay(void)
{
unsigned int j;
j=60000;
while(j--);
}


int main(void)
{
DDRF=0xff;
PORTF=0b00001000;
DDRA=0xff;
while(1)
{
char temp;
int i;
temp=0b00000001;
for(i=0;i<9;i++)//从左到右依次点亮
{
PORTA=~temp;
delay();
delay();
delay();
temp<<=1;
}
temp=0b10000000;
for(i=0;i<9;i++)////从右到左依次点亮
{
PORTA=~temp;
delay();
delay();
delay();
temp>>=1;
}
for(i=0;i<22;i++)
{
PORTA=~led0[i];
delay();
delay();
delay();

}
}
}

效果图:



关键词: AVR单片机流水

评论


技术专区

关闭