| Autors | Message |
|---|
winit_a
Pievienojies: 16 Nov 2003 Posts: 17
| 15 Feb 2004 5:42 Kā izveidot UART ar programmatūras (neizmanto SBUF) par 8051 | | |
|
| Kā izveidot UART ar programmatūras? Mans projekts Lietotie 3 UART (normālās ir 1 UART ar HARDWARE P3.0 un P3.1)
8051 MCU@11.0592MHz Kā izveidot UART izmanto P2 vai P1, lai saskarne RS-232 |
|
| Atpakaļ uz augšu | |
 |
pisoiu
Pievienojies: 31 Dec 2002 Ziņojumi: 723 Pateicoties: 24 Location: Rumānija
| 15 Feb 2004 11:58 Re: Kā izveidot UART ar programmatūras (neizmanto SBUF) par 8051 | | |
|
| Čau, Mans viedoklis: tas ir nopelt grūti. Jums būs iespēja darīt to, izmantojot pārtrauc, bet 8051 ir salīdzinoši lēns kontrolieris, tā izpildi paliek saskaņā ar 1mips pie 11,0592 MHz pulksteni par klasisku 8051 versijas (1instruction cikls = 12 pulksteni ciklā). Vairāk nekā viens seriālo īstenoti programmatūra ēst gandrīz visu procesora laiku, it īpaši, ja jūs vēlaties, lai nokļūtu līdz 115200bps ar tām ostām, vai ja vēlaties, lai īstenotu visus iespējamos parametrus (6/7/8 datu bitiem selecteble, 1 / 2 pieturas bitiem, paritāte nepāra / pat / zīmes / kosmoss / nav, plūsmas kontroles izvēlētus xon-xoff/hard/none). Mani sugestion ir izmantot modificētu arhitektūra 8051 no ciprese, vai arī izmantot scenix mikrokontrolleru (www.ubicom.com). Par scenix kontrolieris varu sniegt kods 8 uarts vienlaicīgi. Tas, ja vēlaties programmatūras īstenošanu. Ja yau vēlaties hardware, varat izmantot max3100 (maksims).
Vislabākais, |
|
| Atpakaļ uz augšu | |
 |
Ajay
Pievienojies: 29 Feb 2004 Posts: 31
| 01 Mar 2004 0:10 Re: Kā izveidot UART ar programmatūras (neizmanto SBUF) par 8051 | | |
|
| Jūs varētu izveidot vienu UART (papildus izmantojot SBUF), izmantojot speciālu taimeris un rakstīšanas ļoti ātri kodu, lai pagrieztu biti. Par ienākošajiem pusē (RXD), jums jālieto pārtraukt tapu. Kad pārtraukt nāk, sākt savu taimeriem un izlasiet pin statusu vērā pārvadāt, pagriezt un izveidot savu ienākošo bytes. Strādā arī līdz pat 9600 Baud (I ir lietojuši).
Tomēr, izveidojot divus MORE, tajā pašā laikā? Aizmirstiet to. Pat ja jūs izmantojat divas veltīta taimerus, tad pārtraukt ikdienas kļuvis tik liels, ka jūs garām bitiem.
Ja meklējat lēns UARTs (1200 Baud vai lēnāk), tad šī metode strādā, līdz pat 2 UART's. Atcerieties, ka jums dos visu trīs taimeris (viens izmanto bodu likme gen par SBUF, viens ostas 1 un vienu ostas 2 laika), kā arī gan pārtrauc.
Tātad, labāk dizains ir izmantot ARM mikroshēma ar divām UART's (esmu izveidojis 2 papildu UARTs pie 19200 Baud ar ARM), vai izmantot Trušu kontrolieris vai dažas tādas lietas.
Ajay |
|
| Atpakaļ uz augšu | |
 |
beuch
Joined: 06 jūnijs 2001 Posts: 65 Location: France
| 03 Mar 2004 14:45 Re: Kā izveidot UART ar programmatūras (neizmanto SBUF) par 8051 | | |
|
| Čau,
ir skatīties uz pievienoto failu no Philips interneta AN.
AN446
atā |
|
| Atpakaļ uz augšu | |
 |
Google AdSense

| 03 Mar 2004 14:45 Ads | | |
|
|
|
|
| Atpakaļ uz augšu | |
 |
crazytnt
Joined: 02 Feb 2004 Ziņojumi: 8
| 03 Mar 2004 17:43 Re: Kā izveidot UART ar programmatūras (neizmanto SBUF) par 8051 | | |
|
| Tas ir ļoti grūti. Iesakiet, izmantojot datortehniku. |
|
| Atpakaļ uz augšu | |
 |
J_expoler2
Pievienojies: 10 maijs 2003 Ziņojumi: 179 Pateicoties: 19
| 03 Mar 2004 18:00 Re: Kā izveidot UART ar programmatūras (neizmanto SBUF) par 8051 | | |
|
| Čau Man, lūdzu, ideja UART bet nosūtīt datus tikai, izmantojot taimeri 0 bit T232 kā TxD MOV TMOD, # 22H MOV TH0, # 70H MOV TL0, # 70H SETB EA SETB ET0 SETB TR1 ; ; ; ; funkcija nosūtīt datus: 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 tas varbūt palīdzēt u BR. |
|
| Atpakaļ uz augšu | |
 |
fireplus
Pievienojies: 31 oktobris 2003 Ziņojumi: 195 Pateicoties: 5
| 04 Mar 2004 3:29 Re: Kā izveidot UART ar programmatūras (neizmanto SBUF) par 8051 | | |
|
| mēģināt ka
[hr: 5c6e3c7296] Ugunsgrēks uz Stieples: SM2:
|
|
| Atpakaļ uz augšu | |
 |
Ajay
Pievienojies: 29 Feb 2004 Posts: 31
| 08 Mar 2004 12:28 Re: Kā izveidot UART ar programmatūras (neizmanto SBUF) par 8051 | | |
|
| | J_expoler2 wrote: | Čau Man, lūdzu, ideja UART bet nosūtīt datus tikai, izmantojot taimeri 0 bit T232 kā TxD MOV TMOD, # 22H MOV TH0, # 70H MOV TL0, # 70H SETB EA SETB ET0 SETB TR1 ; ; ; ; funkcija nosūtīt datus: 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 tas varbūt palīdzēt u BR. |
Tas ir tikai labas pārsūtīšanai. Problēma nāk, kad jūs mēģināt saņemt, jo labi. Pirmkārt, šī metode nekad strādāt pilnu dupleksus operācijā, izņemot jūs izmantojat divas dažādas taimeri.
Turklāt, kas saņem, Jums būs nepieciešams izmantot aparatūras pārtraukt kas precīzi start taimeris pareizajā laikā un pēc tam palīdzēs novirzīt datiem. Arī šī metode ir tikai labi, kā uz pusi dupleksie sakari.
Vēl viens sarežģītība nāk no tā, ka pārtraukt kārtība kļūt ilgi un radīt problēmas, izlaižot bitiem. Paturiet prātā, ka kļūda tiks uzkrājas laika posmā, kāds ir!
Vislabākais veids ir izmantot mikroshēmu, kas ir vairāk sērijas ostām (ARM, uPSD no ST uc)
Ajay |
|
| Atpakaļ uz augšu | |
 |