打印

149 用DA转换模块输出正弦波,为什么频率上不去

[复制链接]
1380|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
waitingf|  楼主 | 2013-1-9 20:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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   
           

}

相关帖子

沙发
waitingf|  楼主 | 2013-1-9 20:22 | 只看该作者
这是我的主函数,想产生1000HZ的正弦波,为什么频率调不上去,求指教

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

104

主题

1138

帖子

3

粉丝