当前位置:首页 > 气压高度表
大连理工大学本科毕业设计
dat<<=1; } SCLK_0; SPICS_1; }
char imitatedSPIread() {
char dat=0; int i; SPICS_0; delay(10); for(i=0;i<8;i++) { SCLK_0; dat<<=1; delay(10);
SCLK_1; delay(10); dat|=MISO; SCLK_0;
}
SPICS_1; return dat; }
int read_D1() //读取D1内容
{
char temp1,temp2;
imitatedSPIwrite(0x3d0,10);
//D1块的地址位0x3d0
36
位数据,10
10大连理工大学本科毕业设计
个脉冲
Delay_ms(30); while(MISO); Delay_ms(10);
temp1=imitatedSPIread() ; temp2=imitatedSPIread() ; return (temp1<<8)|temp2 ; }
int read_D2() {
char temp1,temp2; imitatedSPIwrite(0x3c8,10); Delay_ms(30); while(MISO); Delay_ms(10);
temp1=imitatedSPIread() ; temp2=imitatedSPIread() ; return (temp1<<8)|temp2 ; }
int read_WORD1() {
char temp1,temp2;
imitatedSPIwrite(0xEA8,12); delay(10); SCLK_0; delay(10); SCLK_1;
temp1=imitatedSPIread() ; temp2=imitatedSPIread() ; return (temp1<<8)|temp2 ; }
//等待转换完毕 //
37
大连理工大学本科毕业设计
int read_WORD3() {
char temp1,temp2;
imitatedSPIwrite(0xEC8,12); delay(10); SCLK_0; delay(10); SCLK_1;
temp1=imitatedSPIread() ; temp2=imitatedSPIread() ; return (temp1<<8)|temp2 ; }
int read_WORD4() {
char temp1,temp2;
imitatedSPIwrite(0xED8,12); delay(10); SCLK_0; delay(10); SCLK_1;
temp1=imitatedSPIread() ; temp2=imitatedSPIread() ; return (temp1<<8)|temp2 ; }
int read_WORD2() {
char temp1,temp2;
imitatedSPIwrite(0xEB8,12); delay(10); SCLK_0; delay(10);
38
大连理工大学本科毕业设计
SCLK_1;
temp1=imitatedSPIread() ; temp2=imitatedSPIread() ; return (temp1<<8)|temp2 ; }
void reset() {
imitatedSPIwrite(0x155540,21); }
imitatedSPI_Initxx(); reset();
WORD1=read_WORD1(); WORD2=read_WORD2(); WORD3=read_WORD3(); WORD4=read_WORD4(); C1=WORD1>>1; C6=WORD2&0X3F; C4=WORD3>>6; C3=WORD4>>6;
C5=(WORD1&0X1)|(WORD2>>6);
C2=((WORD3&0X3F)<<6)|(WORD4&0X3F); while(1) {
D1=read_D1(); D2=read_D2(); UT1=8*C5+20224; dT=D2-UT1;
TEMP=200+dT*(C6+50)/1024;
39
大连理工大学本科毕业设计
OFF=C2*4+((C4-512)*dT)/4096; SENS=C1+(C3*dT)/1024+24576; X=(SENS*(D1-7168))/16384-OFF; P=X*10/32+2500; {
T2=11*(C6+24)*(200-TEMP)*(200-TEMP)/pow(2,20); P2=3*T2*(P-3500)/pow(2,14); }
else if((TEMP>=200)&(TEMP<=450)) { T2=P2=0; } {
T2=3*(C6+24)*(450-TEMP)*(450-TEMP)/pow(2,20); P2=T2*(P-10000)/pow(2,13); }
TEMP=TEMP-T2; P=P-P2; P=P/10;
height=44330.8*(1-pow(P/101.325,0.190263)); }
if(TEMP<200)
else
40
共分享92篇相关文档