关于电子秤AD转换的驱动程序

[复制链接]
4745|8
 楼主| yuse 发表于 2011-9-26 14:20 | 显示全部楼层 |阅读模式
sbit ADDO = P1^5;
sbit ADSK = P0^0;
unsigned long ReadCount(void){
unsigned long Count;
unsigned char i;
ADSK=0;
Count=0;
while(ADDO);
for (i=0;i<24;i++){
ADSK=1;
Count=Count<<1;
ADSK=0;
if(ADDO) Count++;
}
ADSK=1;
Count=Count^0x800000;
ADSK=0;
return(Count);
}
以上为电子秤AD转换的驱动程序,不知道程序具体是什么意思呢?比如Count=Count^0x800000;是什么作用呢?最后返回的是一个什么样的值呢?

评分

参与人数 1威望 +1 收起 理由
tree616 + 1 赞一个!

查看全部评分

ayb_ice 发表于 2011-9-26 14:29 | 显示全部楼层
具体什么意思,光看程序是没有意义的
只是将最高位取反,至于取反代表什么,可能要看芯片手册了
老鱼探戈 发表于 2011-9-26 14:45 | 显示全部楼层
啥母体?
liang7143 发表于 2011-9-26 15:04 | 显示全部楼层
有上下文,有定义,有手册……
才知道什么意思!
否则都是胡思乱想
 楼主| yuse 发表于 2011-9-26 15:33 | 显示全部楼层
此为数据手册

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
ayb_ice 发表于 2011-9-26 15:54 | 显示全部楼层
本帖最后由 ayb_ice 于 2011-9-26 15:59 编辑

看了一下手册,感觉可能有点问题
提供的汇编并没有C的那个异或操作,手册上也没有最高位说明,只有问厂家了
感觉应该是扩展成32位补码,但程序又不对
 楼主| yuse 发表于 2011-9-27 08:54 | 显示全部楼层
那比如一把钱的时候模数转换后是一个量,实际操作时不见得需要称重多少把,那就得每种情况都要试一遍吗?一把、两把、三把等等,这样会不会很麻烦了?
tree616 发表于 2013-5-21 22:55 | 显示全部楼层
超出最大值后重新计数吗
zhouyao0550 发表于 2013-5-22 09:20 | 显示全部楼层
所谓的电子秤称重不就是一个AD转换芯片吗,测量的是差分信号,至于高位的处理得看具体情况的,他这么处理是有一个背景的,就是每次称重都需要校准一次,通过差值判断重量。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

152

主题

453

帖子

0

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