一段看不懂的C程序 求助高手帮忙解释一下 谢谢

2019-07-16 03:05发布

uchar ad_dat1=0;   //读取滤波后的AD值
uchar Water_dat=0;
uchar set_flag=0;
//水位计算
void Water_Calculate()
{
if(ad_dat1<33)
{
  Water_dat=10-((33-ad_dat1)/3);  
}
else
{
  Water_dat=10+((ad_dat1-33)/3);
}   
}
void main()
{
uint AD_DAT=0;
uchar i=0;
LED_OK=0;
init_1602();
while(1)
{
  if(i<10)     // 滤
  {
   i++;
   AD_DAT+=A_D();  // 波
  }
  else     // 算
  {
   i=0;    // 法
   ad_dat1=(uchar)(AD_DAT/10);
   AD_DAT=0;
  }
  Water_Calculate();
  display();
  key();
  control();
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
无帐号状态
1楼-- · 2019-07-16 23:12
我也看不懂。
爱及时来了
2楼-- · 2019-07-16 23:35
定义一个计数变量i,i每自增一次进行一次AD采集,当i自增到10,i清零,并对之前采集的10组数据取平均值。其实就是计算机算法里的均值采样
酱油一号
3楼-- · 2019-07-17 03:45
 精彩回答 2  元偷偷看……
好学生
4楼-- · 2019-07-17 07:51
关于c程序,我掌握的也不是很好!!!但我会用,你说到的上个程序,我看了下,很简单嘛!!!就四个函数,一个是处理水位的,也就是采样函数,,,你可以不用细看的,因为他是一个整体,也没必要每一句都看懂,那样太累啦,不是吗???又一个是键盘扫描函数,该函数主要是针对外部(人为按键)而设置的程序,紧接着是控制函数,这个函数是专门针对于采样函数采样出的结果而设置的(功能大概就像这样:若水位低,就启动电动机往里抽水,从而使水位不至于太低;若水位太高,就启动电动机向外抽水,不至于水位太高;就是这样,从而使水位始终保持在某一水平),,我的理解就是这样的,希望能对你有所帮助!!!

一周热门 更多>