📄 ad.c
字号:
#include "AD.h"
#include "KEY.h"
#include "LCD.h"
#include "stdio.h"
int ad(void)
{
P6SEL|=0X02;
ADC12CTL0=ADC12ON+SHT0_2+MSC;
ADC12CTL1=SHP+CSTARTADD_1;
ADC12MCTL1=SREF_2+INCH_1;
ADC12CTL0|=ENC;
ADC12CTL0|=ADC12SC;
while((ADC12IFG&(ADC12BUSY<<1))==0);
return ADC12MEM1;
}
void measure()
{
double res=0;
char buf[20],i;
unsigned int data=0;
data=averg();
for(i=0;i<45;i++)
{
if( Data_Ram[i]<=data && data<=Data_Ram[i+1])
{res= ((2.0/(Data_Ram[i+1]-Data_Ram[i])*(data-Data_Ram[i])+2.0*i));
break;}
else if(data>Data_Ram[45])
{ lcd_moveto(20);
lcd_string("error ");
}
}
/*sprintf(buf,"%s%d","result is:",data);
lcd_moveto(0);
lcd_string(buf);*/
sprintf(buf, "Length:%0.2f mm", res);
lcd_moveto(0);
lcd_string(buf);
}
int averg()
{ unsigned char flag=1,i;
long int sum=0,test_value[20]={0},buf=0;
for(i=0;i<20;i++)
{
test_value[i]=ad();
}
for(unsigned char i=0;i<20;i++)
{
if(flag==0)break;
flag=0;
for(unsigned char j=0;j<(19-i);j++)
{
if (test_value[j]>test_value[j+1])
{
buf=test_value[j];
test_value[j]=test_value[j+1];
test_value[j+1]=buf;
flag=1;
}
}
}
for(i=6;i<16;i++)
{
sum+=test_value[i];
}
sum=sum/10;
return sum;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -