1. 首页
  2. 课程学习
  3. C++/C
  4. 基于51单片机的c语言程序 电机转速测量与PWM控制

基于51单片机的c语言程序 电机转速测量与PWM控制

上传者: 2018-12-29 04:09:29上传 ZIP文件 103.71KB 热度 57次
部分源程序如下: //=================测速计数处理=================================== void timer1()interrupt 3 {time1++;} //+++++++++++++++++测速转换处理+++++++++++++++++++++++ void int1()interrupt 2 { long kA=0; uchar temp; TR1=0; if(SP_bit==0) {TR1=1;SP_bit=1;} else { kA=time1*65536+TH1*256+TL1; temp=2500000/kA; SP_out=temp; TH1=0x00; TL1=0x00; time1=0x00; TR1=0; SP_bit=0; } } //================PWM处理与数据采集处理函数=================== void PWM_generator() interrupt 1 using 0 { if(flag==1) { a--; if(a==0) {flag=0; if(K_B_bit==1) a=UK; else a=SP_in; } else {OUT_PWM=0;} } if(flag==0) { b--; if(b==0) {flag=1; if(K_B_bit==1) b=0xff-UK; else b=0xff-SP_in; } else {OUT_PWM=1;} } m++; if(m==20) { m=0; n++; if(n==40) { n=0; EK0=SP_in-SP_out; PI_bit=1; } } } if(a==0) {flag=0; if(K_B_bit==1) a=UK; else a=SP_in; } else {OUT_PWM=0;} } if(flag==0) { b--; if(b==0) {flag=1; if(K_B_bit==1) b=0xff-UK; else b=0xff-SP_in; } else {OUT_PWM=1;} } m++; if(m==20) { m=0; n++; if(n==40) { n=0; EK0=SP_in-SP_out; PI_bit=1; } } }
下载地址
用户评论
码姐姐匿名网友 2018-12-29 04:09:31

正在学习51单片机的光电编码器的车速控制,解决了燃眉之急

码姐姐匿名网友 2018-12-29 04:09:31

谢谢,对我帮助很大

码姐姐匿名网友 2018-12-29 04:09:31

有帮助,有效果!

码姐姐匿名网友 2018-12-29 04:09:31

又学到了一些新的算法,谢谢楼主分享

码姐姐匿名网友 2018-12-29 04:09:31

很实惠,程序很有帮助,谢谢分享!

码姐姐匿名网友 2018-12-29 04:09:31

不错的仿真,给我提供了帮助。