| Autor | Missatge |
|---|
winit_a
Antiguitat: 16 de novembre 2003 Llocs: 17
| 15 febrer 2004 5:42 Com crear UART amb Programari (no s'utilitza SBUF) en 8051 | | |
|
| Com crear UART Amb Software? El meu projecte Usat 3 UART (normals tenen 1 UART amb el maquinari P3.0 i P3.1)
8051 MCU@11.0592MHz Com crear UART P1 o P2 utilitzat per la interfície RS-232 |
|
| Tornar amunt | |
 |
pisoiu
Antiguitat: 31 de desembre 2002 Llocs: 723 Ajudar: 24 Ubicació: Romania
| 15 de febrer 2004 11:58 Re: Com crear UART amb Programari (no s'utilitza SBUF) en 8051 | | |
|
| Hola, La meva opinió: és difícil maleït. Vostè haurà de fer ús de les interrupcions, però 8051 és un controlador relativament lent, el seu rendiment es manté sota 1mips en 11,0592 mhz rellotge clàssic per a les versions 8051 (1instruction cicle de cicle de rellotge = 12). Més d'un port sèrie al programari aplicat a menjar gairebé tots els temps de processador, especialment si voleu anar fins 115200bps amb els ports, o si voleu aplicar a tots els possibles paràmetres (6/7/8 bits de dades selecteble, 1 / 2 bit de parada, la paritat parell / senar / marca / espai / cap, el control del flux xon-xoff/hard/none seleccionable). El meu suggeriment és utilitzar una arquitectura de 8051 modificat de xiprer, o utilitzar un microcontrolador scenix (www.ubicom.com). Scenix controlador per tal que pugui proporcionar el codi per al 8 de UARTs simultàniament. Això si voleu una implementació de programari. Si voleu Yau maquinari, pot utilitzar max3100 (màxima).
Millor, |
|
| Tornar amunt | |
 |
Ajay
Antiguitat: 29 de febrer 2004 Llocs: 31
| 01 de març 2004 0:10 Re: Com crear UART amb Programari (no s'utilitza SBUF) en 8051 | | |
|
| Vostè podria crear una UART (més de la utilització de SBUF) per mitjà d'un escrit i dedicat de temps molt ràpid el codi per girar poc. En la propera part (RXD), ha d'utilitzar una interrupció pins. Quan la interrupció ve, iniciar el temps i llegir l'estat de la clavilla a transportar, rotar i crear el teu els bytes. Funciona bé fins 9600 bauds (he fet servir).
Tanmateix, la creació de dues més al alhora? Oblida'l. Fins i tot si utilitza dedicat dos temporitzadors, interrompre la rutina és tan gran que ha de perdre bits.
Si està buscant UARTs lent (1200 bauds o més lent), aleshores aquesta tècnica fins a 2 obres per a la UART. Tingueu en compte que vostè renunciï a tots els temporitzadors dels tres (que s'utilitza per generació de bauds SBUF, un per al port 1 i port 2 d'un calendari), així com la interrupció.
Per tant, millor disseny és l'ús d'un xip ARM amb dues de la UART (he creat 2 nous UARTs a 19.200 bauds amb un ARM) o utilitzeu el controlador de conill o de tal cosa.
Ajay |
|
| Tornar amunt | |
 |
Google AdSense

| 01 de març 2004 0:10 anuncis | | |
|
|
|
|
| Tornar amunt | |
 |
beuch
Antiguitat: 06 de juny 2001 Llocs: 65 Lloc: França
| 03 de març 2004 14:45 Re: Com crear UART amb Programari (no s'utilitza SBUF) en 8051 | | |
|
| Hola,
fer una ullada a l'arxiu adjunt d'una web de Philips.
AN446
adéu
|
|
| Tornar amunt | |
 |
crazytnt
Antiguitat: 02 de febrer 2004 Llocs: 8
| 03 de març 2004 17:43 Re: Com crear UART amb Programari (no s'utilitza SBUF) en 8051 | | |
|
| És molt difícil. Recomanem l'ús del maquinari. |
|
| Tornar amunt | |
 |
J_expoler2
Antiguitat: 10 de maig de 2003 Llocs: 179 Ajudar: 19
| 03 de març 2004 18:00 Re: Com crear UART amb Programari (no s'utilitza SBUF) en 8051 | | |
|
| Hola Tinc una idea però UART enviar dades només mitjançant temporitzador 0 T232 mica com TxD MOV TMOD, # 22H MOV TH0, # 70h MOV TL0, # 70h SETB EA SETB ET0 SETB TR1 ; ; ; ; la funció d'enviament de dades: CLR T232; bit d'arrencada 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 que potser ajudar o BR. |
|
| Tornar amunt | |
 |
fireplus
Antiguitat: 31 d'octubre 2003 Llocs: 195 Ajudar a: 5
| 04 de març 2004 3:29 Re: Com crear UART amb Programari (no s'utilitza SBUF) en 8051 | | |
|
| intentar que
[hr: 5c6e3c7296] Foc al filferro: SM2:
|
|
| Tornar amunt | |
 |
Ajay
Antiguitat: 29 de febrer 2004 Llocs: 31
| 08 de març 2004 12:28 Re: Com crear UART amb Programari (no s'utilitza SBUF) en 8051 | | |
|
| | J_expoler2 va escriure: | Hola Tinc una idea però UART enviar dades només mitjançant temporitzador 0 T232 mica com TxD MOV TMOD, # 22H MOV TH0, # 70h MOV TL0, # 70h SETB EA SETB ET0 SETB TR1 ; ; ; ; la funció d'enviament de dades: CLR T232; bit d'arrencada 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 que potser ajudar o BR. |
Això només és bona per a la transmissió. Problema ve quan intenta rebre també. En primer lloc, aquest mètode de treball per MAI operació dúplex completa a menys que useu dos temporitzadors.
A més, per a la recepció, haurà d'utilitzar una interrupció de maquinari que precisament iniciar el temporitzador en el moment adequat i, a continuació, ajudaran a passar les dades. Una vegada més, aquest mètode només és bo com un mitjà de comunicació dúplex.
Una altra complexitat ve del fet que la interrupció de rutines es converteixen en llargs i causarà problemes per desapareguts bits. Tingueu en compte que l'error s'acumulen al llarg d'un període de temps!
La millor manera és fer servir un xip que té més ports sèrie (ARM, etc uPSD de ST)
Ajay |
|
| Tornar amunt | |
 |