pwm控制直流电机,内含程序源码及仿真电路图
51单片机pwm控制直流电机.zip
(66.11 KB, 售价: 2 E币)
部分代码:- /*以下是一段产生占空比为20%的脉冲信号的c51程序,我想电机转速*/
- /*对应于一定的占空比,如果你要改变占空比,可能需要建立一个对应*/
- /*于不同转速的参数表(如定时器初值等),查表*/
- /*得到不同参数,以改变占空比和转速。你用什么驱动电路?*/
-
- /*采用6MHz晶振,在P1.0脚上输出周期为2.5s,占空比为20%的脉冲信号*/
- /*定时100ms,周期2.5s需25次中断,高电平0.5s需5次中断*/
-
- #include <reg51.h>
- typedef unsigned char uchar;
- sbit P0_0=P0^0;
- sbit P0_1=P0^1;
- sbit P0_2=P0^2;
- sbit P0_3=P0^3;
- sbit P2_0=P2^0;
- sbit P2_1=P2^1;
- uchar time=0;
- uchar period=25;
- uchar high=10;
- uchar th1=0;
- uchar tl1=0;
- uchar th0=0;
- uchar tl0=0;
-
- void timer0() interrupt 1 using 1
- {
- TH0=0x3c; /*定时器初值重装载*/
- TL0=0xb0;
- //TH0=0xc3;/*定时器初值重装载*/
- //TL0=0x50;
- time++;
- if(time==high) /*高电平持续时间结束,变低*/
- { P2_0=tl0;
- P2_1=tl1;
- }
- else if(time==period) /*周期时间到,变高*/
- { time=0;
- P2_0=th0;
- P2_1=th1;
-
- }
-
- }
-
- void main()
- {
- TMOD=0x01; /*定时器0方式1*/
- TH0=0x3c; /*定时器装载初值,设置脉冲信号的占空比为1/5*/
- TL0=0xb0;
- //TH0=0xc3;/*定时器装载初值,设置脉冲信号的占空比为4/5*/
- //TL0=0x50;
- EA=1; /*开CPU中断*/
- ET0=1; /*开定时器0中断*/
- TR0=1;/*启动定时器0*/
-
- if(P0_2==1)
复制代码
【必读】版权免责声明
1、本主题所有言论和内容纯属会员个人意见,与本论坛立场无关。2、本站对所发内容真实性、客观性、可用性不做任何保证也不负任何责任,网友之间仅出于学习目的进行交流。3、对提供的数字内容不拥有任何权利,其版权归原著者拥有。请勿将该数字内容进行商业交易、转载等行为,该内容只为学习所提供,使用后发生的一切问题与本站无关。 4、本网站不保证本站提供的下载资源的准确性、安全性和完整性;同时本网站也不承担用户因使用这些下载资源对自己和他人造成任何形式的损失或伤害。 5、本网站所有软件和资料均为网友推荐收集整理而来,仅供学习用途使用,请务必下载后两小时内删除,禁止商用。6、如有侵犯你版权的,请及时联系我们(电子邮箱1370723259@qq.com)指出,本站将立即改正。
|