找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

基于msp430g2553定时器产生pwm

[复制链接]

171

主题

616

帖子

1306

积分

四级会员(40)

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

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

EDA365欢迎您!

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

x
#include "msp430g2553.h"
2 T( f# r  ^; Y3 S# ?4 m//p1.2输出50%方波,p2.1和2.4输出50%和25%波形
8 c- D5 O& ?; q6 z& U5 Y! F+ ~. m0 Evoid main (void)
- }. Z6 T# n7 k# N" m{
3 X9 s5 @' u% H2 `5 Y/ D  WDTCTL= WDTPW + WDTHOLD; //设置看门狗控制寄存器,关看门狗 . n- t6 ^) o8 |1 B: O9 M0 J
        . n2 @- ^; Q4 i8 i6 f4 z. M
  //定时器A0的
+ {3 {9 |" Y7 _" w: n% u+ L$ U; s% p  TACTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器, ! E/ `* y! S& `5 e
    // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK; * g) [0 M( G" _' x, U' @6 i
    // TACLR=0x0004,清除定时器A计数器 - ?, v, f/ j# Q3 t
  4 H2 }1 K' [$ j/ E- X; U# l
  CCR0 =12000;  //设置捕获/比较寄存器,初始值为12000,对于12KHz的频率,周期相当于1s  8 E3 i8 d6 y, ^( d1 Q" C
  CCR1=6000; //占空比50%% w4 m/ x: e2 `9 }* W  {( B5 F8 G
  CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,. g, Y3 b, {" k: ^
  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,5 K& U0 Q- L5 c1 g; S
  //OUTMOD_7与之相反1 x* j; |& D! |2 K
  8 K* t" v3 _4 }4 v. e7 T
  CCR2=3000; //占空比25%,错了,没有TA0.2
( o3 D, `- I, j! ?0 z3 C) j  CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,: P3 Z" w4 \5 v& c
  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
  h6 ?7 `, A- c3 q8 |. u9 \  //OUTMOD_7与之相反. u8 B; [$ F3 Z6 e* R2 o
  P1SEL |=BIT2;
  ?! G% P$ [- p9 |  P1DIR |=BIT2; //输出 TA0.15 D7 X' z+ U9 h- _. Z2 F  c
  
6 Y, \7 X3 Q  W- H" S  1 G. h4 q9 d7 r, s/ u! {
  / {! B; E0 H/ x: y/ e1 J' f
  //定时器A1的
; u- ^- V4 V& c5 q3 m  TA1CTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器,
6 A# k1 l% z0 L: b    // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK; , o- l8 C- M% E' P1 \/ R6 T( F
    // TACLR=0x0004,清除定时器A计数器 : k: J- l. o; u, M% ^2 Z) B" Q& v
  TA1CCR0 =12000;  //设置捕获/比较寄存器,初始值为32768,对于32768Hz的频率,周期相当于1s
: @. K! z( b; i0 a  
4 D: U& J3 w- r  TA1CCR1=6000; //占空比50%
7 v2 t; p! o1 g. `, V6 X/ m/ S  TA1CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
! j3 j% D) m" }2 g. d6 g% r  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
3 O5 g+ {% T. c" b5 M& M; _& c: w5 D3 S  //OUTMOD_7与之相反, F( Z2 R2 J2 a4 {% ^
  TA1CCR2=3000; //占空比25%- e5 H# i/ y: S' J/ R+ l
  TA1CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,, V% v6 ^4 L# l+ _+ P, u6 l5 I
  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
- k4 S& H9 `2 J, K  //OUTMOD_7与之相反, l$ c( _5 e6 y0 V1 r9 b
  P2DIR |=BIT1+BIT4; //输出 TA2.1和TA2.28 V/ f) `% T$ x. X1 f) L7 F
  P2SEL |=BIT1+BIT4;
& _+ \+ \; R& u+ u7 L4 ~' i6 y  while(1) //无限次while循环
1 ^( X0 Z' n! N- P  {! a9 v) e6 ^. `* ~* k% U1 C
     _NOP();2 |8 x- d, \2 b3 r
  }: v- r7 a4 ?5 _
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

245

主题

1028

帖子

1921

积分

四级会员(40)

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

积分
1921
2#
发表于 2016-6-23 13:42 | 只看该作者
支持一下,很不错哦!- F8 U1 W0 |! v/ L7 r, ~* k4 Z* y  E

159

主题

583

帖子

1229

积分

四级会员(40)

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

积分
1229
3#
发表于 2016-6-23 14:32 | 只看该作者
真的谢了,提供这么好资料啊!
, x3 t  i# e# H% |! D  O$ t

157

主题

559

帖子

1198

积分

四级会员(40)

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

积分
1198
4#
发表于 2016-6-23 14:39 | 只看该作者
学习中,谢谢分享7 V! s& C& J2 c2 ?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2024-11-24 00:42 , Processed in 0.056576 second(s), 31 queries , Gzip On.

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

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

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