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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 18b20.c

?? 18B20溫度傳感器的單片機(jī)程序
?? C
字號:
#include <reg52.h>
#include <intrins.h>
#define uchar		unsigned char
#define uint     	unsigned int
#define	ulong		unsigned long

#define DELAY_CLOSEDIS	5		//沒按鍵,延時5秒關(guān)背光
#define DELAY_INPUT	5		//沒按鍵,延時5秒返回顯示溫度
#define KEYCODE_UP	0x1		//加溫度
#define KEYCODE_DOWN	0x2		//減溫度
#define KEYCODE_FAN	0x4		//設(shè)置風(fēng)速
#define KEYCODE_ONOFF 	0x8		//開關(guān)風(fēng)機(jī)
#define KEYCODE_TIME	0x6		//設(shè)置時間
#define KEYCODE_PWM	0xc		//設(shè)置PWM
#define WAIT_cCurrTemp	0
#define MAX_TEMP	32
#define MIN_TEMP	15

sbit bDQ 	= 	P1^0; 		// DS1820數(shù)據(jù)線
sbit bLED_light	=	P1^1;		// LED 背光驅(qū)動,低有效
sbit bKey1	=	P1^2;		// 鍵盤掃描線1,高有效
sbit bKey2	=	P1^3;		// 鍵盤掃描線2,高有效
sbit bKey3	=	P1^4;		// 鍵盤輸入線1,低有效
sbit bKey4	=	P1^5;		// 鍵盤輸入線2,低有效
sbit bFAN	=	P0^5;		// 開風(fēng)機(jī)PWM, 低有效
sbit bAC_Zero	=	P3^2;		// 過零脈沖輸入口
//uchar ucCount1;			// 記錄過零脈沖寬度
uchar ucCount;				// 可控占空比0-95%寬度=10mS-ucCount1
uchar ucPWM; 				// 輸出占空比
uchar bdata ucLED;
sbit bFAN_AUTO	= ucLED^3;
sbit bFAN_LOW	= ucLED^2;
sbit bFAN_MIN	= ucLED^1;
sbit bFAN_HIGH	= ucLED^0;
bit  bPowerON	= 0;			// 開機(jī)狀態(tài)=1
uchar ucTimer;
/**************** LED顯示相關(guān)變量 ********************/
//				   0,   1,   2,   3,   4,   5,   6,  7,   8,   9,   C,   度
const uchar code aucLEDNUMCODE[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x7,0x7F,0x6F,0x39,0x63};
const uchar code aucLEDcs[]={0x17,0x1b,0x1d,0x1e,0x0f};	/* LED位選 */
uchar ucScanIndex;			/* 數(shù)碼管位選控制 */
uchar ucLEDData[4];			/* 臨時顯示緩沖數(shù)組 */
uchar ucLEDFlash[5];			/* 顯示緩沖數(shù)組 */
bit   bNeg;				/* 負(fù)號標(biāo)志 */
uchar ucFlashType;
bit   bFlash;
uchar ucCurrSec;
uchar ucSystemStatus;
uchar ucDelaySec;			//切換延時秒數(shù)
uchar ucCloseDelaySec;			//關(guān)背光延時秒數(shù)
uchar aucCurrTime[2];
uchar aucTmpValue[2];
uchar ucFanSpeed;
char  cCurrTemp;
char  cSetTemp;
/**********************************************************************/
uchar ucLongDelay;			//長按鍵
uchar ucDelayKey;
uint  nDelay100uS;
char  cKEYCode;
bit   bStill;
bit   bUpdateDisOK;

/****************************** 函數(shù)聲明 ******************************/
void DisplayValue(char *Value);
void SetFanStatus(void);
void DisposeKey(void);
void ScanLED(void);
uchar SCANKEY(void);
void DisplayTemp(char Temp);
void Key(uchar k);
void DisposeCurrTime(void);
void DisposeDelay(uchar LType);
void UpdateDis(uchar status);

/**********************************************************************/
bit Init_DS18B20(void)
{
	bit sysOK = 0;
	bDQ = 0;    				// 單片機(jī)將DQ拉低
	nDelay100uS = 6;
	while(nDelay100uS != 0);	// 精確延時 大于 500us
	bDQ = 1;    				// 拉高總線
	nDelay100uS = 4;
	while(bDQ && nDelay100uS);	// 稍做延時后 如果bDQ=0則初始化成功 bDQ=1則初始化失敗
	if(nDelay100uS != 0)
	{
		nDelay100uS = 4;
		while(~bDQ && nDelay100uS);
		if(nDelay100uS != 0)
		{
			sysOK = 1;			// 在延時時間內(nèi)18B20有應(yīng)答證明初始化成功
		}
	}
	return(sysOK);
}

/**********************************************************************/
char ReadOneChar(void)
{
	uchar i;
	uchar j;
	uchar dat = 0;
	for (i=8; i>0; i--)
	{
		bDQ = 0; 		// 給脈沖信號
		bDQ = 0;
		dat >>= 1;
		bDQ = 1; 		// 給脈沖信號
		if(bDQ)
		{
			dat |= 0x80;
		}
		j = 8;
		while(j--)
		{
		}
	}
	return(dat);
}

/**********************************************************************/
void WriteOneChar(uchar dat)
{
	uchar i, j;
	for (i = 8; i > 0; i--)
	{
		bDQ = 0;
		bDQ = 0;
		bDQ = dat & 0x01;
		j = 8;
		while(j--)
		{
		}
		bDQ = 1;
		dat >>= 1;
	}
}

/**********************************************************************/
char ReadTemperature(void)
{
	bit f;
	union UniTEMP							
	{
		uint  T;
		uchar T_byte[2];
	}idata uT;
	
	f=Init_DS18B20();			
	if(f != 0)					// 18B20初始化成功?
	{
		ET0 = 0;
		ET1 = 0;
		WriteOneChar(0xCC); 	// 跳過讀序號列號的操作
		WriteOneChar(0xBE); 	// 讀取溫度寄存器等(共可讀9個寄存器) 前兩個就是溫度
		uT.T_byte[1] = ReadOneChar();
		uT.T_byte[0] = ReadOneChar();
		ET0 = 1;
		ET1 = 1;
	}
	else
	{
		return(99);
	}
	f = Init_DS18B20();
	if(f != 0)
	{
		ET0 = 0;
		ET1 = 0;
		WriteOneChar(0xCC); 	// 跳過讀序號列號的操作
		WriteOneChar(0x44); 	// 啟動溫度轉(zhuǎn)換
 		nDelay100uS = 1100;		// 等待AD轉(zhuǎn)換結(jié)束9位AD約100mS
		ET0 = 1;
		ET1 = 1;
	}
	else
	{
		return(99);
	}
	bNeg = 0;
	if((uT.T_byte[0] & 0x80) != 0)// 負(fù)數(shù)標(biāo)志位為1?
	{
		uT.T = ~uT.T+1;			// 轉(zhuǎn)換成正數(shù)
		bNeg = 1;			// 負(fù)數(shù)標(biāo)志置位
	}
	uT.T += 8;				// 四舍五入
	uT.T >>= 4;				// 取整
	return(uT.T_byte[1]);
}

/********************* 初始化變量 **********************/
void INITVar(void)
{
	//自己添加
}

/****************************** 主函數(shù) *********************************/
void main() 
{
	TMOD = 0x11;
	TH0 = -30;				// 定時器0
	TL0 =39;				// 定時中斷
	TR0 = 1;
	ET0 = 1;
	TH1 = -3;				// 定時器1
	TL1 = 0;				// 定時中斷
	TR1 = 1;
	ET1 = 1;
	EA  = 1;

	Init_DS18B20();
	if(Init_DS18B20())
	{					   	
		bLED_light = 0;			// 開機(jī)DS18B20正常就開背光
		ucCloseDelaySec = 3;		// 延時3秒關(guān)背光
	}
	WriteOneChar(0xCC); 			// 跳過讀序號列號的操作
	WriteOneChar(0x44); 			// 啟動溫度轉(zhuǎn)換
	nDelay100uS = 1100;			// 等待AD轉(zhuǎn)換結(jié)束9位AD約100mS

	INITVar();
	while(1)
	{
		if(nDelay100uS == 0)
		{
			cCurrTemp = ReadTemperature();
			if(ucFlashType != FLASH_PWM)
			{
				SetFanStatus();
			}
		}

		if(cKEYCode != 0)
		{
			DisposeKey();		//處理鍵盤數(shù)據(jù)
		}

		UpdateDis(ucSystemStatus);

		if(ucDelaySec == 0)
		{
			DisposeDelay(ucSystemStatus);//處理延時
		}

		if(ucCloseDelaySec == 0)
		{
			bLED_light = 1;		//關(guān)背光
		}

		DisposeCurrTime();
	}	
}

/***************** 定時器1中斷:多任務(wù)分時處理 **************************/
void timer1() interrupt 3			//約840uS中斷1次,11次約為10mS,即100Hz波的1個周期
{
	TH1 = -3;						//定時器1重裝
//////////////////// 任務(wù)1:PWM輸出 //////////////////////////////////
	if(bAC_Zero == 0)
	{
		if(ucCount < 100)
		ucCount += 5;				// 定時器1中斷記數(shù)有效控制寬度
	}
	else
	{
		ucCount = 0;
	}
	if(ucCount <= 100 - ucPWM)
	{
		bFAN = 1;
	}
	else
	{ 
		bFAN = 0;
	}
///////////////////// 任務(wù)2:顯示刷新 ////////////////////////
	ScanLED();
///////////////////// 任務(wù)3:延時 ////////////////////////////
	if(nDelay100uS)
	{
		nDelay100uS--;
	}
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区成人在线观看| 91蜜桃免费观看视频| 欧美日韩精品免费观看视频| 亚洲欧美国产高清| 欧美日韩亚洲国产综合| 日本不卡123| 久久久噜噜噜久久人人看| 成熟亚洲日本毛茸茸凸凹| 亚洲天堂2016| 91精品国产综合久久久久久久| 精品一区二区三区免费| 国产蜜臀av在线一区二区三区 | 亚洲五月六月丁香激情| 欧美精品tushy高清| 激情小说欧美图片| 亚洲乱码国产乱码精品精98午夜 | 蜜桃视频第一区免费观看| 日韩精品一区在线| 丰满少妇在线播放bd日韩电影| 国产精品福利一区二区三区| 欧美日韩在线播放| 激情欧美一区二区| 国产毛片精品国产一区二区三区| 国产日韩欧美精品电影三级在线| 色综合久久久网| 久久99精品国产91久久来源| 综合激情成人伊人| 日韩精品一区二区在线观看| 99国产一区二区三精品乱码| 奇米一区二区三区av| 国产精品久久久久久久久快鸭 | 精品国产乱码久久久久久牛牛| 国产91精品免费| 亚洲成人激情av| 欧美韩国日本不卡| 7799精品视频| 99re成人在线| 捆绑变态av一区二区三区| 国产精品传媒在线| 欧美va亚洲va| 欧美另类高清zo欧美| 99re热这里只有精品免费视频| 日本va欧美va精品| 一区二区三区日韩精品视频| 337p日本欧洲亚洲大胆精品| 欧美体内she精视频| 国产精品911| 欧美a级理论片| 国产精品久久久久久久久免费樱桃| 日韩三级电影网址| 欧美丝袜自拍制服另类| av在线一区二区三区| 精品一区二区三区香蕉蜜桃| 亚洲国产综合人成综合网站| 国产视频在线观看一区二区三区| 这里只有精品电影| 欧美综合亚洲图片综合区| 精品国产伦理网| 欧美精品一级二级三级| 91麻豆视频网站| 成人一区二区在线观看| 激情综合色综合久久综合| 石原莉奈在线亚洲三区| 亚洲成a人片在线观看中文| 亚洲精品高清视频在线观看| xnxx国产精品| 欧美电影免费观看高清完整版在线 | 欧美无人高清视频在线观看| 处破女av一区二区| 国产精品99久久久久久久女警| 六月婷婷色综合| 青青草国产成人99久久| 视频一区国产视频| 日本大胆欧美人术艺术动态| 亚洲福利电影网| 亚洲午夜精品在线| 天堂在线一区二区| 午夜激情久久久| 日韩精品成人一区二区三区| 丝袜诱惑制服诱惑色一区在线观看| 一区二区欧美视频| 9i看片成人免费高清| 成人午夜精品一区二区三区| 国产精品一二三四| 成人免费av网站| 91女神在线视频| 日本高清不卡视频| 欧美日韩在线观看一区二区| 91精品欧美福利在线观看| 精品国产区一区| 国产免费观看久久| 亚洲另类在线制服丝袜| 亚洲国产日韩a在线播放性色| 五月激情六月综合| 九色综合狠狠综合久久| 国产成人精品亚洲777人妖| 成人av午夜电影| 在线免费av一区| 欧美一区二区三区四区视频| www日韩大片| 亚洲欧美一区二区三区国产精品 | 欧美亚洲高清一区| 3d成人h动漫网站入口| 欧美刺激午夜性久久久久久久| 久久久九九九九| 亚洲最新视频在线观看| 免费成人在线视频观看| 成人免费看视频| 欧美日韩一区二区在线视频| 日韩一级大片在线| 亚洲欧洲另类国产综合| 视频在线观看一区| 成人午夜私人影院| 欧美日韩国产欧美日美国产精品| 日韩视频一区二区三区在线播放| 国产午夜精品福利| 亚洲va欧美va天堂v国产综合| 一区免费观看视频| 免费国产亚洲视频| 99在线精品一区二区三区| 欧美日韩视频第一区| 久久精品这里都是精品| 亚洲不卡在线观看| 成人午夜精品一区二区三区| 69堂成人精品免费视频| 国产精品国产三级国产aⅴ无密码| 亚洲成人av一区二区三区| 福利电影一区二区| 日韩一区二区免费电影| 一区二区三区av电影| 国产精品影音先锋| 91麻豆精品国产91久久久资源速度| 国产精品久久久久久福利一牛影视| 日本美女一区二区三区| 99麻豆久久久国产精品免费 | 亚洲成人免费av| www.久久久久久久久| 日韩欧美亚洲另类制服综合在线| 亚洲精品久久嫩草网站秘色| 激情亚洲综合在线| 欧美一级夜夜爽| 欧美激情一区三区| 91一区二区在线| 亚洲综合无码一区二区| 中文字幕在线观看不卡视频| 亚洲成人动漫av| 色婷婷av一区| 日韩一区欧美一区| 国产91对白在线观看九色| 精品少妇一区二区三区日产乱码 | 97超碰欧美中文字幕| 精品国产123| 麻豆国产精品777777在线| 欧美亚洲综合一区| 亚洲精品成人精品456| 99国产精品久久久久久久久久 | ㊣最新国产の精品bt伙计久久| 精品亚洲国产成人av制服丝袜 | 亚洲国产欧美在线人成| 99re在线视频这里只有精品| 国产无一区二区| 国产高清在线精品| 国产丝袜美腿一区二区三区| 国产精品自产自拍| 精品国产制服丝袜高跟| 久草这里只有精品视频| 日韩精品中午字幕| 久久精品72免费观看| 日韩美女视频在线| 久久成人麻豆午夜电影| 欧美岛国在线观看| 韩国午夜理伦三级不卡影院| 久久亚洲私人国产精品va媚药| 美腿丝袜亚洲三区| 久久综合成人精品亚洲另类欧美| 狠狠久久亚洲欧美| 国产拍揄自揄精品视频麻豆| 国产mv日韩mv欧美| 综合欧美一区二区三区| 一本到三区不卡视频| 性做久久久久久久免费看| 欧美一区二区三区视频免费播放| 美女视频黄a大片欧美| 精品福利在线导航| eeuss鲁一区二区三区| 怡红院av一区二区三区| 3d动漫精品啪啪1区2区免费| 韩国女主播成人在线观看| 337p粉嫩大胆色噜噜噜噜亚洲| 成人性视频免费网站| 亚洲精品欧美二区三区中文字幕| 欧美高清www午色夜在线视频| 麻豆精品久久精品色综合| 久久精品水蜜桃av综合天堂| 99v久久综合狠狠综合久久| 亚洲一区二区影院| 精品国产乱码久久久久久老虎 | 国产日韩欧美综合在线| 色久综合一二码| 美女视频黄a大片欧美|