MSP430F5529输出PWM

msp430f5529产生4路PWM波,改变占空比从而改变电机(直流减速电机)的速度。驱动电机必然会用到驱动模块,接下来就介绍一下驱动模块——L298N

L298N驱动

若要对直流电机进行PWM调速,需设置IN1和IN2,即确定电机的转动方向;然后对使能端输入PWM脉冲,相当于控制总开关闭合与断开的时间,只是这个时间是ms级,即可实现调速。注意当使能信号为0时,电机处于自由停止状态;当使能信号为1,且IN1 和IN2为00或11时,电机处于制动状态,阻止电机转动。如图可说明
请添加图片描述
在这里插入图片描述

msp430f5529输出pwm波

第一步:IO口复用

将PxSEL寄存器的指定位置1,然后设置其方向。将P1.2、P1.3、P1.4、P1.5复用为PWM并设置为输出口。
在这里插入图片描述在这里插入图片描述
第二步:对定时器的相关寄存器进行设置
对定时器A的操作:
在这里插入图片描述
定时器时钟TACLK可以选择ACLK,SMCLK或者来自外部的TAxCLK,确定时钟源为1MHz的SMCL(Subsystem master clock 子系统主时钟),时钟源由TASSELx位来选择;选择的时钟源可以直接传到定时器,或通过IDx位设置进行2,4,8分频,选择的时钟源甚至可以通过IDEXx设置进行2, 3, 4, 5, 6, 7或者8分频,这里暂不分频。接下来就是打开增计数模式即选中MC_1,如图示。最后赋给Timer_A控制器 就可以了!有以下几种输出模式,可自行去判断是哪一种,最好用示波器验证就明白了。最后通过给TA0CCR0赋值确定PWM周期。
在这里插入图片描述

#include <msp430F5529.h>
#define  p1_2   TA0CCR1   //占空比计数,用于控制占空比
#define  p1_3   TA0CCR2   
#define  p1_4   TA0CCR3   
#define  p1_5   TA0CCR4   

void initpwm()
	{
	     P1DIR |=BIT2+BIT3+BIT4+BIT5; //配置P1.2,3,4,5口为输出口
	     P4DIR |=BIT3;P4OUT |=BIT3;//配置输出口并输出高电平
	     P1SEL |=BIT2+BIT3+BIT4+BIT5; //开启1.2,3,4,5口的io复用输出pwm
	     unsigned const PWM=1500;//设置PWM周期参数
	     TA0CCR0 =PWM;   //设置PWM周期
	     TA0CTL=TASSEL__SMCLK+MC_1;  //设置定时器A0采用SMCLK时钟源和增计数模式,查看他们的定义就明白了
	     
	     TA0CCTL1 = OUTMOD_7;   //设置TA0CCR1的PWM的输出模式为7模式
	     TA0CCTL2 = OUTMOD_7;
	     TA0CCTL3 = OUTMOD_7;   
	     TA0CCTL4 = OUTMOD_7;   
    }
    
    int main(void)
    {
	    //关闭看门狗
	    WDTCTL = WDTPW | WDTHOLD;
	    initpwm();
	    //可以同时输出4路PWM
	    p1_2=1000;   //占空比为1000/1500
	    p1_3=0;
	    p1_4=500;//占空比为500/1500
	    p1_5=0;       
    }

ENA使能端作为PWM输入,将P1.2口PWM波输出接入,P4.3和P1.3分别接在驱动IN1和IN2上,这样就可以实现PWM调速了。
最后再分享一些msp430f5529我觉得很有用的文件,相信你会用到的。很久没用msp430了,先搞32去喽。随机更新
更新一点个人收集的很有用的资源:
模块及外设、学习笔记
寄存器库及函数库,调用即可
链接:https://pan.baidu.com/s/1at1SiA1H6z7TF2jhgzEHRw
提取码:wk66

  • 24
    点赞
  • 159
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只小小的Wu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值