|
السلام عليكم
اخ حسن بعد تنفيذ الدائرة
يعمل button مرة واحد فقط وعند ضغط مره اخرى
على نفس button لايعمل
نرجو المساعدة
|
السلام عليكم
شكرا جزيلا على هذه ملاجظه وحلها بسيط ان شالله
عليك باضافه هذه الكود الى الداله main
كود:
if(d1 ==0)source1=0;
if(d2 ==0)source2=0;
if(d3 ==0)source3=0;
اي يصبح الكود الكلي
كود:
#define s1 portb=1
#define s2 portb=2
#define s3 portb=4
#define off_relay portb=0
sbit d1 at RA0_bit ;
sbit d2 at RA1_bit ;
sbit d3 at RA2_bit ;
sbit buzzer at RB3_bit ;
char source1=0,source2=0,source3=0, x=0;
char back=0;
//*************************//
void function(char sw);
void delay_15_sec(char sw1);
void buzzer_function();
//****************************//
void main()
{
cmcon=7;
TRISB=0;
TRISA=0xFF;
off_relay;
while(1)
{
if(d1==1 && source1==0)
{
delay_15_sec(1);// wait 15 sec
function(1);
}
else if(d2==1 && d1==0 && source2==0)
{
delay_15_sec(2);// wait 15 sec
function(2);
}
else if(d3==1 && d1==0 && d2==0 && source3==0)
{
delay_15_sec(3);// wait 15 sec
function(3);
}
else if(d1==0 && d2==0 && d3==0)
{
off_relay;
}
if(d1 ==0)source1=0;
if(d2 ==0)source2=0;
if(d3 ==0)source3=0;
}
}
//**************************************************//
void function(char sw)
{
if(back==1){
back=0;
source1=0;
source2=0;
source3=0;
return;
}
if(sw==1)
{
s1;
source1=1;
source2=0;
source3=0;
}
else if(sw==2)
{
s2;
source1=0;
source2=1;
source3=0;
}
else if(sw==3)
{
s3;
source1=0;
source2=0;
source3=1;
}
}
//*********************************************
void delay_15_sec(char sw1)
{
off_relay;
for(x=0;x<30;x++)// total time =15sec (( 500ms * 30 =15sec))
{
if(sw1 ==1)
{
if(d1==0){back=1;return;}
buzzer_function();
}
else if(sw1 ==2)
{
if(d2==0 || d1==1){back=1;return;}
buzzer_function();
}
else if(sw1 ==3)
{
if(d3==0 || d1==1 ||d2==1){back=1;return;}
buzzer_function();
}
}
buzzer=0;// for check the buzzer is stop
}
//**********************************************
void buzzer_function()
{ // total delay=100+100+150+150=500ms
buzzer=1;
delay_ms(100);
buzzer=0;
delay_ms(100);
buzzer=1;
delay_ms(150);
buzzer=0;
delay_ms(150);
}
تحياتي الطيبه لك اخي كريم