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

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

?? ds18b20.c

?? 用于檢測DS18B20 用keil生成hex再用
?? C
字號:
/*****************************************************************************
						MCS8051-III學習板演示程序
							
				(c) Copyright 2007-2007,廣州恒芯電子
						All Rights Reserved
*****************************************************************************/

/*****************************************************************************
程序說明
名稱: MCS8051-III學習板演示程序(DS18B20測試)
功能: 實現在數碼管上顯示當前溫度
版本:2007-07-01
*****************************************************************************/

/*****************************************************************************
硬件說明
單片機:   兼容MCS-51單片機/STC89C51
晶振頻率: 12MHz
*****************************************************************************/

#include "regx52.h"

/****************************************************************************
說明: 程序預定義
*****************************************************************************/
#define LED7A_STATUS P1_7/*數碼管第一位控制引腳(0為有效,1為無效)*/
#define LED7B_STATUS P1_6/*數碼管第二位控制引腳(0為有效,1為無效)*/
#define LED7C_STATUS P1_5/*數碼管第三位控制引腳(0為有效,1為無效)*/
#define LED7D_STATUS P1_4/*數碼管第四位控制引腳(0為有效,1為無效)*/

#define LED7_STATUS	P0/*數碼管狀態引腳(0為有效,1為無效)*/

#define DS18B20_IO P3_2/*DS18B20數據引腳*/

#define	DS18B20_ORDER_READID 	0x33
#define DS18B20_ORDER_JMPROM	0xcc
#define DS18B20_ORDER_START		0x44
#define DS18B20_ORDER_READREG	0Xbe

/****************************************************************************
說明: 變量定義
*****************************************************************************/
code unsigned char m_ucLedTab[]=
{
	0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90,
	0x88, 0x83, 0xC6, 0xa1 ,0x86 ,0x8e, 0xff
};/*數碼管十六進制編碼表*/

unsigned char m_ucLedBuf[4];/*七段數碼管顯示值緩存*/

/****************************************************************************
名稱: Delay
說明: 程序延時
參數: 無
返回: 無
*****************************************************************************/
void Delay();

/****************************************************************************
名稱: Led7Scan()
說明: 數碼管動態掃描處理程序	
參數: 無
返回: 無
*****************************************************************************/
void Led7Scan();

/****************************************************************************
名稱:DS18B20ReadTemp
說明:DS18B20讀取當前溫度
參數:無
返回: unsigned char 溫度值
****************************************************************************/
unsigned char DS18B20ReadTemp();

/****************************************************************************
名稱:DS18B20Init
說明:DS18B20初始化
參數:無
返回: 無
****************************************************************************/
unsigned char DS18B20Init();


/****************************************************************************
名稱:DS18B20ReadBit
說明:DS18B20讀位操作
參數:無
返回: unsigned char ucData 讀位
****************************************************************************/
unsigned char DS18B20ReadBit();

/****************************************************************************
名稱:DS18B20ReadChar
說明:DS18B20讀字節操作
參數:無
返回: unsigned char ucData 讀字節
****************************************************************************/
unsigned char DS18B20ReadChar();

/****************************************************************************
名稱:DS18B20WriteBit
說明:DS18B20寫位操作
參數:unsigned char ucData 寫位
****************************************************************************/
void DS18B20WriteBit(unsigned char ucData);

/****************************************************************************
名稱:DS18B20WriteChar
說明:DS18B20寫字節操作
參數:unsigned char ucData 寫字節
返回: 無
****************************************************************************/
void DS18B20WriteChar(unsigned char ucData);

/****************************************************************************
名稱:DS18B20Delay
說明:DS18B20延時
參數:unsigned int uiDelay 時間延時
返回: 無
****************************************************************************/
void DS18B20Delay(unsigned char ucDelay);

/*****************************************************************************
程序開始
*****************************************************************************/
void main()
{	
	unsigned char ucTemp=0;/*計數值置0*/
     
	/*T0中斷設定*/
  	TMOD=0x01;/*使用T0:GATE=0,C/T=0(定時),M1 M0=01(工作方式1)*/
	TH0=0xec;/*定時時間5毫秒*/
	TL0=0x78;
	ET0=1;/*允許T0中斷*/
	TR0=1;/*使T0工作*/
	EA=1;/*總中斷開啟*/

	while(1)
	{	
		ucTemp=DS18B20ReadTemp();/*獲取當前溫度*/

		m_ucLedBuf[0]=16;
		m_ucLedBuf[1]=16;
		m_ucLedBuf[2]=(ucTemp%100)/10;/*取出十位數*/
	   	m_ucLedBuf[3]=ucTemp%10;/*取出個位數*/

	 	Delay();/*延時*/
	}
}

/*****************************************************************************
名稱: Interrupt1Handler
說明: T0中斷入口
參數: 無
返回 :無
*****************************************************************************/
void Interrupt1Handler() interrupt 1
{
	Led7Scan();/*數碼管動態掃描處理程序*/
	TH0=0xec;/*重新設置T0定時值*/
	TL0=0x78;
}


/****************************************************************************
名稱: Delay
說明: 程序延時
參數: 無
返回: 無
*****************************************************************************/
void Delay()
{
	unsigned char a,b;

	for(a=0;a<255;a++)
		for(b=0;b<255;b++);
}

/****************************************************************************
名稱: Led7Scan()
說明: 數碼管動態掃描處理程序
參數: 無
返回: 無
*****************************************************************************/
void Led7Scan()
{	
	static unsigned char a=0;

	switch(a)/*判斷數碼管動態掃描值*/
	{
	case 0:/*處理數碼管第一位*/
		LED7D_STATUS=1;/*設置數碼管第四位為無效*/
		LED7A_STATUS=0;/*設置數碼管第一位位有效*/
		break; 

	case 1:/*處理數碼管第二位*/
		LED7A_STATUS=1;/*設置數碼管第一位為無效*/
		LED7B_STATUS=0;/*設置數碼管第二位位有效*/
		break; 

	case 2:/*處理數碼管第三位*/
		LED7B_STATUS=1;/*設置數碼管第二位為無效*/
		LED7C_STATUS=0;/*設置數碼管第三位位有效*/
		break; 

	case 3:/*處理數碼管第四位*/
		LED7C_STATUS=1;/*設置數碼管第三位為無效*/
		LED7D_STATUS=0;/*設置數碼管第四位位有效*/
		break; 
	}

	LED7_STATUS=m_ucLedTab[m_ucLedBuf[a]];/*將顯示碼送數碼管狀態引腳*/	
	
	a++;/*數碼管動態掃描值加1,若該值4則置為0*/
	if(a>3)
		a=0;
}

/****************************************************************************
名稱:DS18B20Delay
說明:DS18B20延時
參數:unsigned int uiDelay 時間延時
返回: 無
****************************************************************************/
void DS18B20Delay(unsigned char ucDelay)
{
	unsigned char a;

	for(a=0;a<ucDelay;a++);
}

/****************************************************************************
名稱:DS18B20Init
說明:DS18B20初始化
參數:無
返回: 無
****************************************************************************/
unsigned char DS18B20Init()
{
	DS18B20_IO=0;
	DS18B20Delay(30);
	DS18B20_IO=1;
	DS18B20Delay(30);
	return DS18B20_IO;
}

/****************************************************************************
名稱:DS18B20WriteChar
說明:DS18B20寫字節操作
參數:unsigned char ucData 寫字節
返回: 無
****************************************************************************/
void DS18B20WriteChar(unsigned char ucData)
{
	unsigned char a,b;

	EA=0;
	for(a=0;a<8;a++)
	{
		b=ucData>>a;
		b&=0x01;
		DS18B20WriteBit(b);
	}
	EA=1;

	DS18B20Delay(5);
}

/****************************************************************************
名稱:DS18B20WriteBit
說明:DS18B20寫位操作
參數:unsigned char ucData 寫位
****************************************************************************/
void DS18B20WriteBit(unsigned char ucData)
{
	DS18B20_IO=0;

	if(ucData==1)
		DS18B20_IO=1;

	DS18B20Delay(5);
	DS18B20_IO=1;
}

/****************************************************************************
名稱:DS18B20ReadChar
說明:DS18B20讀字節操作
參數:無
返回: unsigned char ucData 讀字節
****************************************************************************/
unsigned char DS18B20ReadChar()
{
	unsigned char a,b=0;

	for(a=0;a<8;a++)
	{	   
		EA=0;
		if(DS18B20ReadBit())
			b|=0x01<<a;
		EA=1;

		DS18B20Delay(6);
	}

	return b;
}

/****************************************************************************
名稱:DS18B20ReadBit
說明:DS18B20讀位操作
參數:無
返回: unsigned char ucData 讀位
****************************************************************************/
unsigned char DS18B20ReadBit()
{
	unsigned char a;

	DS18B20_IO=0;

	DS18B20_IO=1;

	for(a=0;a<3;a++);

	return(DS18B20_IO);
}


/****************************************************************************
名稱:DS18B20ReadTemp
說明:DS18B20讀取當前溫度
參數:無
返回: unsigned char 溫度值
****************************************************************************/
unsigned char DS18B20ReadTemp()
{
	unsigned char ucTempL,ucTempM;
	unsigned char ucTemp;

	DS18B20Init();	
	DS18B20WriteChar(DS18B20_ORDER_JMPROM);	
	DS18B20WriteChar(DS18B20_ORDER_START);
	DS18B20Delay(5);
	
	DS18B20Init();	
	DS18B20WriteChar(DS18B20_ORDER_JMPROM);
	DS18B20WriteChar(DS18B20_ORDER_READREG);
	ucTempL=DS18B20ReadChar();
	ucTempM=DS18B20ReadChar();

	ucTempL=ucTempL>>4;           
	ucTemp=(ucTempM&0x3)<<4;          
	ucTemp=ucTempL|ucTemp;   

	return ucTemp;	
}



			   

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久影院色老大| 亚洲人成精品久久久久| zzijzzij亚洲日本少妇熟睡| 91色婷婷久久久久合中文| 欧美日韩国产高清一区二区| 欧美激情一区二区三区全黄| 亚洲午夜激情网页| 成人免费视频一区二区| 日韩一区二区三区三四区视频在线观看| 国产精品久久久久aaaa| 麻豆精品在线视频| 欧美日韩一区国产| 亚洲精品中文在线| 成人性生交大片免费看中文网站| 欧美一二区视频| 亚洲自拍偷拍av| 99久久99久久综合| 国产日本亚洲高清| 国产在线精品不卡| 欧美成人精品1314www| 午夜伦欧美伦电影理论片| 9色porny自拍视频一区二区| 久久久综合精品| 国内外成人在线视频| 日韩免费视频线观看| 午夜伦理一区二区| 在线免费不卡电影| 亚洲永久精品国产| 色综合久久久久久久久久久| 综合久久久久综合| 日本高清不卡aⅴ免费网站| 中文字幕不卡在线| av在线免费不卡| 亚洲视频在线观看三级| 91丨porny丨中文| 亚洲天堂福利av| 色综合久久天天| 一区二区三区日韩精品视频| 欧美在线影院一区二区| 亚洲成年人影院| 91麻豆精品国产91| 久久av中文字幕片| 久久蜜桃香蕉精品一区二区三区| 国产精品自拍一区| 国产精品久久毛片| 欧美在线观看18| 日本vs亚洲vs韩国一区三区| 欧美一级久久久久久久大片| 国产一区二区三区黄视频| 国产欧美久久久精品影院| 91一区一区三区| 丝袜美腿亚洲综合| 久久伊人蜜桃av一区二区| 成熟亚洲日本毛茸茸凸凹| 久久电影网电视剧免费观看| 久久久美女毛片| 色综合天天性综合| 琪琪一区二区三区| 久久久久久久电影| 91福利区一区二区三区| 日本在线不卡一区| 国产欧美一区二区在线| 在线观看亚洲一区| 狠狠色综合日日| 国产精品网站在线播放| 欧美日韩国产小视频在线观看| 狠狠久久亚洲欧美| 亚洲欧美日本韩国| 91精品国产综合久久福利软件| 国产乱国产乱300精品| 亚洲欧美日韩久久精品| 日韩欧美中文一区| 播五月开心婷婷综合| 丝袜亚洲另类欧美| 欧美国产精品一区| 欧美一区二区在线免费观看| www.66久久| 久久不见久久见中文字幕免费| 亚洲天天做日日做天天谢日日欢 | 国产午夜精品在线观看| 99re8在线精品视频免费播放| 日本欧美韩国一区三区| 中文字幕中文在线不卡住| 7777精品伊人久久久大香线蕉经典版下载 | 美女精品自拍一二三四| 国产精品色眯眯| 又紧又大又爽精品一区二区| 日韩视频一区在线观看| 91性感美女视频| 国产一区视频在线看| 亚洲成人三级小说| 国产精品黄色在线观看| 日韩欧美国产综合一区| 91久久精品国产91性色tv| 国产成人精品亚洲午夜麻豆| 视频一区二区三区中文字幕| 亚洲色图欧美激情| 国产日韩三级在线| 日韩精品一区二区三区老鸭窝| 欧美亚洲动漫精品| 色婷婷综合久久久中文字幕| 国产成人一区二区精品非洲| 狠狠色2019综合网| 久久99蜜桃精品| 日韩中文字幕麻豆| 亚洲国产一区二区在线播放| **欧美大码日韩| 国产精品乱码一区二区三区软件 | 肉肉av福利一精品导航| 一区二区三区资源| 综合av第一页| 18欧美乱大交hd1984| 国产精品久久99| 最新不卡av在线| 亚洲精品视频在线看| 亚洲猫色日本管| 亚洲视频一区在线| 亚洲美女视频一区| 亚洲成va人在线观看| 亚洲成人www| 日本vs亚洲vs韩国一区三区二区 | 国产午夜久久久久| 国产亚洲午夜高清国产拍精品| xnxx国产精品| 久久精品一区二区| 国产精品久久福利| 亚洲免费色视频| 亚洲制服丝袜一区| 婷婷国产在线综合| 国模一区二区三区白浆| 国产91精品露脸国语对白| 91丝袜呻吟高潮美腿白嫩在线观看| 日本久久电影网| 日韩一区二区免费视频| 精品成人一区二区三区四区| 国产三级精品三级| 亚洲免费在线观看| 奇米色一区二区三区四区| 韩国v欧美v日本v亚洲v| 97久久久精品综合88久久| 欧美色图激情小说| 日韩欧美一区二区在线视频| 国产欧美日韩亚州综合 | av不卡一区二区三区| 欧美在线999| 日韩一区二区在线观看视频| 久久精品水蜜桃av综合天堂| 一区二区三区视频在线看| 久久成人羞羞网站| 成人中文字幕在线| 欧洲一区在线电影| 精品毛片乱码1区2区3区| 中文字幕中文乱码欧美一区二区| 亚洲成va人在线观看| 成人综合婷婷国产精品久久| 欧美亚洲日本国产| 欧美一区二区精品久久911| 日韩综合小视频| 成人国产一区二区三区精品| 911精品产国品一二三产区| 亚洲国产成人午夜在线一区| 三级在线观看一区二区| 成人sese在线| 欧美草草影院在线视频| 有码一区二区三区| 国产精品影音先锋| 欧美日韩一区三区四区| 国产精品美女久久久久久2018| 免费成人美女在线观看.| 一本色道久久综合亚洲aⅴ蜜桃| 精品少妇一区二区三区日产乱码 | 成人黄色在线网站| 日韩精品一区二区三区在线观看| 亚洲精选视频免费看| 精品一二三四在线| 欧美日韩激情一区二区三区| 亚洲天堂2016| 国产激情精品久久久第一区二区| 国模大尺度一区二区三区| 97精品久久久久中文字幕 | 欧美中文字幕一二三区视频| 久久天堂av综合合色蜜桃网| 中文字幕在线观看一区二区| 蜜桃精品视频在线| 91精品国产手机| 亚洲一区在线电影| 色综合中文字幕国产 | 国产精品久久久久久久裸模| 激情六月婷婷综合| 日韩一区二区三| 午夜成人免费视频| 欧美午夜一区二区三区免费大片| 亚洲视频一区在线| 成人免费av资源| 中文字幕av免费专区久久| 国产精品一区二区久久不卡 | 国产在线一区二区| 亚洲精品一区二区三区99| 免费成人在线视频观看| 欧美一级xxx|