Regole | Recenti | argomento RSS | Ricerca | Registrati | Entra

Come creare UART con Software (SBUF non utilizzati), su 8051

Post new topic Reply to topic EDAboard.com Indice del forum -> Microcontrollori -> Come creare UART con Software (SBUF non utilizzati), su 8051
Versione araba Versione bulgara Versione catalana Versione ceca Versione danese Versione tedesca Versione greca Versione in lingua inglese Versione spagnola Versione finlandese Versione francese Hindi versione Versione croata Indonesiano versione Versione italiana Ebraico versione Versione giapponese Versione coreana Versione lituana Versione lettone Versione in lingua olandese Versione norvegese Versione polacca Versione portoghese Versione rumena Versione russa Versione slovacca Versione slovena Serbo versione Versione svedese Tagalog versione Ucraino versione Versione vietnamita Versione cinese
Autore Messaggio
winit_a



Iscritto il: 16 novembre 2003
Interventi: 17


Post 15 febbraio 2004 5:42 Come creare UART con Software (SBUF non utilizzati), su 8051

Come creare UART con software?
Il mio progetto Usato 3 UART (normale avere 1 UART hardware P3.0 e P3.1)

8051 MCU@11.0592MHz
Come creare UART utilizzati P1 o P2 per interfaccia RS-232
Torna a inizio pagina
View user's profile
pisoiu



Iscritto il: 31 dicembre 2002
Interventi: 723
Contribuito: 24
Località: Romania


Post 15 feb 2004 11:58 Re: Come creare UART con Software (SBUF non utilizzati), su 8051

Salve,
Il mio parere: è dannatamente difficile. Avrete a che fare con gli interrupt, ma 8051 è un controller relativamente lento, il suo rendimento resta sotto 1mips a 11,0592 MHz di clock per il 8051 le versioni classiche (1instruction ciclo di ciclo di clock = 12). Più di una porta seriale attuate in software mangiare quasi tutti i processori tempo, specialmente se si vuole andare fino a 115200bps con i porti, o se si vuole attuare tutti i possibili parametri (6/7/8 bit di dati selecteble, 1 / 2 bit di stop, parità pari / dispari / marchio / spazio / nessuno, il controllo di flusso xon-xoff/hard/none selezionabile). Il mio sugestion è quello di utilizzare uno modificati architettura 8051 da cipressi, o l'utilizzo di un microcontrollore scenix (www.ubicom.com). Per scenix controller di I grado di fornire il codice di 8 uarts contemporaneamente. Questo se si vuole un software di applicazione. Se desidera Yau hardware, è possibile utilizzare max3100 (massima).

Il migliore,
Torna a inizio pagina
View user's profile
Ajay



Iscritto il: 29 febbraio 2004
Interventi: 31


Post 01 marzo 2004 0:10 Re: Come creare UART con Software (SBUF non utilizzati), su 8051

Si potrebbe creare uno UART (in aggiunta a quelle che utilizzano il SBUF) utilizzando un timer dedicato molto veloce e la scrittura di codice per ruotare bit. Sul lato in entrata (RXD), è necessario utilizzare un interrupt pin. Quando arriva l'interrupt, avviare il timer e leggere il codice PIN in stato trasportare, ruotare e creare il tuo arrivo byte. Funziona bene fino a 9600 Baud (ho usato).

Tuttavia, la creazione di altri due allo stesso tempo? Dimentichi. Anche se si utilizzano due timer dedicato, interrompere la routine diventata così grande che si mancherà bit.

Se stai cercando un lento UARTs (1200 Baud o più lento), quindi questa tecnica per lavori fino a 2 UART's. Tieni presente che ti darà tutte le tre timer (quello utilizzato per il baud rate per gen SBUF, uno per la porta 1 e uno per la porta 2 tempi), così come sia la interrompe.

Quindi, una migliore progettazione è quello di utilizzare un chip ARM con due UART's (Ho creato 2 supplementari UARTs a 19.200 Baud con un braccio) o utilizzare il controller di coniglio o di alcune di queste cose.

Ajay
Torna a inizio pagina
View user's profile
beuch



Iscritto il: 06 giugno 2001
Interventi: 65
Luogo: Francia


Post 03 mar 2004 14:45 Re: Come creare UART con Software (SBUF non utilizzati), su 8051

Salve,

Provate a dare un'occhiata al file allegato da Philips web AN.

AN446

ciao


Siamo spiacenti, ma è necessario il login per visualizzare questo attaccamento

Torna a inizio pagina
View user's profile
crazytnt



Iscritto il: 02 febbraio 2004
Posti: 8


Post 03 mar 2004 17:43 Re: Come creare UART con Software (SBUF non utilizzati), su 8051

E 'molto difficile.
Consigliamo di utilizzare l'hardware.
Torna a inizio pagina
View user's profile
J_expoler2



Iscritto il: 10 maggio 2003
Interventi: 179
Contribuito: 19


Post 03 mar 2004 18:00 Re: Come creare UART con Software (SBUF non utilizzati), su 8051

Salve
Ho qualche idea UART inviare i dati, ma solo mediante timer 0
T232 po 'come TxD
MOV TMOD, # 22H
MOV TH0, # 70H
MOV TL0, # 70H
SETB EA
SETB ET0
SETB TR1
;
;
;
;
funzione di invio dei dati:
CLR T232; INIZIO 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; BIT DI STOP
CLR TF0
JNB TF0, $
RET
forse aiutare u
BR.
Torna a inizio pagina
View user's profile
fireplus



Iscritto il: 31 ottobre 2003
Interventi: 195
Contribuito: 5


Post 04 marzo 2004 3:29 Re: Come creare UART con Software (SBUF non utilizzati), su 8051

provare che

[hr: 5c6e3c7296]
Fuoco nel Wire: SM2
Torna a inizio pagina
View user's profile
Google
AdSense





Post 04 marzo 2004 3:29 Annunci






Siamo spiacenti, ma è necessario il login per visualizzare questo attaccamento

Torna a inizio pagina
Ajay



Iscritto il: 29 febbraio 2004
Interventi: 31


Post 08 mar 2004 12:28 Re: Come creare UART con Software (SBUF non utilizzati), su 8051

J_expoler2 ha scritto:
Salve
Ho qualche idea UART inviare i dati, ma solo mediante timer 0
T232 po 'come TxD
MOV TMOD, # 22H
MOV TH0, # 70H
MOV TL0, # 70H
SETB EA
SETB ET0
SETB TR1
;
;
;
;
funzione di invio dei dati:
CLR T232; INIZIO 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; BIT DI STOP
CLR TF0
JNB TF0, $
RET
forse aiutare u
BR.


Questo è solo un bene per la trasmissione. Problema nasce quando si tenta di ricevere un bene. Prima di tutto, questo metodo non potrà mai lavorare per il funzionamento full-duplex a meno che non si utilizzano due DIVERSI timer.

Inoltre, per la ricezione, è necessario utilizzare un componente hardware che si interrompono proprio avviare il timer al momento giusto e quindi contribuirà a trasferire i dati. Ancora una volta, questo metodo è buono solo come un mezzo di comunicazione duplex.

Un altro complessità deriva dal fatto che l'interrupt routine diventare lungo e causare problemi mancanti bit. Tieni presente che l'errore si accumulano nel corso di un periodo di tempo!

Il modo migliore è quello di utilizzare un chip che ha più porte seriali (ARM, uPSD da ST ecc)

Ajay
Torna a inizio pagina
View user's profile
Post new topic Reply to topic EDAboard.com Indice del forum -> Microcontrollori -> Come creare UART con Software (SBUF non utilizzati), su 8051
Pagina 1 di 1 Tutti gli orari sono GMT 2 ore


Abuso | | Administrator | | Moderatori | | Aiutaci | | Mappa del sito
topic RSS