文档介绍:
计算机组成原理学****使用-AD转换器及整数运算章亦葵天津大学软件学院Analog-to-digitalconverter(AD转换器)(ADC,A/D,orAtoD)Resolution:Q=Vref/2M1LSB=QPopularADCtype:essive-approximationADC(逐次逼近模拟数字转换器)Conversionrange(unipolar单极型ADC):0~Vref8bitADC,Vref=5V,Q8=Vref/256=0.01953125(V)=19.53125mV10bitADC,Vref=5V,Q10=Vref/1024=0.0048828125(V)=4.8828125mV12bitADC,Vref=5V,Q12=Vref/4096=0.001220703125(V)=1.220703125mVM-bitdigitalADCAnalogVoltageVinVrefAnalogconvertertoDigitalVin=3.14V,Vref=5V,M=10DM=Vin/Q=Vin/(Vref/2M)=Vin*2M/Vref=3.14*1024/5=643decGalileoArduinoADC12bitADC,0-hangeto12bitADCbyres=12:voidanalogReadResolution(intres)GetConvertereddata:uint32_tanalogRead(uint32_tulPin)6multiplexedADCs探测温度-使用NTC热敏电阻(thermistor)NTC电阻特性RTH[Ω]T温度下的基准电阻R0[Ω]T0温度下的基准电阻B[K]:B常数T0[K]:标准温度(25℃=298.15K)T[K]:热敏电阻温度实验使用的热敏电阻B常数=3435K,R0=10,000Ω测温原理使用电阻分压电路,将电阻随温度变化的特性转变为电压随温度变化特性Vth=Vcc*Rth/(R1+Rth)ADC转换结果与温度特性曲线实验电路参数热敏电阻Rth的B常数=3435K,R0=10,000Ω;R1=4,700Ω数值计算:exp运算太复杂需要简化分段近似线性化:此处只对10~60℃进行近似使用整数的插值运算得到温度的结果(A1,T0)(A0,T1)(A0,T0)(Ax,Tx)(A0,Tx)(Ax,T0)AdcTNo.TADC0**********Interpolation(插值)把公式变成C代码shortintconvert_adc2temperature(shortintax,shortinta0,shortinta1,shortinttemp0,shortinttemp1){shortinttempx;tempx=temp0+(ax-a0)*(temp1-temp0)/(a1-a0);returntempx;}实物连接图和电路原理图
内容来自淘豆网www.taodocs.com转载请标明出处.