51单片机电机测速程序c语言,51单片机控制直流电机测速度的程序,跪求大神指点一下。...

外部中断0服务程序*****************************/

void INT_0() interrupt 0

{

speed_num++;

}

/***************定时器0中断服务程序*****************************/

void timer_0() interrupt 1

{

uchar counter=0;

TH0=(65536-10000)/256;                   //重设定时器0初值

TL0=(65536-10000)%256;

counter++;

if(100==counter)

{

a=speed_num;           //到1S就计算收到多少个脉冲

counter=0;

}

}

/***************定时器1中断服务程序*****************************/

void timer_1() interrupt 3

{

static uchar count=0;

TH1=(65536-20000)/256;                   //重设定时器1初值

TL1=(65536-20000)%256;

count++;

if(count==PWM_ON)

{

dianji=0;

}

count++;

if(count==CYCLE)

{

count=0;

if(PWM_ON!=0)

dianji=1;

}

}

/******************速度调节程序*****************************/

void aspeed (uchar num)

{

static int  temp;

if(num>temp)

{

if(PWM_ON

PWM_ON++;

}

else

{

if(PWM_ON

PWM_ON--;

}

temp=num;

}

/******************速度检测程序*****************************/

uchar speed_text(uchar a)    //1S内计算的转速

{

uchar b;

b=a*2*3.14*10;//10表示半径10mm

return b;

}

/*************************判是否有键按下**************************************/

K=keyscan(); //调键扫

switch(K)

{

case 0x18:           // 按下C键进入显示界面

lcd12864_write_command(0x01);

rate=speed_text(b);          //获取速度

xianshi();                          //显示速度

lcd12864_display(2,1, "当前速度为:");

lcd12864_display(3,3,speed_1 );

lcd12864_display(4,1, "按D键设置速度");

Delay_ms(3000);

break;

case 0x28:           // 按下D键进入速度加减界面

lcd12864_write_command(0x01);

lcd12864_display(2,1, "按E键加速");

lcd12864_display(3,1, "按F键减速");

break;

case 0x48:     // 按下E键加速

lcd12864_write_command(0x01);

lcd12864_display(1,1, "速度+");

lcd12864_display(2,1, "     ");

aspeed (num);//速度调节

num++;          // 加速键按下,速度标志加1

if(num==3)

num=3;        // 达到最大3,则保持

break;

case 0x88:     // 按下F键减速

lcd12864_write_command(0x01);

lcd12864_display(1,1, "速度-");

lcd12864_display(2,1, "     ");

aspeed (num);//速度调节

if(num!=0)

num--;

else

num=0;        // 达到最小3,则保持

break;

}

699ba7046c51816a17b33a7caa85f179.png

0

befd55929eb5666354dfa35bc455f0d6.png

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值