• Mode 0:
o In this mode the serial port function as half duplex serial port with fixed baud rate.
o The 8- bit serial data is received and transmitted through RxD pin and the controller output the shift clock through TxD pin during reception and transmission.
o The baud rate is fixed at 1 / 12 of the oscillator frequency.
• Mode 1:
o In this mode the serial port function as full duplex serial port with variable baud rate.
o In this mode one data consists of 10 bits, which includes one start bit, eight data bit and one stop bit. During reception the stop bit is stored as RB8 in SCON register.
o Baud rate in mode-1 depends on the value of SMOD bit in PCON register and the timer-1overflow rate.
• Mode 2:
o In this mode the serial port function as full duplex serial port with a baud rate of either 1/32 or 1/64 of the oscillator frequency.
o In this mode one data consists of 11 bits which includes one start bit, eight data bit, a programmable 9th data bit and one stop bit.
o During transmission the TB8 of SCON register is added as 9th data bit and during reception the 9th data bit is stored as RB8 in SCON register.
o The baud rate depends on the value of SMOD bit in PCON register.
• Mode 3:
o The mode-3 is same as mode-2, except the baud rate.
o In mode-3, the baud rate is variable. The baud rate depends on the value of SMOD bit in PCON register and the timer- 1 overflow rate.
• The serial mode bit-2 (SM2) has no effect in mode-0 and when programmed for mode-0, the SM2 should be equal to zero.
• In mode-1, SM2 is used to check a valid stop bit during reception. In mode-1, if SM2 = 1, then receive interrupt (RI) is activated only when a valid stop bit is received.
• In mode-2 and mode-3 the SM2 bit is used to enable multiprocessor communication.
• In multiprocessor communication the serial port of a number of microcontrollers can be connected to a common serial bus. One controller will act as a master and all other controller will act as slave.
• A unique 8-bit address is assigned to each slave and the SM2 bit in all the slaves is set to 1.
• When SM2 bit is one, the slaves will consider the received byte as address and when SM2 bit is zero the slaves will consider the received byte as data.
• For communication with a slave the master will first send as address byte and then a data byte.
• The master initiates communication with a slave by sending the address of the slave on the bus. All the slaves will receive the address byte. Since SM2 = 1 initially in all the slaves, the received byte will be considered as address and the slaves will verify whether the received address matches with assigned address. The slave whose assigned address matches with received address will clear its SM2 bit. Now SM2 bit of only one of the slave will be zero.
• Next the master will send a data byte which is also received by all the slave, but the data byte is accepted by the slave whose SM2 = 0 and so the receive interrupt is activated only in one of the slave whose SM2 = 0.
• After reading the received data from SBUF register, the SM2 bit of the slave should be set to one again to receive next data.
• The REN bit of SCON register can be used to enable or disable the serial reception. When REN = 1, the serial reception is enabled and when REN = 0, the serial reception is disabled.
• The bits TI and RI of SCON register are transmitting interrupt flag and receive interrupt flag respectively.
• The controller will set the TI bit during the transmission of stop bit of a data character in mode 1 to 3 and during the transmission 0 bit of a data character in mode-0.
• The controller will set the RI bit during the reception of stop bit of a data character in mode 1 to 3 and during the reception of 8th bit of a data character in mode- 0.