T
thibraani
Guest
Tässä on tilanne, minun PIC on liitetty Bluetooth-moduuli.Bluetooth-moduuli toimii TRANCEIVER käyttäjän hallita LED etäyhteyden tietokoneeseen.Järjestelmä toimii näin:
1.käyttäjälle nopeasti komento tietokoneeseen HyperTerminal [paina 1 LED ON ja 2 LED OFF]
2.komento lähetetään Bluetooth-moduuli, Bluetooth dongle kiinni USB
3.lähetin sai komento [ASCII 1 tai 2] ja lähetä PIC
4.PIC kääntää tämän komennon ja suorittaa ohjeiden ottaminen käyttöön tai OFF LED
Kytkeä Bluetooth-moduuli, UART on mahdollista, että on asettaa TX ja RX nastat PIC korkea.Bluetooth Dongle lähettää kaiken sen saavan PIC.Ongelmana on, että LED ei kytkeydy päälle ja pois päältä, mutta 7-segmentti pystyi näyttämään kukin numero on merkitty tietokoneen näppäimistöllä.Voiko kukaan siellä Katsokaa minun koodaus ja auttaa minua muuttamaan sitä?Haluat määrittää logiikka korkea ja logiikka alhainen PIC ei ole helppo tehtävä.Tarvitsen apuasi.
_________________________________________
# include <pic.h>
__CONFIG (0x3F32);
# define sekuntia PORTD / / define 7 laivaston PORTD
# define johti PORTB / / define johti kuin PORTB
unsigned char;
void init (void) / / Aliohjelma alustaa
(
SPBRG = 0x81; / / aseta siirtonopeus kuin 9600 baudia
BRGH = 1;
TXEN = 1;
CREN = 1;
SPEN = 1;
TRISD = 0b00000000, / / asettaa PORTD tuotokseksi
SEG = 0b00000000;
TRISB = 0b00000000, / / aseta PORTB tuotokseksi
LED = 0b00000000;
)
void display (unsigned char c) / / näkyviin näytössä olevan tekstin
(
while (TXIF == 0);
TXREG = C;
)
unsigned char vastaan (void) / / vastaanottaa komento tietokoneesta
(
while (RCIF == 0);
= RCREG;
return;
)
void main (void)
(
init ();
(
while (1) / / wait käyttäjän tulee kirjain "X"
(
= vastaan ();
if (== 'x') break;
)
)
display ( 'W'), / / tekstin näyttämiseen näytössä
näyttö ( 'E');
display ( 'L');
display ( 'C');
display ( 'O');
display ( 'M');
näyttö ( 'E');
näyttö (0x0A);
näyttö (0x0d);
näyttö ( 'E');
display ( 'n');
display ( 't');
display ( 'e');
display ( 'r');
näyttö (0x20);
display ( 'p');
display ( '');
display ( 's');
display ( 's');
näyttö (0x20);
display ( 'K');
display ( 'e');
display ( 'y');
näyttö (0x0A);
näyttö (0x0d);
näyttö (0x0A);
näyttö (0x0d);(
while (1) / / wait for salasana "fkee" on merkittävä
(
= vastaan ();
if (== 'f')
(
= vastaan ();
if (== 'k')
(
= vastaan ();
if (== 'e')
(
= vastaan ();
if (== 'e') break;
)
)
)
)
display ( 'W'), / / tekstin näyttämiseen näytössä
display ( 'h');
display ( '');
display ( 't');
näyttö (0x20);
näyttö ( 'W');
display ( 'o');
display ( 'u');
display ( 'l');
display ( 'd');
näyttö (0x20);
display ( 'y');
display ( 'o');
display ( 'u');
näyttö (0x20);
display ( 'l');
display ( 'i');
display ( 'K');
display ( 'e');
näyttö (0x20);
display ( 't');
display ( 'o');
näyttö (0x20);
display ( 'd');
display ( 'o');
Näytä ('?');
näyttö (0x0A);
näyttö (0x0d);
näyttö (0x5B);
näyttö ('1 ');
näyttö (0x5D);
näyttö (0x20);
display ( 'L');
näyttö ( "I");
näyttö ( 'G');
display ( 'H');
näyttö ( 'T');
näyttö (0x20);
display ( 'O');
display ( 'N');
näyttö (0x0A);
näyttö (0x0d);
näyttö (0x5B);
näyttö ('2 ');
näyttö (0x5D);
näyttö (0x20);
display ( 'L');
näyttö ( "I");
näyttö ( 'G');
display ( 'H');
näyttö ( 'T');
näyttö (0x20);
display ( 'O');
display ( 'F');
display ( 'F');
näyttö (0x0A);
näyttö (0x0d);
näyttö (0x0A);
näyttö (0x0d);
SEG = 0, / / 7 segement näkyä "0" sen näytössä
LED = 0, / / merkkivalo ei pala
while (1) / / odottaa käyttäjän Anna komento
(
= vastaan ();
if (== '1 ')
display ( 'C');
display ( 'O');
display ( 'N');
display ( 'D');
näyttö ( "I");
näyttö ( 'T');
näyttö ( "I");
display ( 'O');
display ( 'N');
näyttö (0X3a);
display ( 'L');
näyttö ( "I");
näyttö ( 'G');
display ( 'H');
näyttö ( 'T');
näyttö (0x20);
display ( 'O');
display ( 'N');
näyttö (0x0A);
näyttö (0x0d);
näyttö (0x0A);
näyttö (0x0d);
SEG =-0x30, / / 7 segmentin näyttö numero "1"
LED = 0b11111111; / / LED
display ( 'W'), / / tekstin näyttämiseen näytössä
display ( 'h');
display ( '');
display ( 't');
näyttö (0x20);
näyttö ( 'W');
display ( 'o');
display ( 'u');
display ( 'l');
display ( 'd');
näyttö (0x20);
display ( 'y');
display ( 'o');
display ( 'u');
näyttö (0x20);
display ( 'l');
display ( 'i');
display ( 'K');
display ( 'e');
näyttö (0x20);
display ( 't');
display ( 'o');
näyttö (0x20);
display ( 'd');
display ( 'o');
Näytä ('?');
näyttö (0x0A);
näyttö (0x0d);
näyttö (0x5B);
näyttö ('1 ');
näyttö (0x5D);
näyttö (0x20);
display ( 'L');
näyttö ( "I");
näyttö ( 'G');
display ( 'H');
näyttö ( 'T');
näyttö (0x20);
display ( 'O');
display ( 'N');
näyttö (0x0A);
näyttö (0x0d);
näyttö (0x5B);
näyttö ('2 ');
näyttö (0x5D);
näyttö (0x20);
display ( 'L');
näyttö ( "I");
näyttö ( 'G');
display ( 'H');
näyttö ( 'T');
näyttö (0x20);
display ( 'O');
display ( 'F');
display ( 'F');
näyttö (0x0A);
näyttö (0x0d);
näyttö (0x0A);
näyttö (0x0d);(
= vastaan ();
if (== '2 ')
display ( 'C');
display ( 'O');
display ( 'N');
display ( 'D');
näyttö ( "I");
näyttö ( 'T');
näyttö ( "I");
display ( 'O');
display ( 'N');
näyttö (0X3a);
display ( 'L');
näyttö ( "I");
näyttö ( 'G');
display ( 'H');
näyttö ( 'T');
näyttö (0x20);
display ( 'O');
display ( 'F');
display ( 'F');
näyttö (0x0A);
näyttö (0x0d);
näyttö (0x0A);
näyttö (0x0d);
SEG =-0x30, / / 7 segmentin näyttö numero "2"
LED = 0b00000000; / / LED pois päältä
display ( 'W'), / / tekstin näyttämiseen näytössä
display ( 'h');
display ( '');
display ( 't');
näyttö (0x20);
näyttö ( 'W');
display ( 'o');
display ( 'u');
display ( 'l');
display ( 'd');
näyttö (0x20);
display ( 'y');
display ( 'o');
display ( 'u');
näyttö (0x20);
display ( 'l');
display ( 'i');
display ( 'K');
display ( 'e');
näyttö (0x20);
display ( 't');
display ( 'o');
näyttö (0x20);
display ( 'd');
display ( 'o');
Näytä ('?');
näyttö (0x0A);
näyttö (0x0d);
näyttö (0x5B);
näyttö ('1 ');
näyttö (0x5D);
näyttö (0x20);
display ( 'L');
näyttö ( "I");
näyttö ( 'G');
display ( 'H');
näyttö ( 'T');
näyttö (0x20);
display ( 'O');
display ( 'N');
näyttö (0x0A);
näyttö (0x0d);
näyttö (0x5B);
näyttö ('2 ');
näyttö (0x5D);
näyttö (0x20);
display ( 'L');
näyttö ( "I");
näyttö ( 'G');
display ( 'H');
näyttö ( 'T');
näyttö (0x20);
display ( 'O');
display ( 'F');
display ( 'F');
näyttö (0x0A);
näyttö (0x0d);
näyttö (0x0A);
näyttö (0x0d)
)
)
)
1.käyttäjälle nopeasti komento tietokoneeseen HyperTerminal [paina 1 LED ON ja 2 LED OFF]
2.komento lähetetään Bluetooth-moduuli, Bluetooth dongle kiinni USB
3.lähetin sai komento [ASCII 1 tai 2] ja lähetä PIC
4.PIC kääntää tämän komennon ja suorittaa ohjeiden ottaminen käyttöön tai OFF LED
Kytkeä Bluetooth-moduuli, UART on mahdollista, että on asettaa TX ja RX nastat PIC korkea.Bluetooth Dongle lähettää kaiken sen saavan PIC.Ongelmana on, että LED ei kytkeydy päälle ja pois päältä, mutta 7-segmentti pystyi näyttämään kukin numero on merkitty tietokoneen näppäimistöllä.Voiko kukaan siellä Katsokaa minun koodaus ja auttaa minua muuttamaan sitä?Haluat määrittää logiikka korkea ja logiikka alhainen PIC ei ole helppo tehtävä.Tarvitsen apuasi.
_________________________________________
# include <pic.h>
__CONFIG (0x3F32);
# define sekuntia PORTD / / define 7 laivaston PORTD
# define johti PORTB / / define johti kuin PORTB
unsigned char;
void init (void) / / Aliohjelma alustaa
(
SPBRG = 0x81; / / aseta siirtonopeus kuin 9600 baudia
BRGH = 1;
TXEN = 1;
CREN = 1;
SPEN = 1;
TRISD = 0b00000000, / / asettaa PORTD tuotokseksi
SEG = 0b00000000;
TRISB = 0b00000000, / / aseta PORTB tuotokseksi
LED = 0b00000000;
)
void display (unsigned char c) / / näkyviin näytössä olevan tekstin
(
while (TXIF == 0);
TXREG = C;
)
unsigned char vastaan (void) / / vastaanottaa komento tietokoneesta
(
while (RCIF == 0);
= RCREG;
return;
)
void main (void)
(
init ();
(
while (1) / / wait käyttäjän tulee kirjain "X"
(
= vastaan ();
if (== 'x') break;
)
)
display ( 'W'), / / tekstin näyttämiseen näytössä
näyttö ( 'E');
display ( 'L');
display ( 'C');
display ( 'O');
display ( 'M');
näyttö ( 'E');
näyttö (0x0A);
näyttö (0x0d);
näyttö ( 'E');
display ( 'n');
display ( 't');
display ( 'e');
display ( 'r');
näyttö (0x20);
display ( 'p');
display ( '');
display ( 's');
display ( 's');
näyttö (0x20);
display ( 'K');
display ( 'e');
display ( 'y');
näyttö (0x0A);
näyttö (0x0d);
näyttö (0x0A);
näyttö (0x0d);(
while (1) / / wait for salasana "fkee" on merkittävä
(
= vastaan ();
if (== 'f')
(
= vastaan ();
if (== 'k')
(
= vastaan ();
if (== 'e')
(
= vastaan ();
if (== 'e') break;
)
)
)
)
display ( 'W'), / / tekstin näyttämiseen näytössä
display ( 'h');
display ( '');
display ( 't');
näyttö (0x20);
näyttö ( 'W');
display ( 'o');
display ( 'u');
display ( 'l');
display ( 'd');
näyttö (0x20);
display ( 'y');
display ( 'o');
display ( 'u');
näyttö (0x20);
display ( 'l');
display ( 'i');
display ( 'K');
display ( 'e');
näyttö (0x20);
display ( 't');
display ( 'o');
näyttö (0x20);
display ( 'd');
display ( 'o');
Näytä ('?');
näyttö (0x0A);
näyttö (0x0d);
näyttö (0x5B);
näyttö ('1 ');
näyttö (0x5D);
näyttö (0x20);
display ( 'L');
näyttö ( "I");
näyttö ( 'G');
display ( 'H');
näyttö ( 'T');
näyttö (0x20);
display ( 'O');
display ( 'N');
näyttö (0x0A);
näyttö (0x0d);
näyttö (0x5B);
näyttö ('2 ');
näyttö (0x5D);
näyttö (0x20);
display ( 'L');
näyttö ( "I");
näyttö ( 'G');
display ( 'H');
näyttö ( 'T');
näyttö (0x20);
display ( 'O');
display ( 'F');
display ( 'F');
näyttö (0x0A);
näyttö (0x0d);
näyttö (0x0A);
näyttö (0x0d);
SEG = 0, / / 7 segement näkyä "0" sen näytössä
LED = 0, / / merkkivalo ei pala
while (1) / / odottaa käyttäjän Anna komento
(
= vastaan ();
if (== '1 ')
display ( 'C');
display ( 'O');
display ( 'N');
display ( 'D');
näyttö ( "I");
näyttö ( 'T');
näyttö ( "I");
display ( 'O');
display ( 'N');
näyttö (0X3a);
display ( 'L');
näyttö ( "I");
näyttö ( 'G');
display ( 'H');
näyttö ( 'T');
näyttö (0x20);
display ( 'O');
display ( 'N');
näyttö (0x0A);
näyttö (0x0d);
näyttö (0x0A);
näyttö (0x0d);
SEG =-0x30, / / 7 segmentin näyttö numero "1"
LED = 0b11111111; / / LED
display ( 'W'), / / tekstin näyttämiseen näytössä
display ( 'h');
display ( '');
display ( 't');
näyttö (0x20);
näyttö ( 'W');
display ( 'o');
display ( 'u');
display ( 'l');
display ( 'd');
näyttö (0x20);
display ( 'y');
display ( 'o');
display ( 'u');
näyttö (0x20);
display ( 'l');
display ( 'i');
display ( 'K');
display ( 'e');
näyttö (0x20);
display ( 't');
display ( 'o');
näyttö (0x20);
display ( 'd');
display ( 'o');
Näytä ('?');
näyttö (0x0A);
näyttö (0x0d);
näyttö (0x5B);
näyttö ('1 ');
näyttö (0x5D);
näyttö (0x20);
display ( 'L');
näyttö ( "I");
näyttö ( 'G');
display ( 'H');
näyttö ( 'T');
näyttö (0x20);
display ( 'O');
display ( 'N');
näyttö (0x0A);
näyttö (0x0d);
näyttö (0x5B);
näyttö ('2 ');
näyttö (0x5D);
näyttö (0x20);
display ( 'L');
näyttö ( "I");
näyttö ( 'G');
display ( 'H');
näyttö ( 'T');
näyttö (0x20);
display ( 'O');
display ( 'F');
display ( 'F');
näyttö (0x0A);
näyttö (0x0d);
näyttö (0x0A);
näyttö (0x0d);(
= vastaan ();
if (== '2 ')
display ( 'C');
display ( 'O');
display ( 'N');
display ( 'D');
näyttö ( "I");
näyttö ( 'T');
näyttö ( "I");
display ( 'O');
display ( 'N');
näyttö (0X3a);
display ( 'L');
näyttö ( "I");
näyttö ( 'G');
display ( 'H');
näyttö ( 'T');
näyttö (0x20);
display ( 'O');
display ( 'F');
display ( 'F');
näyttö (0x0A);
näyttö (0x0d);
näyttö (0x0A);
näyttö (0x0d);
SEG =-0x30, / / 7 segmentin näyttö numero "2"
LED = 0b00000000; / / LED pois päältä
display ( 'W'), / / tekstin näyttämiseen näytössä
display ( 'h');
display ( '');
display ( 't');
näyttö (0x20);
näyttö ( 'W');
display ( 'o');
display ( 'u');
display ( 'l');
display ( 'd');
näyttö (0x20);
display ( 'y');
display ( 'o');
display ( 'u');
näyttö (0x20);
display ( 'l');
display ( 'i');
display ( 'K');
display ( 'e');
näyttö (0x20);
display ( 't');
display ( 'o');
näyttö (0x20);
display ( 'd');
display ( 'o');
Näytä ('?');
näyttö (0x0A);
näyttö (0x0d);
näyttö (0x5B);
näyttö ('1 ');
näyttö (0x5D);
näyttö (0x20);
display ( 'L');
näyttö ( "I");
näyttö ( 'G');
display ( 'H');
näyttö ( 'T');
näyttö (0x20);
display ( 'O');
display ( 'N');
näyttö (0x0A);
näyttö (0x0d);
näyttö (0x5B);
näyttö ('2 ');
näyttö (0x5D);
näyttö (0x20);
display ( 'L');
näyttö ( "I");
näyttö ( 'G');
display ( 'H');
näyttö ( 'T');
näyttö (0x20);
display ( 'O');
display ( 'F');
display ( 'F');
näyttö (0x0A);
näyttö (0x0d);
näyttö (0x0A);
näyttö (0x0d)
)
)
)