Regler | Recent posts | emnet RSS | Søk | Registrer | Logg inn

Hvordan Lage UART med Software (ikke brukt SBUF) på 8051


Post new topic Reply to topic EDAboard.com Forum Hovedsiden -> Microcontrollers -> Hvordan Lage UART med Software (ikke brukt SBUF) på 8051
Forfatter Melding
winit_a



Joined: 16 november 2003
Innlegg: 17


Post 15 februar 2004 4:42

UART XOFF implementering


Hvordan Lage UART Med programvare?
Mitt prosjekt Brukt 3 UART (normalt har 1 UART med HARDWARE P3.0 og P3.1)

8051 MCU@11.0592MHz
Hvordan Lage UART brukt P2 eller P1 til Interface RS-232
Tilbake til toppen
pisoiu



Joined: 31 desember 2002
Innlegg: 729
Hjalp: 24
Sted: Romania


Post 15 februar 2004 10:58

tidtakere t232


Hei,
Min mening: det er jævla hardt. Du må gjøre det ved hjelp av avbrudd, men 8051 er en relativt langsom kontroller, forblir ytelsen under 1mips på 11,0592 MHz klokke for klassiske 8051-versjoner (1instruction syklus = 12 klokken syklus). Mer enn én seriell port implementert i programvaren vil spise nesten all prosessor tid, spesielt hvis du ønsker å gå opp til 115200bps med disse portene, eller hvis du ønsker å gjennomføre alle mulige parametre (6/7/8 databiter selecteble, 1 / 2 stoppbiter, paritet Odd / Even / mark / space / ingen, flytkontroll valgbart xon-xoff/hard/none). Min sugestion er å bruke en endret arkitektur 8051 fra Cypress, eller å bruke en scenix microcontroller (www.ubicom.com). For scenix kontrolleren jeg kan gi koden til 8 UARTs samtidig. Dette hvis du vil ha en programvare gjennomføring. Hvis Yau vil maskinvaren, kan du bruke max3100 (leveregel).

Best,
Tilbake til toppen
Ajay



Joined: 29 februar 2004
Innlegg: 31


Post 29 februar 2004 23:10

8051 UART enda 7 1


Du kan opprette en UART (i tillegg til å bruke SBUF) ved hjelp av en dedikert timer og skrive veldig fort kode for å rotere litt. På den innkommende siden (RXD), må du bruke en interrupt pin. Når avbruddet kommer, start tidtakere og lese pin statusen til bære, rotere og lage din innkommende bytes. Fungerer bra opptil 9600 Baud (jeg har brukt det).

Men å lage ytterligere to samtidig? Glem det. Selv om du bruker to dedikerte timere, avbruddet rutiner bli så stor at du vil savne biter.

Dersom du leter etter treg UARTs (1200 Baud eller tregere), så denne teknikken fungerer for opptil 2 UART's. Husk at du vil gi opp alle de tre timere (som brukes for overføringshastighet gen for SBUF, en for port 1 og en for port 2 timing) samt både avbrudd.

Så er bedre design for å bruke en ARM-brikke med to UART's (jeg har laget 2 ekstra UARTs på 19200 baud med en ARM) eller bruk Rabbit kontrolleren eller noe sånt.

Ajay
Tilbake til toppen
beuch



Joined: 06 Jun 2001
Innlegg: 65
Sted: Frankrike


Post 03 Mar 2004 13:45

mikrokontroller sbuf


Hei,

ta en titt på den vedlagte filen fra Philips web AN.

AN446

ha det


Beklager, men du må logge inn for å vise dette vedlegget

Tilbake til toppen
crazytnt



Joined: 02 Feb 2004
Innlegg: 8


Post 03 Mar 2004 16:43

UART gjennomføring 8051 ASM


Det er veldig vanskelig.
Foreslår at du bruker maskinvare.
Tilbake til toppen
J_expoler2



Joined: 10 mai 2003
Innlegg: 179
Hjalp: 19


Post 03 Mar 2004 17:00

UART gjennomføring i 8051


Hei
Jeg har noen ide UART men sender data kun ved hjelp av timer 0
bit T232 som TxD
MOV TMOD, # 22H
MOV TH0, # 70H
MOV TL0, # 70H
SETB EA
SETB ET0
SETB TR1
;
;
;
;
funksjon sende data:
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; stoppbit
CLR TF0
JNB TF0, $
RET
det kanskje hjelpe u
BR.
Tilbake til toppen
fireplus



Joined: 31 oktober 2003
Innlegg: 195
Hjalp: 5


Post 04 Mar 2004 2:29

80C51 programvare UART


prøv det

[hr: 5c6e3c7296]
Fire in the Wire: sm2:
Tilbake til toppen
Google
AdSense
Google Adsense




Post 04 Mar 2004 2:29

Annonser







Beklager, men du må logge inn for å vise dette vedlegget

Tilbake til toppen
Ajay



Joined: 29 februar 2004
Innlegg: 31


Post 08 Mar 2004 11:28

XON XOFF 8051


J_expoler2 skrev:
Hei
Jeg har noen ide UART men sender data kun ved hjelp av timer 0
bit T232 som TxD
MOV TMOD, # 22H
MOV TH0, # 70H
MOV TL0, # 70H
SETB EA
SETB ET0
SETB TR1
;
;
;
;
funksjon sende data:
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; stoppbit
CLR TF0
JNB TF0, $
RET
det kanskje hjelpe u
BR.


Dette er bare bra for overføring. Problemet kommer når du prøver å få også. Først av alt, vil denne metoden ALDRI arbeide for full duplex drift med mindre du bruker to forskjellige timere.

Videre for mottak, må du bruke en hardware interrupt som nettopp starte tidtakeren til rett tid og vil hjelpe flytte data. Igjen, er denne metoden bare bra som en halv dupleks kommunikasjon.

En annen kompleksitet kommer fra det faktum at avbruddet rutiner blir lang og vil føre til problemer med manglende biter. Husk at feilen vil samle over en periode!

Den beste måten er å bruke en brikke som har mer serieporter (ARM, uPSD fra ST etc.)

Ajay
Tilbake til toppen
Arabiske versjonen Bulgarsk versjon Catalan versjon Tsjekkisk versjon Dansk version Tysk versjon Gresk versjon English version Spansk versjon Finsk versjon Fransk versjon Hindi versjon Kroatisk versjon Indonesisk versjon Italiensk versjon Hebraisk versjon Japansk versjon Koreanske versjonen Litauisk versjon Latvisk versjon Nederlandsk versjon Norsk versjon Polsk versjon Portugisisk versjon Rumensk versjon Russisk versjon Slovakisk versjon Slovensk versjon Serbisk versjon Svensk versjon Tagalog version Ukrainsk versjon Vietnamesisk versjon Kinesisk versjon
Post new topic Reply to topic EDAboard.com Forum Hovedsiden -> Microcontrollers -> Hvordan Lage UART med Software (ikke brukt SBUF) på 8051
Side 1 av 1

subj

text

Alle klokkeslett er GMT 1 Hour
Lignende emner:
hvor å iverksette myke UART på 8051 (2)
Hvordan lage plane bølgen ikke justert med akse? (1)
hjelp på seriell kommunikasjon ved hjelp av programvaren ikke UART (5)
Hjelp: Hvordan takle IOS som ikke brukes? (8)
U1RXREG med UART ikke å være på? (1)
å lese fra sbuf i 8051 (1)
hvordan du oppretter en C-kode fil for 8051 (5)
SBUF i 8051 (3)
Programvare UART for 8051 Bruke Embedded C (1)
Hvordan finne en brukt RAM-brikke fungerer eller ikke?? (2)


Abuse | | Administrator | | Moderatorer | | Støtt oss | | sitemap
topic RSS