|
.c中的程序。
#include <reg52.h>
#include<haoqianxiao.h>
void main()
{
while(1)
{
jtss(2);
delay(10);
left(2);
delay(10);
right(2);
delay(10);
dleft(2);
delay(10);
dright(2);
delay(10);
jsss(2);
delay(10);
osss(2);
delay(10);
lr(2);
delay(10);
sjss(2);
delay(10);
}
}
下面的是自己的建立的文件庫。
//#include<haoqianxiao.h>
#define uchar unsigned char
#define uint unsigned int
//延時函數(shù)
void delay(uint n)
{
uint x,y;
for(x=n;x>0;x--)
for(y=100;y>0;y--);
}
//交替閃爍函數(shù)
void jtss(int x)
{
uint i;
for(i=0;i<x;i++)
{
P0 = 0X00;
delay(1000);
P0 = 0XFF;
delay(1000);
}
}
//LED左移依次點亮函數(shù)
void left(int x)
{
uint i;
for(i=0;i<x;i++)
{
uint j;
for(j=0;j<8;j++)
{
P0 = (0xfe<<j);
delay(1000);
}
}
}
//LED右移依次點亮函數(shù)
void right(int x)
{
uint i;
for(i=0;i<x;i++)
{
uchar j;
for(j=0;j<8;j++)
{
P0 = (0x7f>>j);
delay(1000);
}
}
}
//LED單燈左移函數(shù)
void dleft(uint x)
{
uint i;
for(i=0;i<x;i++)
{
uchar k;
for(k=0;k<8;k++)
{
P0=~(1<<k);
delay(1000);
}
}
}
//LED單燈右移函數(shù)
void dright(uint x)
{
uint i;
for(i=0;i<x;i++)
{
uchar k;
for(k=0;k<8;k++)
{
P0=~(0x80>>k);
delay(1000);
}
}
}
//奇數(shù)間隔閃爍函數(shù)
void jsss(uint x)
{
uint i;
for(i=0;i<x;i++)
{
uchar n,temp;
temp=0xfe;
for(n=0;n<4;n++)
{
P0=temp;
temp=(temp<<2)+0x03;
delay(1000);
}
}
}
//偶數(shù)間隔閃爍函數(shù)
void osss(uint x)
{
uint i;
for(i=0;i<x;i++)
{
uchar n,temp;
temp=0xfd;
for(n=0;n<4;n++)
{
P0=temp;
temp=(temp<<2)+0x03;
delay(1000);
}
}
}
//左右閃爍函數(shù)
void lr(uint x)
{
uint i;
for(i=0;i<x;i++)
{
left(1);
right(1);
}
}
//隨機閃爍函數(shù)
void sjss(uint x)
{
uint i;
for(i=0;i<x;i++)
{
uint k;
k=100;
do
{
P0=k;
k--;
}
while(k>97);
}
}
感謝51hei為我提供技術(shù)支持!
|
|