1. /流水灯/
#include<reg52.h>
#include<intrins.h>
sbit beep=P2^3;
void delay(unsigned int x) 延时函数
{
unsigned int i,j;
for(i=x;i>0;i--)
for(j=110;j>0;j--);
}
void main()
{
unsigned char n;
n=0x01;
P1=n;
while(1)
{
delay(1000);
n=_crol_(n,1);
P1=n;
delay(1000);
if(P1==0x80)
{
beep=0;
delay(100);
beep=1;
}
}
}
使用三极管驱动蜂鸣器
2. 独立键盘S2健控制流水灯
/* 按下S2发光二极管点亮的向下移动一位*/
#include<reg52.h>
#include<intrins.h>
sbit s2=P3^4;
unsigned int count=0,flag;
unsigned char m=0xfe;
void delay(unsigned int xms)
{
unsigned int i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
void check()
{
if(s2==0)
{
delay(10);
if(s2==0)
{
flag=1;
}
}
}
void down()
{
if(s2!=0)
{
flag=0;
count=0;
}
}
void led()
{
if(flag==1&&count==0)
{
P1=m;
m=_crol_(m,1);
count=1;
}
}
void main()
{
P1=0xff;
while(1)
{
check();
led();
down();
}
}