【文件属性】:
文件名称:花样最多 8 灯流水灯代码
文件大小:2KB
文件格式:TXT
更新时间:2016-07-24 18:32:43
流水灯
花样最多 8 灯流水灯代码
#include //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
#include
/******************************************************************/
/* 花样表格 */
/******************************************************************/
unsigned char code seg[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,0xff,0x00,0,0x55,0x55,0xaa,0xaa};//rom允许情况可以无限添加
/******************************************************************/
/* 延时函数 */
/******************************************************************/
void delay(unsigned int cnt)//简易延时
{
while(--cnt);
}
/******************************************************************/
/* 主函数 */
/******************************************************************/
main()
{
unsigned char i;
while(1)
{
P2=0xFE; //第一个LED亮
for(i=0;i<8;i++)
{
delay(10000);
P2 <<=1;
}
P2=0x7F; //第七个LED亮
for(i=0;i<8;i++)
{
delay(10000);
P2 >>=1;
}
P2=0xFE; //第一个LED亮
for(i=0;i<8;i++)
{
delay(10000);
P2 <<=1;
P2 |=0x01;
}
P2=0x7F; //第七个LED亮
for(i=0;i<8;i++)
{
delay(10000);
P2 >>=1;
P2 |=0x80;
}
/*下面通过查表方法获得花样参数*/
for(i=0;i<16;i++)//查表可以简单的显示各种花样 实用性更强
{
delay(20000);
P2=seg[i];
}
}
}
补充:
再给你一个流星雨灯,这个程序有点暴力。。。
#include
#include
#define uint unsigned int
void delay(uint n)
{
while(n--);
}
main()
{
mmm:P1=0xfe;
delay(15000);
while(1)
{
P1=P1<<1;
delay(15000);
if(P1==0x00) {P1=0x01;delay(15000);goto mm;}
}
mm:
while(1)
{
P1=_crol_(P1,1)+1;
delay(15000);
if(P1==0xff) {delay(15000);goto mmm;}
}
}