EDA中的转换后数据的BCD码转换处理
扫描二维码
随时随地手机看文章
如表是在ADC0809的基准电压(Vref)为5.12 V时,模拟输入电压与输出电压的对应关系表,其中最小电压准位是5/28=5/256=0.2V。
这样,当由ADC0809的D[7..0]收到的数据信号是10000110(即86H)时,则对照如表时,高4位1000是2.56 V,而低4位0110是0.12V,所以最后的电压输出结果是2.56V+0.12V=2.68V。
如表 ADCOSO9模拟输入电压与输出电压的对应关系
为了方便后续的电压数据显示,我们应将输出电压表示成12位的BCD码形式。如上述的2.56V是0010 0101 0110,0.12 V是0000 0001 0010,所以相加的结果2.68 V是001001101000,因此必须设计一个12位的BCD码加法程序。
如图是2.56+0.18=2.74的二进制的BCD加法示意图。从图中可以看出,二进制BCD码相加时,由最低位4位加 如图 BCD加法示意图起,且每4位相加的结果超过10时需作进位操作。
如图 BCD加法示意图
因此实现本功能的程序段的设计思路是:在读到ADC0809的D[7..0]转换数据后,先用查表的指令算出高、低4位的两个电压值,并分别用12位的BCD码表示;接着设计一个12位的BCD码加法器,将得到的两个12位的BCD码相加即可。
来源:ks990次