4754|5

15

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

msp430g2553输出独立双路PWM程序及注释 [复制链接]

1芯积分

最佳答案

查看完整内容

//由P2.1和P2.4分别输出: #include void main( void ) { // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; //时钟设置为1MHz mclk=smclk=dco BCSCTL1 = CALBC1_1MHZ; DCOCTL = CALDCO_1MHZ; BCSCTL3 |= LFXT1S_2; BCSCTL2 |=SELM_1 + DIVM_0; //初始化TA0为两通道pwm,smclk,由P2.1和P2.4输出 P2DIR |= (BIT1+BIT4); P2SEL |= (BIT1+BIT4); TA1CCR0 = 2000; //周期为 ...

最新回复

一个定时器就可以 输出好几路的啊 你要什么  详情 回复 发表于 2015-8-4 11:10
 
点赞 关注

回复
举报

106

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
用grace生成,分分钟钟,非常方便,
 
 

回复

6

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
//由P2.1和P2.4分别输出:
#include
void main( void )
{
  // Stop watchdog timer to prevent time out reset
  WDTCTL = WDTPW + WDTHOLD;

//时钟设置为1MHz mclk=smclk=dco
BCSCTL1 = CALBC1_1MHZ;
DCOCTL = CALDCO_1MHZ;
BCSCTL3 |= LFXT1S_2;
BCSCTL2 |=SELM_1 + DIVM_0;

  //初始化TA0为两通道pwm,smclk,由P2.1和P2.4输出
  P2DIR |= (BIT1+BIT4);
  P2SEL |= (BIT1+BIT4);
  TA1CCR0 = 2000;  //周期为2000个时钟周期
  TA1CCTL1 = OUTMOD_7;
  TA1CCTL2 = OUTMOD_7;
  TA1CCR1 = 500;   //占空比500/2000=0.25
  TA1CCR2 = 1000; //占空比1000/2000=0.5
  TA1CTL = TASSEL_2 + MC_1;
  _BIS_SR(LPM0_bits);    //进入LPM3低功耗模式
}
 
 
 

回复

15

帖子

0

TA的资源

一粒金砂(初级)

4
 
痕丶 发表于 2015-8-3 15:05
//由P2.1和P2.4分别输出:
#include
void main( void )
{
  // Stop watchdog timer to prevent time o ...

这个算只用了一个定时器么?
 
 
 

回复

15

帖子

0

TA的资源

一粒金砂(初级)

5
 
FLY--小强 发表于 2015-8-3 16:24
这个算只用了一个定时器么?

我是这样写的
  1. void PWM (void)
  2. {
  3. //关狗和频率设置全部在主函数进行
  4.   //定时器A0的
  5.   TACTL = TASSEL_2 +MC_1; // 设置定时器A控制寄存器,
  6.   CCR0 =10000;   //设置捕获/比较寄存器,初始值为12000,对于12KHz的频率,周期相当于1s  
  7.   CCR1=2000;     //占空比50%
  8.   CCTL1=OUTMOD_3;//置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
  9.   CCR2=3000;       //占空比25%
  10.   CCTL2=OUTMOD_7;  //置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
  11.   P1SEL |=BIT2;
  12.   P1DIR |=BIT2;   //输出 TA0.1
  13.   
  14.   
  15.   
  16.       //定时器A1的
  17.   TA1CTL = TASSEL_2 +TACLR+MC_1; // 设置定时器A控制寄存器,
  18.   TA1CCR0 =10000;                //设置捕获/比较寄存器,初始值为32768,对于32768Hz的频率,周期相当于1s
  19.   TA1CCR1=5000;                  //占空比50%
  20.   TA1CCTL1=OUTMOD_3;             //置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
  21.   TA1CCR2=2500;                  //占空比25%
  22.   TA1CCTL2=OUTMOD_7;             //置位复位,TAR等于CCR1时置位1,等于CCR0复位0,
  23.   P2DIR |=(BIT1+BIT4);             //输出 TA2.1和TA2.2
  24.   P2SEL |=(BIT1+BIT4);
  25. }
复制代码
 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(初级)

6
 

一个定时器就可以 输出好几路的啊 你要什么
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表