打印

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

[复制链接]
3538|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 | 只看该作者
有上下文,有定义,有手册……
才知道什么意思!
否则都是胡思乱想

使用特权

评论回复
5
yuse|  楼主 | 2011-9-26 15:33 | 只看该作者
此为数据手册

hx711中文.pdf

215.2 KB

使用特权

评论回复
6
ayb_ice| | 2011-9-26 15:54 | 只看该作者
本帖最后由 ayb_ice 于 2011-9-26 15:59 编辑

看了一下手册,感觉可能有点问题
提供的汇编并没有C的那个异或操作,手册上也没有最高位说明,只有问厂家了
感觉应该是扩展成32位补码,但程序又不对

使用特权

评论回复
7
yuse|  楼主 | 2011-9-27 08:54 | 只看该作者
那比如一把钱的时候模数转换后是一个量,实际操作时不见得需要称重多少把,那就得每种情况都要试一遍吗?一把、两把、三把等等,这样会不会很麻烦了?

使用特权

评论回复
8
tree616| | 2013-5-21 22:55 | 只看该作者
超出最大值后重新计数吗

使用特权

评论回复
9
zhouyao0550| | 2013-5-22 09:20 | 只看该作者
所谓的电子秤称重不就是一个AD转换芯片吗,测量的是差分信号,至于高位的处理得看具体情况的,他这么处理是有一个背景的,就是每次称重都需要校准一次,通过差值判断重量。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

152

主题

453

帖子

0

粉丝