Data transfer/communication is generally done in two ways: parallel and serial. In the parallel mode, data transfer is fast and uses more number of lines. Serial communication on the other hand, uses only one or two data lines to transfer data and is generally used for long distance communication. In serial communication the data is sent as one bit at a time. For serial programming the standard protocol is RS-232. Serial programming finds many application in embedded systems like flat-screen monitors to control screen functions by external computer, AV components or remotes, updating firmware on various consumer devices, dial-up modems etc.