You wrote: << I wonder if there is a way i can convert the serial port of a 80C51 into a serial port with CSMA/CD (Carrier Sense Multiple Access with Collision Detection). I don't mind using any external circuitry or 8051 port pins as long as i use the serial port of the 8051 and not a networking peripheral. Note that the serial comunication will not be using a baud speed of more than 19200. Plus i will be interfacing the serial port to a RS-485 or RS-422 transceiver and not RS-232 due to the long distances between every node. >> The IEEE 802.3 specifies that the anti-colision system is based on the fact of listening for silence on the interface before starting transmit or then stops if sensed another device starting a transmition at the same time. This is easy to control with external logic, well, somehow easy. The main idea is to use a discriminator and a signal cancelation bridge logic to listen to the interface without being interefered by its own signal. Some Ethernet chips does it well already (for long time). Except if you really *need* to implement CSMA/CD because other devices, but you can "invent" your own multi-access protocol, with a rotating logic system, when all the devices could transmit "at the same time" without any colision or anything like that. Base it on the IBM Token-Ring, where a block of data is rotating between the stations, each one receives the data block, insert its own message at the block end or remove its own message after it has being flagged as received by the recipient. When the device identify a message to its address, it flags the message "received bit" to tell the sender the message was received... it is really cool and works pretty nice. The only problems: a) you need to have a way to bypass a powered-off device (token-ring uses a relay). b) each device needs a memory space to save the whole data block. c) each device has an overhead operation. d) the data traffic depends on the device rx/tx delay times number of devices. Another way is just make all devices dependent of a master station that controls data tx/rx. This master addresses (poll) each station in a continuous and sequential way. If a station has something to send, it will start the transmission right after the master poll the device address. The master can initiate a transmition to any station at any time. It is a full duplex communication, since the master can poll a device to receive data, and while receiving that data the master can transmit the same (or other) data to other station. An addressing technique can be designed to reach all possible data transfer and data control. These suggestions require a fixed device address, configurated at an eeprom or something like that. << Is there a way i can connect the 8051 with the parallel port of a PC ? I think i must use a 74HCT543 latching transceiver. The bus connection must be bi-directional. However i need to be able to control one or two more pins from the parallel port for interrupt request (pin no1) and discrimination of address/data/command (pin no1 or even pin no1 and no2). Note that the parallel port will be connected to a 8051 based system that will be used as the primary server for an RS-485 network of many 8051 based systems. Is there a site where i can find some serious information on the PC parallel port (pdfs) ?? >> It seems that you already know some information about PC parallel port. It will helps. The use of a latching circuit helps but it is not necessary, since you can use some kind of handshaking between the PC and the microcontroller, using some port pins to generate interrupts and vice-versa. Take a look about few more information at http://www.ustr.net Sometimes the best thing to do is just start all from scratch and forget what exist, then you can develop something small and fully dedicated to your needs. PC's side and microcontroller's side. Good Luck. -------------------------------------------------------- Wagner Lipnharski - UST Research Inc. - Orlando, Florida Forum and microcontroller web site: http://www.ustr.net Microcontrollers Survey: http://www.ustr.net/tellme.htm