Very sorry - I made a mistake and forgot to add an instruction in my first posting. Also, this routine is timed for 4MHz clock. See correction here: >This should get you 0.985 seconds, which seems ok, unless you need better >precision: > >;; Uses 2 registers as counters plus W >Delay_1sec > movlw 0x03 ; 3 * .328secs = .985 seconds > movwf Counter2 > clrf Delay_Count ; 256 loops @ 256*5us each ~= .328secs > clrw >Delay_L --------> nop ; forgot to add this to make it 5us > addlw 0x01 > btfsc STATUS, Z ; check for overflow past 0 > decfsz Delay_Count > goto Delay_L > decfsz Counter2 > goto Delay_L > return _________________________________________________________________ Get your FREE download of MSN Explorer at http://explorer.msn.com -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.