Thanks Ken, that was very helpful. The good news is that I got my system working. The bad news is that I'm an idiot for missing something simple. I spent so much time with the timing and commands that I neglected to read the power section of the data sheet, and hence did not know to use the 4.7k pull-up resistor. Ugh. Now I know, and it works. Thanks again! -Jeff PS - the tip on using an extra I/O pin to broadcast an internal event is great. I know I'll use that as I continue my adventures... Quoting Kenneth Lumia : > Jeff, > > The DS1820 is relatively simple to use. For debugging: > > 0. Read the data sheet. Carefully. > > 1. Verify the hardware pinout. Are you using parasitic > power or 5V? If using parasitic power, the 5V pin > needs to be grounded, not floating. > > 2. Use a scope to verify timing. You may want to use > a second pin and set it high to denote you are > transmitting, low to signify you are tri-state (floating, > waiting for the DS1820 to respond with presence > pulse and data). Verify against the data sheet. > Note there are differences in timing between the earlier > DS1820 and the newer DS18S20. You may want to > disable all unneeded code, no interrupts, etc. and just > use hardcoded delays as required. In other words, > simplify the environment as much as possible. Are > you writing this in asm or 'C'? Ensure that your delay > loops are really what you think they are (clock frequency > vs # of instructions in the delay - you may want to check > on a simulator (count cycles, time)). > > Ken -- http://www.piclist.com#nomail Going offline? Don't AutoReply us! email listserv@mitvma.mit.edu with SET PICList DIGEST in the body