ADC后处理求助

[复制链接]
2398|2
 楼主| tsense 发表于 2010-4-27 11:20 | 显示全部楼层 |阅读模式
我用16F883的ADC模块是10位的,现在如何才能将采用的10位结果转换成4位BCD码啊(10为最大值是1024,所以四位)?10位2个寄存器(ADRESH:ADESL)怎么处理啊??我只会一个寄存器的!
systemchip 发表于 2010-4-27 18:11 | 显示全部楼层
以C为例子:

unsigned int ADdata;

ADdata=ADRESL+ (unsigned int)(ADRESH << 8);

那么,ADdata里面得到10位结果, 以后的事情就是16位数据转换为BCD码了,你自己可以搞定了吧!
 楼主| tsense 发表于 2010-4-28 12:36 | 显示全部楼层
C语言可以用一个ADdata表示10位的结果吗?还是C好啊!
汇编怎么办呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

9

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部