51单片机电机测速程序c语言,单片机电机测速程序

这个51单片机+电机霍尔测速程序是从一个制作成功的智能小车里面提取出来的

8323e1c431875dff18e627c0d8956c27.png本文引用地址:http://www.eepw.com.cn/article/201612/325017.htm

原理图及其源代码压缩包的下载地址:http://www.51hei.com/bbs/dpj-19526-1.html

下面是主要的程序文件预览:

#includeunsigned int i=0;

sbit P36=P3^6;

unsigned char j;

unsigned int kop;

unsigned char a[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

unsigned char b[8]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};

void delaym(unsigned int t)

{ unsigned char p;

while(t--)

{

for(p=0; p<125; p++);

}

}

void main()

{

EA = 1;

TH0=0x00;

TL0=0x00;

ET0=1;

ET1=1;

TMOD = 0x15;// 打开定时器和计数器T0,因此矩形脉冲输入端接P3.4

TH1=0x3C; //50ms

TL1=0xB0;

TR0 = 1;

TR1 = 1;

while(1)

{

for(j=0;j<3;j++) //显示个数

{

P0=b[j];

P2=j;

delaym(2);

}

}

}

timer3() interrupt 3 //定时器中断时间到,就读取计数器值

{ TH1=0X3C;

TL1=0XB0;

i++;

if(i==20) //1s才进行技术脉冲值显示,即每秒更新一次速度

{

kop=TH0;//计数器计入脉冲,每来一个矩形脉冲计数值加1

kop=kop<<8;

kop=kop+TL0;

b[2]=a[kop/100]; //显示计数器的值即实际测得速度

b[1]=a[kop%100/10];

b[0]=a[kop%100%10];

i=0;

TH0=0;//计数器速度获取后清零,进行下次获取

TL0=0;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值