找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 72|回复: 3
打印 上一主题 下一主题

基于msp430g2553定时器产生pwm

[复制链接]

171

主题

616

帖子

1306

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1306
跳转到指定楼层
1#
发表于 2016-6-22 11:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

EDA365欢迎您!

您需要 登录 才可以下载或查看,没有帐号?注册

x
#include "msp430g2553.h"$ K) ~9 W- _: t! J
//p1.2输出50%方波,p2.1和2.4输出50%和25%波形
  @0 R# L* k- r* [+ Q' b4 Z* Jvoid main (void)   S. ]0 N, B! |4 A7 ?$ `. `
{
  P8 ^; j( |: ?' B  WDTCTL= WDTPW + WDTHOLD; //设置看门狗控制寄存器,关看门狗 ( [1 J  s9 U- e8 l
        
/ H5 U8 }/ c3 F: u9 n2 _# b/ J4 B  }  //定时器A0的
* w; h1 Q; B2 K: _  TACTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器, . @8 g1 u2 R- ?0 v& S( |2 {
    // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK; 3 [+ C. \- e( K) M& B6 H
    // TACLR=0x0004,清除定时器A计数器
( c  V- b: a4 _' v$ G4 A1 r. M- }  " ]% p# V4 u5 R! R6 w
  CCR0 =12000;  //设置捕获/比较寄存器,初始值为12000,对于12KHz的频率,周期相当于1s  
4 R* X4 Z! h1 i' ?  ?4 ^! G$ r  CCR1=6000; //占空比50%
: F) }$ p& Y+ G  CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
7 m4 E) ^& a' g0 _( M  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,' @  p" w2 Y- i  z% d
  //OUTMOD_7与之相反, J- P" \$ f5 e3 Z4 o
  
, f# y' S/ P8 l4 F0 @  CCR2=3000; //占空比25%,错了,没有TA0.2
6 F( T; Q/ m+ R1 i7 x$ F  CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,* z+ h5 b$ s$ r
  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平," E3 n7 F& [+ r) r4 r& t- V
  //OUTMOD_7与之相反6 X3 _1 ]7 h+ U: f
  P1SEL |=BIT2;
% [6 c, {+ t: R8 l& S1 d3 G  P1DIR |=BIT2; //输出 TA0.1' F, g, K5 C) C* Y9 [* z& v
    e. ]0 V; i1 J
  4 @- J- L% t7 \, p+ K: _
  
" x: y9 w& W2 {7 s/ i" _% C# I- b. {  //定时器A1的( {# {3 g* k' I7 Z2 g2 O4 H
  TA1CTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器,
: r' ~7 A) L- d$ i: V; J    // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK;
0 l7 w/ B6 ^5 M: Q  k0 X    // TACLR=0x0004,清除定时器A计数器
4 l9 ~/ R" _) A4 N4 V1 j8 ]% h  TA1CCR0 =12000;  //设置捕获/比较寄存器,初始值为32768,对于32768Hz的频率,周期相当于1s 4 ^) d) m8 `0 w% D
  
! @! y) j$ h# z, G& g  TA1CCR1=6000; //占空比50%
. z+ y# m- A5 {  TA1CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
: r' Y$ Y2 b' F( d4 Y/ S; W  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,6 |& ]" n* U8 N
  //OUTMOD_7与之相反! T. ]* A$ ?; ?# ^( ?/ f
  TA1CCR2=3000; //占空比25%
1 h/ d  D3 d/ f  TA1CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
  z( V: F4 \+ ~7 L' i2 ^4 T  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,1 y$ ?2 X0 ~1 r1 p. L. a2 x" z: V
  //OUTMOD_7与之相反
5 f7 n8 W: w2 a( P  P2DIR |=BIT1+BIT4; //输出 TA2.1和TA2.2. e% E4 H  h5 e" R* D" L
  P2SEL |=BIT1+BIT4;
. d- |# [6 J6 i, j  while(1) //无限次while循环 ' ~+ p# A9 W4 \
  {
# C$ n. f, q8 H6 p& z     _NOP();
4 D% c9 E( O! P3 S5 |  }( E! \2 S1 T1 X. g+ ^9 r$ }6 Q2 t4 K
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

157

主题

559

帖子

1198

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1198
4#
发表于 2016-6-23 14:39 | 只看该作者
学习中,谢谢分享' {* \+ K8 [3 A6 t2 b. r- A9 g! s

159

主题

583

帖子

1229

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1229
3#
发表于 2016-6-23 14:32 | 只看该作者
真的谢了,提供这么好资料啊!
+ B9 w5 Q7 i# M- c

245

主题

1028

帖子

1921

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1921
2#
发表于 2016-6-23 13:42 | 只看该作者
支持一下,很不错哦!/ K* ^& W) g9 f' S, D4 g7 B
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2024-11-24 05:34 , Processed in 0.055390 second(s), 32 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表