#include<reg52.h>
sbit k1=P3^4;
sbit k2=P3^5;
sbit beep=P2^5;
void delay(int xms) {
int i,j;
for(i=1;i<=xms;i++)
for(j=1;j<=112;j++);
}
void main(){
while(1){
if(k1==0) {
int a = 0x80; //1000 0000
int x = 0;
while(1)
{
P1=~(a>>x); //右移
x++;
if (x>=8){
x=0;
}
delay(100);
if(k2==0)
break;
}
}
if(k2==0){
int a = 0x01; //0x01代表0000 0001
int x = 0;
while(1)
{
P1=~(a<<x); //代表左移
x++;
if (x>=8){
x=0;
}
delay(100);
if(k1==0)
break;
}
}
}
}
此处是用位循环实现流水灯!!
按下K1键实现流水灯从右往左循环
按下K2键实现流水灯从左到右循环