Règlement | Derniers messages | RSS sujet | Recherche | Inscription | Connexion

Comment faire pour créer des logiciels UART (pas utilisé SBUF) sur 8051

Post new topic Reply to topic EDAboard.com Index du Forum -> Microcontrollers -> Comment faire pour créer des logiciels UART (pas utilisé SBUF) sur 8051
Version arabe Version bulgare Catalan version Version tchèque Version danoise Version allemande Version grecque English version Version espagnole Version finlandaise Version française Hindi version Croatian version Indonesian version Version italienne Version en hébreu Version japonaise Korean version Version lituanienne Version lettone Version néerlandaise Version norvégienne Version polonaise Version portugaise Version roumaine Version russe Version slovaque Version slovène Version serbe Version suédoise Tagalog version Version ukrainienne Version vietnamienne Version chinoise
Auteur Message
winit_a



Inscrit le: 16 Nov 2003
Messages: 17


Post 15 février 2004 5:42 Comment faire pour créer des logiciels UART (pas utilisé SBUF) sur 8051

Comment faire pour créer UART avec logiciel?
Mon projet d'occasion 3 UART (normale de 1 UART avec HARDWARE P3.0 et P3.1)

8051 MCU@11.0592MHz
Comment faire pour créer UART utilisé P1 ou P2 à l'interface RS-232
Haut de page
View user's profile
pisoiu



Inscription: 31 décembre 2002
Messages: 723
A aidé: 24
Lieu: Roumanie


Post 15 février 2004 11:58 Re: Comment faire pour créer des logiciels UART (pas utilisé SBUF) sur 8051

Salut,
Mon avis: il est sacrément difficile. Vous aurez à le faire en utilisant les interruptions, mais 8051 est un contrôleur relativement lente, sa performance reste sous 1mips à 11,0592 mhz horloge classique pour les versions 8051 (1instruction cycle = 12 cycle d'horloge). Plus d'un port série de mises en œuvre dans le logiciel de traitement de manger presque tous les temps, surtout si vous voulez aller jusqu'à 115200 bps avec ces ports, ou si vous souhaitez mettre en œuvre tous les paramètres possibles (6/7/8 bits de données selecteble, 1 / 2 bits de stop, parité impaire / même / marque / espace / none, contrôle de flux xon-xoff/hard/none sélectionnables). Ma suggestion est d'utiliser une modification de l'architecture 8051 de cyprès, ou d'utiliser un microcontrôleur scenix (www.ubicom.com). Pour scenix contrôleur je peux vous donner le code pour 8 UART simultanément. Ce, si vous voulez un logiciel de mise en œuvre. Si le matériel yau voulez, vous pouvez utiliser max3100 (maxime).

Meilleur,
Haut de page
View user's profile
Ajay



Inscrit le: 29 février 2004
Posts: 31


Post 01 mars 2004 0:10 Re: Comment faire pour créer des logiciels UART (pas utilisé SBUF) sur 8051

Vous pourriez créer un UART (en plus de l'utilisation des SBUF) consacré à l'aide d'une minuterie et d'écriture très rapide pour faire tourner le code bit. Sur le côté entrant (RXD), vous devez utiliser une interruption broches. Quand vient l'interrompre, démarrez votre timers et lire la broche en état transporter, faire pivoter et de créer vos octets. Fonctionne bien jusqu'à 9600 Baud (je l'ai utilisée).

Toutefois, la création de deux autres en même temps? Forget it. Même si vous utilisez deux consacrés timers, les routines d'interruption devenir si grand que vous manquez bits.

Si vous êtes à la recherche de la lenteur des UART (1200 bauds ou plus lent), alors cette technique fonctionne pour jusqu'à 2 UART's. Gardez à l'esprit que vous allez renoncer à toutes les trois timers (un pour la vitesse de transmission utilisée pour SBUF gen, l'une pour le port 1 et un port pour les 2 temps) ainsi que les interruptions.

Ainsi, une meilleure conception est d'utiliser une puce ARM avec deux UART's (j'ai créé 2 autres UART à 19200 bauds avec un ARM) ou utiliser le contrôleur de lapin ou autre chose.

Ajay
Haut de page
View user's profile
beuch



Inscrit le: 06 juin 2001
Posts: 65
Lieu: France


Post 03 mars 2004 14:45 Re: Comment faire pour créer des logiciels UART (pas utilisé SBUF) sur 8051

Salut,

jeter un oeil à la pièce jointe à partir de Philips web AN.

AN446

au revoir


Désolé, mais vous avez besoin de login pour afficher cette pièce jointe

Haut de page
View user's profile
crazytnt



Inscription: 02 février 2004
Messages: 8


Post 03 mars 2004 17:43 Re: Comment faire pour créer des logiciels UART (pas utilisé SBUF) sur 8051

Il est très difficile.
Suggérons d'utiliser le matériel.
Haut de page
View user's profile
Google
AdSense





Post 03 mars 2004 17:43 Annonces



Haut de page
J_expoler2



Inscrit le: 10 Mai 2003
Messages: 179
A aidé: 19


Post 03 mars 2004 18:00 Re: Comment faire pour créer des logiciels UART (pas utilisé SBUF) sur 8051

Salut
J'ai une idée UART mais seulement envoyer des données à l'aide de timer 0
T232 peu comme TxD
MOV TMOD, # 22H
MOV TH0, # 70h
MOV TL0, # 70h
SETB EA
SETB ET0
SETB TR1
;
;
;
;
fonction de l'envoi de données:
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
peut-être aider à u
BR.
Haut de page
View user's profile
fireplus



Inscrit le: 31 Oct 2003
Messages: 195
Helped: 5


Post 04 mars 2004 3:29 Re: Comment faire pour créer des logiciels UART (pas utilisé SBUF) sur 8051

essayer

[hr: 5c6e3c7296]
Fire in the Wire: SM2:


Désolé, mais vous avez besoin de login pour afficher cette pièce jointe

Haut de page
View user's profile
Ajay



Inscrit le: 29 février 2004
Posts: 31


Post 08 mars 2004 12:28 Re: Comment faire pour créer des logiciels UART (pas utilisé SBUF) sur 8051

J_expoler2 a écrit:
Salut
J'ai une idée UART mais seulement envoyer des données à l'aide de timer 0
T232 peu comme TxD
MOV TMOD, # 22H
MOV TH0, # 70h
MOV TL0, # 70h
SETB EA
SETB ET0
SETB TR1
;
;
;
;
fonction de l'envoi de données:
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
peut-être aider à u
BR.


Ce n'est bon pour la transmission. Le problème arrive quand vous essayez de recevoir aussi. Tout d'abord, cette méthode ne fonctionnera jamais pour le fonctionnement en duplex intégral, sauf si vous utilisez deux DIFFERENTS timers.

En outre, pour la réception, vous aurez besoin d'utiliser une interruption de matériel qui sera précisément commencer le compte à rebours, au bon moment et permettra de transférer les données. Encore une fois, cette méthode est valable seulement comme une communication half duplex.

Une autre complexité vient du fait que les routines d'interruption devenir long et peut causer des problèmes par manque bits. Gardez à l'esprit que l'erreur s'accumulent sur une période de temps!

Le meilleur moyen est d'utiliser une puce qui a plus de ports série (ARM, de ST uPSD etc)

Ajay
Haut de page
View user's profile
Post new topic Reply to topic EDAboard.com Index du Forum -> Microcontrollers -> Comment faire pour créer des logiciels UART (pas utilisé SBUF) sur 8051
Page 1 de 1 Toutes les heures sont au format GMT 2 Heures


Abus | | Administrateur | | Modérateurs | | Soutenez-nous | | Plan du site
topic RSS