MSP430系列单片机-Timer_A实现PWM

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

上一篇:浅谈msp430f5529入门(3)——定时器A/Timer_A
下一篇:MSP430 - G2553之串口操作

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

推荐阅读

MSP430G2553与MSP430F5336系列单片机总结[4]——比较器B的使用
比较器B是什么,顾名思义,它其实就是用来比较模拟电压+输入端和-输入端的电压大小,然后设置输出信号CBOUT的值的,如果 + 端电压高于 - 端电压,则CBOUT置高,否则置低。主要的控制寄存器有CBCTL0,CBCTL1,CBCTL2,CBCTL3,CBINT,CBIV,在MSP430G2553中没有比较器B,但是F5336中有,所以接下来的代码全都是F5336的比较器B使用程序:1.比较器B输入通道CB0接外部模拟输入信号,并且引至比较器+输入端,内部参考电压发生器利用共享电压源产生2.0V参考电压。最后当CB0输入模拟信号电压高于2.0V时,CBOUT输出高电平,当CB0输入模拟信号电压低于2.0V时,输出低电平
发表于 2019-11-06
MSP430系列嵌入式实验教程---基础
MSP430单片机的CPU属于RISC(精简指令集)处理器,RISC处理器基本上是为高级语言所设计的,因为精简指令系统很大程度上降低了编译器的设计难度,有利于产生高效紧凑的代码。初学者完全可以在不深入了解汇编指令系统的情况下,直接开始C语言的学习。本章介绍MSP430单片机软件工程的开发基础,主要讲解MSP430单片机C语言编程基础、MSP430单片机的软件编程方法及软件集成开发环境的基本操作。通过本章的讲解,旨在使读者对MSP430单片机的编程思想有一定的了解。C语言基础变量定义单片机的RAM较小,运算速度有限,在编程时应注意通过合理的编码提高单片机的利用效率。对于小于256的正整数,定义为uint8_t,变量名可取
发表于 2019-10-23
MSP430系列嵌入式实验教程---基础
MSP430系列微控制器简介
内容涉及以下: ●按照所处理的信号,对电子线路的分类 ●数字电路的特点 ●常用数字集成电路器件的种类和特点 ●微控制器(Microcontroller,MCU)的结构 ●德州仪器(TI)公司MSP430系列微控制器(MCU)的特点 ●MSP430微控制器的最小系统电路 ●MSP430微控制器的内部资源 ●不同型号MSP430微控制器芯片的区别引言电子线路的功用是完成信号的产生、传输和处理。按照信号的特点,电子线路可以被划分为处理连续信号的模拟电路和处理离散信号的数字电路。相对于模拟电路,数字电路具有许多优点。首先,在数字系统中信号电压的准确值并不
发表于 2019-04-19
MSP430系列微控制器简介
MSP430系列单片机-Timer_A实现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  "msp430
发表于 2018-05-05
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
基于单片机的DHT11温度湿度采集系统
DHT11温度湿度采集原理图:DHT11的单片机源程序:***************************************************************/#include <reg52.h>#define uint unsigned int #define uchar unsigned char#include <intrins.h>typedef bit BOOL  ; sbit io = P1^1 ;//(口线定义)sbit bee=P1^0;sbit rs = P2^5 ; sbit rw = P2^6 ;sbit ep = P2
发表于 2020-01-09
基于单片机的DHT11温度湿度采集系统
小广播
何立民专栏 单片机及嵌入式宝典

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

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