|
現(xiàn)我假設(shè)K1,K2為兩開關(guān), dector 為脈沖檢沒開關(guān)。K1控制一個(gè)燈,K2控制一個(gè)燈。脈沖開關(guān)檢測(cè)有脈沖時(shí),無論K1,K2工作在什么狀況,兩燈關(guān)閉,另一燈亮
#include <reg52.h>
#define uchar unsigned char
void timer1_initial(void) ;
sbit d1=P1^0;
sbit d2=P1^1;
//sbit d3=P1^2;
sbit dector=P2^7;
sbit sw2=P3^2;
//sbit sw3=P3^3;
bit flag;
uchar key1,key2,a,b;
void main (void)
{
timer1_initial() ;
d1=0;
d2=0;
while(1)
{
while(( sw2==0)&&(flag==0))
{
d1=1;
d2=0;
}
while( sw2==1)
{
d1=0;
d2=0;
}
while((flag==1) &&(sw2==0))
{
d1=1;
d2=1;
}
}
}
void timer1_initial(void)
{
TMOD |=0X20;
TH1=0X38;
TL1=0X38;
TR1=1;
ET1=1;
EA=1;
}
void interrupt_serveice()interrupt 3
{
TH1=0X38;
TL1=0X38;
key1=key2;
key2=dector;
if((key1==1)&&(key2==0))
flag=1;
else
flag=0;
TF1=0;
}
在仿真進(jìn),脈沖控制時(shí),那燈不停的閃
|
|