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

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

?? ds18b20.c

?? 次程序為DS18B20溫度傳感器的代碼
?? C
字號:
#include<stdio.h>
#include"reg51.h"
#define uchar unsigned char
#define uint unsigned int
typedef unsigned char byte;
typedef unsigned int word;



uchar code table[10]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09};


//溫度傳感器DS18B20
sbit DQ =P3^7;//根據實際情況定義端口 
	
byte c[2];
uchar x;

uchar s_2[9];




/*********************************************************************
//*********
//*********溫度傳感器DS18B20部分
//*********
*********************************************************************/

/////////////////////////////////////////////////////////////////////////////////
/* 延時t毫秒 */
void delay_tmp(uint t)
{
	uint i;
	while(t--)
	{
		/* 對于11.0592M時鐘,約延時1ms */
		for (i=0;i<125;i++)
		{}
	}
} 

/* 產生復位脈沖初始化DS18B20 */
void TxReset(void)
{
	uint i;
	DQ = 0;

	/* 拉低約900us */
	i = 100;
	while (i>0)	i--;	
	
	DQ = 1;				// 產生上升沿
	i = 4;
	while (i>0)	i--;
}

/* 等待應答脈沖 */
void RxWait(void)
{
	uint i;
	while(DQ);
	while(~DQ);			// 檢測到應答脈沖 
	i = 4;
	while (i>0)	i--;
}

/* 讀取數據的一位,滿足讀時隙要求 */ 
bit RdBit(void)
{
	uint i;
	bit b;
	DQ = 0;
	i++;
	DQ = 1;
	i++;i++;			// 延時15us以上,讀時隙下降沿后15us,DS18B20輸出數據才有效
	b = DQ;
	i = 8;
	while(i>0) i--;
	return (b);
}

/* 讀取數據的一個字節 */
uchar RdByte(void)
{
	uchar i,j,b;
	b = 0;
	for (i=1;i<=8;i++)
	{
		j = RdBit();
		b = (j<<7)|(b>>1);
	}
	return(b);
}

/* 寫數據的一個字節,滿足寫1和寫0的時隙要求 */
void WrByte(uchar b)
{
	uint i;
	uchar j;
	bit btmp;
	for(j=1;j<=8;j++)
	{
		btmp = b&0x01;
		b = b>>1;		// 取下一位(由低位向高位)
		if (btmp)
		{
			/* 寫1 */
			DQ = 0;
			i++;i++;	// 延時,使得15us以內拉高
			DQ = 1;
			i = 8;
			while(i>0) i--;	// 整個寫1時隙不低于60us 
	   	}
		else
		{
			/* 寫0 */
			DQ = 0;			
			i = 8;
			while(i>0) i--;	// 保持低在60us到120us之間
			DQ = 1;
			i++;
			i++;
		}
	}
}

/* 啟動溫度轉換 */
void convert(void)
{
	TxReset();			// 產生復位脈沖,初始化DS18B20
	RxWait();			// 等待DS18B20給出應答脈沖
	delay_tmp(1);			// 延時
	WrByte(0xcc);		// skip rom 命令
	WrByte(0x44);		// convert T 命令
}

/* 讀取溫度值 */
void RdTemp(void)
{
	TxReset();			// 產生復位脈沖,初始化DS18B20 
	RxWait();			// 等待DS18B20給出應答脈沖
	delay_tmp(1);			// 延時
	WrByte(0xcc);		// skip rom 命令
	WrByte(0xbe);		// read scratchpad 命令
	c[1] = RdByte();	// 溫度值低位字節(其中低4位為二進制的“小數”部分)
	c[0] = RdByte();	// 高位值高位字節(其中高5位為符號位)		
}


/**轉換**/
            							/* 主程序,讀取的溫度值最終存放在tplsb和tpmsb變量中。
										   tplsb其中低4位為二進制的“小數”部分;tpmsb其中高
										   5位為符號位。真正通過數碼管輸出時,需要進行到十進
										   制有符號實數(包括小數部分)的轉換。              */
void change_tmp()
{

  			
  uint i;
  uchar high1,low1;		
	high1=c[0];
	low1=c[1];

 	if((high1&0xf8)==0xf8) 
	{
	     s_2[0]=45;	
		 high1=(high1&0x07);			 //負溫度時
		 if(low1==0x00)
		 {
		 	low1=0xff;
			high1--;
		 }
		 else
		 {
		 	low1--;
		 }

		 low1=(~low1);
		 high1=(~high1);

		high1=(high1&0x07);


		i=low1>>4;
		i=i+(high1<<4);
		s_2[1]=i/100;		//百位
		i=i-(s_2[1]*100);
		s_2[2]=i/10;		  //十位
		s_2[3]=i%10;		  //個位

		
		i=(low1&0x0f);
		i=i*625;
		s_2[5]=i/1000;		   //小數點后一位
		i=i-s_2[5]*1000;
		s_2[6]=i/100;
		i=i-s_2[6]*100;
		s_2[7]=i/10;
		s_2[8]=i%10;
		
	}
	else 
	{	
		//溫度為正時
		s_2[0]=43;
		i=low1>>4;
		i=i+(high1<<4);
		s_2[1]=i/100;			//百位
		i=i-(s_2[1]*100);
		s_2[2]=i/10;			//十位
		s_2[3]=i%10;
								//個位
	
		
		i=(low1&0x0f);
		i=i*625;
		s_2[5]=i/1000;			 //小數點后一位
		i=i-s_2[5]*1000;
		s_2[6]=i/100;			 //小數點后兩位
		i=i-s_2[6]*100;
		s_2[7]=i/10;
		s_2[8]=i%10;
		
	
	 
	}	  

}	

/**************************************************************
**
**        溫度顯示部分
**
***************************************************************/
sbit D0=P2^0;
sbit D1=P2^1;
sbit D2=P2^2;
sbit Point=P1^7;




void show_tmp()
{
    D0=1;
	D1=1;
	D2=1;
	if (s_2[0]==45)	  //為負數時
	{
	   D0=0;
	   P1=0x40;    //顯示“-”號
	   delay_tmp(1);
	   D0=1;
	   if(s_2[2]>0)		  //十位數
	   {
	      D1=0;
	      P1=table[s_2[2]];
		  delay_tmp(1);
		  D1=1;
		  D2=0;
		  P1=table[s_2[3]];
		  delay_tmp(1);
		  D2=1;
	   }
	   else
	   {
	    	D1=0;
			P1=table[s_2[3]];
     		Point=1;    //小數點亮起來
			delay_tmp(1);
			D1=1;
			D2=0;
			P1=table[s_2[5]];
			delay_tmp(1);
			D2=1;
	   }
	}
	if (s_2[0]==43)     //為正數時
	{
	  	if(s_2[2]>0)		  //十位數
	   {
	      D0=0;
	      P1=table[s_2[2]];
		  delay_tmp(1);
		  D0=1;
		  D1=0;
		  P1=table[s_2[3]];		//個位數
		  Point=1;
		  delay_tmp(1);
		  D1=1;
		  D2=0;
		  P1=table[s_2[5]];		  //小數位
		  delay_tmp(1);
		  D2=1;
	   }
	   else
	   {
	      D0=0;
	      P1=table[s_2[3]];			//個位數
		  Point=1;
		  delay_tmp(1);
		  D0=1;
		  D1=0;
		  P1=table[s_2[5]];			 //小數位
		  
		  delay_tmp(1);
		  D1=1;
		  D2=0;
		  P1=table[s_2[6]];		  
		  delay_tmp(1);
		  D2=1;
	   }
	}
}





main()
{
 	

	int i;

	while(1)
	{
	 	delay_tmp(1);		// 延時1ms
		convert();		// 啟動溫度轉換,需要750ms
		delay_tmp(1000);	// 延時1s
		RdTemp();		// 讀取溫度			
	    change_tmp();
	   	 for(i=0;i<100;i++)
		 {
			show_tmp();
	   	 }
	}
    

  

 }  
  
  
  

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91福利社在线观看| 欧美色成人综合| 日韩欧美精品三级| 亚欧色一区w666天堂| 欧美日韩国产片| 午夜精品久久久久久久久久| 欧美精品在线视频| 日韩av在线发布| 蜜桃久久精品一区二区| 日韩一区二区精品在线观看| 久久99精品久久久久久动态图| 亚洲精品一线二线三线 | 亚洲精品va在线观看| 色综合久久六月婷婷中文字幕| 亚洲一区二区三区四区在线免费观看| 欧美性生活久久| 久久精品久久综合| 国产精品免费av| 欧美伊人久久久久久久久影院 | 欧美久久久久免费| 毛片av一区二区| 中文字幕一区二区5566日韩| 欧美亚洲动漫另类| 久久99精品国产.久久久久| 国产偷国产偷精品高清尤物| 日本精品视频一区二区三区| 久热成人在线视频| 综合网在线视频| 欧洲国内综合视频| 欧亚一区二区三区| 免费xxxx性欧美18vr| 久久女同性恋中文字幕| 91毛片在线观看| 久久精品国产77777蜜臀| 中文字幕在线观看不卡视频| 欧美一区二区人人喊爽| 国产福利精品一区二区| 午夜不卡av在线| 欧美激情一区二区三区四区| 9191成人精品久久| bt欧美亚洲午夜电影天堂| 三级欧美在线一区| 国产精品嫩草影院com| 制服丝袜亚洲网站| 99精品欧美一区二区三区小说 | 岛国av在线一区| 日韩av在线播放中文字幕| 国产精品视频麻豆| 欧美成人一区二区三区| 欧美性xxxxxx少妇| 成人黄色av网站在线| 精品影院一区二区久久久| 亚洲午夜久久久久| 国产精品久久久久天堂| 精品国产乱码久久久久久牛牛| 91国偷自产一区二区使用方法| 国产69精品久久99不卡| 狠狠久久亚洲欧美| 亚洲成av人片在线观看| 亚洲精品午夜久久久| 欧美国产日本韩| 精品电影一区二区三区| 日韩免费看网站| 在线播放欧美女士性生活| 色噜噜狠狠一区二区三区果冻| 成人av电影免费在线播放| 国内一区二区在线| 蜜臂av日日欢夜夜爽一区| 日日摸夜夜添夜夜添精品视频| 一区二区激情小说| 亚洲欧洲99久久| 综合久久久久久久| 国产精品亲子伦对白| 中文字幕二三区不卡| 久久久无码精品亚洲日韩按摩| 欧美白人最猛性xxxxx69交| 宅男噜噜噜66一区二区66| 8v天堂国产在线一区二区| 精品视频一区 二区 三区| 在线观看亚洲精品| 欧美性欧美巨大黑白大战| 日韩电影在线观看网站| 亚洲黄色录像片| 亚洲欧美另类在线| 亚洲欧美日韩国产另类专区| 国产精品理伦片| 18欧美亚洲精品| 日韩伦理电影网| 一区二区三国产精华液| 亚洲国产精品视频| 日韩专区中文字幕一区二区| 日韩av不卡一区二区| 喷白浆一区二区| 国产一区高清在线| 成人av电影在线| 色欧美日韩亚洲| 欧美系列一区二区| 日韩一级高清毛片| 久久新电视剧免费观看| 国产欧美一区二区精品性色超碰| 日本一区二区三区高清不卡| 亚洲欧美日韩国产手机在线| 亚洲成av人片在线观看| 精品制服美女久久| 成人av一区二区三区| 色久综合一二码| 欧美一区二区在线观看| 国产日韩视频一区二区三区| 亚洲欧美日本韩国| 日本一道高清亚洲日美韩| 国产一区二区久久| 一本到一区二区三区| 8x福利精品第一导航| 国产人成亚洲第一网站在线播放| 亚洲日本电影在线| 日韩电影在线免费| heyzo一本久久综合| 欧美肥妇毛茸茸| 中文成人综合网| 天天色天天操综合| 成人性生交大片| 欧美二区三区的天堂| 欧美亚洲禁片免费| 欧美mv日韩mv| 国产三级久久久| 亚洲va韩国va欧美va精品| 韩国av一区二区三区四区| 色综合久久中文字幕综合网| 日韩写真欧美这视频| 亚洲欧洲av一区二区三区久久| 免费欧美高清视频| 91麻豆国产福利在线观看| 欧美变态tickle挠乳网站| 一区二区三区色| 波多野结衣中文字幕一区二区三区 | 在线观看国产精品网站| 久久久综合网站| 日韩国产精品91| 色999日韩国产欧美一区二区| 26uuu精品一区二区| 一区二区三区四区蜜桃| 久久精品国产一区二区| 菠萝蜜视频在线观看一区| 欧美一级在线视频| 一区二区三区精品视频在线| 国产精品综合在线视频| 91精品国产全国免费观看| 依依成人精品视频| 成人av在线电影| 久久久精品一品道一区| 蜜臀久久久99精品久久久久久| 色94色欧美sute亚洲线路一久 | 欧美日韩精品免费| 亚洲日韩欧美一区二区在线| 国产福利一区二区| 日韩精品一区二区三区在线播放| 亚洲高清免费观看| 日本道精品一区二区三区| 国产精品国产三级国产| 国产精品香蕉一区二区三区| 久久综合色播五月| 久久成人免费网| 日韩视频在线你懂得| 蜜臀91精品一区二区三区| 欧美精品久久一区二区三区| 亚洲午夜久久久久中文字幕久| 91久久精品午夜一区二区| 亚洲伦在线观看| 91浏览器打开| 亚洲精品国产精华液| 色综合天天综合网天天看片| 亚洲色图第一区| 色素色在线综合| 亚洲不卡av一区二区三区| 欧美色倩网站大全免费| 五月激情六月综合| 91精品免费在线观看| 美女高潮久久久| 国产亚洲1区2区3区| 成人黄色小视频在线观看| 国产精品国产三级国产aⅴ无密码| 99久久综合99久久综合网站| 亚洲欧美欧美一区二区三区| 在线亚洲一区二区| 丝袜a∨在线一区二区三区不卡| 51精品秘密在线观看| 日韩黄色在线观看| 欧美成人综合网站| 丁香另类激情小说| 亚洲欧美乱综合| 91麻豆精品久久久久蜜臀| 久久99蜜桃精品| 日本一区二区成人| 色婷婷国产精品综合在线观看| 亚洲电影欧美电影有声小说| 日韩欧美高清一区| av一区二区三区在线| 亚洲一二三四在线观看| 日韩欧美国产一区二区三区 | av欧美精品.com|