内容所有权属于:http://www.xinduofen.com/

#define ADDO P1_2

#define ADSK P1_3

#define AdCnt 10//定义AD采样平均值的次数(AdCnt>2)

//读HX711的AD转换数据函数

unsigned long ReadAdValue(void)

{

unsigned long Count = 0;

unsigned char i;

ADDO=1;

ADSK=0;

Count=0;

while(ADDO);

for(i=0;i<24;i++)//读取24位数据并发送24个脉冲

{

ADSK=1;

Count=Count<<1;

ADSK=0;

if(ADDO)Count++;

}

ADSK=1;//发送第25个脉冲

delay_us(1);

ADSK=0;

return(Count);

}

signed long getAdcValue(){//获得一次体重秤的AD值函数

unsigned char k;

unsigned long adValue;//将要读取的单个AD值缓存区(二进制补码)

signed long adValueY;//将读取的单个AD值转换成原码的缓存区

signed long adMinValue;//用于存储AdCnt次AD值当中的最小值,初始化为‘第一个AD采样值’

signed long adMaxValue;//用于存储AdCnt次AD值当中的最大值,初始化为‘第一个AD采样值’

signed long adValueAll = 0;//将要读取的AdCnt次AD值总和缓存区,初始化为‘0’

for(k=0;k

adValue = ReadAdValue();

if(adValue&0x00800000){//如果为负数的补码,将负数的补码转换成正数(正数的补吗就是原码)

adValue=((~adValue)+1)&0x007FFFFF;

adValueY = -adValue;

}else{//如果为正数的补码,正数的补码就是原码

adValueY = adValue;

}

if(k==0){//如果为第一个AD采样值

adMinValue = adValueY;//初始化最小值

adMaxValue = adValueY;//初始化最大值

}else{

if(adValueY

adMinValue = adValueY;//更新最小值

}

if(adValueY>adMaxValue){

adMaxValue = adValueY;//更新最大值

}

}

adValueAll = adValueAll + adValueY;//累计10次AD值的总和

}

adValueAll = adValueAll - adMinValue - adMaxValue;//去掉一个最小值和一个最大值

adValueY = adValueAll/(AdCnt-2);//取(AdCnt-2)次AD值的平均值

return adValueY;//返回AD值

}

内容来自:越康体育

hx711芯片c语言程序,压力传感器HX711的C函数相关推荐

  1. c++语言程序中,要调用的函数必须在main()函数中定义,惠州学院C++考试复习题

    惠州学院C++复习题 一.选择题 1.C++的源文件的扩展名是_____C____. A.h B.obj C.cpp D.exe 2.下列选项能够作为C++变量名的是___C____. A.false ...

  2. 每一个c语言程序允许有多个函数,一个c语言程序由什么构成

    一个c语言程序由什么构成 一个C语言源程序至少一个有main函数,定du义函数必须指定 4 个元素:返回类型.函数名.圆括号内的形参表(可能为空)和函数体.源程序的结构特点: 1.一个C语言源程序可以 ...

  3. ds12c887程序C语言,51单片机驱动DS12C887的时钟芯片C语言程序

    本程序旨在读出DS12C887的时间,显示部分只做了分和秒的部分,已通过测试,详细注释很好用的. #include < absacc.h > #include < reg51.h & ...

  4. 语音芯片c语言程序,语音芯片pm50 在430单片机上的C语言编程

    智能语音芯片,它既是语音播放电路,也是智能单片机.其音质水平.价格都要略优于著名的ISD电路,同时也有21KHZ高保真音质.而其开发设计简单度.智能控制的简单度.整体性价比等指标要远胜过ISD,而如果 ...

  5. 单片机音乐芯片c语言程序,51单片机驱动MT8880双音频接收发送芯片C语言程序分享...

    /*     库端电话程式序  */ /*************************************************************/ #include #include ...

  6. 一个c语言函数至少包含,【填空题】C语言程序一般由若干个函数构成,程序中应至少包含一个( ),其名称只能为( )。...

    参考答案如下 填空题[单选题]下列关于借贷记账法试算平衡的表述中,不正确的是( ).A. 试算平衡是为了检验一定时期内所发生经济业务在账户中记录的正确性 B. 试算平衡的方法包括发生额试算平衡法和余额 ...

  7. securecrt调试c语言程序,SecureCRT脚本编写常用函数之WaitForString

    在我早先写的博文里,有写了一些代码,因为近段时间又接触了一些需求,因此就想把一些常用的功能函数进行一下总结. 作为一个高效的网管员,脚本.编程我个人认为至少会一种,如果真不会,那至少也要会使用多种网管 ...

  8. 电子秤HX711芯片使用

    HX711 是一款专用于高精度电子秤而设计的 24 位 A/D 转换器芯片,其内部集成了差分处理电路.稳压电源.片内时钟振荡器等,使电子秤传感器电路大大地简化. HX711芯片主要参数: 工作电压范围 ...

  9. 在纸上写好一个c语言程序后,上机运行的基本步骤为,c基本概念(选择题).docx

    PAGE / NUMPAGES 一.单选题 1.下面叙述中正确的是: (A) 在C语言程序中,main()函数必须放在程序的开始位置 (B) 在C语言程序中,要调用的函数必须在main()函数中定义 ...

最新文章

  1. CCF CSP 201609-2 火车购票
  2. CodeforcesBeta Round #19 D. Points 离线线段树 单点更新 离散化
  3. 请问anroid怎么播放aac文件。
  4. opencv python 生成画布_用Python做自己的2020专属Flag动图
  5. 如何理解卷积神经网络(CNN)中的卷积和池化?
  6. linux mysql.h 在哪_linux mysql找不到mysql.h
  7. ajax同步和异步的区别_同步电机和异步电机区别
  8. expdp导出表结构_(转)oracle使用expdp、impdp和exp、imp导入导出表及表结构
  9. 计算机编程之高级语言
  10. java与jsp的关系_浅谈servlet与jsp的关系
  11. 每天10个Linux命令一
  12. 一年成为ai算法工程师_我作为一名数据科学研究员所学到的东西在一年内成为了AI领导者...
  13. 打开gedit_使用 gedit 文本编辑器优化你的 GNOME 体验 | Linux 中国
  14. 博士德服务器帐套维护密码忘记,T+账套主管的密码忘记了,怎么办
  15. matlab中uigetfile函数的使用
  16. 关于单点登录的一点想法
  17. 国产化硬件适配能力再升级,百度天工AIoT智能边缘助力提升边缘AI算力可控能力
  18. Java+Swing+Mysql学生宿舍管理系统
  19. 金立e3t刷android4.4,金立E3T刷机包 基于百度云官方ROM 深度精简 超强权限 省电耐用 安全稳定...
  20. 如何启动安全模式以及安全模式的应用

热门文章

  1. java字符串转换小数_java怎么将带小数的字符串 转换可以计算的数值类型
  2. 赛门铁克容灾方案VCS
  3. 大容量邮箱如何注册?TOM VIP邮箱帮你轻松搞定
  4. 程序员35岁以后干什么?
  5. 学了一手屠龙之术--K型热电偶
  6. 洛谷-P5734-文字处理软件
  7. PHP使用FriendsOfPHP/PHP-CS-Fixer进行PHP代码修正
  8. node-sass报错问题
  9. 【VFP] MS Virual FoxPro 9.0 | 常用命令 | VFP
  10. java计算机毕业设计线上投保的设计源码+系统+数据库+lw文档+mybatis+运行部署