求助51单片机电机测速的问题
紧急求助一个51单片机应用的问题:我想用红外发射接收做一个直流电机的转速测试电路,具体思路是在圆盘的边上打孔,然后在圆盘的一边放一个红外发射二极管,一边放一个红外接收电路...
紧急求助一个51单片机应用的问题:
我想用红外发射接收做一个直流电机的转速测试电路,具体思路是在圆盘的边上打孔,然后在圆盘的一边放一个红外发射二极管,一边放一个红外接收电路,当电机带动圆盘转动时,红外接收电路每次透过孔接收到那一边红外发射管的信号,将产生一个脉冲,用示波器读出这个脉冲的频率,就是直流电机的转速了。
现具体要求如下:
1.使用51单片机自带的数码管显示;
2.我们原定的要求是需要区分正反转,为此我们在圆盘上打了三个孔,考虑到如今时间仓促可以不做区分,但相应的转一圈会读出三个脉冲,因此计数时的程序也要稍稍进行一下改变
好心人帮帮忙 谢谢了... 展开
我想用红外发射接收做一个直流电机的转速测试电路,具体思路是在圆盘的边上打孔,然后在圆盘的一边放一个红外发射二极管,一边放一个红外接收电路,当电机带动圆盘转动时,红外接收电路每次透过孔接收到那一边红外发射管的信号,将产生一个脉冲,用示波器读出这个脉冲的频率,就是直流电机的转速了。
现具体要求如下:
1.使用51单片机自带的数码管显示;
2.我们原定的要求是需要区分正反转,为此我们在圆盘上打了三个孔,考虑到如今时间仓促可以不做区分,但相应的转一圈会读出三个脉冲,因此计数时的程序也要稍稍进行一下改变
好心人帮帮忙 谢谢了... 展开
2009-05-20
展开全部
放一个红外发射二极管,一边放一个红外接收电路,当电机带动圆盘转动时,红外接收电路每次透过孔接收到那一边红外发射管的信号
展开全部
给你其中的一个红外发射接收程序
#include<reg52.h>
sbit LED=P3^3; //红外发射
sbit LED1=P1^7;
sbit IR=P3^2; //红外一体化接收
bit Flag;
void init_timer() //定时器初始化
{
IE=0x82;
TMOD=0x02;//8位自动重载模式
TH0=0xf3;//定时13us,38K红外波,晶振12
TL0=0xf3;
EA=1;
ET0=1;
TR0=1;
}
void timer0(void) interrupt 1 //定时器函数
{
Flag=!Flag;
}
void main()
{
init_timer();
while(1)
{
LED1=IR; //读取一体化接收头数值
if(Flag)
{
LED=!LED; //发射管输出
}
}
}
#include<reg52.h>
sbit LED=P3^3; //红外发射
sbit LED1=P1^7;
sbit IR=P3^2; //红外一体化接收
bit Flag;
void init_timer() //定时器初始化
{
IE=0x82;
TMOD=0x02;//8位自动重载模式
TH0=0xf3;//定时13us,38K红外波,晶振12
TL0=0xf3;
EA=1;
ET0=1;
TR0=1;
}
void timer0(void) interrupt 1 //定时器函数
{
Flag=!Flag;
}
void main()
{
init_timer();
while(1)
{
LED1=IR; //读取一体化接收头数值
if(Flag)
{
LED=!LED; //发射管输出
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
饿。。看看我以前的回答就知道我是专家级的了。详细要求发到我邮箱我帮你设计一下,在我的“呆猫一号”贴吧里有我的邮箱,但是你不能什么都不做的来问我,所以正心诚意的希望你至少是会一点才回答我的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询