分享到:
/* 电机PWM调速原理演示程序 程序说明:利用定时器TA产生固定周期的方波,控制方波高电平时间即可控 制平均输出功率。这种控制方法称为PWM调制。 MSP430单片机的定时器TA可以在无需CPU干预的情况下输出2 路PWM调制波形。用其中一路(TA1)通过三极管驱动电动机。只要 写CCR1寄存器即可随时改变占空比,从而改变电机功率。这种控 制方法功率损失很小(控制元件导通/截至都不耗电),效率高。 (C)西安电子科技大学 测控技术与仪器教研中心 编写:谢楷 2008/01/31 */ // // // MSP430FE425 // ----------------- // | XIN|- // | | 32kHz // | XOUT|- // | | // | P1.2/TA1|----->三极管驱动--->小马达 // | (CCR1) | _ _ _ _ // | | _| |__| |__| |__| |_ // | | 40%~100% PWM // #include <MSP430X42X.h> void Sys_Init() { WDTCTL=WDTPW+WDTHOLD; //停止看门狗 FLL_CTL0|=XCAP18PF; //配置晶振负载电容 P1DIR |= BIT2; // P1.2 output P1SEL |= BIT2; // P1.2 TA1 otions TACTL = TASSEL_1 + MC_1; // ACLK, up mode CCR0 = 500; // PWM Period CCTL1 = OUTMOD_7; // CCR1 reset/set CCR1 = 200; // CCR1 PWM duty cycle } void main( void ) { int i; char SpeedMode=0; Sys_Init(); while(1) { for(i=0;i<4000;i++); //延迟 if(SpeedMode==0) //加速模式下 { CCR1++; //占空比不断提高 if(CCR1>=500) SpeedMode=1; //到达100%后转为减速模式 } if(SpeedMode==1) //减速模式下 { CCR1--; //占空比不断降低 if(CCR1<=200) SpeedMode=0; //到达40%后转为加速模式 } } }
(0 )
(1 )
回复
举报
- 0000000000000000
-
1888 发帖7917 回复34980 积分
- 私信他 +关注
- daniel2016
-
0 发帖86 回复272 积分
- 私信他 +关注
- d5e2702d714444e
-
0 发帖64 回复224 积分
- 私信他 +关注
发表回复
块
导
航
举报
请选择举报类别
- 广告垃圾
- 违规内容
- 恶意灌水
- 重复发帖