Reguli | recente | subiect RSS | Cauta | Inregistrare | Autentificare

Cum se creează UART cu Software-ul (nu este utilizat SBUF) pe 8051

Post new topic Reply to topic EDAboard.com Forum Index -> Microcontrolere -> Cum se creează UART cu Software-ul (nu este utilizat SBUF) pe 8051
Arabă versiunea Versiunea bulgară Catalană versiunea Versiunea cehă Versiunea daneză Versiunea germană Versiunea în limba greacă Versiunea în limba engleză Limba spaniolă Versiunea finlandeză Versiunea franceză Hindi versiunea Croată versiunea Indoneziană versiunea Versiunea italiană Ebraică versiunea Versiune japoneză Coreeană versiunea Versiunea lituaniană Versiunea letonă Versiunea olandeză Norvegiană versiunea Poloneză versiunea Versiunea portugheză Versiunea română Versiune rusă Versiunea slovacă Versiunea slovenă Sârbă versiunea Versiunea suedeză Filipinez versiunea Ucraineană versiunea Vietnameză versiunea Chineză versiune
Autor Mesaj
winit_a



Alăturat: 16 noiembrie 2003
Posts: 17


Post 15 februarie 2004 5:42 Cum se creează UART cu Software-ul (nu este utilizat SBUF) pe 8051

Cum se creează UART Cu software-ul?
Meu proiect folosita 3 UART (1 UART-au obișnuit cu hardware-ul P3.0 și P3.1)

8051 MCU@11.0592MHz
Cum se creează UART utilizate P2 sau P1 la interfata RS-232
Back to top
View user's profile
pisoiu



Alăturat: 31 decembrie 2002
Posts: 902
A ajutat: 24
Locatie: Romania


Post 15 februarie 2004 11:58 Re: Cum se creează UART cu Software-ul (nu este utilizat SBUF) pe 8051

Salut,
Parerea mea: este al naibii de greu. Va trebui să o fac, folosind întrerupe, dar 8051 este un controler relativ lent, performanța rămâne sub 1mips la 11,0592 MHz pentru ceasul clasic 8051 versiuni (1instruction ciclu ciclu de ceas = 12). Mai mult de un port serial puse în aplicare în software-ul va mananca aproape toate procesor timp, mai ales dacă vrei să mergi până la 115200bps cu aceste porturi, sau dacă doriți să pună în aplicare toate posibil parametri (6/7/8 biți date selecteble, 1 / 2 opri biți, paritate impar / chiar / marca / spațiu / nu exista, a fluxului de control selectabile xon-xoff/hard/none). Sugestion meu este de a folosi o arhitectura modificate de la Cypress 8051, sau de a utiliza o scenix microcontroler (www.ubicom.com). Pentru scenix controller-am putea oferi codul pentru 8 uarts simultan. Acest lucru, dacă doriți un program de punere în aplicare. Dacă doriți yau hardware, puteți utiliza max3100 (maxim).

Cel mai bun,
Back to top
View user's profile
Ajay



Alăturat: 29 februarie 2004
Posts: 31


Post 01 martie 2004 0:10 Re: Cum se creează UART cu Software-ul (nu este utilizat SBUF) pe 8051

Ai putea crea un UART (în plus față de utilizarea SBUF) prin utilizarea unui dedicat timp și de scris, foarte rapid cod pentru a roti de biți. Pe partea de incoming (RXD), trebuie să utilizați o întrerupere de aderență. Când vine de întrerupere, începe să-ți timp și să citesc și PIN-ul de stare în transporta, se rotește și pentru a vă crea sosite octeți. Lucrari de bine până la 9600 baud (am folosit-o).

Cu toate acestea, crearea de alte două în același timp? Las-o balta. Chiar dacă utilizați două dedicat cronometre, a întrerupe rutinele devenit atât de mari pe care le va fi dor de biți.

Dacă sunteți în căutarea lentă UARTs (1200 baud sau mai lent), atunci aceasta tehnica de lucrări de până la 2 UART lui. Țineți minte că va renunța la toate cele trei cronometre (utilizate pentru o rată baud gen pentru SBUF, unul pentru portul 1 și unul pentru port 2 calendarul), precum și atât întrerupe.

Deci, mai bine de proiectare este de a utiliza un braț chip cu două UART's (Mi-am creat 2 suplimentare UARTs la 19200 baud cu un braț) sau de a folosi iepure controler sau a unor astfel de lucru.

Ajay
Back to top
View user's profile
beuch



Alăturat: 06 iunie 2001
Posts: 65
Locatie: Franța


Post 03 martie 2004 14:45 Re: Cum se creează UART cu Software-ul (nu este utilizat SBUF) pe 8051

Salut,

trebuie să aruncați o privire la fisier atasat de la Philips web AN.

AN446

pa


Ne pare rău, dar ai nevoie de autentificare pentru a vizualiza acest atașament

Back to top
View user's profile
crazytnt



Alăturat: 02 februarie 2004
Posts: 8


Post 03 martie 2004 17:43 Re: Cum se creează UART cu Software-ul (nu este utilizat SBUF) pe 8051

Este foarte dificil.
Propuneți utilizând hardware.
Back to top
View user's profile
J_expoler2



Alăturat: 10 mai 2003
Posts: 179
A ajutat: 19


Post 03 martie 2004 18:00 Re: Cum se creează UART cu Software-ul (nu este utilizat SBUF) pe 8051

Salut
Am o idee UART trimite date, dar numai prin utilizarea de timp 0
bit T232 ca TxD
MOV TMOD, # 22h
MOV TH0, # 70H
MOV TL0, # 70H
SETB EA
SETB ET0
SETB TR1
;
;
;
;
funcție trimite date:
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
aceasta poate ajuta u
BR.
Back to top
View user's profile
fireplus



Alăturat: 31 octombrie 2003
Posts: 195
A ajutat: 5


Post 04 martie 2004 3:29 Re: Cum se creează UART cu Software-ul (nu este utilizat SBUF) pe 8051

că încercați să

[hr: 5c6e3c7296]
Foc in Wire: sm2:
Back to top
View user's profile
Google
AdSense





Post 04 martie 2004 3:29 Reclame






Ne pare rău, dar ai nevoie de autentificare pentru a vizualiza acest atașament

Back to top
Ajay



Alăturat: 29 februarie 2004
Posts: 31


Post 08 martie 2004 12:28 Re: Cum se creează UART cu Software-ul (nu este utilizat SBUF) pe 8051

J_expoler2 a scris:
Salut
Am o idee UART trimite date, dar numai prin utilizarea de timp 0
bit T232 ca TxD
MOV TMOD, # 22h
MOV TH0, # 70H
MOV TL0, # 70H
SETB EA
SETB ET0
SETB TR1
;
;
;
;
funcție trimite date:
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
aceasta poate ajuta u
BR.


Aceasta este numai bun pentru a transmite. Problema vine, atunci când încercați să primească, de asemenea. Mai întâi de toate, această metodă nu va funcționa pentru full duplex cu excepția cazului în care operațiunea să utilizați două cronometre.

Mai mult decât atât, pentru a primi, va fi nevoie de a utiliza o întrerupere de hardware, care va începe la timp exact la momentul potrivit și apoi vă va ajuta în schimburi de date. Din nou, aceasta metoda este numai de bine ca o jumătate de comunicare duplex.

Un alt complexitatea vine de la faptul că întrerupe rutinele deveni lung și va cauza probleme de lipsă de biți. Țineți minte că de eroare vor acumula pe o perioadă de timp!

Cea mai bună cale este de a utiliza un cip care are mai multe porturi seriale (ARM, uPSD din ST etc)

Ajay
Back to top
View user's profile
Post new topic Reply to topic EDAboard.com Forum Index -> Microcontrolere -> Cum se creează UART cu Software-ul (nu este utilizat SBUF) pe 8051
Pagina 1 din 1 Ora este GMT 2 ore


Abuz | | Administrator | | Moderatori | | Sustineti-ne | | harta site
subiect RSS