拖链厂家
免费服务热线

Free service

hotline

010-00000000
拖链厂家
热门搜索:
技术资讯
当前位置:首页 > 技术资讯

无运放的权电阻网络在单片机控制系统中的应用下

发布时间:2020-07-21 18:11:14 阅读: 来源:拖链厂家

接上篇

本文引用地址:编程思路

对于电阻类数据,常用的数表有电阻数表、AD数表。

1. 电阻数表,优点是直观,方便后期查验,与电源电压无关;缺点和AD值之间需要额外的计算,占用系统时间。

2. AD数表,优点是MCU只需做比较而无需乘除,与电源电压无关;缺点是不直观,需要保存好原始的计算表格以备查验。

这里使用第二种AD数表,我们推导一下AD值与地址设置值之间的关系:

因为并联电路和串联电路都是线性电路,电源VCC的波动会直接导致输出电压波动,所以直接把VCC和Vref连接能更好地去除电源波动对电压采集的影响,即令VCC=Vref,化简得:Ad=(2n-1)*K

之前的Excel表格已经算出了系数K,在I4写入=H4*(2^$I$2-1),复制粘贴即可得到AD数表,再把它定义成数组即可。

主要程序

#define uint unsigned int#define uchar unsigned char#define parallel#ifndef parallel#define series#endif#ifdef parallel//并联电路AD数表const uint code ad_table[]={0 , 59 ,113 ,160 ,204 ,242 ,278 ,310 , //0~7341 ,368 ,393 ,416 ,438 ,458 ,477 ,494 , //8~15512 ,527 ,541 ,555 ,568 ,580 ,592 ,603 , //16~23614 ,624 ,633 ,642 ,651 ,659 ,667 ,674 , //24~31};//并联电路AD数表为uint address_cal(uint value){uchar i=0;uint address=0;uint buff=value;for(i=0;i<31;i++){if((buff>=ad_table[i]) && (buff<ad_table[i+1])){address=i;break;}}

电阻相关文章:电阻的作用居然有这么多,你造吗

光敏电阻相关文章:光敏电阻工作原理

TypeScript 联合类型

05 Shell 数组

07 SQL Insert