| Avtor | Sporočilo |
|---|
winit_a
Pridružen /-a: 16. november 2003 Posts: 17
| 15. februar 2004 5:42 Kako Ustvari UART s programsko opremo (ne uporablja SBUF) na 8051 | | |
|
| Kako ustvariti UART s programsko opremo? Moj projekt Rabljena 3 UART (normalni so 1 UART z OPREMA P3.0 in P3.1)
8051 MCU@11.0592MHz Kako ustvariti UART uporablja P2 ali P1 do vmesnika RS-232 |
|
| Nazaj na vrh | |
 |
pisoiu
Pridružen /-a: 31. december 2002 Posts: 723 Pomagali: 24 Location: Romunija
| 15. februar 2004 11:58 Re: Kako ustvariti UART s programsko opremo (ne uporablja SBUF) na 8051 | | |
|
| Živjo, Moje mnenje: to je prekleto težko. Boste morali to storiti ob uporabi prekine, vendar 8051 je razmeroma počasen upravljavca, njegovo delovanje ostane v okviru 1mips na 11,0592 MHz clock za klasičen različica 8051 (1instruction cikel = 12 taktu). Več kot en serijski vmesnik se izvajajo v programski opremi bo jedel skoraj vse predelovalec času, še posebej, če želite priti do 115200bps s tistimi pristanišči, ali če želite izvajati vse možne parametre (6/7/8 podatkov bitov selecteble, 1 / 2 stop bitov, pariteta ak / celo / znamke / space / none, nadzor pretoka Selektivan xon-xoff/hard/none). Moj sugestion je za uporabo spremenjenih arhitekture 8051 od čempresa, ali uporabite scenix mikrokrmilniška (www.ubicom.com). Za scenix kontrolor I lahko kodo za 8 uarts istočasno. To, če želite programsko izvajanje. Če yau želim strojne opreme, lahko uporabite max3100 (Maxim).
Najboljši, |
|
| Nazaj na vrh | |
 |
Ajay
Pridružen /-a: 29. februar 2004 Posts: 31
| 01. marec 2004 0:10 Re: Kako ustvariti UART s programsko opremo (ne uporablja SBUF) na 8051 | | |
|
| Lahko ustvarite enega UART (poleg uporabo SBUF) z uporabo namenskega časovnik in pisanje zelo hitro kodo za vrtenje bit. Na dohodni strani (RXD), morate uporabiti prekine pin. Ko se prekinejo, začeti vaš čas in preberite nožičnih status v prevoz, zavrtite in ustvarite dohodne zlogih. Deluje tudi upto 9600 Baud (sem jo uporabljajo).
Vendar pa ustvarja dve istočasno? Pozabi. Tudi če uporabljate dva namenska časovnike, se prekinejo rutino postala tako velika, da boste izpustili bitov.
Če iščete počasno UARTs (1200 Baud ali počasnejši), potem je to tehniko dela za upto 2 UART's. Imejte v mislih, da vam bo dal vse tri ure (tisti, ki se uporablja za baudov stopnja gen za SBUF, eno za pristanišče 1 in eno pristanišče 2 časa), kot tudi tako prekinja.
Torej, boljši model za uporabo ARM čipom z dvema UART je (jaz sem ustvaril 2 dodatna UARTs na 19200 Baud z roko) ali pa uporabite Zajec upravljavec ali nekaj takega stvar.
Ajay |
|
| Nazaj na vrh | |
 |
beuch
Pridružen /-a: 06. junij 2001 Posts: 65 Lokacija: Francija
| 03. marec 2004 14:45 Re: Kako ustvariti UART s programsko opremo (ne uporablja SBUF) na 8051 | | |
|
| Živjo,
imajo pogled na priloženo datoteko iz Philips spletna AN.
AN446
adijo
|
|
| Nazaj na vrh | |
 |
crazytnt
Pridružen /-a: 02. februar 2004 Posts: 8
| 03. marec 2004 17:43 Re: Kako ustvariti UART s programsko opremo (ne uporablja SBUF) na 8051 | | |
|
| To je zelo težko. Predlagamo, da uporabljate strojno opremo. |
|
| Nazaj na vrh | |
 |
Google AdSense

| 03. marec 2004 17:43 oglasov | | |
|
|
|
|
| Nazaj na vrh | |
 |
J_expoler2
Pridružen: 10. maj 2003 Posts: 179 Pomagali: 19
| 03. marec 2004 18:00 Re: Kako ustvariti UART s programsko opremo (ne uporablja SBUF) na 8051 | | |
|
| Živjo Imam idejo, UART pa poslati le podatke, ki jih uporabljate časovnik 0 bit T232 kot TxD MOV TMOD, # 22h MOV TH0, # 70H MOV TL0, # 70H SETB EA SETB ET0 SETB TR1 ; ; ; ; funkcije poslati podatke: CLR T232; START BIT SETB TR0 MOV R7, # 8
TX_LOOP: RRC A JNB TF0, $ MOV T232, C CLR TF0 DJNZ R7, TX_LOOP JNB TF0, $ SETB T232; STOP BIT CLR TF0 JNB TF0, $ RET je morda pomagala u BR. |
|
| Nazaj na vrh | |
 |
fireplus
Pridružen /-a: 31. oktober 2003 Posts: 195 Pomagali: 5
| 04. marec 2004 3:29 Re: Kako ustvariti UART s programsko opremo (ne uporablja SBUF) na 8051 | | |
|
| poskusiti, da
[hr: 5c6e3c7296] Požar v Wire: SM2:
|
|
| Nazaj na vrh | |
 |
Ajay
Pridružen /-a: 29. februar 2004 Posts: 31
| 08. marec 2004 12:28 Re: Kako ustvariti UART s programsko opremo (ne uporablja SBUF) na 8051 | | |
|
| | J_expoler2 wrote: | Živjo Imam idejo, UART pa poslati le podatke, ki jih uporabljate časovnik 0 bit T232 kot TxD MOV TMOD, # 22h MOV TH0, # 70H MOV TL0, # 70H SETB EA SETB ET0 SETB TR1 ; ; ; ; funkcije poslati podatke: CLR T232; START BIT SETB TR0 MOV R7, # 8
TX_LOOP: RRC A JNB TF0, $ MOV T232, C CLR TF0 DJNZ R7, TX_LOOP JNB TF0, $ SETB T232; STOP BIT CLR TF0 JNB TF0, $ RET je morda pomagala u BR. |
To je samo dobro za pošiljanje. Težava pride, ko poskušate prejeli tudi. Prvič, ta metoda ne bo delo za Obosmjerni operaciji, razen če uporabljate dva različna ura.
Poleg tega se za prejemanje, boste morali uporabiti strojne motim, ki bo natančno začetek časa ob pravem času in takrat bodo pomagali premik podatkov. Tudi ta metoda je samo dobro kot pol komunikacijo po dupleksni metodi.
Drug kompleksnost izhaja iz dejstva, da prekine rutino postane dolg in bo povzročil težave, ki jih manjka bitov. Imejte v mislih, da bo napaka se kopičijo v daljšem časovnem obdobju!
Najboljši način je uporaba čip, ki ima več serijskih vrat (ARM, uPSD iz ST itd)
Ajay |
|
| Nazaj na vrh | |
 |