You can do it either way, with the DS89C450 (two UARTs) or any 8051-derivative programmed in such a way that the standard UART is used to communicate with the faster device (in your case 9600bps) and the slower device (4800bps) is connected to selected two pins and the 8051 runs UART in software (bit-banging) ..
The first option (with the DS89C450) can be difficult to realize with KIEL as it doesn’t support all additional 450’s SFRs, the second option, although less “elegant”, can be accomplished with any standard compiler as there are no special BITs or REGISTERs involved ..
Just connect Rx to Int0 or Int1 and as Tx-pin you can use any available Px.x ..
Search this forum for 8051 UART-in-software, or 8051-bit-banging ..
Of course, in both cases, if you need “true” RS-232 levels you have to use the RS-232 drivers such as MAX232, MAX202, and so on ..
Also see:
Rgds,
IanP