USB grensesnitt med PIC16F877A

A

akhter900

Guest
Kjære alle, jeg gjør et prosjekt ved hjelp PIC16F877A. Jeg trenger å overføre noen data som lagres i PIC, til en PC med USB port. Jeg trenger følgende avklaring ... a) Hvilke komponenter bør jeg bruke for å bygge grensesnitt krets mellom PIC16F877A og PC via USB? b) Hvordan kan jeg designe kretsen? c) Hvordan kan jeg få hjelp til å skrive nødvendig USB kommunikasjon program for den krets? Er det noen som kan hjelpe meg? Jeg ivrig forventer dine verdifulle kommentarer og retningslinjer. Takk. akhter900
 
En måte ville være å bruke en FTDI chip tilgjengelig her: http://www.ftdichip.com/ Skrive usb-kode er ikke trivielt, men hvis du bruker en FTDI chip, det er alt tatt vare på for deg med gratis drivere for nedlasting. De selger også komplette moduler som plugger inn en 28pin dill kontakt på brettet for enkel usb grensesnitt.
 
Takk. men jeg ønsker ikke å bruke modulen. Jeg ønsker å designe min egen krets. kan du hjelpe meg om dette? takk igjen.
 
Igjen, gå til FTDI websiite. Hvis du ønsker at din egen krets, de har program koblingsskjemaer når du bruker FTDI chips og eksempelkode du kan laste ned.
 
i min mening, endre målenheten fra 16F877A til PIC18F4550, har dette MCU nesten samme GPIO porter oppdrag som 16F877, ved siden av USB firmware er tilgjengelig på mikrobrikke nettsted: ellers bruker FTDI chips som FT245 USB-parallell eller FT232 USB-seriell konverter, men likevel anbefale PIC18F4550. hvis du brukte det jeg også anbefale å bruke mikrochip CDC firmware (tilgjengelig på linken over inne i programvarepakken du vil laste ned) føre til at det vil etterligne en PC COM-port og vil være lett å implementere programmet på verten (PC) for å kommunisere med den PIC18F4550 bruker Win32 API i Visual C + + eller V BASIC. Lykke til
 
Jeg er enig med 'elrayes' switch til 18F4550 - din eneste MCU vil kunne kommunisere over USB og tilgjengelig for deg Kontroll søknad
 
akhter, er det USB-protokollen ikke trivielt. Anbefalingene å gå med enten en onboard motor eller en dedikert driver er det "bare" veien å gå. Jeg personlig bruker en MAX3421 med Atmel enheter og finner det svært vennlige. Ved hjelp av SPI, denne "lim inn"-enhet kan enten være vert eller enhet.
 
jeg er med uttalelse bruke pic18f4550 microchip er at allerede programmet på pc der du kan kommunisere med USB-enheten, også den firmware du vil sette på pic18f4550 som inkluderer hele implementeringen for usb protokoll og føreren av USB-enhet. gjør usb selv er ikke lett det vil ta lang tid fra deg som du må utvikle: 1-PC-program 2 - usb-driveren i Windows 3 - firmware og med denne løsningen willl du designe din egen krets og du vil redigere firmware og søknad som passer din design
 
Hei alle sammen ...... Tusen takk mye mye ...... Jeg studerer på FTDI (FT245BM) chip. Takk for forslaget om å bruke 18F4550. Jeg studerer også på den. Takk igjen for dine verdifulle innspill.
 
Oh ....... FT245BM ikke er tilgjengelig, og det er så komplisert. Ja ..... bruker 18F4550 er mer enklere. Jeg har kjøpt at IC bare i dag. Jeg må studere på det første så vil jeg starte mitt arbeid. Hai, forskere .... Jeg ivrig forventer dine verdifulle kommentarer og forslag om sjåføren (e) og compiller. Jeg vil bruke PICC compiller. hva tror du? Ok, takk igjen. lykke til.
 
Den FT245R er svært enkel sammenlignet med USB stabelen. Du kan prøve Swordfish BASIC som den har USB-støtte i fullversjonen.
 
du kan bruke "microchp USB firmware", postet jeg den koblingen før i mitt forrige svar, installere det så vil du finne et utvalg av ferdige drivere (HID, CDC, masselagring) alt for PIC MCU. I min mening bruke CDC firmware, dens mer lettere som den vil gjennomføre en virtuell COM på PC med vil være lettere å grensesnitt ved hjelp av VB eller VC #. bare du vil sette ur kode inne i en funksjon som heter "processio". Kontakt meg hvis du trenger noe angående CDC løsning. Lykke til :)
 
hei ..... hver og en ... hvordan er det som skjer? oh ... Jeg overfor kompilatoren problem nå. Jeg brukte PICC kompilator for 16F serien. Det fungerer ikke for 18F4550. Hvordan kan jeg få oppdaterte kompilatoren? Har du som kompilator ... Er det mulig å gi meg det? Jeg blir så mye takknemlig for deg. Tusen takk. TC.
 
Hei Akhter Jeg brukte C18 kompilator, men PICC er enklere, men C18 er ikke dårlig, og vil gjøre det bra, installerer MPLAB deretter C18 (en gratis akademisk versjon er tilgjengelig på mikrobrikke nettsted) så installere Microchip USB rammeverk (link postet tidligere). Foruten så vidt jeg vet at det er en PICC versjon for 18F familie, sjekk nettet for det. Lykke til
 
HIE alle, jeg overfor så mange problemer ........ offfff ... Jeg vet ikke hva som skjer .... Jeg har lastet følgende eksempel kode (Fra MPLAB) til PIC18F4550 ... Men det fungerer ikke. Dette er den enkle program for å teste ..... Jeg tror det ... # Include # pragma config WDT = OFF void forsinkelse (void) {usignert int i; for (i = 0; i <10000; i + +);} void main (void) {TRISB = 0, mens (1) {/ * Reset lysdiodene * / PORTB = 0x00; / * Delay så menneskelig øye kan se forandring * / forsinkelse (); / * Lys lysdiodene * / PORTB = 0x5A; / * Delay så menneskelig øye kan se forandring * / forsinkelse ();} } Jeg bruker den samme krets laget tidligere for 16F877A. Er kretsen OK for PIC18F4550? Jeg sjekket datablad og andre eksempler kretser fra internett ..... og de kretser er samme både for PIC. Jeg bruker "PICKIT 2" programmerer v2.40 for å laste inn. Hex-filen av programmet. Men jeg fant ingen effekt i PIC .... offff .......... Hva bør jeg gjøre i denne situasjonen? Er problemet i bootloader? Hvordan laste det .... hjelp PICKIT 2 programmerer? behage hjelpe meg. TC
 
Først kan du bruke PICkit2 fra innsiden MPLAB, men sørg for å gjøre det "Release" ikke "Debug" for å programmere PIC. Dernest forsøker å sette innledende verdi i PORT låsen "LATB", som: # include # pragma config WDT = OFF void forsinkelse (void) {usignert int i; for (i = 0; i <10000; i + +);} void main (void) {TRISB = 0; LATB = 0x00; / / startverdi for port B while (1) {/ * Reset lysdiodene * / PORTB = 0x00; / * Delay så menneskelig øye kan se forandring * / forsinkelse (); / * Lys lysdiodene * / PORTB = 0x5A; / * Delay så menneskelig øye kan se forandring * / forsinkelse ();}} for det tredje: problemet kan finnes i kompilatoren Optimizer, deaktivere optimizermikrofon å unngå å hoppe for loop deg bruker i forsinkelsen, kan du bruke tidtakere i stedet for å generere forsinkelser. Lykke til :)
 
Tusen takk .... Egentlig problemet var i kompilator ............ det var virkelig en smerte for de siste to ukene ....... offff .... Jeg bare bytte til mikroC v: 8.2.0.0 kompilator .... nå PIC arbeider ... MEN .... Når jeg prøver å tilordne en variabel til PORTB .... PIC virker ikke. Eksempel: ==================== røye i; void main (void) {TRISB = 0; PORTB = 0; i = 1, mens (1) {PORTB = I; / / lys de første LED delay_ms (1000); / / forsinkelse 1 sekund hvis (i == 255) i = 0; ellers i + +;} / / slutt while (1)} / / end main ===== =============== noen kan hjelpe med dette? Jeg bruker PIC 18F4550 og mikroC v: 8.2.0.0 TC
 
u prøver å kilde lysdiodene hvorfor ikke u bruker vasken konfigurasjon første connet den positive enden av førte til batteriet via motstanden å begrense strømmen, conect den negative siden av førte til mikrokontrolleren PORTB pinnene og så lav PORTB pins én etter én i stedet for å sende røye verdier bruke usignerte int forresten hvordan u funnet ut at kontrolleren fungerer
 
Koden uten sløyfen fungerer godt ........ PORTB = 0x02; delay_ms (1000); PORTB = 0x04; delay_ms (1000); PORTB = 0x08; delay_ms (1000); PORTB = 0x10; delay_ms (1000); PORTB = 0x20; delay_ms (1000); dvs hvorfor jeg sa at PIC arbeider ..... [Size = 2] [color = # 999999] Lagt etter 2 timer 57 minutter: [/color] [/size] Noen som kan gi meg hex-filen for følgende program? Jeg bruker PIC18F4550 ================== usignert int i; void main () {ADCON1 = 15; TRISB = 0b00000000; PORTB = 0; i = 0, mens (1 ) {if (i == 255) i = 0; ellers i = i +1; delay_ms (10), PORTB = i; delay_ms (1000);}} ============== ======
 

Welcome to EDABoard.com

Sponsor

Back
Top