Registr SBUF je ve skutečnosti tvořen dvěma samostatnými (fyzickými) registry - jeden pro příjem, druhý pro vysílání (aby bylo možné dosáhnout duplexního přenosu). Tyto registry mají ale stejnou adresu 99H, přístup k jednomu nebo druhému (tj.rozlišení registrů) je řízen vnitřním signálem CPU - READ SBUF a WRITE SBUF, a to na základě použití instrukce pro čtení nebo zápis. Tato skutečnost nás ale z pohledu programátora nemusí vůbec zajímat, pro nás je registr SBUF "viditelný" a přístupný jako jediný. |
SM0 | SM1 | Mód | Typ přenosu | Přenosová rychlost (b/s) |
0 | 0 | 0 | synchronní 8-bitový | fosc/12 |
0 | 1 | 1 | 8-bitový UART | časovač 1 |
1 | 0 | 2 | 9-bitový UART | fosc/32, fosc/64 |
1 | 1 | 3 | 9-bitový UART | časovač 1 |
V módu 1 a 3, kde je přenosová rychlost odvozena od přetečení časovače 1 (nezávisí na stavu příznakového bitu TF1), se doporučuje zakázat přerušení od tohoto časovače (ale pouze v případě, že časovač 1 pracuje v módu 2 - tedy 8-bitový s automatickým přednastavením). Pokud časovač 1 pracuje v módu 1 - tedy 16-bitový nebo pokud používáme čítač/časovač 0 v módu 3, musíme přerušení od časovače 1 povolit. |
Podrobný popis a příklad nastavení sériového kanálu s ukázkou programu pro vysílání znaků najdete na stránce programů pro obsluhu sériové linky. |
Přenosová rychlost (b/s) |
fOSC (MHz) | Bit SMOD |
Mód časovače 1 | Přednastavení časovače 1 |
19200 | 11,0592 | 1 | 2 | FDH |
9600 | 11,0592 | 0 | 2 | FDH |
4800 | 11,0592 | 0 | 2 | FAH |
2400 | 11,0592 | 0 | 2 | F4H |
1200 | 11,0592 | 0 | 2 | E8H |
300 | 11,0592 | 0 | 1 | FFA0H |
110 | 12 | 0 | 1 | FEE4H |
© DH servis 2002 - |