主程序代码:
#include <reg52.h>
#include <intrins.h>
void turn_on(int i);
void turn_off(int i);
void turn_on_Only(int i);
void main(void)
{
int a,j,k;
while(1)
{
for(a=1;a<=16;a++)
{
turn_on(a);
delay_100ms();
}
delay_100ms();
for(j=1;j<=16;j++)
{
turn_off(j);
delay_100ms();
}
delay_100ms();
for(k=1;k<=16;k++)
{
turn_on_Only(k);
delay_100ms();
}
}
}
延时代码:
#include"delay.h"
void delay_100ms(void)
{
unsigned char a,b,c;
for(c=7;c>0;c--)
for(b=74;b>0;b--)
for(a=95;a>0;a--);
}
灯闪程序:
#include<reg52.h>
#include"led.h"
void turn_on(int i);
void turn_off(int i);
void turn_on_Only(int i);
char tmp1;
char tmp2;
void turn_on(int i)
{
switch(i)
{
case 1:
tmp1=0xFE;
tmp2=0xFF;
P1=tmp1;
P2=tmp2;
break;
case 2:
tmp1=0xFC;
tmp2=0xFF;
P1=tmp1;
P2=tmp2;
break;
case 3:
tmp1=0xF8;
tmp2=0xFF;
P1=tmp1;
P2=tmp2;
break;
case 4:
tmp1=0xF0;
tmp2=0xFF;
P1=tmp1;
P2=tmp2;
break;
case 5:
tmp1=0xE0;
tmp2=0xFF;
P1=tmp1;
P2=tmp2;
break;
case 6:
tmp1=0xC0;
tmp2=0xFF;
P1=tmp1;
P2=tmp2;
break;
case 7:
tmp1=0x80;
tmp2=0xFF;
P1=tmp1;
P2=tmp2;
break;
case 8:
tmp1=0x00;
tmp2=0xFF;
P1=tmp1;
P2=tmp2;
break;
case 9:
tmp1=0x00;
tmp2=0xFE;
P1=tmp1;
P2=tmp2;
break;
case 10:
tmp1=0x00;
tmp2=0xFC;
P1=tmp1;
P2=tmp2;
break;
case 11:
tmp1=0x00;
tmp2=0xF8;
P1=tmp1;
P2=tmp2;
break;
case 12:
tmp1=0x00;
tmp2=0xF0;
P1=tmp1;
P2=tmp2;
break;
case 13:
tmp1=0x00;
tmp2=0xE0;
P1=tmp1;
P2=tmp2;
break;
case 14:
tmp1=0x00;
tmp2=0x0C0;
P1=tmp1;
P2=tmp2;
break;
case 15:
tmp1=0x00;
tmp2=0x80;
P1=tmp1;
P2=tmp2;
break;
case 16:
tmp1=0x00;
tmp2=0x00;
P1=tmp1;
P2=tmp2;
break;
default:
break;
}
}
void turn_off(int i)
{
switch(i)
{
case 1:
tmp1=0x01;
tmp2=0x00;
P1=tmp1;
P2=tmp2;
break;
case 2:
tmp1=0x03;
tmp2=0x00;
P1=tmp1;
P2=tmp2;
break;
case 3:
tmp1=0x07;
tmp2=0x00;
P1=tmp1;
P2=tmp2;
break;
case 4:
tmp1=0x0F;
tmp2=0x00;
P1=tmp1;
P2=tmp2;
break;
case 5:
tmp1=0x1F;
tmp2=0x00;
P1=tmp1;
P2=tmp2;
break;
case 6:
tmp1=0x3F;
tmp2=0x00;
P1=tmp1;
P2=tmp2;
break;
case 7:
tmp1=0x7F;
tmp2=0x00;
P1=tmp1;
P2=tmp2;
break;
case 8:
tmp1=0xFF;
tmp2=0x00;
P1=tmp1;
P2=tmp2;
break;
case 9:
tmp1=0xFF;
tmp2=0x01;
P1=tmp1;
P2=tmp2;
break;
case 10:
tmp1=0xFF;
tmp2=0x03;
P1=tmp1;
P2=tmp2;
break;
case 11:
tmp1=0xFF;
tmp2=0x07;
P1=tmp1;
P2=tmp2;
break;
case 12:
tmp1=0xFF;
tmp2=0x0F;
P1=tmp1;
P2=tmp2;
break;
case 13:
tmp1=0xFF;
tmp2=0x1F;
P1=tmp1;
P2=tmp2;
break;
case 14:
tmp1=0xFF;
tmp2=0x3F;
P1=tmp1;
P2=tmp2;
break;
case 15:
tmp1=0xFF;
tmp2=0x7F;
P1=tmp1;
P2=tmp2;
break;
case 16:
tmp1=0xFF;
tmp2=0xFF;
P1=tmp1;
P2=tmp2;
break;
default:
break;
}
}
void turn_on_Only(int i)
{
switch (i)
{
case 1:
tmp1=0xFE;
tmp2=0xFF;
P1=tmp1;
P2=tmp2;
break;
case 2:
tmp1=0xFD;
tmp2=0xFF;
P1=tmp1;
P2=tmp2;
break;
case 3:
tmp1=0xFB;
tmp2=0xFF;
P1=tmp1;
P2=tmp2;
break;
case 4:
tmp1=0xF7;
tmp2=0xFF;
P1=tmp1;
P2=tmp2;
break;
case 5:
tmp1=0xEF;
tmp2=0xFF;
P1=tmp1;
P2=tmp2;
break;
case 6:
tmp1=0xDF;
tmp2=0xFF;
P1=tmp1;
P2=tmp2;
break;
case 7:
tmp1=0xBF;
tmp2=0xFF;
P1=tmp1;
P2=tmp2;
break;
case 8:
tmp1=0x7F;
tmp2=0xFF;
P1=tmp1;
P2=tmp2;
break;
case 9:
tmp1=0xFF;
tmp2=0xFE;
P1=tmp1;
P2=tmp2;
break;
case 10:
tmp1=0xFF;
tmp2=0xFD;
P1=tmp1;
P2=tmp2;
break;
case 11:
tmp1=0xFF;
tmp2=0xFB;
P1=tmp1;
P2=tmp2;
break;
case 12:
tmp1=0xFF;
tmp2=0xF7;
P1=tmp1;
P2=tmp2;
break;
case 13:
tmp1=0xFF;
tmp2=0xEF;
P1=tmp1;
P2=tmp2;
break;
case 14:
tmp1=0xFF;
tmp2=0xDF;
P1=tmp1;
P2=tmp2;
break;
case 15:
tmp1=0xFF;
tmp2=0xBF;
P1=tmp1;
P2=tmp2;
break;
case 16:
tmp1=0xFF;
tmp2=0x7F;
P1=tmp1;
P2=tmp2;
break;
default:
break;
}
}
|