freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

單片機課程設(shè)計報告-基于at89c51單片機的數(shù)顯溫度傳感器設(shè)計-文庫吧資料

2025-06-12 21:00本頁面
  

【正文】 ds18b20_write(0x48)。 //向配置寄存器寫命令,進行溫度值分辨率設(shè)置 ds18b20_init()。 //向暫存器TH(上限溫度暫存器)寫溫度 ds18b20_write(min)。 ds18b20_write(0x4e)。 ds18b20_init()。 }}/******************************************************//* 存儲極限溫度函數(shù) //*****************************************************/void store_t() { if(f_max==1) //若上限溫度為負(fù),將上限溫度轉(zhuǎn)換成有符號數(shù)(最高位為1是負(fù),為0是正) max=max+0x80。0x0f)。 temp=((a4)|(b4))。 //i為1,負(fù)溫度,設(shè)立負(fù)溫度標(biāo)記 a=~a+1。 temp_d=a。 //整數(shù)部分 a=(aamp。 if (i==0) { f=0。 i=b。min=(min0x80)。 if((minamp。max=(max0x80)。 //讀內(nèi)部RAM (Tl) } if((maxamp。 //讀內(nèi)部RAM (MSB) if(flag==1) //局部位變量f=1時讀上下線報警溫度 { max=ds18b20_read()。 a=ds18b20_read()。 ds18b20_write(0xcc)。 //用開機動畫耗時 } else ds18b20_delayms(1)。 //寫啟動DS18B20進行溫度轉(zhuǎn)換命令,轉(zhuǎn)換結(jié)果存入內(nèi)部RAM if(flag==1) { //首次啟動DS18B20進行溫度轉(zhuǎn)換需要500ms,若轉(zhuǎn)換時間不夠就出錯,讀出的是85度的錯誤值。 ds18b20_write(0xcc)。 uint i。 d = 1。 ds18b20_delayus(5)。 DQ=damp。i0。 //返回讀取的值}/******************************************************//* DS18B20字節(jié)寫函數(shù) //*****************************************************/void ds18b20_write(uchar d) { uchar i。 ds18b20_delayus(10)。 DQ = 1。 _nop_()。i) { d = 1。 //準(zhǔn)備讀; for(i=8。 uchar d=0。 //延時,等待上拉電阻拉高總線 DQ=1。 //控制器拉高總線, while(DQ)。 //控制器向DS18B20發(fā)低電平脈沖 ds18b20_delayus(80)。 DQ=1。j)。i) for(j=120。 for(i=t。/******************************************************//* 延時子函數(shù) //*****************************************************/void ds18b20_delayus(uint t) //延時幾μs{ while(t)。 //下限溫度的標(biāo)志位‘0’表示“正溫度” ‘1’表示“負(fù)溫度”)bit w=0。 //測量溫度的標(biāo)志位‘0’表示“正溫度” ‘1’表示“負(fù)溫度”)bit f_max=0。 //測量溫度的整數(shù)部分uchar temp_d=0。 //sbit led=P1^1。 *********************************************************************/ifndef __ds18b20_h__ //定義頭文件define __ds18b20_h__define uint unsigned int define uchar unsigned char sbit DQ= P2^3。 } } } }endif/********************************************************************* 程序名。 //為‘0’時開按鍵音,為‘1’時關(guān)按鍵音 } while(key4==0)。 if(key4==0) { beer=1。} //a=0顯示實測溫度,v1清零,關(guān)定時器1 if(k4==0) //k4=0時K4按鍵選擇消按鍵音的功能 { if(key4==0) { if(v2==0)beer=0。v1=0。 keyscan_delay(10)。 //開定時器1開始定時1s s1=1。 a=2。 keyscan_delay(10)。 keyscan_delay(10)。 //開定時器1開始定時一分鐘左右 s1=1。 a=1。 keyscan_delay(10)。 keyscan_delay(10)。else f_min=~f_min。else f_max=~f_max。 if(key4==0) { beer=1。 if(k4==1) //k4=1時K4按鍵選擇正負(fù)溫度設(shè)定功能 { if(key4==0) { if(v2==0)beer=0。min=temp_change(min,f_min)。amp。max=temp_change(max,f_max)。amp。 //K1松按鍵時消抖 keyscan_delay(10)。 //a=2選擇顯示下限溫度 default:break。 //a=1選擇顯示上限溫度 case 2:a=2。 //a=0選擇顯示測得的溫度 case 1:a=1。 //存儲調(diào)整后的上下限報警溫度 } switch(i) //顯示選擇 { case 0:a=0。 //在正常模式下選擇K4的消按鍵音功能 v=0。 //進入正常模式 TR1=0。 //在上下溫度調(diào)節(jié)功能模式下選擇KK3的溫度加減功能 i++。 //開定時器1,通過s標(biāo)志位的變化,實現(xiàn)在上下限溫度調(diào)整時溫度顯示時閃爍的功能 k4=1。 if(key1==0) //K1按按鍵時消抖 { beer=1。}/******************************************************//* 讀鍵盤函數(shù) //*****************************************************/void keyscan(){ if(key1==0) { if(v2==0)beer=0。 keyscan_delay(10)。}//當(dāng)溫度值達到0時不再調(diào) if(a==2){if(count0) count=0。 count。 keyscan_delay(10)。 //K2松開按鍵時消抖 keyscan_delay(10)。}//當(dāng)溫度值小于55時不再下調(diào) if(a==2){if(count55) count=55。} } if(f!=0) //若溫度為負(fù) { count++。 //每按一下K2溫度上調(diào)1 if(a==1){if(count125) count=125。 //延時10ms if(key2==0) //再次判斷K2是否按下(實現(xiàn)按按鍵時消抖) { beer=1。}/******************************************************//* 溫度調(diào)節(jié)函數(shù) //*****************************************************/int temp_change(int count,bit f) //上下限溫度調(diào)整{ if(key2==0) //判斷K2是否按下 { if(v2==0)beer=0。j0。i0。 //消按鍵音功能調(diào)整位,為‘0’時開按鍵音,為‘1’時關(guān)按鍵音/******************************************************//* 讀鍵盤延時子函數(shù) //*****************************************************/void keyscan_delay(uint z) //延時1ms左右{ uint i,j。 //KK3按鍵雙功能選擇位,v=0時選擇上下限查看功能,v=1時選擇上下限溫度加減功能bit v1=0。 //定義全局
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1