我要发布
仪器网/ 仪器社区/ 霍尔传感器/ 霍尔传感器测转速的程序。

霍尔传感器测转速的程序。

康桂荣1    2012-06-14    霍尔传感器    浏览 419 次

#include #include #define uint unsigned int #define uchar unsigned char sbit rs=P2^2; sbit rw=P2^1; sbit lcdcs=P2^0; sbit warning=P2^4; uint i,z,count,zhuan,msec; uchar display[]={" speed= r/s"}; void ... #include
#include
#define uint unsigned int
#define uchar unsigned char
sbit rs=P2^2;
sbit rw=P2^1;
sbit lcdcs=P2^0;
sbit warning=P2^4;

uint i,z,count,zhuan,msec;
uchar display[]={" speed= r/s"};
void delay(uint ms)
{
uint i,j;
for (j=0;j for (i=0;i<120;i++);
}
void write_command(uchar command)
{
rs=0;
P0=command;
lcdcs=1;
lcdcs=0;
}
void write_data(uchar data0)
{
rs=1;
P0=data0;
lcdcs=1;
lcdcs=0;
}
void counter(void) interrupt 0
{
EX1=0;
count++;
if(count==4)
{
count=1;
z++;
}
EX1=1;
return;
}
void displaytolcd()
{
write_command(0x80);
for (i=0;i {
write_data(display[i]);
delay(5);
}
}
void Timer_0(void) interrupt 1
{
TH0=0x65;
TL0=0xF3;
msec++;
if(msec==20)
{
displaytolcd();
msec=0;
zhuan=z;
z=0;
}
}
void int_all()
{
warning=0;
z=0;
count=0;
zhuan=0;
rw=0;
delay(15);
write_command(0x38);
delay(5);
write_command(0x0e);
delay(5);
write_command(0x06);
TMOD=0x01;
TH0=0x66;
TL0=0x50;
EA=1;
ET0=1;
TR0=1;
IT0=1;
EX0=1;
}
void disp_count()
{
display[9]=(zhuan/1000+'0');
display[10]=(zhuan/10+'0');
display[11]=(zhuan/10%10+'0');
display[12]=(zhuan%10+'0');
}
void warning_speed()
{
if(zhuan>3000)
{
warning=0;
}
if(zhuan<300)
{
warning=1;
}

}
void main()
{
int_all();
while(1)
{
disp_count();
warning_speed();
displaytolcd();
}
}

这个程序模拟的时候是用图中得模拟的。但是霍尔传感器产生的是开关量。请问怎么改动才能让他实现转速测量的功能?

精彩问答
ifamhcp34 发布日期:2012-06-19
这个信号发生器就是一个模拟的开关量,要求不高的话直接接霍尔传感器就行了。
全部评论
航锥腊媒顿么 发布日期:2012-06-15
不用这么复杂的,简单的电路就可以实现,详情参考ZG电子DIY之家有关资料和制作实例
最新主题
相关版块
我要评论
X您尚未登录
账号登录
X您尚未登录
手机动态密码登录
X您尚未登录
扫码登录
官方微信

仪器网微信服务号

扫码获取最新信息


仪器网官方订阅号

扫码获取最新信息

在线客服

咨询客服

在线客服
工作日:  9:00-18:00
联系客服 企业专属客服
电话客服:  400-822-6768
工作日:  9:00-18:00
订阅商机

仪采招微信公众号

采购信息一键获取海量商机轻松掌控