I was playing today with a very simple setup of pic16f876 and max232 connected to the COM port of a PC running a terminal emulator. I was just testing (the uc simply echoes anything it receives) when I decided to try using smaller capacitors for max232. For my amazement after I removed from the breadboard ALL FIVE capacitors (C1-4, Cbypass) it turned out that the communication was still working just fine! It works at 9600 and 28.8k (couldn't test with higher speeds because the 4MHz crystal I use is not suitable for generating the higher baudrates). But anyway, so far everything I tested works just fine. I even tried another analogous chip ST232CN and it also works without caps.
So my conclusion is that max232 already has inside all it needs for the generation of +/-8.5V. Until now I thought that the chip DEPENDS on the external caps to work. But it seems that they are not critical to max232 operation but ... I don't know, only provide extra stability? And yet with all my tests I never observed corrupt data transfer so I wonder what kind of interference do the caps actually protect from, what would the drawbacks be if I continue to use this setup with no caps at all?
PS: Since I didn't expect max232 to work without caps, at first I thought that I was mistaken and that I was observing some local echo at the terminal. But then I programmed the uc to echo not the same byte but byte+1. As expected, the incremented ASCII symbols were observed arriving at the terminal, so the local echo possibility was eliminated.