Voiko joku katsoa minun PIC16F877A koodi?

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);)
)
)
)

 
Francuska firma Archos zaprezentowała okulary do rzeczywistości wirtualnej, które współpracują z niemal wszystkimi smartfonami. I kosztują tylko 30 dolarów, czyli mniej niż 100 złotych.

Read more...
 
Olemassa joitakin perustietoja sinun täytyy kertoa meille.Tämä on hyvä ja anna meille täydellistä tietoa CKT kaavio.Ja jonka arvo vastus olet yhteydessä vuoksi.Et voi ajaa suoraan LCD PIC
-
 
Liitteenä on Kaaviokuva hankkeen.LED on kytketty PORTB.On tarkka, se on liitetty satamassa PB0 ja PIC<img src="http://images.elektroda.net/100_1192295436_thumb.jpg" border="0" alt="Can anyone look at my PIC16F877A code??" title="Voiko kuka tahansa tarkastella minun PIC16F877A koodi?"/>
 
Tämä on minun ensimmäinen viesti / vastaus, ja olen iloinen voidessani auttaa, mutta yninish pyysi muutamia yksityiskohtia, jotka eivät ole CKT diag.Erityisesti hän pyysi arvo vastuksen käyttää rajoittamaan nykyistä kautta LED.En ole varma siitä, '877, mutta joitakin kuvia voi upota / lähde 25 mA.Jos näin on asianlaita '877 ja useimmat LED työssä noin 10 mA 470 ohmin vastus pitäisi toimia hyvin.Jos epäilet B0 voi vaurioitua toimenpide B1, B2, jne. volttimittari.Terveisin.

 
Oikeastaan olen tehnyt 1K vastus sarjaan LED.Ongelma on, kun taas verkossa, PBO sekä muut PORT B ei tuota logiikkaa korkea.

Niin, että saattaa olla hieman ongelmia Oma ohjelma.Minun on todella teidän mielestänne minun ohjelmallisesti

 
Jos huomasin oikein, et koskaan saavuta osa koodi, jos olet vilkkuvat LED?Tarkemmin sanottuna minusta tuntuu, tulet sen vain kerran ja sitten bye bye ...

Kuinka monta while (1) käytät?Onko sinusta tämä on hyvä ohjelma?Annas kun arvaan ...taustasi on konekielellä, eikö?C on erilainen, sinun kannattaa lukea C, paljon lähteitä, btw.

 
Voisit yrittää käyttää keskeytys!Koodi on huono!

 
sinulla on pari suluissa väärässä paikassa
ja sinun täytyy lisätä kaksi uutta break; lausunnot

myös saada korkean ja matalan valtion jne. muuttujia käyttää

yrittää kirjoittaa määritellä, mitä tarvitset

Lisää nämä ylä

ja nämä avainsanat tulee määritellä ja tyyppi sidottu

jotta voidaan käyttää oman luokan

pitää
jos (blabla == true) ()
else if (blabla == FALSE) ()
else if (blabla == o) ()
else if ((blabla == FALSE) & & (foo = YES))
muuten
jne. ...

////////////////////////////////
/ /: CASE LOGIC MÄÄRITELMÄT: / /
////////////////////////////////
# tapauksessa
# ifndef TOSI
# define TRUE 1
# endif
# ifndef FALSE
# define FALSE 0
# endif
# ifndef KYLLÄ
# define Kyllä 1
# endif
# ifndef NO
# define EI 0
# endif
# ifndef HIGH
# define HIGH 1
# endif
# ifndef LOW
# define LOW 0
# endif
# ifndef ON
# define ON 1
# endif
# ifndef OFF
# define OFF 0
# endif
# ifndef UP
# määrittää UP 1
# endif
# ifndef DOWN
# define DOWN 0
# endif
# ifndef UCHAR
# define UCHAR char
# endif
# ifndef UINT
# define UINT pitkä
# endif
# ifndef BIT
# define hieman lyhyt
# endif
# ifndef Schär
# define Schär allekirjoitettu Int
# endif
# ifndef SINT
# define SINT allekirjoitti kauan
# endif
# ifndef FLOAT
# define FLOAT float
# endif
/////////////////////////////////
/////////////////////////////////

 

Welcome to EDABoard.com

Sponsor

Back
Top