#include
"msp430x14x.h"
#define
uint unsigned int
#define
uchar unsigned char
#define
ulong unsigned long
//
共阳数码管编码表
uchar Code[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//
段选
uchar seg[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10}; //
uchar Bit[4]={0x01,0x02,0x04,0x08};//
位选
uchar BitCode=0x80; //
数码管位码初值
uint ADCBuf[20]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};//
保存采集到的数据
ulong Sum=0;//20
个数据的和
double TBuf=0;
uchar Count=0;
int a=0,b=0,c=0,d=0;
//
时钟初始化函数
void InitClock(void){
BCSCTL1=RSEL2+RSEL1+RSEL0;//XT2
开启
LFXT1
工作在低频模式
ACLK
不分频最高的
标称频率
DCOCTL=DCO2+DCO1+DCO0;//DCO
为最高频率
do{
IFG1&=~OFIFG;//
清除振荡器失效标志
for(uint i=255;i>0;i--);
}while(IFG1&OFIFG);//
判断
XT2
是否起振
BCSCTL2=SELM1+SELS;//MCLK SMCLK
时钟源为
TX2CLK
不分频
}
//ms
级延时子程序
void DelayMs(uint ms){
while(ms--){
for(uint i=0;i<800;i++);
}
}
//
数码管扫描显示程序
void Display(void){
P4OUT=Code[a];
P5OUT=Bit[0];
for(uint i=0;i<100;i++);
P4OUT=seg[b];
P5OUT=Bit[1];
for(uint i=0;i<100;i++);
P4OUT=Code[c];
P5OUT=Bit[2];
for(uint i=0;i<100;i++);