3212|12

54

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

请问各位前辈帮指点一下晚辈 甚是感谢 [复制链接]

请问各位前辈 我想知道怎么调节两相占空比相同 相位相差一定角度 比如60 度 90度 在430中应该怎么设定啊

最新回复

这个程序让我看得很迷啊  详情 回复 发表于 2012-5-1 20:02
 
点赞 关注

回复
举报

424

帖子

0

TA的资源

纯净的硅(高级)

沙发
 
还是得对应到载频的周期上去。
比如相差60度,那么开始时间差三分之一的载频周期
 
 

回复

54

帖子

0

TA的资源

一粒金砂(中级)

板凳
 

回复 沙发 鸵鸟蝈蝈 的帖子

两路脉冲周期相同 需要调节相位 怎么调啊
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(中级)

4
 

回复 板凳 t_shaojun126 的帖子

用TAMER_A定时器,开始时间确定,就能实现

点评

请问 开始时间怎么确定啊  详情 回复 发表于 2012-7-9 15:51
 
 
 

回复

188

帖子

0

TA的资源

纯净的硅(中级)

5
 

回复 楼主 t_shaojun126 的帖子

相位差60度,周期上差1/6,pwm可以使用timer中断来做

点评

#include #include #define uint unsigned int #define uchar unsigned char #define ulong unsigned long extern unsigned long PWM_T=20000;//20000;static void delay(void); void Init_Clock(voi  详情 回复 发表于 2012-7-8 10:15
 
 
 

回复

54

帖子

0

TA的资源

一粒金砂(中级)

6
 

回复 5楼 peter_zheng 的帖子

怎么个中断控制啊 中断中怎么处理啊 请指教
 
 
 

回复

54

帖子

0

TA的资源

一粒金砂(中级)

7
 

回复 4楼 yong_zhang 的帖子

开始时间确定???? 周期一定 怎么改变相位啊
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(中级)

8
 

回复 7楼 t_shaojun126 的帖子

你想想,一个从第一秒开始计时 ,抬高电平,一个从 第三秒开始,跳高电平...会怎么样呢?
 
 
 

回复

54

帖子

0

TA的资源

一粒金砂(中级)

9
 

回复 8楼 yong_zhang 的帖子

怎么设置呢 是不是在一个中断中 设置另一个计数器的初值就可以啊
 
 
 

回复

54

帖子

0

TA的资源

一粒金砂(中级)

10
 

这个程序在中断中也关闭不了定时器A啊

void Init_TimerA(void)
{
  P2DIR=0xFF;
  P2OUT=0xFF;
  P2SEL|=BIT3+BIT4;
  TACTL|=TASSEL_2+ID_3+MC_1+TAIE;  //SMCL 1/8 UPMODE
  TACCR0=5000-1;//5ms
  CCTL0 = CCIE;                             // CCR0 interrupt enabled
 
}

#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A (void)
{
  TBCCTL2 = OUTMOD_7;
  TBCCR2 = 9999;
  P3OUT ^= BIT4;                            // Toggle P3.4 using exclusive-OR
  CCTL0 |= 0;
  TACTL=(TAIE&0)+MC_0;
}

 
 
 

回复

248

帖子

0

TA的资源

纯净的硅(初级)

11
 

回复 10楼 t_shaojun126 的帖子

这个程序让我看得很迷啊
 
 
 

回复

54

帖子

0

TA的资源

一粒金砂(中级)

12
 

回复 5楼 peter_zheng 的帖子

#include
#include
#define uint unsigned int
#define uchar unsigned char  
#define ulong  unsigned long

extern unsigned long PWM_T=20000;//20000;static
void delay(void);
void Init_Clock(void)      
{
  int i=0;
  BCSCTL1&=~XT2OFF;                       // XT2on
  do
  {
    IFG1&=~OFIFG;                           // Clear OSCFault flag
    for (i = 0xFF; i > 0; i--);               // Time for flag to set
  }
  while ((IFG1 & OFIFG));                   // OSCFault flag still set?
  BCSCTL2 |= SELM_2 + SELS;                 // MCLK = SMCLK = XT2 (safe)
  _EINT(); //打开全局中断控制,若不需要打开,可以屏蔽本句
}
void main(void)
{
  
  
  WDTCTL = WDTPW + WDTHOLD;   //关闭看门狗
  Init_Clock();

  P4SEL|= BIT1+BIT2+BIT3+BIT4;         // P1.2 TA1模式P1.3 TA2模式
  P4DIR|= BIT1+BIT2+BIT3+BIT4;         // P1.2 P1.3输出
  TBCTL = TBSSEL_2+MC_1+ID_3;         // SMCLK, 清零Tar,增减模式启动Timer_B,1/8分频
  TBCCR0=PWM_T;                        // PWM 周期 10MS(100HZ)CCR0初值10000-50MS(20HZ)CCR0初值50000
  CCTL0 = CCIE;
  CCR0=5000;//5ms,12500-1;//12.5ms
  TACTL|=TASSEL_2+ID_3+MC_1+TAIE;  //ACLK 1/8 UPMODE
  
     
  TBCCTL1=OUTMOD_2;                      // CCR1 reset t模式
  TBCCR1=(PWM_T/2);//;(2*PWM_T/3);                    // CCR1 PWM 任务周期
  TBCCTL2=OUTMOD_6;                      // CCR1 reset t模式
  TBCCR2=(PWM_T/2);//;(1*PWM_T/3);
}
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A (void)
{
  TBCTL = TBSSEL_1+MC_3+ID_3;
  TBCCR0=PWM_T;
  TBCCTL3=OUTMOD_6;                      // CCR1 reset t模式
  TBCCR3=(1*PWM_T/3);                    // CCR1 PWM 任务周期
  TBCCTL4=OUTMOD_2;                      // CCR1 reset t模式
  TBCCR4=(2*PWM_T/3);   
  P3OUT ^= BIT4;                            // Toggle P3.4 using exclusive-OR
  CCTL0 |= 0;
//  TACTL=(TAIE&0)+MC_0;
   TACTL=0;
    _DINT();
}
/*******************************************
函数名称:delay
功    能:用于消抖的延时
参    数:无
返回值  :无
********************************************/
void delay(void)
{
  uint tmp;
  
  for(tmp = 12000;tmp > 0;tmp--);
}

前辈 求助
我这个程序是产生4路PWM其中2路和另2路相差90度
我用示波器 显示出来的频率 不是我设置的50HZ  非常慢  是怎么回事啊 求指点啊
 
 
 

回复

54

帖子

0

TA的资源

一粒金砂(中级)

13
 

回复 4楼 yong_zhang 的帖子

请问 开始时间怎么确定啊
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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