The following diagram shows the transmit and receive waveforms for both 8-bit and 9-bit data
formats.
Sta�t
Bit 0
Bit
Sta�t
Bit 0
Bit
UART Transmitter
Data word lengths of either 8 or 9 bits can be selected by programming the UBNO bit in the UUCR1
register. When UBNO bit is set, the word length will be set to 9 bits. In this case the 9th bit, which
is the MSB, needs to be stored in the UTX8 bit in the UUCR1 register. At the transmitter core lies
the Transmitter Shift Register, more commonly known as the TSR, whose data is obtained from the
transmit data register, which is known as the UTXR_RXR register. The data to be transmitted is
loaded into this UTXR_RXR register by the application program. The TSR register is not written
to with new data until the stop bit from the previous transmission has been sent out. As soon as this
stop bit has been transmitted, the TSR can then be loaded with new data from the UTXR_RXR
register, if it is available. It should be noted that the TSR register, unlike many other registers, is not
directly mapped into the Data Memory area and as such is not available to the application program
for direct read/write operations. An actual transmission of data will normally be enabled when the
UTXEN bit is set, but the data will not be transmitted until the UTXR_RXR register has been loaded
with data and the baud rate generator has defined a shift clock source. However, the transmission
can also be initiated by first loading data into the UTXR_RXR register, after which the UTXEN bit
can be set. When a transmission of data begins, the TSR is normally empty, in which case a transfer
to the UTXR_RXR register will result in an immediate transfer to the TSR. If during a transmission
the UTXEN bit is cleared, the transmission will immediately cease and the transmitter will be reset.
The TX output pin can then be configured as the I/O or other pin-shared function by configuring the
corresponding pin-shared control bits.
Transmitting Data
When the UART is transmitting data, the data is shifted on the TX pin from the shift register, with
the least significant bit first. In the transmit mode, the UTXR_RXR register forms a buffer between
the internal bus and the transmitter shift register. It should be noted that if 9-bit data format has been
selected, then the MSB will be taken from the UTX8 bit in the UUCR1 register. The steps to initiate
a data transfer can be summarized as follows:
• Make the correct selection of the UBNO, UPRT, UPREN and USTOPS bits to define the required
word length, parity type and number of stop bits.
• Setup the UBRG register to select the desired baud rate.
• Set the UTXEN bit to ensure that the TX pin is used as a UART transmitter pin.
• Access the UUSR register and write the data that is to be transmitted into the UTXR_RXR
register. Note that this step will clear the UTXIF bit.
This sequence of events can now be repeated to send additional data.
It should be noted that when UTXIF=0, data will be inhibited from being written to the UTXR_RXR
register. Clearing the UTXIF flag is always achieved using the following software sequence:
1. A UUSR register access
2. A UTXR_RXR register write execution
Rev. 1.00
Bit 1
Bit �
Bit 3
Bit 4
Bit 5
8-bit Data Format
Bit 1
Bit �
Bit 3
Bit 4
Bit 5
9-bit Data Format
130
BS83B24C/BS83C40C
Touch Flash MCU
Next
Pa�it� Bit
Sta�t
Stop
Bit 6
Bit �
Bit
Bit
Next
Pa�it� Bit
Sta�t
Stop
Bit 6
Bit �
Bit �
Bit
Bit
�e���a�� 0�� �01�
Need help?
Do you have a question about the BS83B24C and is the answer not in the manual?