 
- UID
- 872339
|
关键字:ADC电压 微处理器 十六进制编码值
这种设计方案针对低档八管脚flash存储的8位微处理器,例如Freescale的MC68HC908QT4A,但是它也同样适用于任何一款拥有ADC模块的8位微处理器。在芯片内,ADC转换输入的模拟电压成数字信号格式。数字信号格式为8位的十六进制编码值,如$00。微处理器从ADC端口采集输入模拟信号范围从VSS对应的 $00到VDD对应的$FF。基于这些十六进制编码,在VSS和VDD之间的输入电压呈现出总共256个电平的线性变换。换句话说,输入电压越高,十六进制编码值就越大。
最困难的地方在于写汇编代码实现算法的程序员必须知道不同输入模拟电平(例如1.6V)对应什么十六进制编码值。涉及到微处理器规格,甚至联系生产厂商也不能给出满意的答案。
然而,本文提出解决这个问题的方案。假定微处理器工作电源电压为VDD,应用下面这个简单公式得到十六进制编码值:VIN/(VDD/255)=result value="hex" code(见编者按)。注意,在更高的十六进制编码转换精度之前,必须保证转换出的十六进制值能够覆盖整个模拟信号范围。下面的例子计算表明了使用已知电源电压5V的微处理器时,测量输入模拟信号电压为1.6V的十六进制编码值:1.6V/(5V/255)=81.6=82,或者$52。
|
|