XT2也能工作啊?

[复制链接]
483|8
手机看帖
扫描二维码
随时随地手机跟帖
jiajs|  楼主 | 2019-2-15 08:03 | 显示全部楼层 |阅读模式
#include "msp430x14x.h"
#define uchar unsigned char
#define uint  unsigned int
uchar num[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
               0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
uchar wei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
uchar n=0,i=0;
void main( void )
{
  uint a;
  // Stop watchdog timer to prevent time out reset
  WDTCTL = WDTPW + WDTHOLD;

  //IE1|=WDTIE;
  //WDTCTL=WDT_ADLY_1_9;
  P4DIR=0xff;
  P6DIR|=0x18;
  P4OUT=0x00;

BCSCTL1&=~XT2OFF;    //设置XT2CLK有效
  do
  {
    IFG1&=~OFIFG;       //清除失效标志
    for(a=0xff;a>0;a--);//稳定时间
  }
  while((IFG1&OFIFG)!=0); //如果失效标志仍存在则继续循环清除

  BCSCTL2|=SELS;   // 选择XT2CLK为SMCLK的时钟源


  CCTL0=CCIE;   //CCR0中断允许
  CCR0=20000;
  TACTL=TASSEL_2+TACLR+MC_1;//定时器A时钟源为SMCLK,计数器清零,增计数模式
  _EINT();
}
#pragma vector=TIMERA0_VECTOR
__interrupt void timer_A(void)
{
  P6OUT=0x08;
  P4OUT=0x00;
  P4OUT=wei[i++];
  P6OUT=0x10;
  P4OUT=num[n++];
  P6OUT=0x00;
  if(i==8)i=0;
  if(n==8)n=0;
}



这是我自己写的数码管动态扫描程序,为什么不要红色一段代码,XT2也能工作啊?

相关帖子

wyjie| | 2019-2-15 08:06 | 显示全部楼层
是简历稳定震荡部分的代码,外部时钟切换前,应该确保外部时钟已经稳定的震荡,可以保证系统运行稳定,不进行检查,实际上XT2自己也是自己震荡并趋于稳定.

使用特权

评论回复
jiajs|  楼主 | 2019-2-15 08:10 | 显示全部楼层
是不是XT2OFF好似一个让它起振的开关?

使用特权

评论回复
jiajs|  楼主 | 2019-2-15 08:12 | 显示全部楼层
不用打开XT2OFF,它自己也能震荡起来

使用特权

评论回复
jiahy| | 2019-2-15 08:15 | 显示全部楼层


红色部分代码只是预防没起震

使用特权

评论回复
lizye| | 2019-2-15 08:18 | 显示全部楼层
这个字段改大了,  后面的字段改了没?  后面的地址要往后移了

使用特权

评论回复
shimx| | 2019-2-15 08:22 | 显示全部楼层
红色代码只是判断有没有晶振起振,没起振程序不会继续运行,起振后这段代码就没用了!

使用特权

评论回复
jiaxw| | 2019-2-15 08:24 | 显示全部楼层

这个问题的我到没咋注意的,,不过XT2所接低频晶振是可以自己起振的

使用特权

评论回复
zhaoxqi| | 2019-2-15 08:27 | 显示全部楼层

用XT2时,要先判断有没有晶振起振

使用特权

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

本版积分规则

940

主题

11975

帖子

6

粉丝