标题: 51单片机自行车测速算法问题 [打印本页]

作者: li171    时间: 2020-4-19 14:26
标题: 51单片机自行车测速算法问题
51单片机自行车测速,我想的是自行车转一圈测一下速,车轮半径30cm大佬看看下面程序对不对



void EXINT0() interrupt 0         //霍尔传感器
{
    count++;

}          

void time0() interrupt 1
{       static unsigned int cnt=0;
        TH0=0x3c;
        TL0=0xb0;
                cnt++;
        if(count==1)
        {
                EX0=0; //关闭外部中单0

                Velocity=2*3*3.14*100/(cnt*50)*3.6;//计算转速(半径3cm)
                 Z=0;//圈数清零
                                cnt=0;
                            count=0;              
                TH0=0x3c;//重新赋值
                TL0=0xb0;               
                EX0=1;//开启中断
        }
}



作者: 我未曾来过    时间: 2020-4-19 17:17
如果我没猜错的话,你那个判断错了吧?应该是 if(cnt==1)?
作者: xuyaqi    时间: 2020-4-19 17:29
用不着一圈中断算一次,改为中断里光计圈数,5圈算一次再显示,减轻CPU负担。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1