When I used on-chip sensor of ADuC7024 to measure temperature, something weird happened. The board is motor controller which carried about 1.5A current when motor is running. The reading of temperature is switching between about 30C (0x4F0) and about -97C(0x600). After motor stoped, reading latched (can be 0x4F0 or 0x600). Reset, repower, even downloaded new firmware, reading wouldn't change.
Could you post your ADCCON and other ADC configuration register settings?
Could you also post your code for reading the temperature value?
Note, the internal temperature sensor measures the die temperature and not the ambient temperature. Therefore, you need to take into account the package thermal impedence when trying to calculate the ambient temperature.
For the ADuC7024 part, the thermal impedence of the 64-LFCSP package is 24C/W.
Tamb = Tdie - (ADuC7024 Power in W)*24.