MSP430系列单片机-Timer_A实现PWM

2018-05-05来源: eefocus关键字:MSP430系列  单片机  Timer  PWM

概念

PWM信号是一种具有固定周期、不定占空比的数字信号。 
如果Timer_A的计数器工作在增计数模式,输出采用输出模式7(复位/置位模式) 
利用寄存器TAxCCR0控制PWM波形的周期,用其他某个寄存器TAxCCRx来控制占空比(t高电平/ T周期)


题目

设ACLK = TACLK = LFXT1 = 32768Hz, MCLK = SMCLK = DCOCLK = 32 * ACLK = 1.048576MHz,利用Timer_A输出周期 512/32768 = 15.625ms,占空比分别为75%和25%的PWM矩波形。

代码如下:

#include  "msp430x44x.h"


void main()

{


    WDTCTL = WDTPW + WDTHOLD;

    FLL_CTL0 |= XCAP14PF;

    TACTL = TASSEL0 + TACLR;    //ACLK,清除TAR

    CCR0 = 512 - 1;             //设置PWM周期

    CCTL1 = OUTMOD_7;           //捕获/比较控制寄存器设置输出模式7

    CCR1 = 384;                 //占空比384/512=0.75

    CCTL2 = OUTMOD_7;           //捕获/比较控制寄存器设置输出模式7

    CCR2 = 128;                 //占空比128/512=0.25


    P1DIR |= 0x04;              //P1.2输出

    P1SEL |= 0x04;              //P1.2为外设模块 TA1

    P2DIR |= 0x01;              //P2.0输出

    P2SEL |= 0x01;              //P2.0为外设模块 TA2

    TACTL |= MC0;               //Timer_A控制寄存器设置为增计数模式


    for (;;)

    {

        _BIS_SR(LPM3_bits);     //进入低功耗模式3

        _NOP();

    }

}

显示输出: 
75%占空比
75%占空比如黄色波形所示

25%占空比
25%占空比如蓝色波形所示

25%波形明明不对!!可我也不知道什么原因!仿真所用芯片为F249,代码用的是msp430x44x.h

关键字:MSP430系列  单片机  Timer  PWM

编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/article_2018050538998.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:MSP430系列单片机-读RAM数据烧写到Flash中
下一篇:单片机中的ROM,RAM和FLASH的作用

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

MSP430系列微控制器简介

内容涉及以下: ●按照所处理的信号,对电子线路的分类 ●数字电路的特点 ●常用数字集成电路器件的种类和特点 ●微控制器(Microcontroller,MCU)的结构 ●德州仪器(TI)公司MSP430系列微控制器(MCU)的特点 ●MSP430微控制器的最小系统电路 ●MSP430微控制器的内部资源 ●不同型号MSP430微控制器芯片的区别引言电子线路的功用是完成信号的产生、传输和处理。按照信号的特点,电子线路可以被划分为处理连续信号的模拟电路和处理离散信号的数字电路。相对于模拟电路,数字电路具有许多优点。首先,在数字系统中信号电压的准确值并不
发表于 2019-04-19
MSP430系列微控制器简介

MSP430系列单片机-读RAM数据烧写到Flash中

题目一从RAM地址0x0200中读取一个long数据,并烧写至地址为0x1800的Flash中。代码:#include"io430.h"void main(void){    //初始化RAM信息段的指针    unsigned long * RAM_ptr = (unsigned long *) 0x0200;    //初始化Flash信息段的指针    unsigned long * Flash_ptr = (unsigned long *) 0x1800;    //存放数据的变量   
发表于 2018-05-05

MSP430G2xx1系列USI的SPI模式详解

简述在 MSP430 系列中微控制器中有三种串行通讯模块。它们分别是 USART 、 USI 和 USCI 。USART 支持同一硬件模块的两种串行模式,分别是 UART 和 SPI 。 USART 实现了独立的收发转换暂存器和 分离的收发缓冲暂存器以及中断能力。通用同步串行通讯 (USI) ,对于一个 GPIO 数量少的设备来说,是一个高性能串行接口。它是一个 8 或 16bit 移位寄存器,可被用作输出数据,或配合软件一起使用时,可以实现串行通讯。而且 USI 包含了一个能轻松实现 SPI 和 I2C 通讯的硬件功能。 USI 模块还包含了中断功能来减少必要 的对串行通讯管理软件并保持 MSP430 超低功耗的能力
发表于 2018-05-05

基于MSP430系列超低功耗单片机的多参数环境监测仪

及PIC[1]等系列,TI公司带闪速存储器的MSP430F系列超低功耗单片机有着很大的优势。MSP430F单片机有多种型号,其功能组合各异,能满足不同应用场合的要求。本设计采用MSP430F437,它的要特点[2]如下:    ·工作电压低(1.8~3.6V),电流小(280μA/1MHz/活动模式),5种低功耗模式;    ·16位RISC架构,27条精简指令,125ns指令周期;    ·丰富的中断源并可任意嵌套,用中断请求将系统从备用状态唤醒仅需6μs;    ·片内看门狗及上电复位电路,可选时钟源(XTAL1、XTAL2或内部DCO); 
发表于 2018-04-11
基于MSP430系列超低功耗单片机的多参数环境监测仪

基于MSP430系列微控制器串口通信时的波特率自动检测的实现

  通常微控制器通过串行接口与其它终端进行通信时,两个终端需要通讯波特率一致才能达到准确与可靠的通讯效果,串行波特率的自动检测(ABR)可以解决通信终端的波特率自动匹配问题,从而实现微控制器与PC或其它主机的串行通信。本文主要介绍MSP430系列微控制器实现串口通信时的波特率自动检测。  1.概述  当MCU需要同时与几个不同波特率值的系统进行通信时,ABR检测功能则显得很重要。ABR检测在检测波特率值的同时可以自动调整波特率值。在执行ARB检测算法时,当主机波特率在115200~74400之间时,MCU必须从主机接收到一个预先设置的特定字符,如<CR>字符;当主机波特率在9600~1200之间时,MCU则需从主机接收
发表于 2018-03-01
基于MSP430系列微控制器串口通信时的波特率自动检测的实现

STM32F1系列单片机USB外设相关寄存器的定义

Keil MDK网站上下载的Keil.STM32F1xx_DFP.2.2.0.pack包中的stm32f10x.h头文件里面没有USB_TypeDef的定义,只有寄存器位的定义,是不完整的头文件。没有USB的数据结构就会给访问USB寄存器带来一定的困难。虽然可以参照STM32参考手册中的USB register map自己编写出USB_TypeDef结构体,但是这样比较麻烦。不过,STM32CubeMX工具生成的STM32F103工程中的头文件stm32f103xe.h中就有完整的USB数据结构,该头文件的版本是V4.2.0,日期为31-March-2017,作者仍然是Keil里面的MCD Application Team,这比Ke
发表于 2019-07-19

小广播

何立民专栏

单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved