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

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

?? ds1820.c

?? 使用51系列單片機(AT89S52)控制LCD(12864),全菜單化操作控制初始時間輸入
?? C
字號:
/*********************************************************************************************************                  
*                                     		ds1820 drivers
*                                       	QZhao,2007
*                                       	All Rights Reserved  
* File : ds1820.c
* By   : QZhao
* Contact : zq1987731@163.com
*********************************************************************************************************/

/*★★★可調用函數:TempConvert()->溫度轉換開始,結果存入全局變量tph,tpl	 DIS_T_Z()->溫度轉為數字存入緩沖區*/

/*********************************************************************************************************     
*             
*                                     		產生復位脈沖初始化DS18B20
*
*********************************************************************************************************/

	static bool TxReset(void)
	{
		uint i;
		DQ=0;
	
		/* 拉低約900us */
		i=100;
		while(i>0)	
			i--;	
		DQ=1;				// 產生上升沿
		i=4;
		while(i>0)	
			i--;
		return TRUE;
	}

/*********************************************************************************************************     
*             
*                                     		等待應答脈沖
*
*********************************************************************************************************/

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

/*********************************************************************************************************     
*             
*                                     		讀取數據的一位,滿足讀時隙要求
*
*********************************************************************************************************/

	static 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;
	}

/*********************************************************************************************************     
*             
*                                     		讀取數據的一個字節
*
*********************************************************************************************************/

	static 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的時隙要求
*
*********************************************************************************************************/

	static bool WrByte(uchar b)
	{
		uint i;
		uchar j;
		bit btmp;
		for(j=1;j<=8;j++)
		{
			btmp=b&0x01;
			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++;
			}
		}
		return TRUE;
	}

/*********************************************************************************************************     
*             
*                                     		啟動溫度轉換
*
*********************************************************************************************************/

	static bool convert(void)
	{
		TxReset();			// 產生復位脈沖,初始化DS18B20
//		RxWait();			// 等待應答(由↓延時代替)
		delayms(10);
		delayms(1);			// 延時
		WrByte(0xcc);		// skip rom 命令
		WrByte(0x44);		// convert T 命令
		return TRUE;
	}

/*********************************************************************************************************     
*             
*                                     		讀取溫度值
*
*********************************************************************************************************/

	bool RdTemp(void)
	{
		TxReset();			// 產生復位脈沖,初始化DS18B20 
//		RxWait();			// 等待應答(由↓延時代替)
		delayms(10);
		delayms(1);			// 延時
		WrByte(0xcc);		// skip rom 命令
		WrByte(0xbe);		// read scratchpad 命令
		tpl=RdByte();		// 溫度值低位字節(其中低4位為二進制的“小數”部分)
		tph=RdByte();		// 高位值高位字節(其中高5位為符號位)
		return TRUE;		
	}

/*********************************************************************************************************     
*             
*                                     		溫度轉換開始
*
*********************************************************************************************************/   
        
	bool TempConvert(void)
	{	
		delayms(1);		// 延時1ms
		convert();		// 啟動溫度轉換,需要750ms
		return TRUE;
	}

/*********************************************************************************************************     
*             
*                                     		溫度-數值轉換
*
*********************************************************************************************************/   

	bool DIS_T_Z(void)
	{
		int a;
		uchar a0,a1,a2,a3,af;

		a=(int)tph<<8|(int)tpl;

		if(tph&0x80)				//符號部分轉換
		{	
			DIS_BUF_T[0]='-';
			a=a^0xFFFF+1;
		}
		else 	
			DIS_BUF_T[0]='+';

		a0=(uchar)(a>>4);			//溫度整數部分轉換
		a1=a0%10;
		a2=(a0%100-a0)/10;
		a3=(a0-a0%100)/100;		
		DIS_BUF_T[1]=a3+0x30;
		DIS_BUF_T[2]=a2+0x30;
		DIS_BUF_T[3]=a1+0x30;
		
		DIS_BUF_T[4]='.';

		af=(uchar)(a&0x000F);		//小數部分處理
		switch(af)
		{
			case 0x00:
				DIS_BUF_T[5]='0';	DIS_BUF_T[6]='0';	DIS_BUF_T[7]='0';	DIS_BUF_T[8]='0';	break;
			case 0x01:
				DIS_BUF_T[5]='0';	DIS_BUF_T[6]='6';	DIS_BUF_T[7]='2';	DIS_BUF_T[8]='5';	break;
			case 0x02:
				DIS_BUF_T[5]='1';	DIS_BUF_T[6]='2';	DIS_BUF_T[7]='5';	DIS_BUF_T[8]='0';	break;
			case 0x03:
				DIS_BUF_T[5]='1';	DIS_BUF_T[6]='8';	DIS_BUF_T[7]='7';	DIS_BUF_T[8]='5';	break;
			case 0x04:
				DIS_BUF_T[5]='2';	DIS_BUF_T[6]='5';	DIS_BUF_T[7]='0';	DIS_BUF_T[8]='0';	break;
			case 0x05:
				DIS_BUF_T[5]='3';	DIS_BUF_T[6]='1';	DIS_BUF_T[7]='2';	DIS_BUF_T[8]='5';	break;
			case 0x06:
				DIS_BUF_T[5]='3';	DIS_BUF_T[6]='7';	DIS_BUF_T[7]='5';	DIS_BUF_T[8]='0';	break;
			case 0x07:
				DIS_BUF_T[5]='4';	DIS_BUF_T[6]='3';	DIS_BUF_T[7]='7';	DIS_BUF_T[8]='5';	break;
			case 0x08:
				DIS_BUF_T[5]='5';	DIS_BUF_T[6]='0';	DIS_BUF_T[7]='0';	DIS_BUF_T[8]='0';	break;
			case 0x09:
				DIS_BUF_T[5]='5';	DIS_BUF_T[6]='6';	DIS_BUF_T[7]='2';	DIS_BUF_T[8]='5';	break;
			case 0x0A:
				DIS_BUF_T[5]='6';	DIS_BUF_T[6]='2';	DIS_BUF_T[7]='5';	DIS_BUF_T[8]='0';	break;
			case 0x0B:
				DIS_BUF_T[5]='6';	DIS_BUF_T[6]='8';	DIS_BUF_T[7]='7';	DIS_BUF_T[8]='5';	break;
			case 0x0C:
				DIS_BUF_T[5]='7';	DIS_BUF_T[6]='5';	DIS_BUF_T[7]='0';	DIS_BUF_T[8]='0';	break;
			case 0x0D:
				DIS_BUF_T[5]='8';	DIS_BUF_T[6]='1';	DIS_BUF_T[7]='2';	DIS_BUF_T[8]='5';	break;
			case 0x0E:
				DIS_BUF_T[5]='8';	DIS_BUF_T[6]='7';	DIS_BUF_T[7]='5';	DIS_BUF_T[8]='0';	break;
			case 0x0F:
				DIS_BUF_T[5]='9';	DIS_BUF_T[6]='3';	DIS_BUF_T[7]='7';	DIS_BUF_T[8]='5';	break;
			default: break;
		}
		return TRUE;
	}




?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人综合婷婷国产精品久久免费| 色综合网色综合| 久久久亚洲国产美女国产盗摄 | 国产亚洲一区二区在线观看| 欧美三级欧美一级| 91在线观看美女| 99久久久国产精品| 99久久伊人网影院| av亚洲精华国产精华| 日韩三级.com| 亚洲精品在线免费播放| 精品国产免费一区二区三区四区| 亚洲尤物视频在线| 一区二区视频免费在线观看| 亚洲一区二三区| 北条麻妃一区二区三区| 久久精品视频网| 极品少妇xxxx偷拍精品少妇| 精品亚洲欧美一区| 欧美一区二区播放| 国产精品美女久久久久久久| 中文字幕在线一区二区三区| 亚洲男女一区二区三区| 亚洲国产日韩一区二区| 久久99久国产精品黄毛片色诱| 91麻豆精品国产91久久久久 | 91免费视频网| 亚洲成人在线观看视频| 婷婷久久综合九色综合绿巨人| 奇米精品一区二区三区在线观看一| 日韩福利视频导航| 成人综合在线观看| 欧美—级在线免费片| 亚洲gay无套男同| 欧洲一区二区三区在线| 91精品国产色综合久久ai换脸| 一区二区三区欧美| 欧美日韩不卡在线| 国产欧美一二三区| 日韩专区在线视频| 99在线精品一区二区三区| 中文字幕在线观看一区二区| 亚洲国产成人91porn| 欧美军同video69gay| 国产精品美日韩| 91尤物视频在线观看| 亚洲精品国产一区二区三区四区在线 | 99精品国产99久久久久久白柏| 国产精品网站在线观看| 97se亚洲国产综合自在线不卡| 亚洲欧美日韩国产中文在线| 欧美日韩中文字幕一区| 日韩精品亚洲一区| 2021国产精品久久精品| 图片区日韩欧美亚洲| 欧美成人女星排名| 亚洲午夜成aⅴ人片| 日韩精品中文字幕一区| 亚洲风情在线资源站| 日韩欧美激情四射| 成人免费观看视频| 亚洲国产精品精华液网站| 欧美成人bangbros| 色婷婷久久一区二区三区麻豆| 国产拍欧美日韩视频二区| 91美女在线视频| 日韩黄色片在线观看| 中文一区二区在线观看| 欧美色精品在线视频| 国产精品一区二区久久精品爱涩| 欧美精品九九99久久| 国产成人在线免费观看| 精品国产区一区| 日本精品免费观看高清观看| 自拍偷在线精品自拍偷无码专区 | caoporm超碰国产精品| 五月激情丁香一区二区三区| 中文字幕免费观看一区| 91.麻豆视频| 99re66热这里只有精品3直播 | 99久久免费视频.com| 日韩不卡手机在线v区| 中文字幕日韩av资源站| 日韩精品中文字幕在线不卡尤物| 日本福利一区二区| 国产麻豆视频一区| 国产欧美一区二区精品忘忧草 | 国产欧美日韩另类视频免费观看| 在线观看网站黄不卡| 成人性视频网站| 久久99深爱久久99精品| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 久久综合色天天久久综合图片| 欧美亚洲愉拍一区二区| 亚洲风情在线资源站| 国产精品国产三级国产aⅴ入口| 日韩视频在线永久播放| 欧美日本在线看| 91久久国产综合久久| 成熟亚洲日本毛茸茸凸凹| 国产精品一品二品| 国产综合色精品一区二区三区| 国产精品女同互慰在线看| 欧美精品一区二区久久久| 日韩欧美一区在线| 日韩一区二区三区在线视频| 欧美日韩成人一区| 欧美精品久久99久久在免费线 | 91麻豆成人久久精品二区三区| 国产乱人伦偷精品视频免下载| 精品一区二区三区视频| 免费人成在线不卡| 免费观看一级特黄欧美大片| 日韩福利电影在线| 日韩高清不卡一区| 另类小说一区二区三区| 久久91精品久久久久久秒播| 久久www免费人成看片高清| 日本不卡一区二区三区高清视频| 天天操天天综合网| 免费亚洲电影在线| 国产精品羞羞答答xxdd| 成人午夜激情视频| 91日韩在线专区| 精品视频资源站| 91精品国产综合久久久久久久久久| 欧美丰满高潮xxxx喷水动漫| 欧美一区二区视频免费观看| 久久女同精品一区二区| 亚洲国产岛国毛片在线| 亚洲黄色录像片| 日韩精品乱码av一区二区| 精品制服美女丁香| 99在线精品视频| 欧美午夜一区二区三区免费大片| 日韩一区二区在线看| 精品国产乱码久久久久久牛牛| 国产女人水真多18毛片18精品视频| 国产精品毛片高清在线完整版| 亚洲欧美一区二区三区国产精品| 亚洲成a人v欧美综合天堂 | 色综合天天综合| 欧美日韩高清一区二区三区| 精品人伦一区二区色婷婷| 欧美精彩视频一区二区三区| 亚洲精品精品亚洲| 狠狠色丁香久久婷婷综合丁香| 成人免费视频免费观看| 欧美日韩在线三区| 久久久久9999亚洲精品| 亚洲乱码国产乱码精品精98午夜| 日韩成人一区二区| 岛国精品一区二区| 91麻豆精品国产无毒不卡在线观看 | 日韩三级在线观看| 中文字幕在线一区二区三区| 日韩av一区二区在线影视| 国产高清不卡二三区| 欧美系列亚洲系列| 欧美国产精品中文字幕| 日韩有码一区二区三区| 91色porny蝌蚪| 久久久蜜桃精品| 亚洲国产精品一区二区www在线 | 欧美日韩午夜在线| 国产精品人人做人人爽人人添| 丝袜诱惑制服诱惑色一区在线观看 | 极品美女销魂一区二区三区免费| 91蝌蚪porny九色| 精品久久久久99| 亚洲成人自拍一区| 99久久久久久| 国产亚洲精品7777| 看电视剧不卡顿的网站| 欧美性受极品xxxx喷水| 国产精品麻豆99久久久久久| 精品一区二区三区免费播放| 这里只有精品视频在线观看| 一区二区三区高清不卡| 成人va在线观看| 91美女在线观看| 国产精品久久久久影院色老大| 麻豆久久一区二区| 福利一区在线观看| 欧美日韩中文字幕一区二区| 成人免费视频在线观看| 成人动漫一区二区| 欧美国产日韩亚洲一区| 国产精品综合一区二区三区| 欧美一级生活片| 琪琪一区二区三区| 67194成人在线观看| 亚洲高清久久久| 欧美日韩日日骚| 亚洲国产精品欧美一二99| 欧美性xxxxx极品少妇| 亚洲午夜免费视频| 欧美日韩国产高清一区| 亚洲6080在线| 日韩一区二区三区在线|