sir Fred: thank you very very much for your help. so far i didnt understood very well th things that you wrote but so far this is the best message i'd ever read. thank you very much again sir. i will study very well your program guide. thanks regards David Fred Hillhouse wrote: Greetings David, The method described by Jinx is synchronous. An asynchronous serial I/O can also be implemented. This method will allow connection (with extra circuitry) to a RS232 serial port on a PC in the future. It will save you a pin but it will cost in complexity. Check out AN510 (application note) at the Microchip website. You will have to adapt it to your PIC but that is all part of the learning process. There are other app notes as well. Another thing learned will be that there is a wealth of information at the Microchip site. Once you have worked with the software implementation, check out a part with a USART (PIC16F628, etc.) and you will appreciate it more. I have done both protocols myself with the 16F84 and such devices. I came away with a far better understanding of the capabilities. We tend to gravitate to the latest and greatest of everything and believe that everyone else should adopt the same policy. Use your 'F84 and enjoy it. It will do far more than you may be able to imagine right now. Best regards, Fred -----Original Message----- From: pic microcontroller discussion list [mailto:PICLIST@MITVMA.MIT.EDU]On Behalf Of Jinx Sent: Thursday, May 20, 2004 4:30 AM To: PICLIST@MITVMA.MIT.EDU Subject: Re: [PIC:] PIC TO PIC SERIAL PROGRAM As you don't have a USART, the simplest way would be "bit banging", which you can do with 1 or 2 lines For 2 lines, one is data, the other is clock In your transmitter, set the clock line high, then set the data line to the data bit (a 0 or 1) that you want to send At the receiver, you look for the clock line going high and then read the data line, then wait for the clock to go low You do this 8 times, and between each time you rotate both the data byte in the transmitter and the buffer in the receiver So say the data is 00110101 (MSb/bit7 on the left) Clock line is already 0 and the receiving PIC is waiting *** Clock line goes high, data line = LSb/bit0 = 1 Receiver sees the clock line go high and reads the "1" into bit7 of a buffer byte Receiver waits for clock line to go low, which transmitter makes happen after a short time. You know how long the receiver takes to work on the data bit it just received, so you set this delay accordingly Transmitter rotates the data byte right - now bit0 = "0" Receiver rotates the buffer byte right. The "1" moves into bit6, ie one step closer to ending up in the bit0 position where it was in the transmitter's data byte Jump back to *** and repeat until all 8 bits have been transferred -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu --------------------------------- Do you Yahoo!? Yahoo! Domains - Claim yours for only $14.70/year -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.