Ports are used to connect external devices to the computer. There exist several types of ports like serial port, parallel port, USB port, AGP port. As the name suggests, the serial port transfers data serially a bit at a time. As a result, the serial port needs only wire to transmit 8 bits. The disadvantage is that it takes 8 times longer to transmit a byte. Also, it is necessary to send a start bit before each byte of data, a stop bit after the byte to mark the end of byte and a parity bit to help check the integrity of data. Serial ports come in the form of 9-pin or 25-pin male connector. Serial ports are often known as communication ports or RS232C ports. They are typically used to connect devices like mouse and modem. Parallel ports can send or receive a byte (8-bit) at a time. Unlike the serial port, these 8-bits are transmitted parallel to each other. Parallel ports come in the form of 25-pin female connector. Parallel ports are popularly used to connect printer, scanner, CD writer, zip drive, external hard disk drive, tape backup drive, etc. To spare the user botheration of 8-pin, 25-pin, male, female connectors, the USB has been designed. It gives you a single, standardized, easy-to-use way to connect up to 127 devices to a computer. These devices include printers, scanners, mice, joystick, digital camera, web cameras, speakers, telephones, zip drives, network connections, scientific data acquisition devices, etc. The AGP (Accelerated Graphics Port) port is used to connect to graphic card that provides high-speed video performance typically required in games and other multimedia applications.
IBM-PC Parallel Port Registers (x unused, - unavailable)
7 6 5 4 3 2 1 0 I/O Port +---+---+---+---+---+---+---+---+ DATA |DB7|DB6|DB5|DB4|DB3|DB2|DB1|DB0| Base = 278/378/3BC Hex +---+---+---+---+---+---+---+---+ STATUS | x | x | x | x | x | - | - | - | Base + 1 +---+---+---+---+---+---+---+---+ CONTROL | - | - | - | - |RS | E | x | x | Base + 2 +---+---+---+---+---+---+---+---+
N.B. C0, C1 & C3 are inverted - i.e. C0 = 1 will cause Parallel Port pin 1 to go LOW.
If timing is non-critical (no need to check Busy Flag DB7) then the R/W line - Pin 5 - can be tied to Ground (LOW).
C0 and C1 can be used as select-lines for up to 4 LCD Panels.
You can use the Game Port as a source for 5v
The pin-outs of the IBM-PC GamePort - use any +5v & GND pins
The following sample program in C, shows how you can obtain the addresses of your printer ports. #include <stdio.h> #include <dos.h> void main(void) { unsigned int far *ptraddr; /* Pointer to location of Port Addresses */ unsigned int address; /* Address of Port */ int a; ptraddr=(unsigned int far *)0x00000408; for (a = 0; a < 3; a++) { address = *ptraddr; if (address == 0) printf("No port found for LPT%d \n",a+1); else printf("Address assigned to LPT%d is %Xh\n",a+1,address); *ptraddr++; } }
Most of the ports you mentioned are outdated. Mainly there are 4 ports four outside connections :
RS232 (also known as the old serial port) : Nearly no one uses that since the max speed is 115k. LPT (parralel port) : was used for printers in the old days has the disadvantage the cables must be short or you get some timing problems.
USB : v1.1 or 2.0 ( the most used interface these days since its fast and easy to connect and available). Firewire : used for video cammera's , and some external hard drives or DVD drives.
Theoritical is parrallel at lot faster then serial, but nearly nothing outside the computer is parrallel these days , since you have timing problems to get the data simultanious on the 8 lines espacialy over longer distances.
So now everything get serial, also intern in the computer the IDE drives go to SATA (Serial ATA).
RS-232 Port (aka Serial), is generaly outdated in the home application, but is still used in the industrial applications, and industrial motherboards continue to have at least 2 RS-232 ports... USB is good, generaly, but it has some latency issues, so RS-232 remains excellent in the industry applications...
On my work, we use RS-232 to connect PC with a small converter (our own design and make), that converts RS-232 to RS-485, and we use that to communicatre with our hardware... We achieve about 10ms response time, using Atmel AtMega128, I believe
RS-232 generaly remains very good, better than USB, when small amounts of data, are supposed to be sent somewhere, at high frequencies...
So as I don't stray off-topic...
Traditionaly COM and LPT ports are no longer used with new commercial hardware, since USB has inherited them...
Speaking of easily accessible ports, there are those 3, COM, LPT and USB, also FireWire or IEEE-1394 (maybe I'm wrong with its designation), and, I believe those are the only ones, easily accessible ports...
There are ofcourse ISA, PCI, AGP, PCI-X (PCI-eXpress), but those are not intended for the kind of abouse those "user" ports are
If there are any other ports anyone knows of, please, write them here, I'm sure there are some of us who would love to know about them...
Express your Opinions, Thoughts or Contribute more info. to help others.
Ask your Doubts & Queries to get answers, So that "Together We can help others!"
Register FREE for AD-FREE
forum, Create your own topics, Ask Questions, track topics, setup
subscriptions & notifications and Get a Free Website w/ Email and FTP.