找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

基于msp430g2553定时器产生pwm

[复制链接]

171

主题

616

帖子

1306

积分

四级会员(40)

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

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

EDA365欢迎您!

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

x
#include "msp430g2553.h"
. q6 g' Q  a5 Z, j$ _/ h//p1.2输出50%方波,p2.1和2.4输出50%和25%波形
2 m( S. u  d- U, B% Jvoid main (void)
4 v0 Y' [0 q& t$ U& q{ 1 W; H0 g) H7 h) w5 n
  WDTCTL= WDTPW + WDTHOLD; //设置看门狗控制寄存器,关看门狗 , Z7 p6 W; P/ i& D0 y. m0 e
        
( ^1 v  W: m# H4 D# g+ D  //定时器A0的* Z1 m6 [& j' C! g  z
  TACTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器, % \, [5 U$ j# q( x. C
    // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK;
; v2 p9 X" [. R    // TACLR=0x0004,清除定时器A计数器
( ]1 a6 D# w0 V5 j: b  ]3 H  " E8 s! m/ d, S" {: e
  CCR0 =12000;  //设置捕获/比较寄存器,初始值为12000,对于12KHz的频率,周期相当于1s  1 g# J7 i: \6 U2 U' m
  CCR1=6000; //占空比50%
0 r" c, p4 I) _9 v1 i  CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
% i5 g6 x" {1 {- e4 Y8 j  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,2 Q7 _7 H& m; e: y$ x( [
  //OUTMOD_7与之相反* Q# p! F  N+ l: L' X6 P
  & z& w+ X  y3 ^
  CCR2=3000; //占空比25%,错了,没有TA0.2
9 {, }7 g2 b7 W" P8 ]. }  CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
# W0 O5 [9 J4 q2 [  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,; i0 v2 R; Z+ D$ A
  //OUTMOD_7与之相反
9 c2 s1 |$ @% g6 ]$ z  M2 `  b  P1SEL |=BIT2; . E% ]+ @* [6 c& P+ m3 q, V
  P1DIR |=BIT2; //输出 TA0.1: m2 v* [$ t: g1 L) I
  . t4 b& s1 v- F: B  {) f! a
  9 e2 ^" c/ o' U% g* D9 A
  
: M: h4 L+ \, \  //定时器A1的/ R& {7 B! Z. L6 |
  TA1CTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器, + J! \% p' E4 J0 H& d5 P1 m  Q
    // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK;   U, W: m7 w' i/ m" Y1 u  W7 t
    // TACLR=0x0004,清除定时器A计数器 4 P2 h4 N7 N1 g* }5 _- m! p2 ?
  TA1CCR0 =12000;  //设置捕获/比较寄存器,初始值为32768,对于32768Hz的频率,周期相当于1s   `1 {! b% v( P* U* e7 o
  0 A" ^7 E* [3 S) l0 @0 D
  TA1CCR1=6000; //占空比50%5 \  ?% A+ T  ^
  TA1CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,. s7 B2 X% u* ^
  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
7 O; i' o+ l# X/ K7 x$ M" S  //OUTMOD_7与之相反8 |( d# i- _3 C8 L# B/ M7 t5 T+ ]
  TA1CCR2=3000; //占空比25%
2 D  |$ a2 P% T  TA1CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,0 W1 k2 u" |- ?5 H* P
  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
/ b/ h0 I3 r" E- O: Z, G: s  //OUTMOD_7与之相反
# P- m* N5 N5 O$ D1 P3 v! Y  P2DIR |=BIT1+BIT4; //输出 TA2.1和TA2.2( k  Q% I! |7 L4 |& U; e
  P2SEL |=BIT1+BIT4; - W8 \8 ]4 R8 a' w( F& K
  while(1) //无限次while循环 % X, s$ ~  H* f. f  n' ]6 o: G8 M
  {" P2 H* c. S, j) Q
     _NOP();+ [5 z, M4 W/ g1 W' s9 W& K" b! f- I
  }
# J4 S" T" [8 x' E% s. v}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

245

主题

1028

帖子

1921

积分

四级会员(40)

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

积分
1921
2#
发表于 2016-6-23 13:42 | 只看该作者
支持一下,很不错哦!
2 T- t& q8 v+ h% F- s, }) ^4 M# u, n

159

主题

583

帖子

1229

积分

四级会员(40)

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

积分
1229
3#
发表于 2016-6-23 14:32 | 只看该作者
真的谢了,提供这么好资料啊!/ Q8 a5 z3 W: {: B

157

主题

559

帖子

1198

积分

四级会员(40)

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

积分
1198
4#
发表于 2016-6-23 14:39 | 只看该作者
学习中,谢谢分享+ C9 L/ M' {- G2 M9 R/ W! u" p' F
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2024-11-24 02:59 , Processed in 0.054449 second(s), 31 queries , Gzip On.

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

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

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