晶振频率的问题

[复制链接]
2996|6
 楼主| chen3bing 发表于 2012-9-30 12:05 | 显示全部楼层 |阅读模式
我用VALUE LINE开发板调试程序,两段程序。
第一段:
#include<msp430g2553.h>
void main(void)
{
WDTCTL = WDTPW+WDTHOLD;         //设置密码位,禁止看门狗
P1DIR=0X41;                     //P1.6输出
P1OUT=0X01;
BCSCTL3|=LFXT1S_0+XCAP_3;              //使能晶体时钟LFXT1,12.5pF
//IFG1&=~OFIFG;                  //清掉时钟故障标志
IFG1&=~OFIFG;
  _delay_cycles(100000);
  P1OUT=0;
_bis_SR_register(SCG1+SCG0);     //置位SCG1,SCG0,关掉DCO时钟产生,关掉SMCLK
BCSCTL2|=SELM_3+DIVM_3;         //选择LFXT1CLK作为时钟源,8分频
while(1)
{
  P1OUT=0X40;
  _delay_cycles(5000);
  P1OUT=0;
  _delay_cycles(5000);
}
}
晶振频率32768HZ,灯闪的很快。
用另一段程序:
#include<msp430g2553.h>
/*
* main.c
*/
void main(void)
{
WDTCTL = WDTPW+WDTHOLD;         //设置密码位,禁止看门狗
P1DIR=0X40;                     //P1.6输出
P1OUT=0X0;
BCSCTL3|=LFXT1S_2;              //使能VLO时钟,12KHZ
IFG1&=~OFIFG;                  //清掉时钟故障标志
_bis_SR_register(SCG1+SCG0);     //置位SCG1,SCG0,关掉DCO时钟产生,关掉SMCLK
BCSCTL2|=SELM_3+DIVM_3;         //选择VLO作为时钟源,8分频
while(1)
{
  P1OUT=0X40;
  _delay_cycles(5000);
  P1OUT=0;
  _delay_cycles(5000);
}
}
晶振用VLO时钟,12KHZ,两者应该相差3倍,可是实际情况差的很多。
这是怎么回事呢?两者都是8分频。请高手指教,谢谢!
 楼主| chen3bing 发表于 2012-9-30 17:34 | 显示全部楼层
没人知道吗?
dousfoulexd 发表于 2012-9-30 20:14 | 显示全部楼层
我也不知 坐等高手
 楼主| chen3bing 发表于 2012-10-1 14:16 | 显示全部楼层
沉得好快呀!
雨落沉轩 发表于 2012-10-6 09:30 | 显示全部楼层
你外接晶振接好了吗?
hawksabre 发表于 2012-10-9 18:50 | 显示全部楼层
查一查外接晶振是否正常工作   以前设计的电路   底层驱动没有问题   就是不能使用   后来查来查去   原来晶振坏了
hawksabre 发表于 2012-10-9 18:52 | 显示全部楼层
晶振组装时需要注意的事项   第一是外壳接地  第二是焊接不能时间过长   因为晶振内部对温度很敏感   温度稍高  就会损坏   这是我原先的供应商告诉我的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

439

主题

2540

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部