找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

基于msp430g2553定时器产生pwm

[复制链接]

171

主题

616

帖子

1306

积分

四级会员(40)

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

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

EDA365欢迎您!

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

x
#include "msp430g2553.h"
5 y" N) l: @$ |- \& Z5 z//p1.2输出50%方波,p2.1和2.4输出50%和25%波形/ A1 v+ S2 w9 b& q5 M/ Q3 n4 p
void main (void) 3 Z  k$ X" F1 e
{ 1 F( K' F! `# ~+ F
  WDTCTL= WDTPW + WDTHOLD; //设置看门狗控制寄存器,关看门狗
' Z/ @" p2 c9 [% i% `* J3 {* n6 m        " E/ y3 M, V6 P, P
  //定时器A0的
8 q& f1 z, U, J  A7 j% y  TACTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器,
+ X5 l, w( }6 B+ `9 s# r    // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK; : |1 w3 R. P# H3 N
    // TACLR=0x0004,清除定时器A计数器
7 X+ {1 Y3 b$ B; S0 ~) u  5 I5 O& f+ ?$ G5 G7 w
  CCR0 =12000;  //设置捕获/比较寄存器,初始值为12000,对于12KHz的频率,周期相当于1s  
) B7 y4 ]  T  P  F: J+ V  CCR1=6000; //占空比50%
3 z. e# A( a) x5 ~9 A# m* k- G  CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,% E* t6 M9 }' i9 ^7 s7 H) L
  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,2 @6 M* L4 g5 k
  //OUTMOD_7与之相反
& x6 ~4 i; M2 X. N  $ t% @! @, b& m7 b7 i
  CCR2=3000; //占空比25%,错了,没有TA0.2
9 R% d& T6 n+ p6 _) o6 F  CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
3 w  i7 j  V; e+ d/ @4 _9 T  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,9 Y( U& c9 Z  [5 t
  //OUTMOD_7与之相反$ A, a" u. H  L
  P1SEL |=BIT2;
/ G7 l: ]. i* f* }  _  P1DIR |=BIT2; //输出 TA0.1
/ R% O7 _% I9 U# u& O5 n  
' e! X' n8 c& e, Q    ?+ v# ]& `! S0 d- M! F
  / [  d1 i. M6 `1 J$ `9 h
  //定时器A1的9 a7 q0 f9 `# {0 X  e
  TA1CTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器,
! T, H3 J- L( H9 ]9 ^) E/ \  {    // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK; ! B2 f: r! \# s  E
    // TACLR=0x0004,清除定时器A计数器 5 H. O8 r" {  z0 l
  TA1CCR0 =12000;  //设置捕获/比较寄存器,初始值为32768,对于32768Hz的频率,周期相当于1s
: b$ W, K9 ^4 w9 l+ z  , u1 a* O& [1 P+ u
  TA1CCR1=6000; //占空比50%
. ~( ~6 L' C& s3 e) A# r  TA1CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
! ^. u" D9 V: s2 m8 C- V1 {; o! L/ O  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
. Q/ A% |  ?+ [7 P3 c  l- s  //OUTMOD_7与之相反) c1 J( T9 d+ d4 Q
  TA1CCR2=3000; //占空比25%
; W5 ^8 h1 C. ~. r1 A  TA1CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,9 J- _! R# f% H  m# a: p& ~
  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,0 N" U: ~3 ~+ E, q
  //OUTMOD_7与之相反
% s, h9 l. F8 M! {# {  P2DIR |=BIT1+BIT4; //输出 TA2.1和TA2.2: [! o( _1 a" R- m
  P2SEL |=BIT1+BIT4; % p" y( H0 W2 M: O" A
  while(1) //无限次while循环
/ a! z" c! y5 h( U( E8 j  {
( s( m# m' T$ q  v" H. \* b: F$ w     _NOP();! }8 A4 y. t1 j' y( H* A9 g
  }
$ Z: v, z0 g% q8 X. D}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

245

主题

1028

帖子

1921

积分

四级会员(40)

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

积分
1921
2#
发表于 2016-6-23 13:42 | 只看该作者
支持一下,很不错哦!' x% T: j( `# Y( X& b6 ~

159

主题

583

帖子

1229

积分

四级会员(40)

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

积分
1229
3#
发表于 2016-6-23 14:32 | 只看该作者
真的谢了,提供这么好资料啊!3 m3 m1 _1 ?) t6 N. E8 x

157

主题

559

帖子

1198

积分

四级会员(40)

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

积分
1198
4#
发表于 2016-6-23 14:39 | 只看该作者
学习中,谢谢分享7 ]% v$ v/ N3 ^0 n* F
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2025-2-19 06:16 , Processed in 0.052574 second(s), 32 queries , Gzip On.

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

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

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