 |
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2009
الدولة: العراق/ كوردستان
المشاركات: 2,892
|
|
نشاط [ سعيد قادر ]
قوة السمعة:
|
|
27-09-2014, 09:35 PM
المشاركة 28
|
|
كتبت كود المستقبل لدائرة السابقة ولاكن نفس الشىء لايعمل رغم مراجعتى للكود مرات عديدة ؟؟
كود:
#define is ==
#define ir_recever portb.f0
#define ir_recever_dir trisb.f0
/**********************************************/
const char code_1[]={0,0,0,0,1,0,1,0,0,1};
const char code_2[]={0,0,0,0,1,0,1,0,1,1};
const char code_3[]={0,0,0,0,1,0,1,1,0,1};
const char code_4[]={0,0,0,0,1,0,0,1,1,1};
const char code_5[]={0,0,0,0,1,1,0,0,0,1};
const char code_6[]={0,0,0,0,1,1,0,0,1,1};
/*********************************************/
char x,noise=0;
char check;
char my_data[10];
/********************************************/
void init();
char check_noise();
void stor_data();
void check_switch();
/********************************************/
void main()
{
init();
for(x=0;x<6;x++){portb.b2=1;delay_ms(500);portb.b2=0;delay_ms(500);}
while(1)
{
if(check_noise() is 0)
{
stor_data();
check_switch();
if(check !=0)
{
for(x=0;x<check;x++)
{
portb.b2=1;
delay_ms(500);
portb.b2=0;
delay_ms(500);
}
}
check=0;
for(x=0;x<10;x++)my_data[x]=0;
}
}
}
/*************************************/
void stor_data()
{
char y;
delay_ms(5);
for(y=0;y<10;y++)
{
if(ir_recever is 0) my_data[y]=0;
if(ir_recever is 1) my_data[y]=1;
delay_ms(20);
}
}
/*************************************/
void init()
{ porta=0;
trisa=0b00100000;
trisb=0b00000001;
portb=0;
}
/*************************************/
void check_switch()// check sw1
{
char zz;
for(zz=0;zz<10;zz++)
{
if(my_data[zz] is code_1[zz])check=1;
else
{check=0;break;}
}
if(check is 1)return;
}
/*************************************/
char check_noise() //check noise
{
for(x=0;x<10;x++)
{
if(ir_recever is 0)noise=0;
if(ir_recever is 1){noise=1;return noise;}
delay_us(60);
}
return noise;
}
/*************************************/
|