Serial communication with microcontrollers AT89S52
On an MCS-51 microcontroller (MCU) like the AT89S52, UART mode 0 is a synchronous clocked serial port.

In Mode 0...

(a) When you write a byte to the serial port register to start a transmission, the AT89S52 (a) generates 8 clocks on its TXD output and (b) shifts out 8 data bits on the RXD output.

(b) When you read a byte from the serial port register (SFR) to start a receive, the AT89S52 (a) generates 8 clocks on its TXD output and (b) shifts in 8 data bits on the RXD output.

(c) TXD is always a serial clock output. RXD is a serial data in/out line.

(d) Transmission and reception only happen when software reads/writes the SFR. A typical UART serial receive port is always listening. This UART is Mode 0 is not.

So Mode 0 is ideal for controlling serial-to-parallel logic chips as I/O expanders.

And Mode 0 is useless for communication between two microcontrollers. Use Mode 2 instead.