基于单片机的PWM直流可逆调速系统设计_第1页
基于单片机的PWM直流可逆调速系统设计_第2页
基于单片机的PWM直流可逆调速系统设计_第3页
基于单片机的PWM直流可逆调速系统设计_第4页
基于单片机的PWM直流可逆调速系统设计_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

—附录一硬件原理图附录二程序源代码#include<math.h>

#defineucharunsignedchar

#defineuintunsignedint

sbiten1=P1^0;/*L298的EnableA*/

sbiten2=P1^1;/*L298的EnableB*/

sbits1=P1^2;/*L298的Input1*/

sbits2=P1^3;/*L298的Input2*/

sbits3=P1^4;/*L298的Input3*/

sbits4=P1^5;/*L298的Input4*/

uchart=0;/*中断计数器*/

ucharm1=0;/*电机速度值*/

uchartmp1,tmp2;/*电机当前速度值*/

/*电机控制函数index-电机号(1,2);speed-电机速度(-100—100)*/

voidmotor(ucharindex,charspeed)

{

if(speed>=-100&&speed<=100)

{

if(index==1)/*电机的处理*/

{

m1=abs(speed);/*取速度的绝对值*/

if(speed<0)/*速度值为负则反转*/

{

s1=0;

s2=1;

}

else/*不为负数则正转*/

{

s1=1;

s2=0;

}

}

voiddelay(uintj)/*简易延时函数*/

{

for(j;j>0;j--);

}

voidmain()

{

uchari;

TMOD=0x02;/*设定T0的工作模式为2*/

TH0=0x9B;/*装入定时器的初值*/

TL0=0x9B;

EA=1;/*开中断*/

ET0=1;/*定时器0允许中断*/

TR0=1;/*启动定时器0*/

while(1)/*电机实际控制演示*/

{

for(i=0;i<=100;i++)/*正转加速*/

{

motor(1,i);

motor(2,i);

delay(5000);

}

for(i=100;i>0;i--)/*正转减速*/

{

motor(1,i);

motor(2,i);

delay(5000);

}

for(i=0;i<=100;i++)/*反转加速*/

{

motor(1,-i);

motor(2,-i);

delay(5000);

}

for(i=100;i>0;i--)/*反转减速*/

{

motor(1,-i);

motor(2,-i);

delay(5000);

}

}

}

voidtimer0()interrupt1/*T0中断服务程序*/

{

if(t==0)/*1个PWM周期完成后才会接受新数值*/

{

tmp1=m1;

tmp2=m2;

}

if(t<tmp1)en1=1;elseen1=0;/*产生电机1的PWM信号*/

if(t<tmp2)en2=1;else

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论