S
shanky25
Guest
Hello!Es jus mēģināju ēka tālvadības auto, izmantojot rc5 kodēšanu.Es lietoju 89s52 kontrolieris.Izmantojot šo i am mēģina kontrolēt priekšējo un aizmugurējo motori.problēma ir kods darbojas tikai tad, ja i programma virzienā uz priekšu vai pretējā virzienā.ja es izmēģināt writng pašu kodu visiem virzieniem dažu mehānisko releju manas nesaņemat iedarbināta.šeit ir mans kods.
# Ietvert <reg51.h>
# Ietvert <intrins.h>
char saņemt ();
par spēkā neesošu sūtīt (char);
spēkā nekavējoties ();
par spēkā neesošu delay_1 (neparakstīta int);
par spēkā neesošu delay_t (int);par spēkā neesošu delay1 (int);
sbit RX = P3 ^ 0;
sbit m1p = P1 ^ 0;
sbit m1n = P1 ^ 1;
sbit m2p = P1 ^ 2;
sbit m2n = P1 ^ 3;
sbit m3p = P1 ^ 4;
sbit m3n = P1 ^ 5;
sbit m4p = P1 ^ 6;
sbit m4n = P1 ^ 7;
par spēkā neesošu galvenais ()
(
char, ch;
TMOD = 0x01;
kamēr (1)
(
= saņemt ();
/ / Nosūtīt (a);
ja (a == 1) / / P1 => left_up
(
m1p = 1;
m1n = 0;
m2p = 1;
m2n = 0;
m3p = 1;
m3n = 0;
m4p = 1;
m4n = 0;
)
ja (a == 2) / / P1 => left_dn
(
m1p = 0;
m1n = 1;
m2p = 0;
m2n = 1;
m3p = 0;
m3n = 1;
m4p = 0;
m4n = 1;
)
ja (a == 3)
(
m1p = 1;
m1n = 0;
m2p = 1;
m2n = 0;
m3p = 0;
m3n = 1;
m4p = 0;
m4n = 1;
)
ja (a == 4)
(
m1p = 0;
m1n = 1;
m2p = 0;
m2n = 1;
m3p = 1;
m3n = 0;
m4p = 1;
m4n = 0;
)
ja (a ==
<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Atdzist" border="0" />(
m1p = 1;
m1n = 1;
m2p = 1;
m2n = 1;
m3p = 1;
m3n = 1;
m4p = 1;
m4n = 1;
)
)
)
par spēkā neesošu delay_1 (neparakstīta int k)
(
int i;
(i = 0; i <k; i );
)par spēkā neesošu nosūtīt (char)
(
TI = 0;
SBUF =;
kamēr (TI == 0);
)
par spēkā neesošu delay_t (int k)
(
neparakstīts int i, j;
(i = 0; i <k; i )
(
par (j = 0, j <1257; j );
)
)
spēkā nekavējoties ()
(
IE = 0x00;
TH0 = 0xF9;
TL0 = 0x9D;
TR0 = 1;
kamēr (TF0 == 0);
TF0 = 0;
TR0 = 0;
)
char saņemt ()
(
int i;
char a, b;
TH1 = 0xaa;
TL1 = 0x00;
IE = 0x88;
TR1 = 1;
kamēr (rx == 1);
= 0x00;
b = 0x20;
(i = 0; i <6; i )
kavēšanās ();
(i = 0; i <17; i );
(i = 0; i <6; i )
(
kavēšanās ();
ja (rx == 1)
= | b;
b = b / 2;
)
atgriezties;
)Pievienots pēc 27 sekundes:M sorry par šādu lielu msg, bet man ir nācies saskarties ar problēmām, ar šo kodu, jo nedēļas laikā!PLZ man palīdzēt out!
# Ietvert <reg51.h>
# Ietvert <intrins.h>
char saņemt ();
par spēkā neesošu sūtīt (char);
spēkā nekavējoties ();
par spēkā neesošu delay_1 (neparakstīta int);
par spēkā neesošu delay_t (int);par spēkā neesošu delay1 (int);
sbit RX = P3 ^ 0;
sbit m1p = P1 ^ 0;
sbit m1n = P1 ^ 1;
sbit m2p = P1 ^ 2;
sbit m2n = P1 ^ 3;
sbit m3p = P1 ^ 4;
sbit m3n = P1 ^ 5;
sbit m4p = P1 ^ 6;
sbit m4n = P1 ^ 7;
par spēkā neesošu galvenais ()
(
char, ch;
TMOD = 0x01;
kamēr (1)
(
= saņemt ();
/ / Nosūtīt (a);
ja (a == 1) / / P1 => left_up
(
m1p = 1;
m1n = 0;
m2p = 1;
m2n = 0;
m3p = 1;
m3n = 0;
m4p = 1;
m4n = 0;
)
ja (a == 2) / / P1 => left_dn
(
m1p = 0;
m1n = 1;
m2p = 0;
m2n = 1;
m3p = 0;
m3n = 1;
m4p = 0;
m4n = 1;
)
ja (a == 3)
(
m1p = 1;
m1n = 0;
m2p = 1;
m2n = 0;
m3p = 0;
m3n = 1;
m4p = 0;
m4n = 1;
)
ja (a == 4)
(
m1p = 0;
m1n = 1;
m2p = 0;
m2n = 1;
m3p = 1;
m3n = 0;
m4p = 1;
m4n = 0;
)
ja (a ==
<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Atdzist" border="0" />(
m1p = 1;
m1n = 1;
m2p = 1;
m2n = 1;
m3p = 1;
m3n = 1;
m4p = 1;
m4n = 1;
)
)
)
par spēkā neesošu delay_1 (neparakstīta int k)
(
int i;
(i = 0; i <k; i );
)par spēkā neesošu nosūtīt (char)
(
TI = 0;
SBUF =;
kamēr (TI == 0);
)
par spēkā neesošu delay_t (int k)
(
neparakstīts int i, j;
(i = 0; i <k; i )
(
par (j = 0, j <1257; j );
)
)
spēkā nekavējoties ()
(
IE = 0x00;
TH0 = 0xF9;
TL0 = 0x9D;
TR0 = 1;
kamēr (TF0 == 0);
TF0 = 0;
TR0 = 0;
)
char saņemt ()
(
int i;
char a, b;
TH1 = 0xaa;
TL1 = 0x00;
IE = 0x88;
TR1 = 1;
kamēr (rx == 1);
= 0x00;
b = 0x20;
(i = 0; i <6; i )
kavēšanās ();
(i = 0; i <17; i );
(i = 0; i <6; i )
(
kavēšanās ();
ja (rx == 1)
= | b;
b = b / 2;
)
atgriezties;
)Pievienots pēc 27 sekundes:M sorry par šādu lielu msg, bet man ir nācies saskarties ar problēmām, ar šo kodu, jo nedēļas laikā!PLZ man palīdzēt out!