图1
图2
各位430单片机的大咖们:
你们好,小弟刚刚开始学习430单片机,很多东西还不是很理解,在此请教你们一些问题。
图1是我用proteus仿真设计的一个简单电路图,仿真的目的是想用示波器测量MCLK、SMCLK以及ACLK的频率,看看这些频率是否与我设置的时钟源的频率一致。但是不知道为什么,仿真时用示波器测量3个时钟信号,输出都是低电平,实验结果如图2所示。
程序为:
#include <msp430f235.h>
void clock_init();
void port_init();
/**************************************************/
// main program //
/**************************************************/
void main( void )
{
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer to prevent time out reset
clock_init();
port_init();
for(;;);
}
/**************************************************/
// port initiallize program //
/**************************************************/
void port_init()
{
P5DIR |=BIT4+BIT5+BIT6; //Set P5.4 P5.5 P5.6 output
P5SEL |=BIT4+BIT5+BIT6; //P5.4=MCLK,P5.5=SMCLK,P5.6=ACLK
}
/**************************************************/
// clock initiallize program //
/**************************************************/
void clock_init()
{
DCOCTL |=DCO0+DCO1; //设置DCO模式
BCSCTL1 |=XT2OFF+RSEL2+RSEL1+RSEL0;
BCSCTL2 |=DIVM_3+DIVS_2; //f(MCLK)=f(DCO)/8; f(SMCLK)=f(DCO)/4; f(ACLK)=f(XT1);
}
您好!
实物用的是msp430g2553,程序部分相应的需要修改一下,但是用示波器测试时仍是一样的结果,SMCLK、ACLK输出仍然是低电平(2553的好像没有MCLK输出)。
但是我如果把我程序部分的时钟初始化部分给屏蔽后,发现可以测量到SMCLK的输出,ACLK的输出仍然测试不到。
求大神帮忙指导一下,小弟刚刚开始学习430单片机
一周热门 更多>