A quick search didn't show anything up, at least nothing with code. I was = just wondering if anyone else may have done this differently/better. Here = is how I did it. It's a 5 minute (approx.) loop with 4 timer variables. If I had to figure = exact timing, I believe it would cause injury to my brain; so we'll go ahea= d and say that timing isn't critical. LED_MASK is just a xor value to togg= le the GP pin attached to the speaker. There also happens to be an LED con= nected to the same pin. It adds about a half second to the loop. CODE BEGINS HERE #include p10f200.inc ; set up the chip and do other stuff Delay5m ; do the things ; 6 instruction overhead in here which is irrelevant= to the beeping decfsz TimerL,f goto Delay5m btfss Beep,DoIBeep goto $ + 3 movlw LED_MASK = ; Sound a tone to remind the user that xorwf GPIO,f = ; the door is open. decfsz TimerH,f goto Delay5m movf TimerE,W ; Sound tone during 6/256 TimerE iterat= ions andlw b'11111000' ; Throw out the lower 3 bits. xo= rlw b'11111000' ; Compare the upper 5. btfss STATUS,Z = goto $ + 3 movlw 1 xorwf Beep,f decfsz TimerE,f goto Delay5m decfsz TimerW,f goto Delay5m ; end of the loop =20 --=20 http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .