اخي العزيز
اريد زيادة عدد الازرار
ممكن تصحيح الكود
كود:
const unsigned short one_high =1200; //1.2ms
const unsigned short one_low =600; //0.6ms
const unsigned short zero_high =600;
const unsigned short zero_low =600;
const unsigned short Start_Pulse = 2400;
const unsigned short Start_Pulse_low = 600;
const unsigned short Space_between_Pulses = 2750; //27.5 ms
unsigned short i,x,y,dbit=0;
//==============================================================
void send_Start_Pulse() {
portb.f0=1;delay_us(Start_Pulse);
portb.f0=0;delay_us(Start_Pulse_low);
}
void send_1() {
portb.f0=1;delay_us(one_high);
portb.f0=0;delay_us(one_low);
}
void send_0() {
portb.f0=1;delay_us(zero_high);
portb.f0=0;delay_us(zero_low);
}
void main() {
PORTB = 0;
TRISB = 0;
trisa=0xff;
cmcon=0x07;
while (1) {
portb.f0=1;delay_ms(50);portb.f0=0;delay_ms(50);
if (porta.f2==1){delay_ms(250);
for(y=0;y<2;y++){ send_Start_Pulse();
send_1();
for(x=0;x<6;x++){send_0();}
send_1();
delay_ms(20); }
}
if (porta.f3==1){delay_ms(250);
for(y=0;y<2;y++){send_Start_Pulse();
send_1();send_1();
for(x=0;x<5;x++){send_0();}
send_1();
delay_ms(20); }
}
if (porta.f1==1){delay_ms(250);
for(y=0;y<2;y++){ send_Start_Pulse();
send_1();send_1(); send_1();
for(x=0;x<4;x++){send_0();}
send_1();
delay_ms(20); }
}
if (porta.f0==1){delay_ms(250);
for(y=0;y<2;y++){send_Start_Pulse();
send_1();send_1();send_1();send_1();
for(x=0;x<3;x++){send_0();}
send_1();
delay_ms(20); }
}
}
}
كود الارسال
لقد اضفت سوى
كود:
case 1: Portb.F0 = ~Portb.F0;Delay_ms(250);break; // button TV '0'
case 2: Portb.F1 = ~Portb.F1;Delay_ms(250);break; // button TV '1'
case 3: Portb.F2 = ~Portb.F2;Delay_ms(250);break; // button TV '0'
case 4: Portb.F3 = ~Portb.F3;Delay_ms(250);break;
لم يشتغل في الزرين اللدان اضفت
|
السلام عليكم
هذا كود ممبسط بخصوص ريموت سوني تجده بمشاركه 149
http://www.qariya.info/vb/showthread...%E6%E1&page=19