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

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

?? hjmcu.c

?? 很實(shí)用的單片機(jī)例程
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
}

void Port_DS18B20()
{
	DDRC &= ~(1 << PC2);   // 輸入模式(上電時(shí)為高電平)
    PORTC &= ~(1 << PC2);  // 輸出鎖存器寫(xiě)0,以后不再更改
}

//USART寄存器配置函數(shù)
void Usart_Init()
{
	UCSRA = 0X00;	
	UCSRC |= (1<<URSEL) | (1 << UCSZ1) | (1 << UCSZ0);  //異步,數(shù)據(jù)格式8,N,1
	     //UCSRC寄存器與UBRRH寄存器共用相同的I/O地址,寫(xiě) UCSRC 時(shí), URSEL 應(yīng)設(shè)置為 1。
	UBRRL = (F_CPU / BAUD / 16 - 1) % 256;    //波特率設(shè)置
	UBRRH = (F_CPU / BAUD / 16 - 1) / 256;		
	UCSRB |= (1 << RXCIE) | (1 << RXEN) | (1 << TXEN);    //發(fā)送使能
	
}

//字節(jié)發(fā)送函數(shù)
void Usart_PutChar(unsigned char cTXData)
{
	while( !(UCSRA & (1 << UDRE)) );  //只有數(shù)據(jù)寄存器為空時(shí)才能發(fā)送數(shù)據(jù)
	UDR = cTXData;	                 //發(fā)送數(shù)據(jù)送USART I/O數(shù)據(jù)寄存器-UDR
}

//接收中斷函數(shù)
ISR(USART_RXC_vect )
{
	unsigned char Rev;
	Rev = UDR;              //從USART I/O數(shù)據(jù)寄存器-UDR中讀出數(shù)據(jù)
	Usart_PutChar(Rev);    //將接收到的數(shù)據(jù)發(fā)送
}


void Usart_PutString(unsigned char *pcString)
{
	while (*pcString)
	{
		Usart_PutChar(*pcString++);
	}	
}

//DS18B20初始化
unsigned char DS18B20_Init()
{	
	SET_OUT;   //PA2設(shè)置為輸出口(相當(dāng)于拉低數(shù)據(jù)線上的電平)	
	
	Delayus(490);  //延時(shí)大于480us
	
	SET_IN;     //輸入 釋放數(shù)據(jù)線(相當(dāng)于拉高數(shù)據(jù)線上的電平)
	
	Delayus(68);	//延時(shí)大于60US,
		
	//while(DQ_IN);	    //可以用兩個(gè)while()死循環(huán)來(lái)判斷復(fù)位是否成功,當(dāng)數(shù)據(jù)線被拉低,說(shuō)明
	//while(!(DQ_IN));	 //DS18B20開(kāi)始復(fù)位應(yīng)答,當(dāng)數(shù)據(jù)線變高,說(shuō)明應(yīng)答完畢
	
	if(DQ_IN)   //判斷DSDS18B20是否拉低數(shù)據(jù)線
	{
		OK_Flag = 0;		//	數(shù)據(jù)線是高?復(fù)位失敗
	}
	else
	{
		OK_Flag = 1;	//	數(shù)據(jù)線是低?復(fù)位成功
	}
	Delayus(422);	//有復(fù)位應(yīng)答信號(hào)后,應(yīng)當(dāng)再延時(shí)一段時(shí)間(480-68),以等待應(yīng)答完畢
	
	return OK_Flag;    //返回復(fù)位標(biāo)志
}

//從DSDS18B20讀取一個(gè)字節(jié)數(shù)據(jù)
unsigned char Read_DS18B20()
{
	unsigned char i;   
	unsigned char dat = 0;   // dat用于存儲(chǔ)讀到的數(shù)據(jù),先清零	
	
	for(i = 0;i < 8;i++)   //共讀8位數(shù)據(jù),構(gòu)成一個(gè)字節(jié)
	{		
		SET_OUT;    //定義為輸出(拉低數(shù)據(jù)線)
		
		Delayus(2);   //拉低2微秒		
		
		SET_IN;        //定義成輸入,讀入數(shù)據(jù)(同時(shí)也相當(dāng)于拉高數(shù)據(jù)線)
			
		Delayus(4);        //延時(shí)
		dat = dat >> 1;	       //數(shù)據(jù)右移,讀順序:先低后高
		if(DQ_IN)       //讀數(shù)據(jù),
		{			
			dat |= 0x80;   //如果是高,置1,右移數(shù)據(jù)
		}
		Delayus(62);		 //延時(shí)大于60us
	}	
	return dat;     //返回讀到的1字節(jié)數(shù)據(jù)
}

//向DSDS18B20寫(xiě)1字節(jié)數(shù)據(jù)
void Write_DS18B20(unsigned char dat)
{
	unsigned char i;	
	
	for(i = 0;i < 8;i++)  //寫(xiě)8次,一次寫(xiě)1位,先寫(xiě)低字節(jié)
	{
		SET_OUT;         //拉低數(shù)據(jù)線2us,開(kāi)始寫(xiě)數(shù)據(jù)
		Delayus(2);      //
		
		if(dat & 0x01)   //寫(xiě)數(shù)據(jù)
		{
			SET_IN;    //寫(xiě)1			
		}
		else
		{
			SET_OUT;   //寫(xiě)0			
		}
		dat >>= 1;      //數(shù)據(jù)右移1位,先寫(xiě)低位
		Delayus(62);       //延時(shí)大于60us	
			
		SET_IN;          //拉高數(shù)據(jù)線
		Delayus(2);   //寫(xiě)兩位數(shù)據(jù)的時(shí)間間隔		
	}	
}

//us級(jí)別的延時(shí)函數(shù)
void Delayus(unsigned int lus)
{
	while(lus--)
	{
		_delay_loop_2(3);      //_delay_loop_2(1)是延時(shí)4個(gè)時(shí)鐘周期,參數(shù)為3則延時(shí)12
		           //個(gè)時(shí)鐘周期,本實(shí)驗(yàn)用12M晶體,則12個(gè)時(shí)鐘周期為12/12=1us
    }
}

//ms級(jí)別的延時(shí)函數(shù)
void Delayms(unsigned int lms)
{
	while(lms--)
	{
		Delayus(1000);        //延時(shí)1ms
    }
}

//啟動(dòng)溫度轉(zhuǎn)換
void DS18B20_StartConvert(void)   
{
	unsigned char i;
	
	DS18B20_Init();     //初始化DS18B20
		
	Write_DS18B20(DS18B20_SKIP_ROM);  //發(fā)送ROM指令,跳過(guò)ROM匹配
		
	Write_DS18B20(DS18B20_CONVERT_RAM);  //	發(fā)送溫度轉(zhuǎn)換命令	
		
	for(i=0;i<50;i++)      //延時(shí)1S,等轉(zhuǎn)換完成
	{
		Delayms(20);
	}		
}

//獲得溫度轉(zhuǎn)換結(jié)果
void DS18B20_GetConvert(void)
{
	DS18B20_Init();    //初始化DSDS18B20
		
	Write_DS18B20(DS18B20_SKIP_ROM);  //發(fā)送ROM指令,跳過(guò)ROM匹配
		
	Write_DS18B20(DS18B20_READ_RAM);  //發(fā)送讀取暫存器指令
		
	Temp_L = Read_DS18B20(); //獲得溫度的低位
	
	Temp_H = Read_DS18B20(); //獲得溫度的高位
}   

 // 讀取RAM內(nèi)容
void DS18B20_ReadRAM(void)       
{
	unsigned char i;
	
	DS18B20_Init();     //初始化DSDS18B20
	
	Write_DS18B20(DS18B20_SKIP_ROM);  //發(fā)送ROM指令,跳過(guò)ROM匹配		
		
	Write_DS18B20(DS18B20_READ_RAM);  //發(fā)送讀取暫存器指令
	
	for(i = 0;i < 9;i++)
	{
		ReadRAM_Buff[i] = Read_DS18B20();
	}	
}

//寫(xiě)溫度上下限和配置寄存器到RAM
void DS18B20_WriteRAM(void)       
{
	DS18B20_Init();     //初始化DSDS18B20
		
	Write_DS18B20(DS18B20_SKIP_ROM);  //發(fā)送ROM指令,跳過(guò)ROM匹配
	
	Write_DS18B20(DS18B20_WRITE_RAM);  //	發(fā)送寫(xiě)RAM命令	
		
	Write_DS18B20(ThrH);        //寫(xiě)溫度報(bào)警上限值
	Write_DS18B20(ThrL);        //寫(xiě)溫度報(bào)警下限值
	Write_DS18B20(CFG);         //寫(xiě)配置寄存器
}

//復(fù)制RAM中的溫度上下線和配置寄存器到EEPROM
void DS18B20_CopyEEPROM(void)     
{
	DS18B20_Init();     //初始化DSDS18B20
		
	Write_DS18B20(DS18B20_SKIP_ROM);  //發(fā)送ROM指令,跳過(guò)ROM匹配
	
	Write_DS18B20(DS18B20_COPY_RAM);  //	發(fā)送復(fù)制命令	
		
	Delayms(20);   //  等待復(fù)制完成	
}

//把EEPROM中的溫度上下線和配置寄存器恢復(fù)到RAM
void DS18B20_RecallRAM(void)      
{
	DS18B20_Init();     //初始化DSDS18B20
	
	Write_DS18B20(DS18B20_SKIP_ROM);  //發(fā)送ROM指令,跳過(guò)ROM匹配
		
	Write_DS18B20(DS18B20_RECALL_EEPROM);  //	發(fā)送溫度轉(zhuǎn)換命令	
	
	Delayms(20);	
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲特级片在线| 中文字幕av不卡| 色先锋aa成人| 成人国产一区二区三区精品| 午夜激情一区二区三区| 亚洲欧美日韩中文播放| 亚洲国产精品成人综合色在线婷婷| 精品视频一区 二区 三区| 成人国产视频在线观看| 国产专区欧美精品| 精品一区在线看| 麻豆精品国产传媒mv男同| 无码av中文一区二区三区桃花岛| 国产精品的网站| |精品福利一区二区三区| 国产精品精品国产色婷婷| 亚洲国产精品精华液ab| 国产日韩欧美高清在线| 久久这里只精品最新地址| 欧美精品一区在线观看| 久久亚洲一区二区三区四区| 久久综合久久99| 国产日韩欧美a| 国产精品久久777777| 自拍偷拍国产精品| 亚洲大片免费看| 韩国视频一区二区| eeuss鲁一区二区三区| av午夜精品一区二区三区| 成人av资源网站| 欧美精品久久99久久在免费线 | 丰满少妇久久久久久久| 成人h版在线观看| 欧美高清视频www夜色资源网| 91精品国产综合久久精品麻豆| 日韩精品一区二区三区视频播放 | 欧美一区二区国产| 国产亚洲欧美在线| 最近中文字幕一区二区三区| 亚洲第一成年网| 国产福利视频一区二区三区| 在线免费一区三区| 欧美精品一区男女天堂| 亚洲高清不卡在线| 丝袜亚洲精品中文字幕一区| 国产福利一区二区| 欧美久久久久久久久久| 国产精品美女久久久久aⅴ国产馆| av激情亚洲男人天堂| 91在线观看污| 中文无字幕一区二区三区| 久久久www成人免费无遮挡大片| 亚洲三级电影全部在线观看高清| 日本不卡一区二区三区高清视频| 色网站国产精品| 国产精品久久久久国产精品日日 | 亚洲精品久久久久久国产精华液| 免费av网站大全久久| 欧美影片第一页| 椎名由奈av一区二区三区| 成人激情免费网站| 久久精品视频免费| 国产一区二区三区香蕉| 日韩免费观看高清完整版| 日韩成人免费看| 日韩欧美精品三级| 激情深爱一区二区| 2021中文字幕一区亚洲| 国产成人夜色高潮福利影视| 欧美一区二区福利视频| 精品亚洲欧美一区| 国产人成亚洲第一网站在线播放 | 91精品婷婷国产综合久久竹菊| 亚洲第四色夜色| 欧美tickle裸体挠脚心vk| 韩国成人在线视频| 国产三区在线成人av| 成人a免费在线看| 亚洲综合在线电影| 日韩一区二区电影网| 成人在线视频一区| 亚洲图片另类小说| 69久久夜色精品国产69蝌蚪网| 国产在线播放一区| 国产精品视频在线看| 91久久精品日日躁夜夜躁欧美| 午夜精品一区在线观看| 久久一留热品黄| 色综合久久中文字幕综合网| 天堂成人国产精品一区| 久久久精品日韩欧美| 欧美日韩一区二区三区高清| 捆绑调教美女网站视频一区| 中文字幕一区二区三区视频| 欧美军同video69gay| 成人综合在线观看| 美日韩一级片在线观看| 亚洲精品免费视频| 国产精品婷婷午夜在线观看| 8v天堂国产在线一区二区| 91免费国产在线| 国产精品一区二区视频| 午夜精彩视频在线观看不卡| 国产精品久久久久久久久动漫| 欧美一区二区免费| 欧美视频一区二区三区四区| 成人中文字幕电影| 国内外成人在线| 免费成人你懂的| 日本成人在线网站| 日本在线不卡视频| 亚洲午夜日本在线观看| 成人欧美一区二区三区白人 | 亚洲香蕉伊在人在线观| 亚洲欧洲日本在线| 国产精品毛片无遮挡高清| 精品成人免费观看| 26uuuu精品一区二区| 日韩欧美电影在线| 精品国产髙清在线看国产毛片 | 亚洲激情图片小说视频| 日本在线不卡视频一二三区| 亚洲精品国产精品乱码不99| 中文字幕一区二区三| 中文字幕一区二区三区四区| 亚洲色图清纯唯美| 亚洲欧美日韩系列| 日韩高清欧美激情| 国产成人免费视频网站| 国产成人一级电影| 久久久美女艺术照精彩视频福利播放| 欧美三级资源在线| 日韩欧美综合在线| 国产精品日日摸夜夜摸av| 国产精品欧美经典| 亚洲乱码精品一二三四区日韩在线| 综合色中文字幕| 亚洲国产欧美在线| 久久超碰97中文字幕| 国产成人免费网站| 色婷婷综合视频在线观看| 制服丝袜亚洲色图| 国产精品嫩草影院av蜜臀| 亚洲成人免费视| 成人免费毛片嘿嘿连载视频| 欧美日韩久久一区| 国产调教视频一区| 五月天视频一区| hitomi一区二区三区精品| 欧美一级片在线| 有码一区二区三区| 国产一本一道久久香蕉| 欧美性色黄大片| 国产精品乱人伦中文| 麻豆精品一区二区三区| 在线观看一区不卡| 欧美激情在线看| 国产乱妇无码大片在线观看| 777奇米四色成人影色区| 亚洲天堂a在线| 成人ar影院免费观看视频| 久久日韩粉嫩一区二区三区| 亚洲成a天堂v人片| 欧美三级在线视频| 亚洲自拍偷拍网站| 在线中文字幕一区| 亚洲综合色网站| 欧美日韩在线电影| 免费成人你懂的| 欧美精品在线一区二区| 亚洲国产视频一区二区| 欧洲精品一区二区三区在线观看| 国产精品每日更新| 91免费观看在线| 亚洲一二三区视频在线观看| 欧美少妇xxx| 奇米四色…亚洲| 久久色中文字幕| 国产白丝精品91爽爽久久| 中文一区二区在线观看| 99视频一区二区| 亚洲高清在线精品| 7777精品伊人久久久大香线蕉完整版 | 欧美亚一区二区| 日日夜夜一区二区| 精品欧美一区二区在线观看 | 久久午夜羞羞影院免费观看| 国产剧情一区在线| 国产精品久久久久aaaa| 欧美性生活大片视频| 久久99久久99小草精品免视看| 337p日本欧洲亚洲大胆精品| 国产精品夜夜爽| 亚洲成人精品在线观看| 精品国产91洋老外米糕| av激情亚洲男人天堂| 毛片av一区二区| 亚洲精品日日夜夜| 337p粉嫩大胆噜噜噜噜噜91av | 久久新电视剧免费观看|