找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

基于msp430g2553定时器产生pwm

[复制链接]

171

主题

616

帖子

1306

积分

四级会员(40)

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

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

EDA365欢迎您!

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

x
#include "msp430g2553.h"
  \& L% k) ?; A) w  x//p1.2输出50%方波,p2.1和2.4输出50%和25%波形
+ t( |$ z* c4 ?& K1 _2 _, g: Xvoid main (void) 9 t' }8 q! {7 J+ J
{
( V  D- Q! T1 G2 `2 y) W9 k- @  WDTCTL= WDTPW + WDTHOLD; //设置看门狗控制寄存器,关看门狗 5 a8 t4 ^. ]: G) m/ [6 S- c+ i) ~5 I
        
" H* R4 Y8 w' C7 Y# g  //定时器A0的
" d' b, o; ^" I4 W  TACTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器,
8 j! w  K" i4 F8 I( Z: D, _, l& q+ k    // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK;
0 k0 N4 |8 S% y    // TACLR=0x0004,清除定时器A计数器
& A' O8 k% ?$ G  ( {9 J3 {7 H  |1 S
  CCR0 =12000;  //设置捕获/比较寄存器,初始值为12000,对于12KHz的频率,周期相当于1s  0 o. H8 T% C* O7 V2 K9 c* [
  CCR1=6000; //占空比50%
3 T; n8 e, ^3 A! r: p% X& T( f  CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,7 q/ M, f' w7 `" ~% L  f8 T' Z
  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,( o# U3 E' D$ W" ?
  //OUTMOD_7与之相反
, v5 ?7 s8 H2 _& |6 E  
; E1 ~% [1 b0 \1 l9 R  CCR2=3000; //占空比25%,错了,没有TA0.2
: f/ T* ~( D4 q+ l! b  CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,3 V7 {; b% y  h# |9 `( _( Y/ E
  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
: q' O9 h  B+ u  //OUTMOD_7与之相反
& X6 e8 J. |! _  t6 ~+ t/ C  P1SEL |=BIT2;   `- J7 R" D, v
  P1DIR |=BIT2; //输出 TA0.1( w1 n9 T5 t. c* e. e$ m8 s- h5 Z. F
  
! i% p) F1 T4 s( c0 E  - M0 U0 F2 }" n  X  N8 O/ }
  
3 o7 F0 F" S& M# f  //定时器A1的( U( @# A- M. G; ~+ t! @
  TA1CTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器, . i% X3 w; A  c9 P( o
    // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK;
% R( `( t8 A1 P8 X2 e5 ]    // TACLR=0x0004,清除定时器A计数器
+ l9 Y9 v$ _- P4 v, y; K- u9 ^  TA1CCR0 =12000;  //设置捕获/比较寄存器,初始值为32768,对于32768Hz的频率,周期相当于1s * g: @! ^, h  x% k* m' u7 Z) @% y
  
5 \5 c. v! ^7 U6 u$ ~9 T  TA1CCR1=6000; //占空比50%
  Z7 k" @% \+ b7 ~1 F( V  TA1CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,6 s$ ~& v+ n, \* o2 p1 v
  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
9 h' g2 \- Z3 ]) w0 w  //OUTMOD_7与之相反
6 _- f; ~% M: h8 |& \9 {  TA1CCR2=3000; //占空比25%" ^# _2 a' R# D. M, N" J  t
  TA1CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
: u* A' B# m+ I% f$ w) A  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,' P) x2 Y  V2 Q" f/ q. T1 _
  //OUTMOD_7与之相反4 y* V, \4 _& o5 K$ @! J$ b& \2 o! L! L
  P2DIR |=BIT1+BIT4; //输出 TA2.1和TA2.2, |( \5 F2 G3 `9 l0 I; L
  P2SEL |=BIT1+BIT4; ! x# A* F# R9 U9 @2 y- Z$ g
  while(1) //无限次while循环 * Y8 Q* r4 E0 Q1 g$ M+ Q- \7 K
  {
8 M$ A9 h# Y2 h" X6 h! J! H& G     _NOP();
; E1 O" Z2 r! C6 s, c  }
9 \) H3 S$ h6 J  M% e1 }}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

157

主题

559

帖子

1198

积分

四级会员(40)

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

积分
1198
4#
发表于 2016-6-23 14:39 | 只看该作者
学习中,谢谢分享/ ?! K8 u% f$ M5 z

159

主题

583

帖子

1229

积分

四级会员(40)

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

积分
1229
3#
发表于 2016-6-23 14:32 | 只看该作者
真的谢了,提供这么好资料啊!( e8 }# E& t( l# t+ z3 \# o% D

245

主题

1028

帖子

1921

积分

四级会员(40)

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

积分
1921
2#
发表于 2016-6-23 13:42 | 只看该作者
支持一下,很不错哦!% T3 p0 C9 R0 h5 `) _" E
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2025-2-19 07:14 , Processed in 0.053758 second(s), 32 queries , Gzip On.

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

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

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