找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

基于msp430g2553定时器产生pwm

[复制链接]

171

主题

616

帖子

1306

积分

四级会员(40)

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

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

EDA365欢迎您!

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

x
#include "msp430g2553.h"
% B4 W+ P0 [8 K* e//p1.2输出50%方波,p2.1和2.4输出50%和25%波形
$ I; s6 x9 [1 h3 O+ f' Tvoid main (void)
: i. D# t% G/ D' v0 e{ 0 {: Q( U4 u# v. t( t+ A7 G0 @5 R
  WDTCTL= WDTPW + WDTHOLD; //设置看门狗控制寄存器,关看门狗 / j7 l4 N1 q6 v4 R7 B
        3 x0 G8 P% {4 r! X$ K
  //定时器A0的
4 ~5 V! @% a  |  TACTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器,
. O& x! ~. o& ]9 k  d* P: m( _    // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK;
3 X2 z* d$ }  H% C) b" ]% Q# a6 Y    // TACLR=0x0004,清除定时器A计数器
8 b" @) M8 c0 \7 l0 W1 t  
* ~/ u0 q/ s7 @; E  CCR0 =12000;  //设置捕获/比较寄存器,初始值为12000,对于12KHz的频率,周期相当于1s  
5 i! c; n) A, `* m/ o2 g1 W  CCR1=6000; //占空比50%/ Q( l; w; r5 |, v; R
  CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
% U% }6 Z& o* |* y: j  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,. D: O2 s/ b/ E& w6 V/ P7 o% H6 x
  //OUTMOD_7与之相反) p8 U) U; s( r* T4 Y
  
! r$ ~9 G/ U+ M  g: k! H  CCR2=3000; //占空比25%,错了,没有TA0.2$ I. n3 h! @- q* E3 ~
  CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
( m3 K' P+ W3 [7 l9 b3 o3 Y$ [  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
& ?7 r# u! R+ f  //OUTMOD_7与之相反: |! P0 i0 z  e) D' |" `
  P1SEL |=BIT2; 4 e4 d! \: V/ c3 L" @
  P1DIR |=BIT2; //输出 TA0.15 L# e( ^% F( b) \- Z) f- e+ `4 G
  " f! [# a; H9 J! X' i7 n, E
  
9 o" y+ |$ t" d4 y! h+ g  # O2 Z! _$ ]. D, r& [, M$ k
  //定时器A1的
( {4 z/ c7 N  D  k( Q! S  TA1CTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器, $ W( m/ O6 l6 p# d
    // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK; % U# x6 ~1 G# s1 f' }
    // TACLR=0x0004,清除定时器A计数器 1 N+ k4 J& t7 k0 H
  TA1CCR0 =12000;  //设置捕获/比较寄存器,初始值为32768,对于32768Hz的频率,周期相当于1s
- W8 O( m" e' x  f2 y  
. p( J2 K  p/ a! }8 X- W  TA1CCR1=6000; //占空比50%
8 B5 Q' ~! L, N+ r  TA1CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,- R% K1 Z5 l1 D% K& `
  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,1 i! h7 S$ K0 C' J4 a
  //OUTMOD_7与之相反
, T5 Y! B2 Q* J  TA1CCR2=3000; //占空比25%* w$ s# z( C9 @/ l% z& R
  TA1CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
3 F1 L  `4 z! B' N  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平," {% w, Q; P2 d0 E4 \. Q9 p. q
  //OUTMOD_7与之相反3 x. W0 C  d1 E$ P
  P2DIR |=BIT1+BIT4; //输出 TA2.1和TA2.2
7 i, A' I- U- `  P2SEL |=BIT1+BIT4; & }8 t0 w$ m; r4 i4 {9 N
  while(1) //无限次while循环
& }' O; l5 I1 f! G3 u+ z  T  {- |9 z3 z+ J: J5 S
     _NOP();
$ m" J3 G. R. E1 f! T/ N& u/ ?  }
: ^9 |' L- p9 u; U2 M}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

245

主题

1028

帖子

1921

积分

四级会员(40)

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

积分
1921
2#
发表于 2016-6-23 13:42 | 只看该作者
支持一下,很不错哦!
7 D/ y& u0 B: n- D6 H- p7 e

159

主题

583

帖子

1229

积分

四级会员(40)

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

积分
1229
3#
发表于 2016-6-23 14:32 | 只看该作者
真的谢了,提供这么好资料啊!; n! c' H5 x% s- F1 }* ]. j

157

主题

559

帖子

1198

积分

四级会员(40)

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

积分
1198
4#
发表于 2016-6-23 14:39 | 只看该作者
学习中,谢谢分享! ~5 i, \3 M. M- {$ J6 K
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2025-2-19 06:26 , Processed in 0.055285 second(s), 31 queries , Gzip On.

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

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

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