历史上的今天
今天是:2025年01月16日(星期四)
2020年01月16日 | MSP430系列单片机-Timer_A实现PWM
2020-01-16 来源:eefocus
概念
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%占空比如黄色波形所示
25%占空比如蓝色波形所示
25%波形明明不对!!可我也不知道什么原因!仿真所用芯片为F249,代码用的是msp430x44x.h
史海拾趣
|
放大器的输入电阻应该越高越好,这样可以提高输入信号源的有效输出,将信号源的内阻上所消耗的有效信号降低到最小的范围。而输出电阻则应该越低越好,这样可以提高负载上的有效输出信号比例。… 查看全部问答> |
|
贴片电阻电容功率与尺寸对应表 2007-12-18 16:41 贴片电阻电容功率与尺寸对应表电阻封装尺寸与功率关系,通常来说: 0201 1/20W 0402 1/16W 0603 1/10W 0805 1/8W 1206 1/4W 电容电阻外形尺寸与封装的对应关系是: 0402=1.0x0.5 0603=1. ...… 查看全部问答> |
|
第一节: 心情和时钟 说实话我能够使用的单片机不多,我总是以为无论什么单片机都能开发出好的产品。 前些年用51,总是向各位大大学习,无休止的索取,在网上狂览一通。心里感激的同时也想奉献一些,可是我会什么?后来使用avr(公司要求 ...… 查看全部问答> |
|
本文讨论的四种常用FPGA/CPLD设计思想与技巧:乒乓操作、串并转换、流水线操作、数据接口同步化,都是FPGA/CPLD逻辑设计的内在规律的体现,合理地采用这些设计思想能在FPGA/CPLD设计工作种取得事半功倍的效果。 FPGA/CPLD的设计思想与技巧是一个非 ...… 查看全部问答> |
|
**** Build of configuration Debug for project ASDFA **** D:\\TI\\ccsv5\\utils\\bin\\gmake -k all \'Building target: ASDFA.out\' \'Invoking: C2000 Linker\' \"D:/TI/ccsv5/tools/compiler/c2000_6.1.0/bin/cl2000\" -v28 -ml -mt -g ...… 查看全部问答> |




