<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于18B20和單片機89C52的測溫程序

          基于18B20和單片機89C52的測溫程序

          作者: 時間:2016-11-29 來源:網(wǎng)絡 收藏
          if(n) //負溫度時最高位顯示“-”display[0][0]=LedTab[11];else display[0][0]=LedTab[10];//////////////////////////////////////////////////處理鍵盤值if(Tmp_max>127) //最高溫度上限處理{n1=1;display[1][6]=(256-Tmp_max); //負數(shù)去反}elsedisplay[1][6]=Tmp_max;display[1][1]=LedTab[display[1][6]/100]; //求最高位display[1][6]=display[1][6]%100; //求次高位display[1][2]=LedTab[display[1][6]/10];display[1][3]=LedTab[display[1][6]%10]|0x80; //求個位段碼帶小數(shù)點if(display[1][1]==LedTab[0]) //最高位為0不顯示{display[1][1]=LedTab[10];if(display[1][2]==LedTab[0]) //最高位為0次高位為0不顯示{display[1][2]=LedTab[10];}} if(n1) //負溫度時最高位顯示“-”display[1][0]=LedTab[11];else {display[1][0]=LedTab[10]; //不顯示正}//////////////////////////////////////////////////////////////if(Tmp_min>127) //最低溫度下限處理{n2=1;display[2][6]=(256-Tmp_min); //取反}elsedisplay[2][6]=Tmp_min;display[2][1]=LedTab[display[2][6]/100]; //求最高位display[2][6]=display[2][6]%100; //求次高位display[2][2]=LedTab[display[2][6]/10];display[2][3]=LedTab[display[2][6]%10]|0x80; //求個位段碼帶小數(shù)點if(display[2][1]==LedTab[0]) //最高位為0不顯示{display[2][1]=LedTab[10];if(display[2][2]==LedTab[0]) //最高位為0次高位為0不顯示{display[2][2]=LedTab[10];}} if(n2) display[2][0]=LedTab[11]; //負溫度時最高位顯示“-”else{display[2][0]=LedTab[10]; //不顯示正} }/***************************鍵盤掃描***************************************/void Key_scanf(){key1=KeyTab[KeyRvs()]; //讀取鍵盤值if(key2!=key1) //防止連續(xù)跳動,釋放按鍵{if(key1==*) //mod選擇{mod=mod%2+1;num=5000;}if((key1==0)&&(mod)) //按鍵加{num=5000;if(mod==1){if(Tmp_max==125) //最高上限溫度Tmp_max=202; //最低溫度下限elseTmp_max++;}if(mod==2){if(Tmp_min==125) //最高上限溫度Tmp_min=202; //最低溫度下限elseTmp_min++;}}if((key1==#)&&(mod)) //按鍵減{num=5000;if(mod==1){if(Tmp_max==202) //最低溫度下限Tmp_max=125; //最高上限溫度elseTmp_max--;}if(mod==2){if(Tmp_min==202) //最低溫度下限Tmp_min=125; //最高上限溫度elseTmp_min--;}}if(key1==D) //確定以后把修改的數(shù)據(jù)保存起來{mod=0; //恢復正常顯示EA=0; //IIC寫時候保護while(!Write_Byte_iic(IICADDR,0xaa)); //寫判斷是否設置標志while(!Write_Byte_iic(IICADDR+2,Tmp_max)); //寫溫度上限while(!Write_Byte_iic(IICADDR+4,Tmp_min)); //寫溫度下限EA=1;}}key2=key1; //鍵值保存。釋放按鍵用}/**************************蜂鳴器報警***************************/void Beep(){char a,b,c;a=Tmp;b=Tmp_max;c=Tmp_min;if((a>=b)||(a
          上一頁 1 2 下一頁

          評論


          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();