MSP430F5529输出PWM

news/2024/11/8 17:03:50/

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复用输出pwmunsigned 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路PWMp1_2=1000;   //占空比为1000/1500p1_3=0;p1_4=500;//占空比为500/1500p1_5=0;       }

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


http://www.ppmy.cn/news/669568.html

相关文章

Rk3399 Android9.0 恢复出厂设置流程

Reset 流程 : 1.原生设置中响应 恢复出厂设置 功能,继而发出重置广播(Intent.ACTION_FACTORY_RESET) . 2.frameWork层 接收到此广播,根据广播所携带的参数执行Android层的Reset设定. 3.Android层执行到最后会将Reset配置信息写入 /cache/recovery/command 中,最终进入Recove…

RK3588 配置HDMI支持8K分辨率输出

RK3588 配置HDMI支持8K分辨率输出 RK3588 芯片最高支持的输出分辨率可以到8K&#xff0c;由于Android12 SDK要支持多个显示接口&#xff0c;所以默认最高只配置了4K的分辨率支持&#xff0c;下面以RK3588-EVB1的开发板上配置HDMI输出8K输出为例进行说明如何让RK3588支持8K分辨…

超详细!旗舰SoC RK3588参数介绍-飞凌嵌入式

OK3568-C开发板 RK3588是瑞芯微旗下最新的8K旗舰SoC芯片&#xff0c;采用ARM架构&#xff0c;主要用于PC、边缘计算设备、个人移动互联网设备和其他数字多媒体应用。 RK3588集成了四核Cortex-A76和四核Cortex-A55&#xff0c;以及单独的NEON协处理器&#xff0c;支持8K视频编解…

Python神经网络学习(七)--强化学习--使用神经网络

前言 前面说到了强化学习&#xff0c;但是仅仅是使用了一个表格&#xff0c;这也是属于强化学习的范畴了&#xff0c;毕竟强化学习属于在试错中学习的。 但是现在有一些问题&#xff0c;如果这个表格非常大呢&#xff1f;悬崖徒步仅仅是一个长12宽4&#xff0c;每个位置4个动…

Linux操作系统配置代理服务器

PS:本文只是针对Linux操作系统对于代理服务器的配置操作&#xff0c;不涉及广告 1.代理的概念 代理服务器英文全称是Proxy Server&#xff0c;其功能就是代理网络用户去取得网络信息。形象的说&#xff1a;它是网络信息的中转站。在一般情况下&#xff0c;我们使用网络浏览器直…

2022最常用密码公布,你的账户安全吗?

密码管理工具 NordPass 公布了 2022 年最常用密码列表&#xff0c;以及破解密码所需的时间。该研究基于对来自 30 个不同国家 / 地区的 3TB 数据库的分析。研究人员将数据分为不同的垂直领域&#xff0c;使得其能够根据国家和性别进行统计分析。今年的研究主要聚焦于文化如何影…

Leetcode 647. 回文子串

Leetcode 647. 回文子串题目 给你一个字符串 s &#xff0c;请你统计并返回这个字符串中 回文子串 的数目。回文字符串 是正着读和倒过来读一样的字符串。子字符串 是字符串中的由连续字符组成的一个序列。具有不同开始位置或结束位置的子串&#xff0c;即使是由相同的字符组成…

NodeJS安装教程(详细)

系列文章 MySQL安装教程&#xff08;详细&#xff09; 本文链接&#xff1a;https://blog.csdn.net/youcheng_ge/article/details/126037520 MySQL卸载教程&#xff08;详细&#xff09; 本文链接&#xff1a;https://blog.csdn.net/youcheng_ge/article/details/129279265 …