Philips 8-bit microcontroller with two-clock 80C51 core UM10109 Manual Do Utilizador

Página de 133
 
© Koninklijke Philips Electronics N.V. 2005. All rights reserved.
User manual
Rev. 02 — 23 May 2005 
62 of 133
Philips Semiconductors
UM10109
P89LPC932A1 User manual
 
10.10 More about UART Mode 0
In Mode 0, a write to SBUF will initiate a transmission. At the end of the transmission, TI 
(SCON.1) is set, which must be cleared in software. Double buffering must be disabled in 
this mode.
Reception is initiated by clearing RI (SCON.0). Synchronous serial transfer occurs and RI 
will be set again at the end of the transfer. When RI is cleared, the reception of the next 
character will begin. Refer to 
Table 53:
Serial Port Status register (SSTAT - address BAh) bit allocation
Bit
7
6
5
4
3
2
1
0
Symbol
DBMOD
INTLO
CIDIS
DBISEL
FE
BR
OE
STINT
Reset
x
x
x
x
x
x
0
0
Table 54:
Serial Port Status register (SSTAT - address BAh) bit description
Bit  Symbol
Description
0
STINT
Status Interrupt Enable. When set = 1, FE, BR, or OE can cause an interrupt. The 
interrupt used (vector address 0023h) is shared with RI (CIDIS = 1) or the 
combined TI/RI (CIDIS = 0). When cleared = 0, FE, BR, OE cannot cause an 
interrupt. (Note: FE, BR, or OE is often accompanied by a RI, which will generate 
an interrupt regardless of the state of STINT). Note that BR can cause a break 
detect reset if EBRR (AUXR1.6) is set to logic 1.
1
OE
Overrun Error flag is set if a new character is received in the receiver buffer while it 
is still full (before the software has read the previous character from the buffer), i.e., 
when bit 8 of a new byte is received while RI in SCON is still set. Cleared by 
software.
2
BR
Break Detect flag. A break is detected when any 11 consecutive bits are sensed 
low. Cleared by software.
3
FE
Framing error flag is set when the receiver fails to see a valid STOP bit at the end 
of the frame. Cleared by software.
4
DBISEL
Double buffering transmit interrupt select. Used only if double buffering is enabled. 
This bit controls the number of interrupts that can occur when double buffering is 
enabled. When set, one transmit interrupt is generated after each character written 
to SBUF, and there is also one more transmit interrupt generated at the beginning 
(INTLO = 0) or the end (INTLO = 1) of the STOP bit of the last character sent (i.e., 
no more data in buffer). This last interrupt can be used to indicate that all transmit 
operations are over. When cleared = 0, only one transmit interrupt is generated per 
character written to SBUF. Must be logic 0 when double buffering is disabled. Note 
that except for the first character written (when buffer is empty), the location of the 
transmit interrupt is determined by INTLO. When the first character is written, the 
transmit interrupt is generated immediately after SBUF is written.
5
CIDIS
Combined Interrupt Disable. When set = 1, Rx and Tx interrupts are separate. 
When cleared = 0, the UART uses a combined Tx/Rx interrupt (like a conventional 
80C51 UART). This bit is reset to logic 0 to select combined interrupts.
6
INTLO
Transmit interrupt position. When cleared = 0, the Tx interrupt is issued at the 
beginning of the stop bit. When set = 1, the Tx interrupt is issued at end of the stop 
bit. Must be logic 0 for mode 0. Note that in the case of single buffering, if the Tx 
interrupt occurs at the end of a STOP bit, a gap may exist before the next start bit.
7
DBMOD
Double buffering mode. When set = 1 enables double buffering. Must be logic 0 for 
UART mode 0. In order to be compatible with existing 80C51 devices, this bit is 
reset to logic 0 to disable double buffering.