Scott, Two ways are commonly used: 1) delay loops. Figure out how many instruction cycles are executed in 5 seconds. This is dependant on the clock speed of the chip. Then create a set of loops to generate these many instructions. A 16f84 at 10 Mhz executes one instruction in 400x10e-9. That is 2.5 million per second. Execute 12.5 M instructions and it has been about 5 sec. Nested loops of NOP is a usual way 2) Timer. In many of the chips exists a timer with prescaler. I am not familiar with the 16c56. Those with TMR0 functions, you set the prescaler up for a divide by 256, and load the appropriate count in the timer register and wait for the interrupt. If you have other things for the PIC to do during the delay, then interrupt driven delay is useful. This is, of course, more complicated than the delay loop. > What would be the best way to create a 5 second delay with a 16c56? > > Scott > > P.S. Thanks for all the help on PORTA. About five minutes after I > sent the message I had about 500 people telling me what to do. Thank > god none of you said to give up on PICs. I am making the transition > from 68xx and 68xxx to the PICs and the road looks long and far. __________________________________________________ Do You Yahoo!? Bid and sell for free at http://auctions.yahoo.com