有51单片机很厉害的大神吗 有个程序的问题想问问
答案:6 mip版
解决时间 2021-01-30 13:22
- 提问者网友:你若离去丶巴掌扇去
- 2021-01-29 21:19
AdVal=ReadCount();
weight=FullScale-AdVal/1000;
if (weight>0x8000) weight=0;
weight=10000*weight/FullScale;
weight=weight*RATIO;
这是电子秤程序的其中一个部分 Adval/1000是得到的采样AD值 为什么要用满量程值减掉这个东西。然后后面为什么要这么计算 求解答。
最佳答案
- 二级知识专家网友:白衣衬衫净少年
- 2021-01-29 21:26
假设一个弹簧,上面压一个物体,弹簧会被压缩。 若可以读出当前弹簧的长度,那么:弹簧总长度减去当前弹簧长度 就得到弹簧在此重物压力下缩短了多少。
又因弹簧在有效范围内的缩短量与压力成正比关系,由此可以计算得出压力(重物的重力)值。
AdVal=ReadCount();
weight=FullScale-AdVal/1000; // 计算满量程与当前读数的差值,因AD读数与弹簧长度成正比关系,因此,该式子可以等效看成:计算弹簧被压缩的长度。
if (weight>0x8000) weight=0; // 可能是对超出量程的读数的处理
weight=10000*weight/FullScale; // 因满量程对应为10000(比如10000克),则由此式可以计算得weight对应多少
weight=weight*RATIO; // RATIO是比例因子,它可能是弹性系数、补偿倍数之类的
又因弹簧在有效范围内的缩短量与压力成正比关系,由此可以计算得出压力(重物的重力)值。
AdVal=ReadCount();
weight=FullScale-AdVal/1000; // 计算满量程与当前读数的差值,因AD读数与弹簧长度成正比关系,因此,该式子可以等效看成:计算弹簧被压缩的长度。
if (weight>0x8000) weight=0; // 可能是对超出量程的读数的处理
weight=10000*weight/FullScale; // 因满量程对应为10000(比如10000克),则由此式可以计算得weight对应多少
weight=weight*RATIO; // RATIO是比例因子,它可能是弹性系数、补偿倍数之类的
全部回答
- 1楼网友:搥噚仟哖
- 2021-01-30 02:00
需要帮你做设计吗
- 2楼网友:嶶笑螚讓亼瘋鋽
- 2021-01-30 01:21
单片机资料加Q2736352552
- 3楼网友:不愛又何必糾纏
- 2021-01-30 01:08
就这么一句啊?前后都没有没法说啊
- 4楼网友:寄出个心动
- 2021-01-29 23:56
我想应该是没人会吧!你觉得给你一个函数名能猜到函数内的内容不!!看着那句话的意思就是函数读回来的值赋给前面的变量吧
- 5楼网友:縱马獨歸
- 2021-01-29 22:54
AD转换的??
我要举报
如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
点此我要举报以上问答信息
推荐资讯