求基于51单片机的转速测量的设计(代码),最好C语言实现的,给些指导也行!

 我来答
06008333
2012-03-02 · TA获得超过267个赞
知道小有建树答主
回答量:109
采纳率:100%
帮助的人:138万
展开全部

测速得需要外部电路啊,单个单片机不行啊,如上图测电机转的速度就加了编码盘,和光电传感器测速啊。

追问
是啊 用霍尔传感器实现的,利用中断计数应该可以测得转速的,想找个C的代码学习一下
追答
名称:外部中断0边沿触发
内容:这里使用边沿触发
中断接口P3.2连接的霍尔传感器
#include
void Init_Timer1(void)
{
TMOD |= 0x10; //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响
TH1=0x00; //给定初值,这里使用定时器最大值从0开始计数一直到65535溢出
TL1=0x00;
EA=1; //总中断打开
ET1=1; //定时器中断打开
TR1=1; //定时器开关打开
}
void main()
{
EA=1; //全局中断开
EX0=1; //外部中断0开
IT0=1; //边沿触发
Init_Timer1();
int flag=0;//记录高上升沿的次数

while(1)
{
//在此添加其他程序
}
}
/*------------------------------------------------
外部中断程序
------------------------------------------------*/
void ISR_Key(void) interrupt 0 using 1
{
flag++; //霍尔元件有信号输出
}
void Timer1_isr(void) interrupt 3 using 1
{
ET1=0; //当定时时间到了定时器中断关闭,此时的flag的值为定时器从0开始计数一直到65535溢出为止霍尔而元件产生的信号
}

随性编的可能不对,你可以参考下。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式