找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

基于msp430g2553定时器产生pwm

[复制链接]

171

主题

616

帖子

1306

积分

四级会员(40)

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

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

EDA365欢迎您!

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

x
#include "msp430g2553.h"
8 K1 `8 B1 h9 j& A2 `# P//p1.2输出50%方波,p2.1和2.4输出50%和25%波形
5 R, H+ q, m6 o* J1 S& pvoid main (void) - m/ {# P  _2 j, @! F
{
' N! l! n2 s( Y# e8 j8 z  WDTCTL= WDTPW + WDTHOLD; //设置看门狗控制寄存器,关看门狗
" Y, R4 O+ z, Z5 d+ r+ |! C* I) `        4 I$ ?3 l1 Y8 ~/ v# C- V$ X; @
  //定时器A0的
# @% s1 [# p* H4 ~  TACTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器,
( x5 W2 k( o: K8 D8 P) E- h/ {, ?    // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK;
7 u$ Q% ~1 w5 i; \$ [. S; b2 l    // TACLR=0x0004,清除定时器A计数器 " R- A+ J) Z1 B1 t
  9 j# v4 w% S4 x
  CCR0 =12000;  //设置捕获/比较寄存器,初始值为12000,对于12KHz的频率,周期相当于1s  5 ?# z3 L+ }) U
  CCR1=6000; //占空比50%
6 i0 B. v2 `7 |" }2 p1 c  CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
  r, y7 m4 U) z! l; a0 [& k$ }  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,% _, a1 K5 F+ o. e" W3 p3 d6 L
  //OUTMOD_7与之相反
# F+ h4 [0 s% j' }  
# x- P$ ?; u. ]8 G$ o1 U1 l3 A  CCR2=3000; //占空比25%,错了,没有TA0.2, I) ~# L" k3 k( x. r- I- V( H
  CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
2 j" M* V$ Y; {% e* [  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,2 [! \" R+ c) o" o
  //OUTMOD_7与之相反8 f8 f- s+ m1 S8 m  Z+ W
  P1SEL |=BIT2; ) S1 N6 A6 m; a8 V! L1 l8 n
  P1DIR |=BIT2; //输出 TA0.10 P0 {! z1 k& V. P, O" ^& Z) }
  0 v, E9 C8 ^1 Z% g7 ]
  
! ?, e$ s9 e, ~7 a. c, ^3 z/ A  . e- E' j/ f/ @" d
  //定时器A1的
& C$ S! G. W/ ?2 [# a  TA1CTL = TASSEL_1 +TACLR+MC_1; // 设置定时器A控制寄存器,
1 Q2 B" k1 l& S    // TASSEL_1选择辅助时钟ACLK,TASSEL_2选择子系统时钟SMCLK;
; z+ F  `* X; L- h    // TACLR=0x0004,清除定时器A计数器 7 r& f0 ^7 T, k$ R
  TA1CCR0 =12000;  //设置捕获/比较寄存器,初始值为32768,对于32768Hz的频率,周期相当于1s
2 Z4 ~. H/ r1 o1 y! [" Q0 z' L! A& I  % L+ E" r5 S5 L2 `! F# _4 F; K
  TA1CCR1=6000; //占空比50%
9 Y$ I7 b4 B) i' G9 X) o! O  TA1CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,4 R+ v# Z1 L1 o
  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
8 d8 d6 u; R5 ^* S  //OUTMOD_7与之相反( y$ v# F" L$ E( x( o1 r/ \8 y
  TA1CCR2=3000; //占空比25%3 ]1 a0 d% v: z+ z4 g$ D( ]
  TA1CCTL2=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
0 N: w* k) G: A7 E" l1 Y4 C  //增计数时相当于0到CCR1为低电平,ccr1到CCR0为高电平,
0 W: C' ^0 ^' s# G) I' |  //OUTMOD_7与之相反1 w& Y5 o7 I3 g% S! Q6 _9 {
  P2DIR |=BIT1+BIT4; //输出 TA2.1和TA2.2- v, J0 P. j3 Z/ [; M/ Z( d
  P2SEL |=BIT1+BIT4; % X. Q4 k7 b* s: l: P$ a2 `6 O% P. I6 \0 G
  while(1) //无限次while循环 ( F( i0 U+ U3 U0 g& E
  {! g& D% w$ \- M+ ~9 J
     _NOP();& W/ s* d( [6 m& J7 r
  }
0 y  ~7 d, G1 Q8 J- x& n}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

245

主题

1028

帖子

1921

积分

四级会员(40)

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

积分
1921
2#
发表于 2016-6-23 13:42 | 只看该作者
支持一下,很不错哦!+ Y" ?/ R) ^! s# b0 A

159

主题

583

帖子

1229

积分

四级会员(40)

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

积分
1229
3#
发表于 2016-6-23 14:32 | 只看该作者
真的谢了,提供这么好资料啊!
/ j6 R* E0 L4 Q

157

主题

559

帖子

1198

积分

四级会员(40)

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

积分
1198
4#
发表于 2016-6-23 14:39 | 只看该作者
学习中,谢谢分享
6 D8 b8 A; {) h) Y. m: |
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

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

GMT+8, 2025-7-1 04:20 , Processed in 0.054142 second(s), 29 queries , Gzip On.

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

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

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