單片機源程序如下:
#include<reg51.h>
sbit ZZ=P2^0;
sbit YZ=P2^1;
sbit QD=P2^2;
sbit HD=P2^3;
sbit DD=P2^4;
sbit ZUOZ=P1^0;
sbit YOUZ=P1^1;
sbit QIAND=P1^2;
sbit HOUD=P1^3;
sbit DAOD=P1^4;
void delay() //定義延遲函數
{
unsigned char a,b;
for(a=0;a<200;a++)
for(b=0;b<200;b++);
}
void key() //按鍵處理函數
{
if(ZUOZ==0)
{
delay();
if(ZUOZ==0)
{
ZZ=~ZZ;
}
while(!ZUOZ);
}
if(YOUZ==0)
{
delay();
if(YOUZ==0)
{
YZ=~YZ;
}
while(!YOUZ);
}
if(QIAND==0)
{
delay();
if(QIAND==0)
{
QD=~QD;
}
while(!QIAND);
}
if(HOUD==0)
{
delay();
if(HOUD==0)
{
HD=~HD;
}
while(!HOUD);
}
if(DAOD==0)
{
delay();
if(DAOD==0)
{
DD=~DD;
}
}
}
void main(void) //主函數
{
if(ZUOZ==0)
{
while(1)
{
ZZ=0;
delay();
ZZ=1;
delay();
}
YZ=1;
QD=1;
HD=1;
DD=1;
}
if(YOUZ==0)
{
ZZ=1;
while(1)
{
YZ=0;
delay();
YZ=1;
delay();
}
QD=1;
HD=1;
DD=1;
}
if(QIAND==0)
{
ZZ=1;
YZ=1;
QD=0;
HD=1;
DD=1;
}
if(HOUD==0)
{
ZZ=1;
YZ=1;
QD=1;
HD=0;
DD=1;
}
if(DAOD==0)
{
ZZ=1;
YZ=1;
QD=1;
HD=1;
while(1)
{
DD=0;
delay();
DD=1;
delay();
}
}
}
|