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

基于msp430g2553定时器产生pwm

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
#include "msp430g2553.h"
) B; [2 x( O* w& O9 s% D//p1.2输出50%方波,p2.1和2.4输出50%和25%波形$ [- Z9 p/ [. W/ o' J$ h
void main (void) : M! H% X/ y+ d: l3 W9 j1 ~
{ ; C6 j! J( U, y- o! z; r. Q3 G
  WDTCTL= WDTPW + WDTHOLD; //设置看门狗控制寄存器,关看门狗
) Q* Y/ ]6 [) M: E! c' S2 J1 ?6 ?        5 y; n& ?- l' Y" S- \0 R
  //定时器A0的
, e* D. n9 `3 D( x' `8 \  TACTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器,
5 f. }, _3 B, A: j    // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK; ' ^; ?  S& k- o% x. G5 `! ^
    // TACLR=0x0004,清除定时器A计数器 $ ^4 o( g7 G) q+ a
  
5 \' f  }7 v7 e  CCR0 =12000;  //设置捕获/比较寄存器,初始值为12000,对于12KHz的频率,周期相当于1s  
' g6 J( Z6 N! `8 l4 P# D/ Q  CCR1=6000; //占空比50%
* i/ ~1 b/ r' e! C1 Y  CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,+ a% P/ J2 t! R
  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
0 T' h3 P$ n: x  ]4 C* |  c( @2 X  //OUTMOD_7与之相反
0 s- D9 i1 E/ p4 d  
  [, `$ e/ w0 F! Y% m  CCR2=3000; //占空比25%,错了,没有TA0.2
1 u6 u' B4 D& q; m7 P! g: ^  CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
$ ^* }; |- t4 \  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,) l7 U& Q7 Z. A! I& d7 [
  //OUTMOD_7与之相反( @0 l) P$ r7 u
  P1SEL |=BIT2;
5 N- i) A0 [3 {  P1DIR |=BIT2; //输出 TA0.1! C( P( |" L! D& s9 _
  
( P+ e. Z7 G* ]% a% t  & j9 B* A$ o6 z) J1 {" Y
  
5 |$ J3 F2 T! ?6 B6 q8 ^  //定时器A1的
( j: v# D7 x( \% ~+ ^; ]! @  TA1CTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器, % Q1 ?: ]- v, A, s
    // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK;
0 p0 w* U; r7 g, Q) n" P    // TACLR=0x0004,清除定时器A计数器 1 _* [$ d6 X! X) g
  TA1CCR0 =12000;  //设置捕获/比较寄存器,初始值为32768,对于32768Hz的频率,周期相当于1s
. u0 s5 p3 w2 X+ T  
4 ~# ]4 c' ~6 g& a% R  TA1CCR1=6000; //占空比50%; Y' y' ~0 j" E3 w$ s
  TA1CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,0 I/ I- i+ J# S, z- f
  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
$ i' F0 p9 g1 c. Z; d5 G: {  //OUTMOD_7与之相反9 z9 A8 y+ G, w7 [
  TA1CCR2=3000; //占空比25%# O2 g/ U. R% u& I9 [4 a5 `
  TA1CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0," ]6 M( O) n$ c. l6 b& ]( C6 g9 H
  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
/ K2 [* S, A( Y( K+ H. F6 q) `  //OUTMOD_7与之相反
# L/ k6 T! l5 r& ^  P2DIR |=BIT1+BIT4; //输出 TA2.1和TA2.29 r0 o; M7 p8 `: a( [! C
  P2SEL |=BIT1+BIT4; : v, \2 E$ W& X
  while(1) //无限次while循环 8 g0 C5 G- G/ _2 e
  {6 m. C  D# Q% X$ z" K
     _NOP();# L0 Q  s1 p# }
  }
6 R: f, {2 @% F8 ^8 d, I9 t/ \" F}

该用户从未签到

2#
发表于 2016-6-23 13:42 | 只看该作者
支持一下,很不错哦!
( ?0 @' i1 o- Q

该用户从未签到

3#
发表于 2016-6-23 14:32 | 只看该作者
真的谢了,提供这么好资料啊!
( H/ t+ l# ~0 U3 f. j

该用户从未签到

4#
发表于 2016-6-23 14:39 | 只看该作者
学习中,谢谢分享
8 ]6 I* E5 o' \1 U" T$ k
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-11 12:45 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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