首页 直流电机PWM调速程序(C语言)

直流电机PWM调速程序(C语言)

举报
开通vip

直流电机PWM调速程序(C语言)直流电机PWM调速程序(C语言) #include//头文件 #define ulong unsigned long//关键字宏定义 #define uchar unsigned char sbit motor_l_a=P0^2;//直流电机控制线接口定义 sbit motor_l_b=P0^3;// sbit motor_r_a=P0^0;// sbit motor_r_b=P0^1;// sbit motor_l_en=P0^4;// sbit motor_r_en=P0^5;// //********...

直流电机PWM调速程序(C语言)
直流电机PWM调速程序(C语言) #include//头文件 #define ulong unsigned long//关键字宏定义 #define uchar unsigned char sbit motor_l_a=P0^2;//直流电机控制线接口定义 sbit motor_l_b=P0^3;// sbit motor_r_a=P0^0;// sbit motor_r_b=P0^1;// sbit motor_l_en=P0^4;// sbit motor_r_en=P0^5;// //*****************变量定义***************************// ulong delay_flag=0;//用于较精确延时的变量 uchar pwm=0;//定时器0中断服务程序中的计数变量 uchar PWM_L=0,PWM_R=0; //***************函数声明******************************// void init_time0();//定时器0初始化函数 void motor_run(uchar direct,uchar speed_l,uchar speed_r);//直流电机控制函数.direct 控制方向,speed分别控制两个电机转速 //***************主函数********************************// void main() { uchar i;//用于直流电机循环工作中的变量 init_time0();//调用初始化函数 while(1) { for(i=0;i<11;i++)//直流电机正向加速 { motor_run(1,i,i); delay_flag=20000; while(delay_flag); } for(i=10;i>0;i--)//直流电机反向减速 { motor_run(0,i,i); delay_flag=20000; while(delay_flag); } } } void time0_pwm() interrupt 1//定时器0中断服务程序 { //**********************直流电机PWM调速部分***************************// pwm++; if(pwm==10)//设置PWM调速周期为1ms。 { pwm=0; P0|=0X30;//P0口进行或运算。 } if(pwm==PWM_L)//PWM_L=0~10; motor_l_en=0; if(pwm==PWM_R)//PWM_R=0~10; motor_r_en=0; //*******************较精确延时部分*********************************// if(delay_flag) delay_flag--; } void init_time0()//定时器0初始化函数 { TMOD=0X02;//采用定时器模式2,8位精确定时 TH0=156;//定时器赋初值;100US中断一次,这里的晶振是11.0592M;若晶振为12M,则 选用156; TL0=156; EA=1;//开总中断 ET0=1;//开定时器中断 TR0=1;//定时器0开始运行 } void motor_run(uchar direct,uchar speed_l,uchar speed_r)//直流电机控制函数,direct 代 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 方向;speed分别控制两个电机速度 { if(direct)//direct==1代表向前 { P0=(P0&0x30)|0x05;//(P0&0x30)的作用是停止电机,目的是为了避免切换时产生不 规则脉冲。 } else//direct==0代表向后 { P0=(P0&0x30)|0x0A; } PWM_L=speed_l; PWM_R=speed_r; }
本文档为【直流电机PWM调速程序(C语言)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_358746
暂无简介~
格式:doc
大小:15KB
软件:Word
页数:4
分类:生产制造
上传时间:2017-09-26
浏览量:157