找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1387|回复: 2
打印 上一主题 下一主题
收起左侧

51单片机自行车测速算法问题

[复制链接]
跳转到指定楼层
楼主
ID:678767 发表于 2020-4-19 14:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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;//开启中断
        }
}


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:729982 发表于 2020-4-19 17:17 | 只看该作者
如果我没猜错的话,你那个判断错了吧?应该是 if(cnt==1)?
回复

使用道具 举报

板凳
ID:94031 发表于 2020-4-19 17:29 | 只看该作者
用不着一圈中断算一次,改为中断里光计圈数,5圈算一次再显示,减轻CPU负担。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表