📄 basicoperation.c
字号:
//基本操作BasicOperation.c
//包括延时和初始化操作
#include "BasicOperation.h"
void DelayXus(unsigned int k)
{
unsigned int i;
for(i=k;i>0;i--);
}
//延时程序
void delay(unsigned char m)
{
unsigned char i,j,n;
for(n=0;n<m;n++)
for(i=0;i<120;i++)
for(j=0;j<255;j++);
}
void InitMcu(void)//初始化单片机
{
unsigned int i;
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
/************************************************************************/
/* BCSCTL1 */
/* 7 6 5 4 3 2 1 0 */
/* XT2OFF XTS DIVA.1 DIVA.0 XT5V Rsel.2 Rsel.1 Rsel.0 */
/************************************************************************/
BCSCTL1 =0x7; //XT2OFF=1,xt2振荡器开启
//XTS=0;LFXT1工作在低频模式下
//DIVA.0和DIVA.1两位均为0,ACLK的分频系数是1
//XT5V=0,此位必须为0
//Rsel.0,Rsel.1,Rsel.2均为1,选择最高标称频率
/************************************************************************/
/* BCSCTL2 */
/* 7 6 5 4 3 2 1 0 */
/* SELM.1 SELM.0 DIVM.1 DIVM.0 SELS DIVS.1 DIVS.0 DCOR */
/************************************************************************/
BCSCTL2 =0X88; //SELM=2,MCLK的时钟源为TX2CLK(对于MSP430F13X\14X)
//DIVM=0,MCLK的分频因子为1
//SELS=1,选择SMCLK的时钟源为TX2CLK(对于MSP430F13X\14X)
//DIVS=0,选择SMCLK的分频因子为1
//DCOR=0,选择内部电阻
do
{
IFG1 &= ~OFIFG; // Clear OSCFault flag
for (i = 0xFF; i > 0; i--); // Time for flag to set
}
while ((IFG1 & OFIFG) != 0); // OSCFault flag still set?
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -