找回密码
 注册
关于网站域名变更的通知
查看: 406|回复: 3
打印 上一主题 下一主题

基于msp430g2553定时器产生pwm

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
#include "msp430g2553.h"
" v* J- A3 J3 o! c, I: \0 X2 d//p1.2输出50%方波,p2.1和2.4输出50%和25%波形
. t( @, S( B" o2 c5 [. e9 e* ~, Mvoid main (void)
/ n( V  ?9 q  K; \+ P; {, F{
0 d* H8 p+ ~; x8 q0 k+ J  WDTCTL= WDTPW + WDTHOLD; //设置看门狗控制寄存器,关看门狗 $ e& X, I1 l' h5 l5 [* ]
        9 ?8 |5 I' y; O# ]9 _1 `
  //定时器A0的
( j9 }9 v0 u* w; z* f- u5 i/ y- h  TACTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器,
4 X3 G$ Y* E- A5 z8 }    // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK;
8 Q4 w  Y, M. H0 U4 f/ C$ b; Z' Y    // TACLR=0x0004,清除定时器A计数器
2 f6 ?  D( I% |. I1 R+ X' d; N" P  $ E. @( E7 ]7 n0 ^
  CCR0 =12000;  //设置捕获/比较寄存器,初始值为12000,对于12KHz的频率,周期相当于1s  2 Q8 ?2 u2 r+ z
  CCR1=6000; //占空比50%9 {/ Z/ h5 J  e9 I
  CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
2 j* B. R5 V) o- R7 V  `  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
7 t6 k- f# c! V) H$ W' H  //OUTMOD_7与之相反
/ t8 d8 h7 y5 h+ x& h7 `3 {. d; T  4 ~8 u# c8 |. W2 @, h- M
  CCR2=3000; //占空比25%,错了,没有TA0.2
- o+ C; p" i; F* S' \  CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
/ g4 g" m. O0 E4 c4 d  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,) V: ?! V! q, l! S. F: v# e
  //OUTMOD_7与之相反" n# J0 u' ]; e0 I$ P( z
  P1SEL |=BIT2;
# j- n; t2 o5 y/ K  P1DIR |=BIT2; //输出 TA0.1# Y4 O7 [% n8 |* F; Y' r! ^. [. q
  / l) P" x* g' E! U
  
' A, n$ @3 _1 x# @0 s% K: |7 \  ; n  h2 p+ R2 l2 M( X! l
  //定时器A1的
6 \4 _: E7 l" ]; N1 D* B$ {1 a  TA1CTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器, + F; g& J1 w0 f. k
    // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK;
1 i( X5 o2 L5 D6 I    // TACLR=0x0004,清除定时器A计数器
6 ~+ n( X& m) c0 e4 ]  TA1CCR0 =12000;  //设置捕获/比较寄存器,初始值为32768,对于32768Hz的频率,周期相当于1s & Q& u( b" _$ \; K
    l& {4 K3 N' R9 v: h* M7 X- L
  TA1CCR1=6000; //占空比50%
9 N  [) k; B: F  E. e  TA1CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
6 r1 |. d6 L2 X0 _# M  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
; i2 l1 p, x9 H( X  //OUTMOD_7与之相反% ?( l1 B) O) \* q3 X  P% l8 R
  TA1CCR2=3000; //占空比25%& Q( E- u1 ?9 e' _9 O
  TA1CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,; s# ^' w0 E0 W1 `: \
  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
( N% k" Q) c* q. ]/ g  //OUTMOD_7与之相反( e0 ~0 }0 P1 V; E4 C  S
  P2DIR |=BIT1+BIT4; //输出 TA2.1和TA2.2
6 L8 c  l2 F0 P1 _5 u  P2SEL |=BIT1+BIT4; ! Q; x9 A* p" E" m8 O( j
  while(1) //无限次while循环
4 ~- p% w5 A2 P7 {0 P- S7 |  {
1 |, g2 @1 _1 m, m     _NOP();  H' }$ U1 J" F9 O9 s7 ^
  }
0 N. U: W/ v% s8 y2 d6 a}

该用户从未签到

2#
发表于 2016-6-23 13:42 | 只看该作者
支持一下,很不错哦!! T  b# O( Y: v. S; R4 n$ m

该用户从未签到

3#
发表于 2016-6-23 14:32 | 只看该作者
真的谢了,提供这么好资料啊!6 l' k- F) F* K& R9 _

该用户从未签到

4#
发表于 2016-6-23 14:39 | 只看该作者
学习中,谢谢分享6 B3 j& x! I8 V0 i) v4 N# |  U* W
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-4 13:50 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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