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

正文內(nèi)容

基于51單片機(jī)及ds18b20溫度傳感器的數(shù)字溫度計(jì)設(shè)計(jì)-資料下載頁(yè)

2025-06-24 16:40本頁(yè)面
  

【正文】 表0~9uchar code temperature2[]={ 0xbf,0x86,0xdb,0xcf,0xe6, 0xed,0xfd,0x87,0xff,0xef}。 //帶小數(shù)點(diǎn)的0.~9.uchar code temperature3[]={ 0x00,0x80,0x40,0x76,0x38}。 //依次是‘不顯示’‘.’‘’‘H’‘L’/*****************************延時(shí)子函數(shù)******************************/void display_delay(uint t) //延時(shí)1ms左右{ uint i,j。 for(i=t。i0。i) for(j=120。j0。j)。}/**************************定時(shí)器1初始化函數(shù)***************************/void timer1_init(bit t){ TMOD=0x10。 //設(shè)定定時(shí)器1工作在方式1, TH0=0x3c。 //定時(shí)器賦初值,定時(shí)50ms TL0=0xb0。 EA=1。 //開(kāi)總中斷 ET1=1。 //開(kāi)定時(shí)器1中斷 TR1=t。 // 局部變量t為1啟動(dòng)定時(shí)器1,為0關(guān)閉定時(shí)器1}/**************************定時(shí)器1中斷函數(shù)*****************************/void timer1() interrupt 3{ TH0=0x3c。 //重新賦初值,定時(shí)50ms TL0=0xb0。 num++。 //每進(jìn)入一次定時(shí)器中斷num加1(每50ms加1一次) if(num5) {s=1。if(w==1){beer=1。led=1。}else{beer=1。led=1。}} 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。if(w==1){beer=0。led=0。}else{beer=1。led=1。}} if(num20) //進(jìn)入20次中斷,定時(shí)1s { num=0。 //num歸0,重新定開(kāi)始定時(shí)1s s1=0。 //定時(shí)1s時(shí)間到時(shí)自動(dòng)關(guān)閉報(bào)警上下限顯示功能 v1=1。 //定時(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]。 else P0=temperature1[k/100]。 } if(f==1) //若為負(fù)溫度,若十位為0,百位不顯示,否則百位顯示‘’ { if(k%100/10==0) P0=temperature3[0]。 else P0=temperature3[2]。 }}void selsct_2(bit f,uchar k) //消除十位的0顯示,及正負(fù)溫度的顯示選擇{ if(f==0) //若為正溫度,百位十位均為0則不顯示十位,否則顯示十位 { if((k/100==0)amp。amp。(k%100/10==0)) P0=temperature3[0]。 else P0=temperature1[k%100/10]。 } if(f==1) //若為負(fù)溫度,若十位為0,十位不顯示,否則十位顯示‘’ { if(k%100/10==0) P0=temperature3[2]。 else P0=temperature1[k%100/10]。 } }/****************************主顯示函數(shù)********************************/void display(uchar t,uchar t_d) //用于實(shí)測(cè)溫度、上限溫度的顯示{ uchar i。 for(i=0。i4。i++) //依次從左至右選通數(shù)碼管顯示,實(shí)現(xiàn)動(dòng)態(tài)顯示 { switch(i) { case 0: //選通第一個(gè)數(shù)碼管 if(a==0){selsct_1(f,t)。} //若a=0則在第一個(gè)數(shù)碼管上顯示測(cè)量溫度的百位或‘’ if(a==1) { P0=temperature3[3]。 //若a=1則在第一個(gè)數(shù)碼管上顯示‘H’ } if(a==2) { P0=temperature3[4]。 //若a=2則在第一個(gè)數(shù)碼管上顯示‘L’ } wei2=0。 //關(guān)第二個(gè)數(shù)碼管 wei3=0。 //關(guān)第三個(gè)數(shù)碼管 wei4=0。 //關(guān)第四個(gè)數(shù)碼管 wei1=1。 //開(kāi)第一個(gè)數(shù)碼管 break。 case 1: //選通第二個(gè)數(shù)碼管 if(a==0){selsct_2(f,t)。} //若a=0則在第二個(gè)數(shù)碼管上顯示測(cè)量溫度的十位或‘’ if(a==1) //若a=1則在第二個(gè)數(shù)碼管上顯示上限報(bào)警溫度的百位或‘’ { if(s==0) selsct_1(f_max,max)。//若s=0則顯示第二個(gè)數(shù)碼管,否則不顯示 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)。//若s1=1則顯示第二個(gè)數(shù)碼管(s1標(biāo)志位用于上下限查看時(shí)的顯示) } if(a==2) //若a=2則在第二個(gè)數(shù)碼管上顯示下限報(bào)警溫度的百位或‘’ { if(s==0) selsct_1(f_min,min)。 else P0=temperature3[0]。 if(s1==1) selsct_1(f_min,min)。 } wei1=0。 wei3=0。 wei4=0。 wei2=1。 break。 case 2: //選通第三個(gè)數(shù)碼管 if(a==0){P0=temperature2[t%10]。}//若a=0則在第三個(gè)數(shù)碼管上顯示測(cè)量溫度的個(gè)位 if(a==1) //若a=1則在第三個(gè)數(shù)碼管上顯示上限報(bào)警溫度的十位或‘’ { if(s==0) selsct_2(f_max,max)。//若s=0則顯示第三個(gè)數(shù)碼管,否則不顯示 else P0=temperature3[0]。 if(s1==1) selsct_2(f_max,max)。//若s1=1則顯示第三個(gè)數(shù)碼管 } if(a==2) //若a=2則在第三個(gè)數(shù)碼管上顯示下限報(bào)警溫度的十位或‘’ { if(s==0) selsct_2(f_min,min)。 else P0=temperature3[0]。 if(s1==1) selsct_2(f_min,min)。 } wei1=0。 wei2=0。 wei4=0。 wei3=1。 break。 case 3: //選通第四個(gè)數(shù)碼管 if(a==0){P0=temperature1[t_d]。}//若a=0則在第四個(gè)數(shù)碼管上顯示測(cè)量溫度的小數(shù)位 if(a==1) //若a=1則在第四個(gè)數(shù)碼管上顯示上限報(bào)警溫度的個(gè)位 { if(s==0) P0=temperature1[max%10]。//若s=0則顯示第四個(gè)數(shù)碼管,否則不顯示 else P0=temperature3[0]。 if(s1==1) P0=temperature1[max%10]。//若s1=1則顯示第四個(gè)數(shù)碼管 } if(a==2) //若a=2則在第四個(gè)數(shù)碼管上顯示下限報(bào)警溫度的個(gè)位 { if(s==0) P0=temperature1[min%10]。 else P0=temperature3[0]。 if(s1==1) P0=temperature1[min%10]。 } wei1=0。 wei2=0。 wei3=0。 wei4=1。 break。 } display_delay(3)。 //每個(gè)數(shù)碼管顯示3ms左右 }}/****************************開(kāi)機(jī)顯示函數(shù)******************************/void display1(uint z) //用于開(kāi)機(jī)動(dòng)畫(huà)的顯示{ uchar i,j。 bit f=0。 for(i=0。iz。i++) //‘z’是顯示遍數(shù)的設(shè)定 { for(j=0。j4。j++) //依次從左至右顯示‘’ { switch(j) { case 0:P0=temperature3[2]。//第一個(gè)數(shù)碼管顯示 wei2=0。 wei3=0。 wei4=0。 wei1=1。 break。 case 1:P0=temperature3[2]。//第二個(gè)數(shù)碼管顯示 wei1=0。 wei3=0。 wei4=0。 wei2=1。 break。 case 2:P0=temperature3[2]。//第三個(gè)數(shù)碼管顯示 wei1=0。 wei2=0。 wei4=0。 wei3=1。 break。 case 3:P0=temperature3[2]。//第四個(gè)數(shù)碼管顯示 wei1=0。 wei2=0。 wei3=0。 wei4=1。 break。 } display_delay(200)。 //每個(gè)數(shù)碼管顯示200ms左右 } }}endif附2 系統(tǒng)原理圖
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1