亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? baro.c

?? 51單片機C語言常用模塊與綜合系統設計實例精講
?? C
字號:
/***************************************************
氣壓計程序
***************************************************/
#include <reg52.h>
#include <stdio.h>
#include <stdlib.h>
#include <absacc.h>
#include <ctype.h>                   
#include <string.h>
#include <stddef.h>
#include <intrins.h>
#include <absacc.h>
#include <stdarg.h>


#define TIMER0H 0xFF;
#define TIMER0L 0xE9;
sbit MCLK=P1^4 ;
sbit SCLK=P1^5 ;
sbit DI=P1^6 ;
sbit DOUT=P1^7 ;


#define CLKDELAY 5
#define RDINTERVAL 100
#define FILTERPARA 0.125

////****          SPI接口DI線讀不同內容時的輸出數據×                       ****////
const unsigned char SPI_RST[21]={1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0};
const unsigned char SPI_D1[12]={1,1,1,1,0,1,0,0,0,0,0,0};
const unsigned char SPI_D2[12]={1,1,1,1,0,0,1,0,0,0,0,0};
const unsigned char SPI_W1[12]={1,1,1,0,1,0,1,0,1,0,0,0};
const unsigned char SPI_W2[12]={1,1,1,0,1,0,1,1,0,0,0,0};
const unsigned char SPI_W3[12]={1,1,1,0,1,1,0,0,1,0,0,0};
const unsigned char SPI_W4[12]={1,1,1,0,1,1,0,1,0,0,0,0};
////****          氣壓高度轉換表                   ****////
const unsigned char SPI_HT[23][4]={ 	1000, 1130, 12256, 16212 ,
										1130, 1300, 10758, 15434 ,
										1300, 1500, 9329, 14541 ,
										1500, 1730, 8085, 13630 ,
										1730, 2000, 7001, 12722 ,
										2000, 2300, 6069, 11799 ,
										2300, 2650, 5360, 10910 ,
										2650, 3000, 4816, 9994 ,
										3000, 3350, 4371, 9171 ,
										3350, 3700, 4020, 8424 ,
										3700, 4100, 3702, 7737 ,
										4100, 4500, 3420, 7014 ,
										4500, 5000, 3158, 6346 ,
										5000, 5500, 2908, 5575 ,
										5500, 6000, 2699, 4865 ,
										6000, 6500, 2523, 4206 ,
										6500, 7100, 2359, 3590 ,
										7100, 7800, 2188, 2899 ,
										7800, 8500, 2033, 2151 ,
										8500, 9200, 1905, 1456 ,
										9200, 9700, 1802, 805 ,
										9700, 10300, 1720, 365 ,
										10300, 11000, 1638, -139
									};
unsigned int d1,d2,w1,w2,w3,w4;
////****         SPI口CLK延遲寬度子程序                      ****????
void spi_dly(int num)
{  int i;

	for(i=0;i<num;i++)
	{ 	i=i;
   }
}
////****         SPI口初始化                  **
void spi_set(void)
{  			
   SCLK=0;
   DI=0;

}
void spi_reset(void)
{  int i;

	spi_dly(10);
	for(i=0;i<21;i++)
   {   
   	DI=SPI_RST[i];
       spi_dly(CLKDELAY);
       SCLK=1;
       spi_dly(CLKDELAY);
       SCLK=0;
   }
   spi_dly(CLKDELAY);
   spi_dly(CLKDELAY*10);
}
////****    讀D字節子程序   ××××/
unsigned int spi_rdd(unsigned char num)
{  unsigned int retval;
   int i;
   unsigned char rdbit;

	spi_dly(CLKDELAY);
	for(i=0;i<12;i++)
   {   if(num==0)
   	{ 	
      	DI=SPI_D1[i];
   	}
   	else if(num==1)
   	{  
      	DI=SPI_D2[i];
   	}
   	else
   	{	retval=0;
   		return 0;
   	}
       spi_dly(CLKDELAY);
       SCLK=1;;
       spi_dly(CLKDELAY);
       SCLK=0;
   }
   spi_dly(CLKDELAY);
  // wait adc conversion
  
  rdbit=DOUT;
  while(rdbit==1)
  {   
  		rdbit=DOUT;
  }
  retval=0;
  for(i=0;i<16;i++)
  {   SCLK=1;
  	spi_dly(CLKDELAY);
      rdbit=DOUT;
      SCLK=0;
  	spi_dly(CLKDELAY);
      if(rdbit==0)
      {   retval=retval+0;
      }
      else
      {   retval=retval+1;
      }
      if(i<15)
       {
       	retval=retval<<1;
       }
  }
   return retval;
}
////****    讀W字節子程序   ××××/
unsigned int spi_rdw(unsigned char num)
{  unsigned int retval;
   int i;
   unsigned char rdbit;

	spi_dly(CLKDELAY);
	for(i=0;i<12;i++)
   {   if(num==0)
   	{ 	
      	DI=SPI_W1[i];
   	}
   	else if(num==1)
   	{  
      	DI=SPI_W2[i];
   	}
      else if(num==2)
   	{  
      	DI=SPI_W3[i];;
		}
      else if(num==3)
   	{  DI=SPI_W4[i];
   	}
   	else
   	{	retval=0;
   		return 0;
   	}
       spi_dly(CLKDELAY);
       SCLK=1;
       spi_dly(CLKDELAY);
       SCLK=0;;
   }
   spi_dly(CLKDELAY);
   SCLK=1;
   spi_dly(CLKDELAY);
   SCLK=0;
   for(i=0;i<10;i++)
   {	rdbit=DOUT;
   }
   retval=0;
  for(i=0;i<16;i++)
  {   SCLK=1;
  	spi_dly(CLKDELAY);
      rdbit=DOUT;
      SCLK=0;
  	spi_dly(CLKDELAY);
      if(rdbit==0)
      {   retval=retval+0;
      }
      else
      {   retval=retval+1;
      }
      if(i<15)
       {
       	retval=retval<<1;
       }
  }
   return retval;
}
////****    根據氣壓計算高度子程序   ××××/
float spi_h(float p)
{  int i,pos,flag;
   float h;

	flag=0;
   for(i=0;i<23;i++)
   {  if((p>=SPI_HT[i][0])&&(p<=SPI_HT[i][1]))
   	{    pos=i;
           flag=1;
           break;
      }
   }
   if(flag!=1)
   {  if(p<SPI_HT[0][0])
   	{  pos=0;
      }
      else if(p>SPI_HT[22][1])
      {  pos=22;
      }
      else
      { pos=0;
      }
   }
   h=SPI_HT[pos][3]-(p-SPI_HT[pos][0])*SPI_HT[pos][2]/2048;
   return h;
}
////****    計算子程序   ××××/////
void spi_proc(void)
{  unsigned int c1,c2,c3,c4,c5,c6;
	long utmp;
   float dt,temp,off,sens,x,p,h;
   float temp2,p2;

	//printf("D1=%x D2=%x W1=%x W2=%x W3=%x W4=%x\r\n",d1,d2,w1,w2,w3,w4);
   c1=(w1&0xfffe)>>1;
   c2=((w3&0x003f)<<6)+((w4&0x003f)>>0);
   c3=((w4&0xffc0)>>6);
   c4=((w3&0xffc0)>>6);
   c5=((w1&0x0001)<<10)+((w2&0xffc0)>>6);
   c6=(w2&0x003f);
   //printf("C1=%x C2=%x C3=%x C4=%x C5=%x C6=%x\r\n",c1,c2,c3,c4,c5,c6);
   utmp=8*c5+20224;
   dt=(float)(d2-utmp);
   temp=200+dt*(c6+50)/1024;
   off=c2*4+((c4-512)*dt)/4096;
   sens=c1+(c3*dt)/1024+24567;
   x=(sens*(d1-7168))/16384-off;
   p=x*10/32+250*10;

   if(temp>450)
   {	temp2=3*(c6+24)*(450 - temp)*(450-temp)/1048576;
 		p2=temp2*(p-10000)/8192;
   }
   else if(temp<200)
   {  temp2=11*(c6+24)*(200-temp)*(200-temp)/1048576;
 		p2=3*temp2*(p-3500)/16384;
   }
   else
   {  temp2=0;
   	p2=0;
   }
   temp=temp-temp2;
   p=p-p2;
   h=spi_h(p);
}
////****  定時器0中斷程序          ××××////
void time0(void) interrupt 1 
{	
	if(MCLK==0)
	{	MCLK=1;
	}
	else
	{	MCLK=0;
	}
	TL0 = TIMER0L;
	TH0 = TIMER0H;
}
/*  初始化子程序  */
void init(void)
{	
//timer0 init
	TL0 = TIMER0L;
	TH0 = TIMER0H;
	TR0=1;
	ET0=1;//test

	TMOD=0x21;
// irq init
	EX0=0;
	IT0=0;
	EX1=0;	
	IT1=0;

	EA=1;

}
/* 主程序入口  */
int main(void)
{	init();
spi_set();
	
	while(1)
	{
	 spi_reset();
	  spi_dly(RDINTERVAL);
	 w1=spi_rdw(0);
	  spi_dly(RDINTERVAL);
	 w2=spi_rdw(1);
	  spi_dly(RDINTERVAL);
	 w3=spi_rdw(2);
	  spi_dly(RDINTERVAL);
	 w4=spi_rdw(3);
	  spi_dly(RDINTERVAL);
	 d1=spi_rdd(0);
	  spi_dly(RDINTERVAL);
	 d2=spi_rdd(1);
	  spi_dly(RDINTERVAL);
	spi_proc();
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国内精品免费**视频| 美女视频一区在线观看| 欧美一区二区三区啪啪| 东方aⅴ免费观看久久av| 首页国产欧美日韩丝袜| 国产精品麻豆久久久| 欧美一区二区二区| 日本福利一区二区| 国产aⅴ综合色| 蜜桃av一区二区| 亚洲国产人成综合网站| 国产精品国产三级国产有无不卡 | 亚洲成人在线观看视频| 国产日产欧美一区二区三区| 欧美日韩国产美女| 91丨九色丨国产丨porny| 国产综合久久久久影院| 日韩高清中文字幕一区| 亚洲欧洲精品一区二区精品久久久 | 国产精品一区二区久久精品爱涩| 亚洲一区二区三区激情| 国产精品视频你懂的| 精品国产免费视频| 日韩亚洲欧美一区| 欧美日韩免费高清一区色橹橹| 不卡一区二区三区四区| 国产精品99精品久久免费| 美国毛片一区二区三区| 天天综合天天做天天综合| 一区二区三区加勒比av| 亚洲欧美另类图片小说| 日韩伦理av电影| 国产精品色哟哟网站| 国产喂奶挤奶一区二区三区| 精品国产一区久久| 日韩精品中文字幕一区| 日韩女优制服丝袜电影| 日韩一二三区视频| 欧美电视剧在线观看完整版| 日韩欧美激情在线| 久久综合国产精品| 久久久国产精华| 精品国产伦一区二区三区观看方式 | 国产精品久久99| 国产精品剧情在线亚洲| 自拍偷拍欧美精品| 日韩av网站在线观看| 亚洲午夜一区二区三区| 亚洲va国产天堂va久久en| 日韩国产精品大片| 麻豆成人久久精品二区三区红| 精品一区在线看| 国产东北露脸精品视频| caoporen国产精品视频| 99精品国产一区二区三区不卡| 91天堂素人约啪| 欧美精品丝袜中出| 日韩欧美国产综合| 国产人妖乱国产精品人妖| 国产精品日产欧美久久久久| 亚洲欧美日韩电影| 天堂va蜜桃一区二区三区| 麻豆精品新av中文字幕| 国产精品白丝jk白祙喷水网站| 丰满白嫩尤物一区二区| 不卡av免费在线观看| 欧美视频中文字幕| 日韩久久精品一区| 国产精品女人毛片| 亚洲成人在线免费| 精品亚洲成a人| 99在线视频精品| 欧美日产国产精品| 久久综合色婷婷| 亚洲三级视频在线观看| 日韩一区精品视频| 国产福利精品一区| 欧美亚洲愉拍一区二区| 日韩欧美高清dvd碟片| 国产精品乱码人人做人人爱| 亚洲大片在线观看| 粉嫩蜜臀av国产精品网站| 欧美视频一区二区三区在线观看| 日韩美一区二区三区| 国产精品美女www爽爽爽| 亚洲妇女屁股眼交7| 国产精品一区二区在线播放| 在线观看国产91| 2024国产精品| 亚洲成人免费观看| 成人黄色在线看| 欧美一三区三区四区免费在线看 | 日韩电影网1区2区| 成人天堂资源www在线| 欧美一区二区三区在线| 亚洲天堂免费在线观看视频| 麻豆久久一区二区| 欧美在线free| 国产精品婷婷午夜在线观看| 麻豆精品视频在线观看| 欧美在线观看你懂的| 国产精品萝li| 国产一区在线不卡| 欧美日韩一区二区三区视频| 欧美经典三级视频一区二区三区| 日韩在线一区二区三区| 在线免费观看日本一区| 国产精品久久久久久久久图文区| 日韩不卡一区二区三区| 欧洲视频一区二区| 亚洲视频中文字幕| 国产精品一区免费视频| 91精品国产乱| 亚洲bdsm女犯bdsm网站| 91玉足脚交白嫩脚丫在线播放| 日韩女优av电影| 青青国产91久久久久久| 欧美色老头old∨ideo| 亚洲欧美另类在线| 99视频超级精品| 中文字幕免费一区| 丁香一区二区三区| 久久久久久夜精品精品免费| 轻轻草成人在线| 日韩一区二区视频| 午夜久久久久久| 欧美三区在线视频| 亚洲国产成人va在线观看天堂| 91麻豆蜜桃一区二区三区| 国产精品美女久久久久av爽李琼| 国产精品白丝av| 久久久青草青青国产亚洲免观| 日韩国产在线观看| 欧美三级视频在线| 亚洲国产成人av| 欧美日韩国产首页在线观看| 性欧美疯狂xxxxbbbb| 欧美日韩精品三区| 丝袜亚洲精品中文字幕一区| 欧美日韩国产电影| 图片区小说区国产精品视频| 欧美日韩国产系列| 另类小说一区二区三区| 久久亚洲一级片| 成人自拍视频在线| 亚洲欧美偷拍另类a∨色屁股| 91小视频在线| 亚洲成人精品一区| 日韩欧美黄色影院| 国产成人av电影免费在线观看| 国产精品天美传媒| 色婷婷av一区二区| 午夜精品福利在线| 日韩一区二区三区视频在线 | 亚洲一区中文在线| 欧美一卡在线观看| 九色porny丨国产精品| 国产三级三级三级精品8ⅰ区| 成人免费视频国产在线观看| 亚洲欧美一区二区三区孕妇| 欧美日韩国产美女| 国产一区二区三区黄视频| 国产精品免费视频网站| 欧美亚洲免费在线一区| 精品一区二区久久久| 中文一区在线播放| 欧美丝袜丝交足nylons图片| 久久精品av麻豆的观看方式| 国产三级久久久| 欧美曰成人黄网| 激情久久五月天| 《视频一区视频二区| 欧美一级爆毛片| av在线不卡网| 日韩国产欧美三级| 国产精品毛片大码女人| 欧美日韩亚洲丝袜制服| 国产精品一线二线三线精华| 一区二区不卡在线播放 | 日韩一级高清毛片| 成人黄页毛片网站| 视频一区欧美日韩| 国产精品女同一区二区三区| 91超碰这里只有精品国产| 国产精品99久| 日韩精品乱码av一区二区| 国产精品嫩草影院av蜜臀| 3751色影院一区二区三区| av电影天堂一区二区在线观看| 视频一区二区中文字幕| 国产精品毛片高清在线完整版| 91精品在线免费观看| 99久久婷婷国产| 狠狠色丁香婷综合久久| 亚洲高清一区二区三区| 中文字幕免费不卡| 精品三级av在线| 欧美日韩久久久一区| 91亚洲大成网污www| 国产精品一区专区|