找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

基于msp430g2553定时器产生pwm

[复制链接]

171

主题

616

帖子

1306

积分

四级会员(40)

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

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

EDA365欢迎您!

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

x
#include "msp430g2553.h"8 Z: S' _( ~% i$ J. D) n0 V3 ?
//p1.2输出50%方波,p2.1和2.4输出50%和25%波形6 C* Y6 q8 `) S0 \" F
void main (void) 6 ^- H3 r- m! b) r
{
" _! I  f/ `- O  v2 D3 B& j7 O  WDTCTL= WDTPW + WDTHOLD; //设置看门狗控制寄存器,关看门狗 5 ~$ S4 r! u2 p  G* W: M! X8 U( A- x. ^
        
: ^4 J7 i2 T% K8 t& Y6 [' O' J  //定时器A0的
& Z7 e6 q: v' u2 I, [  TACTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器, 9 j9 N  g2 H2 b& W2 G- u
    // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK; 3 L" s, p' W2 x+ X
    // TACLR=0x0004,清除定时器A计数器
% k' I+ s; |( A) y+ K# x  # E' T( T* c+ T" j, K
  CCR0 =12000;  //设置捕获/比较寄存器,初始值为12000,对于12KHz的频率,周期相当于1s  
% V# B. U) L) H9 Z  CCR1=6000; //占空比50%9 _1 k6 A* ]2 }7 n/ o
  CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
' P! I7 M7 C6 r3 e3 g  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
/ f" {6 ~8 G! S0 \4 R  a* n  //OUTMOD_7与之相反# P! P0 s" v* O9 z3 _
  % L. u! U- g0 I( \. K" }3 b5 Q1 X
  CCR2=3000; //占空比25%,错了,没有TA0.2/ x5 w4 ]7 b+ A0 A  f% H- m& P
  CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
% S, C' @* V+ ~, }% X" F& a  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,+ @8 [) i9 u) i
  //OUTMOD_7与之相反& i2 j) o2 A) O( z, N6 a+ M
  P1SEL |=BIT2;
/ y+ i% ]$ m* [( f1 ?" C  P1DIR |=BIT2; //输出 TA0.1
5 _0 K0 ]- o9 H2 E+ w  
+ e* N: F) Q' W: S  ; ^, P% N& K: T6 y
  ) \' S, I$ G1 I( P5 {% z: b. n
  //定时器A1的; B) z& }  ?$ [; g5 ]# Y. P
  TA1CTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器, ) q! L3 ~0 `+ `* X4 L$ O
    // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK;
0 I: |2 m4 G: T/ X    // TACLR=0x0004,清除定时器A计数器
" v2 e, G/ D/ l, B2 r3 Y  TA1CCR0 =12000;  //设置捕获/比较寄存器,初始值为32768,对于32768Hz的频率,周期相当于1s
  A! L) }; h( f$ [7 Q1 S  
0 S' b$ r4 [, q( F8 ^: V2 i7 I+ w  TA1CCR1=6000; //占空比50%3 `' E- q, x+ J: r
  TA1CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
& j5 V5 h# U; T% ^. u3 F  r0 U( R; s' s  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
, l' w1 W1 a- [; V# k& G, [  //OUTMOD_7与之相反  d! b6 N2 }. J; b9 T- d+ G' Z
  TA1CCR2=3000; //占空比25%
2 I$ q4 `& i% U% ~2 S7 w& e  TA1CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,. c# |# L" T2 A  c2 g, L
  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
8 }- d( C0 I0 o9 z# A  //OUTMOD_7与之相反
& T4 Q* b# `8 |+ G9 b  P2DIR |=BIT1+BIT4; //输出 TA2.1和TA2.2
& H0 o8 n3 x8 `1 T& o- q' v( w  P2SEL |=BIT1+BIT4; 0 i3 }" ^5 v3 g8 o6 e& |  S
  while(1) //无限次while循环
' b1 P/ U1 q# W: x7 j  {
/ U7 _5 \* |, B# E+ W     _NOP();6 X4 `, _, [! R7 _: k* \  @9 y- e
  }
8 Z/ w' _. n" @, [5 W# f  f, v2 w}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

245

主题

1028

帖子

1921

积分

四级会员(40)

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

积分
1921
2#
发表于 2016-6-23 13:42 | 只看该作者
支持一下,很不错哦!3 w+ \. P" y! `' Z" P5 D

159

主题

583

帖子

1229

积分

四级会员(40)

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

积分
1229
3#
发表于 2016-6-23 14:32 | 只看该作者
真的谢了,提供这么好资料啊!; Q1 Y, w3 u: J! X# m% a

157

主题

559

帖子

1198

积分

四级会员(40)

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

积分
1198
4#
发表于 2016-6-23 14:39 | 只看该作者
学习中,谢谢分享0 ^, `+ p' r) r5 g6 b; X* G
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2024-11-24 03:39 , Processed in 0.056307 second(s), 32 queries , Gzip On.

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

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

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