红外对管做的电机测速单片机代码问题

红外对管做的电机测速单片机代码问题,红外对管做的,理应红外对管输出的信号,应该足够灵敏,但是为什么在LCD上显示总是60或者90或者150,感觉不够精确,这是什么原因,导致不能显示…

红外对管做的电机测速单片机代码问题,红外对管做的,理应红外对管输出的信号,应该足够灵敏,但是为什么在LCD上显示总是60或者90或者150,感觉不够精确,这是什么原因,导致不能显示个位数

单片机源码:

if(zhuansu/10000!=0)
   LcdWriteData(zhuansu/10000+0x30);                                                  //如果转速的万位不为0        正常显示否则显示空格
   else
  LcdWriteData(‘ ‘);

  if(zhuansu/1000==0)
LcdWriteData(‘ ‘);
  else
  LcdWriteData(zhuansu%10000%1000+0x30);                                                                //如果转速小于1000 千位为空格 否则正常显示

  if(zhuansu/100==0)
  LcdWriteData(‘ ‘);
  else
  LcdWriteData(zhuansu%10000%1000/100+0x30);                                           //如果转速小于100 百位为空格 否则正常显示

  if(zhuansu/10==0)
  LcdWriteData(‘ ‘);
  else
  LcdWriteData(zhuansu%10000%1000%100/10+0x30);                                  //如果转速小于10 十位为空格 否则正常显示
    if(zhuansu/1==0)
  LcdWriteData(‘0’);
   else
  LcdWriteData(zhuansu%10000%1000%100%10/1+0x30);                                  //如果转速小于1 个位为0 否则正常显示

  LcdWriteCom(0xd0);                          //如果没有这句,当中断内的显示函数执行完,就会在转速的位置显示占空比数据,导致乱码
}

,判断条件是不是有问题,你这个“zhuansu”变量是怎么算出来的?,会不会是开发板上其它器件管脚冲突,zhuansu采集的不对吧

作者: soufei

为您推荐


Fatal error: Can't use function return value in write context in /www/wwwroot/www.qianrushi.com.cn/wp-content/themes/news/footer.php on line 115