5676|2

2

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

msp430F149 用DA转换模块输出正弦波,为什么频率上不去,附有程序,求大神指教 [复制链接]

这是我的主函数,想产生1000HZ的正弦波,为什么频率调不上去,求指教
void main(void)
  {
      
    WDTCTL=WDTPW+WDTHOLD;// 禁止看门狗定时器
  // 设置系统时钟,使用外接晶振 :8MHz,使单片机的时钟源设为 XT2//
   BCSCTL1 &=~XT2OFF;//首先打开外部晶体振荡器。也就是XT2OFF清零。
  do
  { IFG1 &=~OFIFG;//清除晶体振荡器失效标志OFIFG
  for(i=0xFF;i>0;i--);  //等待50us等待晶体振荡器正常工作
  }
  while((IFG1 & OFIFG)!=0);//等OFIFG等于0的时候结束,说明晶体振荡器正常工作了
   BCSCTL2=SELM_2+SELS;                 //选择MCLK、SMCLK为XT2
  //初始化端口//
     P6DIR |= BIT2;P6OUT |= BIT2;  //关闭电平转换
   
    Set_IO();                   //设置IIC端口
   P1DIR|=BIT0+BIT1;
  //设置Timer_a//
  TACTL =TASSEL1+TACLR;// 选择SMLK为时钟,定时器清除
  //TACTL |=TASSEL1+TACLR;// 选择SMLK为时钟,定时器清除
  CCTL0=CCIE;
  TACCR0=32;
  _EINT(); //中断允许
  TACTL |=MC0;//选择up,16位模式
   }
     //Timer_A中断服务子程序
     #pragma vector=TIMERA0_VECTOR
     __interrupt void Timer_A(void)
{
         
          SampleTimes=(SampleTimes+1)%100;
          DAC_Val=SinTable[SampleTimes];     

          Write_DAC(DAC_Val);            //写入DAC   
           

}

最新回复

149没有I2C接口,所以你的接口是用GPIO模拟的,也就是你的ISR至少得有几十个时钟周期,如果你的正弦表是100个数据的话,这样一个正弦波约需要100*100个时钟周期,剩下的自己算  详情 回复 发表于 2012-12-19 21:51

点评

149没有I2C接口,所以你的接口是用GPIO模拟的,也就是你的ISR至少得有几十个时钟周期,如果你的正弦表是100个数据的话,这样一个正弦波约需要100*100个时钟周期,剩下的自己算  详情 回复 发表于 2012-12-19 21:51
 
点赞 关注

回复
举报

116

帖子

0

TA的资源

一粒金砂(高级)

沙发
 

回复 楼主 cuice15 的帖子

149没有I2C接口,所以你的接口是用GPIO模拟的,也就是你的ISR至少得有几十个时钟周期,如果你的正弦表是100个数据的话,这样一个正弦波约需要100*100个时钟周期,剩下的自己算

点评

先谢谢你!我是个初学者,用的149的开发板,上面有DA转换模块,芯片是DAC5571。我算了一遍,把程序里的延迟和DAC5571的更新速度都算上,得出32个数据的最大才能产生160HZ的正弦波,应该是我算错了吧?可不可以再帮我  详情 回复 发表于 2012-12-21 09:13
 
 

回复

2

帖子

0

TA的资源

一粒金砂(中级)

板凳
 

回复 沙发 sjunbasketball 的帖子

先谢谢你!我是个初学者,用的149的开发板,上面有DA转换模块,芯片是DAC5571。我算了一遍,把程序里的延迟和DAC5571的更新速度都算上,得出32个数据的最大才能产生160HZ的正弦波,应该是我算错了吧?可不可以再帮我想想,再次谢谢!
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表