微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > AVR单片机-流水灯2

AVR单片机-流水灯2

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

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

源代码:

/*
* 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();

}
}
}

效果图:

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top