#include "reg52.h"
#include "intrins.h"
typedef unsigned char u8;
typedef unsigned int u16;
sbit led1=P1^0;
sbit led2=P1^1;
sbit led3=P1^2;
sbit led4=P1^3;
sbit key1=P3^0;
sbit key2=P3^2;
sbit key3=P3^4;
sbit key4=P3^6;
void delay(u16 i)
{
while(i--)
;
}
void keypros()
{
u8 i;
delay(1000);
if(key1==0)
{
P1=0xfe; //1111 1110 D0亮 其他不亮
delay(50000);
while (1)
{
for(i=0;i<7;i++)
{
P1=_crol_(P1,1); // 左移 0xfe 1111 1011 1110 1111 1011 1111
delay(50000);
}
//0111 1111
for(i=0;i<7;i++)
{
P1=_cror_(P1,1); //右移
delay(50000);
}
}
}while(!key1);
delay(1000);
if(key3==0)
{
P1=0xfe; //1111 1110 D0亮 其他不亮
delay(50000);
while (1)
{
for(i=0;i<7;i++)
{
P1=_crol_(P1,1); // 左移 0xfe 1111 1011 1110 1111 1011 1111
delay(50000);
}
}while(!key3);
}
delay(1000);
if(key4==0)
{
P1=0x7f;
delay(50000);
while(1)
{
for(i=0;i<7;i++)
{
P1=_cror_(P1,1); //右移
delay(50000);
}
}
}while(!key4);
}
void main()
{
P1=0xff;
while(1)
{
keypros();
}
}
仿真图如下:
全部资料51hei下载地址:
按键控制LED灯.rar
(55.05 KB, 下载次数: 118)
|