Tom Hartman says:

...I developed a way to measure thermistor resistance without an ADC. This requires two bi-directional port pins a reference resistor and a capacitor. I think others have done this as well.
PIN1|---\/\/\/-----+
    |     R1       |  C1
PIN2|---\/\/\/-----+--)(--> (GND)
          T1

Create a reference measurement from precision resistor R1:

  1. Output 0 on pins 1,2 to discharge C.
  2. Make both pins inputs.
  3. Pulse PIN1 from input to high output back to input.
  4. Increment reference counter.
  5. While PIN1 input is low, go to 3.

Measure the thermistor:

  1. Output 0 on pins 1,2 to discharge C.
  2. Make both pins inputs.
  3. Pulse PIN2 from input to high output back to input.
  4. Increment themistor counter.
  5. While PIN1 input is low, go to 3.

Now (thermistor counter)/(reference counter) = T1/R1. C1 is cancelled. The same pin is used to detect the threshold for both resistors, so the pin threshold is also cancelled.

So T1 = R1 * (thermistor counter)/(reference counter).

There are lots of tricks you can do to simplify the math. Then use a lookup table to linearize the result.

Size C1 so the RC time constants are slow enough to be able to count with some precision.

Questions:

Interested: