另外,该电路还可以检测自身温度,当输入多路选择开关的配置寄存器全部设为1时,电路内的测温二极管就连接到ADC的输入端,此时其余输入通道开路,这有利于器件自身的保护,当芯片温度过高时,可以通过强制电路进入空闲模式使系统降温。
通道可以通过寄存器ADMUX来选择,如下所示:

其中,高4位决定差分正端输入通道,而低4位决定负端输入通道。
3.3 放大器
通常情况下检测到的信号很微弱,需要进行放大。而MSC1201内置可编程增益放大器(PGA)的增益可以设为1、2、4、8、32、64、128。通过使用PGA可以提高ADC的有效分辨率。例如在信号电压范围为±2.5V时,若PGA增益设为1,则ADC最小分辨率为1.5μV;当PGA增益设为128、信号电压范围为±19mV时,ADC的分辨率为75nV,改变PGA增益会使放大器输入阻抗变化,但通常放大器的输入阻抗很高,一般不会对输入信号产生影响。放大器的放大倍数由寄存器ADCON0的低3位确定。
3.4 信号调理
在温度检测中,输入环节会不可避免的引入某些误差,使输入信号产生不同程度的畸变。为了消除这些误差对系统的影响,需要对输入信号进行调理。
3.4.1 ADC补偿
通过使用寄存器ODAC,PGA的模拟输出可以获得最高能够达到测量电压范围一半的偏移补偿。寄存器ODAC是8位,最高位为符号位,表示补偿的正负,其余7位表示补偿的大小。由于ODAC引入的只是对PGA的模拟补偿,因此并不影响ADC的测量范围。
3.4.2 ADC校准
<基于MSC1201微处理器的温度控制系统的实现基于MSC1201微处理器的温度控制系统的实现-技术文章电子技术信息港

