|
#include "reg52.h"
sbit relay11=P1^7;
sbit relay12=P1^6;
sbit relay21=P1^5;
sbit relay22=P1^4;
sbit relay31=P1^3;
sbit relay32=P1^2;
sbit relayLED1=P3^5;
sbit relayLED2=P3^4;
sbit relayLED3=P3^3;
bit flag1;
bit flag2;
bit flag3;
sbit key1=P3^1;
sbit key2=P3^0;
sbit key3=P3^2;
void keyscan();
void init();
void delay(unsigned char n) //約n(ms)延時
{ unsigned char i,j,k;
for(k=0;k<n;k++)
{
for(j=0;j<10;j++) // 約1ms延時
{
for(i=0;i<30;i++) //約0.1ms延時
{;}
}
}
}
void main()
{
init();
while(1)
keyscan();
}
void keyscan()
{
//*****************************************************************
if(key1==0)
{
delay(100);
flag1=1;
if(key1==0)
{
if(flag2==1)
{
relayLED2=0;
relay21=0;
relay22=1;
delay(1000);
relay22=0;
flag2=0;
}
if(flag3==1)
{
relayLED3=0;
relay31=0;
relay32=1;
delay(1000);
relay32=0;
flag3=0;
}
relayLED1=1;
relay11=1;
relay12=0;
delay(1000);
relay11=0;
}
while(!key1);
}
//*****************************************************************
if(key2==0)
{
delay(100);
flag2=1;
if(key2==0)
{
if(flag1==1)
{
relayLED1=0;
relay11=0;
relay12=1;
delay(1000);
relay12=0;
flag1=0;
}
if(flag3==1)
{
relayLED3=0;
relay31=0;
relay32=1;
delay(1000);
relay32=0;
flag3=0;
}
relayLED2=1;
relay21=1;
relay22=0;
delay(1000);
relay21=0;
}
while(!key2);
}
//*****************************************************************
if(key3==0)
{
delay(100);
flag3=1;
if(key3==0)
{
if(flag1==1)
{
relayLED1=0;
relay11=0;
relay12=1;
delay(1000);
relay12=0;
flag1=0;
}
if(flag2==1)
{
relayLED2=0;
relay21=0;
relay22=1;
delay(1000);
relay22=0;
flag2=0;
}
relayLED3=1;
relay31=1;
relay32=0;
delay(1000);
relay31=0;
}
while(!key3);
}
}
void init()
{
P2=0xff;
relay11= 0;
relay12= 0;
relay21= 0;
relay22= 0;
relay31= 0;
relay32= 0;
relayLED1= 0;
relayLED2= 0;
relayLED3= 0;
flag1=0;
flag2=0;
flag3=0;
key1=1;
key2=1;
key3=1;
}
已做成板子,不接負載沒有問題 ,一接負載 按鈕就會亂,有時還不管用
|
-
-
2015.1.pdf
2015-12-30 21:30 上傳
點擊文件名下載附件
503.26 KB, 下載次數(shù): 11
|