MSP430F5529_PWM波全调制

这篇具有很好参考价值的文章主要介绍了MSP430F5529_PWM波全调制。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

/*

 * main.c

 */

#include"PWM.c"

#include"msp430f5529.h"

void main(void) {

        WDTCTL=WDTPW+WDTHOLD;  //关闭看门狗

        set_PWM(20000);

        while(1)

        {

                //舵机,可自行修改

        setPWM_duty_cycle(12,2000);

        delay_ms(1000);

        setPWM_duty_cycle(13,500);

        setPWM_duty_cycle(14,4000);

        delay_ms(1000);

        setPWM_duty_cycle(13,2500);

        setPWM_duty_cycle(14,500);

        delay_ms(1000);

        }

        //_bis_SR_register(LPM0_bits);  //进入低功耗模式

        //_no_operation();

}文章来源地址https://www.toymoban.com/news/detail-629664.html

PWM.C文件

PWM.c

#include"msp430f5529.h"

void delay_ms(int t)

{

  int i;

  for(i=0;i<t;i++)

  __delay_cycles(1000);

}

void setPWM_duty_cycle(int P_IO,int duty_cycle)//占空比

{

    switch (P_IO)

    {

    case 12:TA0CCR1 = duty_cycle;break;

    case 13:TA0CCR2 = duty_cycle;break;

    case 14:TA0CCR3 = duty_cycle;break;

    case 15:TA0CCR4 = duty_cycle;break;

    case 20:TA1CCR1 = duty_cycle;break;

    case 21:TA1CCR2 = duty_cycle;break;

    case 24:TA2CCR1 = duty_cycle;break;

    //case 25:TA2CCR2 = duty_cycle;break;//P25有问题,暂不用

    case 35:TB0CCR5 = duty_cycle;break;

    case 36:TB0CCR6 = duty_cycle;break;

    case 57:TB0CCR1 = duty_cycle;break;

    case 74:TB0CCR2 = duty_cycle;break;

    case 75:TB0CCR3 = duty_cycle;break;

    case 76:TB0CCR4 = duty_cycle;break;

    default:

        break;

    }

}

void set_PWM(int Cycle)

{

    //PWM波功能配置

/**************/

//TA0~TA2,均为普通定时器,各有4个管家

//Timer_A,TA0

    P1DIR |= BIT2 + BIT3+BIT4+BIT5;  //管脚P1.2,3,4,5设置为输出

    P1SEL |= BIT2 + BIT3+BIT4+BIT5;  //管脚P1.2,3,4,5选择复用功能

    TA0CCR0 = Cycle;    //设置PWM波周期

    TA0CCTL1 =OUTMOD_7;  //TA0比较捕获器1输出模式设置为reset/set模式;//配置P1.2为OUTMOD_7模式;

    TA0CCR1 = 500; //设置PWM波的占空比,P1.2

    TA0CCTL2 = OUTMOD_7;//配置P1.3为OUTMOD_7模式;

    TA0CCR2 =500;   //设置PWM波的占空比,P1.3

    TA0CCTL3 = OUTMOD_7;//配置P1.3为OUTMOD_7模式;

    TA0CCR3 =500;   //设置PWM波的占空比,P1.4

    TA0CCTL4 = OUTMOD_7;//配置P1.3为OUTMOD_7模式;

    TA0CCR4 =500;   //设置PWM波的占空比,P1.5

    TA0CTL = TASSEL_2 + MC_1 +TACLR; //设置定时器A的时钟输入源为SMCLK增计数模式,MC1为Up模式,同时清零定时器计数值

//Timer_A,TA1

    P2DIR |= BIT0 + BIT1+BIT3+BIT4;  //管脚P1.0,1,3,4设置为输出

    P2SEL |= BIT0 + BIT1+BIT3+BIT4;  //管脚P1.0,1,3,4选择复用功能

    TA1CCR0 = Cycle;    //设置PWM波周期

    TA1CCTL1 =OUTMOD_7;  //TA1比较捕获器1输出模式设置为reset/set模式;//配置P2.0为OUTMOD_7模式;

    TA1CCR1 = 500; //设置PWM波的占空比,P2.0

    TA1CCTL2 = OUTMOD_7;//配置P2.1为OUTMOD_7模式;

    TA1CCR2 =500;   //设置PWM波的占空比,P2.1

    TA1CTL = TASSEL_2 + MC_1 +TACLR; //设置定时器A的时钟输入源为SMCLK增计数模式,MC1为Up模式,同时清零定时器计数值

//TA2

    TA2CCR0 = Cycle;//PWM波周期

    TA2CCTL1 = OUTMOD_7;//配置P2.4为OUTMOD_7模式;

    TA2CCR1 = 500;//配置P2.4占空比

    //TA2CCTL2 = OUTMOD_7;//配置P2.5为OUTMOD_7模式;

    //TA2CCR2 =500; //设置PWM波的占空比,P2.5

    /*P2.5口暂时有问题*/

    TA2CTL = TASSEL_2 + MC_1 +TACLR;

//Timer_B,TA0

    P3DIR |= BIT5 + BIT6; //管脚P3.5,6设置为输出

    P3SEL |= BIT5 + BIT6; //管脚P3.5,6选择复用功能

    P5DIR |= BIT7;

    P5SEL |= BIT7;

    P7DIR |= BIT4+BIT5+BIT6+BIT7;

    P7SEL |= BIT4+BIT5+BIT6+BIT7;  

    TB0CCR0 = Cycle;      //设置PWM波周期

    TB0CCTL5 =OUTMOD_7;   //TB0比较捕获器输出模式设置为reset/set模式;//配置P3.5为OUTMOD_7模式;

    TB0CCR5 = 500;       //设置PWM波的占空比,P3.5

    TB0CCTL6 = OUTMOD_7;  //配置P3.6为OUTMOD_7模式;

    TB0CCR6 = 500;        //设置PWM波的占空比,P3.6

    TB0CCTL1 =OUTMOD_7;   //TB0比较捕获器输出模式设置为reset/set模式;//配置P5.7为OUTMOD_7模式;

    TB0CCR1 = 500;       //设置PWM波的占空比,P5.7

    TB0CCTL2 = OUTMOD_7;  //配置P7.4为OUTMOD_7模式;

    TB0CCR2 = 500;        //设置PWM波的占空比,P7.4

    TB0CCTL3 =OUTMOD_7;   //TB0比较捕获器输出模式设置为reset/set模式;//配置P7.5为OUTMOD_7模式;

    TB0CCR3 = 500;       //设置PWM波的占空比,P7.5

    TB0CCTL4 = OUTMOD_7;  //配置P7.6为OUTMOD_7模式;

    TB0CCR4 = 500;        //设置PWM波的占空比,P7.6

    TB0CTL = TASSEL_2 + MC_1 +TACLR; //设置定时器A的时钟输入源为SMCLK增计数模式,MC1为Up模式,同时清零定时器计数值

//Timer_B,TB0,高级定时器

/**************/

}

到了这里,关于MSP430F5529_PWM波全调制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 05:OLED模块【MSP430F5529】

    目录 实物图 字模取字         字模软件         取模步骤         1.设置软件         2.取模         3.输出数据  代码 type.h oledfont.h oled.h oled.c main.c 下面图片中,可以看到OLED模块的四个接口:GND,VCC,SCL,SDA GND VCC SCL SDA 接地 接电源3.3V/5V 接P3.5 接P3.6       

    2024年02月16日
    浏览(49)
  • MSP430F5529库函数学习——串口

    波特率计算网站;导入MSP430Ware,查看例程;原理图和中文开发手册获取 目录 GPIO_setAsPeripheralModuleFunctionInputPin()和GPIO_setAsPeripheralModuleFunctionOutputPin 函数声明  作用 参数 selectedPort selectedPins 使用 USCI_A_UART_init() 函数声明  作用 参数 baseAddress param  USCI_A_UART_enable() 函数

    2024年02月16日
    浏览(70)
  • MSP430F5529学习笔记(6)——导入MSP430Ware,查看例程

    MSP430WARE下载; 目录 在线版本 下载MSP430Ware 查看例程 导入例程  离线版本 下载MSP430Ware  查看例程 导入例程 MSP430Ware里面有很多例程和库函数使用手册,我们可以查看学习。非常重要 (1) 打开CCS——view——Resource Explorer  之后我们会进入如下界面 (2)  点击MSP430——Embe

    2024年02月13日
    浏览(58)
  • msp430f5529学习笔记(2)时钟系统

    写在前~本章将会详细的讲解msp430f5529单片机的时钟系统及其使用方法。如有不妥的地方欢迎各位大佬斧正!!! 目录 什么是时钟系统和时钟源 MSP430f5529时钟源和时钟系统介绍 产生时钟信号的时钟源: 时钟配置        在单片机中,单片机每开始一个周期的工作就需要一个节

    2024年02月17日
    浏览(48)
  • MSP430F5529库函数GPIO学习

    导入MSP430Ware,查看例程;数据手册以及原理图获取 建议不是很了解寄存器的看完我的MSP430F5529学习笔记  目录 GPIO_setAsOutputPin() 函数声明 作用 参数 selectedPort selectedPins 修改的寄存器 使用 与GPIO_setAsOutputPin()参数一致的函数  GPIO_setOutputHighOnPin() GPIO_setOutputLowOnPin()

    2024年02月15日
    浏览(70)
  • MSP430F5529学习笔记(五)——串口|UART

            我们在使用MSP430的时候大家会发现插上usb线后电脑上有两个端口标识,那么在进行串口通信时选择哪个呢。其实如图所示,上面的端口是用来进行串口通信的,下面的则是用来进行程序的下载,大家在使用的时候多加分辨即可。          当然熟悉单片机操作的

    2024年02月16日
    浏览(50)
  • MSP430F5529单片机入门学习笔记1

    本笔记整理自B站教程 MSP430F5529单片机学习视频汇总 右边部分写错了,看的时候注意 注意#include“driverlib.h”头文件时要注意: 添加MSP430F5xx_6xx文件夹到当前工程下 MSP430F5xx_6xx文件夹是在导入的msp430ware_3_80_13_03包中找 把上述MSP430F5xx_6xx文件夹的路径包含进来 有三个系统时钟可

    2024年02月06日
    浏览(50)
  • 【2023电赛备赛】msp430f5529学习笔记(一)

    【写在前】 本人目前是大二在读生,第一次参加电赛,准备不充分,结果熬了四天,最后成绩却不如人意。有51和32的基础,然后想立一个flag系统的学习一下主打超低功耗的msp430f5529单片机为比赛做准备(毕竟电赛限制TI的板子)。另一方面也是给电协的后继者留下一些参考的

    2024年02月11日
    浏览(50)
  • MSP430F5529循迹小车 2022电赛 C题

    编辑时间2022/8/21 选用材料:主控MSP430F5529、直流减速电机(带光电编码器)、TB6612电机驱动、超声波测距、灰度传感器、无线透传、OLED屏显示。 使用灰度传感器巡线,超声波检测前后车距作为位置环反馈,通过位置环调节前后车距离。 :MSP430   循迹    无线串口透

    2024年02月16日
    浏览(48)
  • MSP430F5529库函数定时器A——捕获实验

    需提前学习:MSP430F5529库函数学习——串口;MSP430F5529库函数定时器A——硬件PWM 目录 引脚手册获取 实验目的 代码 代码解析 串口数据发送部分 数据捕获部分 定时器部分可选参数 设置定时器部分 捕获部分可选参数 设置捕获引脚部分 中断处理 TA2IV_TACCR2解析 TA2IV_TAIFG解析 主函

    2024年02月13日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包