Regler | Recent posts | emne RSS | Søg | Registrer | Log ind

Sådan oprettes UART med Software (ikke anvendes SBUF) på 8051

Post new topic Reply to topic EDAboard.com Forum Indeks -> Microcontrollers -> Sådan oprettes UART med Software (ikke anvendes SBUF) på 8051
Arabisk Bulgarsk Catalanske udgave Tjekkisk Dansk version Tysk version Græsk Engelsk version Spanske version Finsk Fransk version Hindi version Kroatisk version Indonesiske version Italiensk version Hebraisk udgave Japanske version Koreanske version Litauisk Lettisk version Hollandsk version Norsk version Polsk Portugisiske udgave Rumænske version Russian version Slovakisk Slovensk Serbisk version Svensk version Tagalog version Ukrainsk version Vietnamesisk version Kinesiske version
Forfatter Besked
winit_a



Tilsluttet: 16 november 2003
Stillinger: 17


Post 15 februar 2004 5:42 Sådan Opret UART med Software (ikke anvendes SBUF) på 8051

Sådan oprettes UART med software?
Mit projekt Brugt 3 UART (normal har 1 UART med hardware P3.0 og P3.1)

8051 MCU@11.0592MHz
Sådan oprettes UART anvendes P2 eller P1 til Interface RS-232
Tilbage til toppen
View user's profile
pisoiu



Tilsluttet: 31. december 2002
Posts: 723
Hjulpet: 24
Beliggenhed: Rumænien


Post 15 februar 2004 11:58 Re: Sådan oprettes UART med Software (ikke anvendes SBUF) på 8051

Hej,
Min mening: Det er forbandet svært. Du bliver nødt til at gøre det ved hjælp af interrupts, men 8051 er en forholdsvis langsom controller, dens præstationer ophold under 1mips på 11,0592 MHz uret for klassiske 8051 versioner (1instruction cyklus = 12 taktcyklus). Mere end en seriel port implementeret i softwaren vil spise næsten alle processor tid, især hvis du ønsker at gå op til 115200bps med disse havne, eller hvis du ønsker at gennemføre alle mulige parametre (6/7/8 data bits selecteble, 1 / 2 stopbit, paritet Ulige / lige / mærke / space / ingen, Strømningsreguleringen vælges xon-xoff/hard/none). Min sugestion er at bruge en modificeret arkitektur 8051 fra cypres, eller at bruge en scenix microcontroller (www.ubicom.com). For scenix controller Jeg kan give kode for 8 uarts samtidigt. Dette, hvis du vil have en software gennemførelse. Hvis Yau ønsker hardware, kan du bruge max3100 (maksime).

Bedste,
Tilbage til toppen
View user's profile
Ajay



Tilsluttet: 29. februar 2004
Stillinger: 31


Post 01 marts 2004 0:10 Re: Sådan oprettes UART med Software (ikke anvendes SBUF) på 8051

Du kan oprette en UART (ud over at bruge SBUF) ved hjælp af en dedikeret timeren og skriver meget hurtigt kode for at rotere bit. På den indgående side (RXD), skal du bruge en afbryder pin. Når afbryder kommer, skal du starte din timere og læs PIN-status i carry, rotere og oprette din indgående bytes. Fungerer godt op til 9600 Baud (Jeg har brugt det).

Men at skabe yderligere to på samme tid? Glem det. Selv hvis du bruger to dedikerede tidstællere, Interrupt rutiner blevet så store, at du vil savne bits.

Hvis du leder efter langsom UARTs (1200 Baud eller langsommere), da denne teknik værker for op til 2 UART's. Husk, at du vil opgive alle de tre tidstællere (en anvendes til baudhastighed gen for SBUF, en for-port 1 og én for port 2 timing) samt både interrupts.

Så, bedre design er at bruge en ARM-chip med to UART's (Jeg har lavet 2 ekstra UARTs på 19200 Baud med en ARM) eller bruge Kanin registeransvarlige eller nogle af disse ting.

Ajay
Tilbage til toppen
View user's profile
beuch



Tilsluttet: 06 juni 2001
Stillinger: 65
Location: Frankrig


Post 03 marts 2004 14:45 Re: Sådan oprettes UART med Software (ikke anvendes SBUF) på 8051

Hej,

have et kig på den vedhæftede fil fra Philips web AN.

AN446

farvel


Beklager, men du skal login for at se denne tilslutningskrav

Tilbage til toppen
View user's profile
crazytnt



Tilsluttet: 02 februar 2004
Stillinger: 8


Post 03 marts 2004 17:43 Re: Sådan oprettes UART med Software (ikke anvendes SBUF) på 8051

Det er meget vanskeligt.
Foreslår, at du bruger hardware.
Tilbage til toppen
View user's profile
J_expoler2



Tilsluttet: 10. maj 2003
Posts: 179
Hjulpet: 19


Post 03 marts 2004 18:00 Re: Sådan oprettes UART med Software (ikke anvendes SBUF) på 8051

Hej
Jeg har en idé UART men sender kun data ved hjælp af timeren 0
bit T232 som TxD
MOV TMOD, # 22h
MOV TH0, # 70H
MOV TL0, # 70H
SETB EA
SETB ET0
SETB TR1
;
;
;
;
funktion 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; STOP BIT
CLR TF0
JNB TF0, $
RET
det måske hjælpe u
BR.
Tilbage til toppen
View user's profile
fireplus



Tilsluttet: 31. oktober 2003
Stillinger: 195
Hjulpet: 5


Post 04 marts 2004 3:29 Re: Sådan oprettes UART med Software (ikke anvendes SBUF) på 8051

forsøge at

[hr: 5c6e3c7296]
Brand i det Wire: sm2:
Tilbage til toppen
View user's profile
Google
AdSense





Post 04 marts 2004 3:29 Annoncer






Beklager, men du skal login for at se denne tilslutningskrav

Tilbage til toppen
Ajay



Tilsluttet: 29. februar 2004
Stillinger: 31


Post 08 marts 2004 12:28 Re: Sådan oprettes UART med Software (ikke anvendes SBUF) på 8051

J_expoler2 wrote:
Hej
Jeg har en idé UART men sender kun data ved hjælp af timeren 0
bit T232 som TxD
MOV TMOD, # 22h
MOV TH0, # 70H
MOV TL0, # 70H
SETB EA
SETB ET0
SETB TR1
;
;
;
;
funktion 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; STOP BIT
CLR TF0
JNB TF0, $
RET
det måske hjælpe u
BR.


Dette er kun godt for indberetning. Problemet kommer, når du forsøger at få så godt. Først og fremmest, at denne metode vil ALDRIG arbejde for fuld duplex operationen, medmindre du bruge to forskellige tidstællere.

Desuden, for at modtage, skal du bruge en hardware interrupt som netop starter timeren på det rigtige tidspunkt og derefter vil bidrage til at flytte data. Også denne metode er kun godt som en halv duplex kommunikation.

En anden kompleksitet kommer fra det faktum, at afbryde rutiner bliver lang og vil forårsage problemer ved manglende bits. Husk på, at fejlen vil akkumuleres over en periode!

Den bedste måde er at bruge en chip, som har mere serielle porte (ARM, uPSD fra ST osv.)

Ajay
Tilbage til toppen
View user's profile
Post new topic Reply to topic EDAboard.com Forum Indeks -> Microcontrollers -> Sådan oprettes UART med Software (ikke anvendes SBUF) på 8051
Side 1 af 1 Alle tidspunkter er GMT 2 timer


Misbrug | | Administrator | | Moderatorer | | Støt os | | sitemap
topic RSS