找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

基于msp430g2553定时器产生pwm

[复制链接]

171

主题

616

帖子

1306

积分

四级会员(40)

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

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

EDA365欢迎您!

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

x
#include "msp430g2553.h"( Z7 w2 p3 A1 O1 `- m
//p1.2输出50%方波,p2.1和2.4输出50%和25%波形' @5 D; \9 X9 f) @$ O0 W, ~2 U5 M5 u
void main (void) # L- @8 r  E5 Q8 ^4 ]
{ * |1 x( ^& E* c& D7 E
  WDTCTL= WDTPW + WDTHOLD; //设置看门狗控制寄存器,关看门狗 / g- T  t: W$ L9 u
        & ^0 q3 C8 x* C
  //定时器A0的8 c5 l/ o, ~" L8 [- I! n
  TACTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器,
0 G0 Q) U4 k1 p; X- O    // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK; % K6 Z8 x; v  J0 b" H7 w
    // TACLR=0x0004,清除定时器A计数器 ; W. y5 J+ N. ~% X1 ?. f  r3 E
  / Y7 i; X) p/ y
  CCR0 =12000;  //设置捕获/比较寄存器,初始值为12000,对于12KHz的频率,周期相当于1s  
) L* g  g! G. U. a+ S# G8 `+ A! ~  CCR1=6000; //占空比50%" f3 w5 a  T% w! E
  CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,7 Z9 H% {7 v. P* A- n7 U
  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,) V. P! p+ [/ F8 d* l& L
  //OUTMOD_7与之相反( E$ f, o4 d( F$ R7 q
  3 Q9 G6 u* v. e# o2 i) Z9 n
  CCR2=3000; //占空比25%,错了,没有TA0.2
" P, D! j1 l- D# R  CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,0 r4 |$ K0 i  d( A. Y
  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,' {1 D6 b0 d+ r# W
  //OUTMOD_7与之相反# z: i$ I4 L! v7 w) {9 ~
  P1SEL |=BIT2; ) u" ^4 z$ c5 c: F% C0 E
  P1DIR |=BIT2; //输出 TA0.1
8 M9 I% e0 X: v( {) }    O3 d: A3 d& c
  7 `/ }0 w7 y! J7 S' L' q
  
1 w4 g/ u+ U" G* o2 m" e' ~8 z8 W  //定时器A1的
! {& x- k' w! O& w  TA1CTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器,
9 `& e" p" f+ l( p% Z    // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK; 5 u  ?* f1 E+ f1 p) n  j
    // TACLR=0x0004,清除定时器A计数器 - ~# w5 |, r+ q3 Q
  TA1CCR0 =12000;  //设置捕获/比较寄存器,初始值为32768,对于32768Hz的频率,周期相当于1s
# K0 K3 S* Y6 @  B  @2 x2 F8 ^+ S  
- i9 b; u/ V) W0 F5 O  TA1CCR1=6000; //占空比50%
% ^/ p" {) F: H1 c  TA1CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
" u! k! {9 n% e1 s  O% a1 _3 p) h% h  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,( {* \4 }2 W$ V" z9 H% B- d% M" ?" Y
  //OUTMOD_7与之相反
% ^) k$ l. M* e$ i  TA1CCR2=3000; //占空比25%
3 s3 z( M# b, z' F  TA1CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,, N! p2 @5 [- P3 T% V, i
  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
. O, r% t# y; z  //OUTMOD_7与之相反. P  m! L+ H- ]; w6 B$ E
  P2DIR |=BIT1+BIT4; //输出 TA2.1和TA2.29 J  l/ a( Q6 T3 {
  P2SEL |=BIT1+BIT4;
. m$ d( Q) [. W* l# I  M$ y  while(1) //无限次while循环 2 ]" _. x! o3 a( T. t- ]
  {
  Z# j7 H! H$ g- T     _NOP();
) V* D0 M; a5 y7 @  }
! D3 I& U- r, B# i}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

245

主题

1028

帖子

1921

积分

四级会员(40)

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

积分
1921
2#
发表于 2016-6-23 13:42 | 只看该作者
支持一下,很不错哦!; L# H4 ?) ?, c: E! [! x3 u' x

159

主题

583

帖子

1229

积分

四级会员(40)

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

积分
1229
3#
发表于 2016-6-23 14:32 | 只看该作者
真的谢了,提供这么好资料啊!6 a- Z5 N& C7 y$ @  }& ~* }

157

主题

559

帖子

1198

积分

四级会员(40)

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

积分
1198
4#
发表于 2016-6-23 14:39 | 只看该作者
学习中,谢谢分享
# o6 }  F0 X' B* E- L
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2025-2-19 07:12 , Processed in 0.054030 second(s), 31 queries , Gzip On.

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

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

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