打印

从MSP430输出2M的方波

[复制链接]
6065|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dengdc|  楼主 | 2011-7-14 08:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
heweibig| | 2011-7-14 09:14 | 只看该作者
用DDS芯片和FPGA

使用特权

评论回复
板凳
dengdc|  楼主 | 2011-7-14 09:24 | 只看该作者
不想用DDS芯片和FPGA

使用特权

评论回复
地板
wuhany| | 2011-7-14 10:19 | 只看该作者
你把430的工作频率设高就可以啦

使用特权

评论回复
5
lizye| | 2011-7-14 10:34 | 只看该作者
你用定时器,定时时间为1/1000000=1us,打开定时器中断,每进一次中断就取反一次输出,就行了。

使用特权

评论回复
6
jiahy| | 2011-7-14 10:53 | 只看该作者
用430自带的PWM输出功能。

使用特权

评论回复
7
spark周| | 2011-7-14 10:56 | 只看该作者
需要有8M的外部高频时钟源。

使用特权

评论回复
8
jiahy| | 2011-7-14 11:00 | 只看该作者
嗯,PWM占空比设为50%就可以了。

使用特权

评论回复
9
五谷道场| | 2011-7-14 11:03 | 只看该作者
推荐楼上方法

使用特权

评论回复
10
dengdc|  楼主 | 2011-7-14 11:05 | 只看该作者
为什么呢

使用特权

评论回复
11
五谷道场| | 2011-7-14 11:07 | 只看该作者
因为自带的定时器A的PWM功能,其输出是在后台执行的,主函数中只要初始化就行了。

使用特权

评论回复
12
dengdc|  楼主 | 2011-7-14 11:10 | 只看该作者
能给个参考代码吗?

使用特权

评论回复
13
五谷道场| | 2011-7-14 11:14 | 只看该作者
void main()
{
  unsigned int i;
  BCSCTL1&=~XT2OFF;             //开启高频振荡器8M
  do
  {
    IFG1 &=~OFIFG;
    for(i=0xff;i>0;i--);
  }
  while((IFG1 & OFIFG)!=0);     //消除振荡器失效标志
  BCSCTL2|=SELS;               //选择AMCLK时钟的频率为8M;
  TACTL=TASSEL1+TACLR;          //选择PWM产生的时钟源为AMCLK
  CCTL2=OUTMOD_7;      
  CCR0=4;                    //设置输出频率为8MHz/4=2MHz
  CCR2=2;                 //设置占空比   
  P1DIR|=0X08;
  P1SEL|=0X08;
  TACTL|=MC0;
while(1);
}

使用特权

评论回复
14
午夜粪车| | 2011-7-14 11:17 | 只看该作者
4系列是不是最高只能到8MHz?

使用特权

评论回复
15
heweibig| | 2011-7-14 13:32 | 只看该作者
貌似430的片子都有mclk/sclk输出端的,将频率分频后输出,成不?

使用特权

评论回复
16
dengdc|  楼主 | 2011-7-14 13:47 | 只看该作者
不知道了,我再琢磨琢磨吧

使用特权

评论回复
17
mytempid| | 2011-7-14 16:46 | 只看该作者
搞个2M有源晶振

使用特权

评论回复
18
sxhhhjicbb| | 2011-7-14 19:49 | 只看该作者
5# lizye
1us取反一次,是0.5MHz

使用特权

评论回复
19
ahgao| | 2011-7-14 21:05 | 只看该作者
用软件方法就别指望了,就算是中断也是要响应时间的。

使用特权

评论回复
20
shamodehuhuan| | 2011-7-14 23:11 | 只看该作者
:D

使用特权

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

本版积分规则

892

主题

13885

帖子

7

粉丝