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

正文內(nèi)容

基于51單片機(jī)及ds18b20溫度傳感器的數(shù)字溫度計(jì)設(shè)計(jì)(參考版)

2025-06-03 08:55本頁(yè)面
  

【正文】 } display_delay(200)。 wei4=1。 wei2=0。 case 3:P0=temperature3[2]。 wei3=1。 wei2=0。 case 2:P0=temperature3[2]。 wei2=1。 wei3=0。 case 1:P0=temperature3[2]。 wei1=1。 wei3=0。j++) //依次從左至右顯示‘’ { switch(j) { case 0:P0=temperature3[2]。i++) //‘z’是顯示遍數(shù)的設(shè)定 { for(j=0。 for(i=0。 //每個(gè)數(shù)碼管顯示3ms左右 }}/****************************開(kāi)機(jī)顯示函數(shù)******************************/void display1(uint z) //用于開(kāi)機(jī)動(dòng)畫的顯示{ uchar i,j。 break。 wei3=0。 } wei1=0。 else P0=temperature3[0]。 if(s1==1) P0=temperature1[max%10]。}//若a=0則在第四個(gè)數(shù)碼管上顯示測(cè)量溫度的小數(shù)位 if(a==1) //若a=1則在第四個(gè)數(shù)碼管上顯示上限報(bào)警溫度的個(gè)位 { if(s==0) P0=temperature1[max%10]。 break。 wei4=0。 } wei1=0。 else P0=temperature3[0]。 if(s1==1) selsct_2(f_max,max)。}//若a=0則在第三個(gè)數(shù)碼管上顯示測(cè)量溫度的個(gè)位 if(a==1) //若a=1則在第三個(gè)數(shù)碼管上顯示上限報(bào)警溫度的十位或‘’ { if(s==0) selsct_2(f_max,max)。 break。 wei4=0。 } wei1=0。 else P0=temperature3[0]。 //通過(guò)s標(biāo)志位的變化實(shí)現(xiàn)調(diào)節(jié)上下限報(bào)警溫度時(shí)數(shù)碼管的閃爍 if(s1==1) selsct_1(f_max,max)。} //若a=0則在第二個(gè)數(shù)碼管上顯示測(cè)量溫度的十位或‘’ if(a==1) //若a=1則在第二個(gè)數(shù)碼管上顯示上限報(bào)警溫度的百位或‘’ { if(s==0) selsct_1(f_max,max)。 //開(kāi)第一個(gè)數(shù)碼管 break。 //關(guān)第三個(gè)數(shù)碼管 wei4=0。 //若a=2則在第一個(gè)數(shù)碼管上顯示‘L’ } wei2=0。} //若a=0則在第一個(gè)數(shù)碼管上顯示測(cè)量溫度的百位或‘’ if(a==1) { P0=temperature3[3]。i4。 } }/****************************主顯示函數(shù)********************************/void display(uchar t,uchar t_d) //用于實(shí)測(cè)溫度、上限溫度的顯示{ uchar i。 } if(f==1) //若為負(fù)溫度,若十位為0,十位不顯示,否則十位顯示‘’ { if(k%100/10==0) P0=temperature3[2]。(k%100/10==0)) P0=temperature3[0]。 }}void selsct_2(bit f,uchar k) //消除十位的0顯示,及正負(fù)溫度的顯示選擇{ if(f==0) //若為正溫度,百位十位均為0則不顯示十位,否則顯示十位 { if((k/100==0)amp。 } if(f==1) //若為負(fù)溫度,若十位為0,百位不顯示,否則百位顯示‘’ { if(k%100/10==0) P0=temperature3[0]。 //定時(shí)1s時(shí)間到時(shí)自動(dòng)關(guān)閉報(bào)警上下限查看功能 }}/*********************調(diào)整報(bào)警上下限顯示選擇函數(shù)**********************/void selsct_1(uchar f,uchar k) //消除百位的0顯示,及正負(fù)溫度的顯示選擇{ if(f==0) //若為正溫度,百位為0則不顯示百位,不為0則顯示 { if(k/100==0) P0=temperature3[0]。 //num歸0,重新定開(kāi)始定時(shí)1s s1=0。led=1。led=0。}} Else //進(jìn)入4次中斷,定時(shí)200ms時(shí)若報(bào)警標(biāo)志位w為‘1’則啟動(dòng)報(bào)警,不為‘1’不啟動(dòng) //實(shí)現(xiàn)間歇性報(bào)警功能 {s=0。}else{beer=1。if(w==1){beer=1。 num++。 // 局部變量t為1啟動(dòng)定時(shí)器1,為0關(guān)閉定時(shí)器1}/**************************定時(shí)器1中斷函數(shù)*****************************/void timer1() interrupt 3{ TH0=0x3c。 //開(kāi)總中斷 ET1=1。 //定時(shí)器賦初值,定時(shí)50ms TL0=0xb0。}/**************************定時(shí)器1初始化函數(shù)***************************/void timer1_init(bit t){ TMOD=0x10。j0。i0。 //依次是‘不顯示’‘.’‘’‘H’‘L’/*****************************延時(shí)子函數(shù)******************************/void display_delay(uint t) //延時(shí)1ms左右{ uint i,j。 //定義顯示碼表0~9uchar code temperature2[]={ 0xbf,0x86,0xdb,0xcf,0xe6, 0xed,0xfd,0x87,0xff,0xef}。 //uchar num=0。 //sbit wei3=P2^6。 __ds18b20_display_H__ * 功 能: ds18b20數(shù)碼管動(dòng)態(tài)顯示頭文件,通過(guò)定時(shí)器0延時(shí)實(shí)現(xiàn)數(shù)碼管動(dòng)態(tài)顯示* 編程者:zicreate* 編程時(shí)間:2009/10/2 **********************************************************************/ifndef __ds18b20_display_H__ //定義頭文件define __ds18b20_display_H__define uint unsigned int //變量類型宏定義,用uint表示無(wú)符號(hào)整形(16位)define uchar unsigned char //變量類型宏定義,用uchar表示無(wú)符號(hào)字符型(8位)sbit wei1=P2^4。 keyscan_delay(10)。 v2=~v2。 keyscan_delay(10)。TR1=0。 } if(v1==1) //v1=1時(shí)定時(shí)1s時(shí)間到自動(dòng)關(guān)閉報(bào)警上下限查看功能 {a=0。 //下限顯示不閃爍,顯示1s自動(dòng)退出 } while(key3==0)。 //選擇下限顯示 TR1=1。 if(key3==0) { beer=1。 } if(key3==0) { if(v2==0)beer=0。 //上限顯示不閃爍,顯示一分鐘左右自動(dòng)退出 } while(key2==0)。 //選擇上限顯示 TR1=1。 if(key2==0) { beer=1。 } } if(v==0) //v=0時(shí)選擇上下限查看功能 { if(key2==0) { if(v2==0)beer=0。}//當(dāng)溫度大于55度時(shí),只能設(shè)定為正溫度 } while(key4==0)。}//當(dāng)溫度大于55度時(shí),只能設(shè)定為正溫度 if(a==2) {if(min55) f_max=0。 if(a==1) {if(max55) f_max=0。 keyscan_delay(5)。} else。v==1) //a=2選擇顯示下限溫度且v=1時(shí)選擇上下限溫度減功能 {led=1。}//顯示上限溫度 else if(a==2amp。v==1) //a=1選擇顯示上限溫度且v=1時(shí)選擇上下限溫度加功能 {led=0。 } if(a==1amp。 } } while(key1==0)。break。break。break。 //在正常模式下選擇KK3的查看上下限報(bào)警溫度功能 store_t()。 //關(guān)定時(shí)器1 k4=0。 //K1按一下i加1,i=‘0’進(jìn)入正常模式,i=‘1’進(jìn)入調(diào)上限模式,i=‘2’進(jìn)入調(diào)下限模式 if(i2) //K1按下三次后退出調(diào)節(jié)模式 { i=0。//在上下溫度調(diào)節(jié)功能模式下選擇K4的調(diào)整上下限溫度正負(fù)的功能 v=1。 TR1=1。 keyscan_delay(10)。 //K3松開(kāi)按鍵時(shí)消抖 } return count。} } while(key3==0)。 //每按一下K3溫度為正時(shí)下調(diào)1,為負(fù)時(shí)上調(diào)1 if(a==1){if(count0) count=0。 if(key3==0) //K3按按鍵時(shí)消抖 { beer=1。 //K2松開(kāi)按鍵時(shí)消抖 } if(key3==0) { if(v2==0)beer=0。} } } while(key2==0)。 //每按一下K2溫度下調(diào)1 if(a==1){if(count55) count=55。}//當(dāng)溫度值大于125時(shí)不上調(diào) if(a==2){if(count125) count=125。 //K2按下關(guān)按鍵音 if(f==0) //若溫度為正 { count++。 //v2=0開(kāi)按鍵音,否則消按鍵音 keyscan_delay(10)。j)。i) for(j=120。
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1