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

正文內(nèi)容

基于51單片機(jī)及ds18b20溫度傳感器的數(shù)字溫度計(jì)程序-免費(fèi)閱讀

2025-11-20 15:27 上一頁面

下一頁面
  

【正文】 wei3=0。//第三個(gè)數(shù)碼管顯示 wei1=0。 break。iz。 wei2=0。 case 3: //選通第四個(gè)數(shù)碼管 if(a==0){P0=temperature1[t_d]。//若 s1=1則顯示第三個(gè)數(shù)碼管 } if(a==2) //若 a=2則在第三個(gè)數(shù)碼管上顯示下限報(bào)警溫度的十位或‘ ’ { if(s==0) selsct_2(f_min,min)。 wei3=0。 case 1: //選通第二個(gè)數(shù)碼管 if(a==0){selsct_2(f,t)。i++) //依次從左至右選通數(shù)碼管顯示,實(shí)現(xiàn)動(dòng)態(tài)顯示 { switch(i) 智筆記 11 { case 0: //選通第一個(gè)數(shù)碼管 if(a==0){selsct_1(f,t)。amp。}} if(num20) //進(jìn)入 20次中斷,定時(shí) 1s { num=0。led=1。 EA=1。 for(i=t。 //可位尋址變量定義,用 wei1表示 sbit wei2=P2^5。} //a=0顯示實(shí)測溫度, v1清零,關(guān)定時(shí)器 1 if(k4==0) //k4=0時(shí) K4按鍵選擇消按鍵音的功能 { if(key4==0) { if(v2==0)beer=0。 a=2。 a=1。else f_max=~f_max。amp。 //a=2 選擇顯示下限溫度 default:break。 //在正常模式下選擇 K4的消按鍵音功能 v=0。 if(key1==0) //K1按按鍵時(shí)消抖 { beer=1。 count。} } if(f!=0) //若溫度為負(fù) { count++。j0。 //定義全局變量 a用于不同模式下數(shù)碼管顯示的選擇 bit k4=0。TR1=1。TR1=1。amp。 //向暫存器 TH(上限溫度暫存器)寫溫度 ds18b20_write(min)。0x0f)。 //整數(shù)部分 a=(aamp。 if((minamp。 //寫讀內(nèi)部 RAM 中 9字節(jié)的內(nèi)容命令 a=ds18b20_read()。 //DS18B20初始化 ds18b20_write(0xcc)。 DQ=damp。 } return d。i) //一位一位的讀,循環(huán) 8次 { d = 1。 //控制器拉高總線, while(DQ)。i0。 //測量溫度的整數(shù)部分 uchar temp_d=0。//顯示函數(shù) alarm()。 //聲明 display1()函數(shù) include //將 include //將 include //將 智筆記 3 /***********************主函數(shù) ************************/ void main() { beer=1。 基于 DS18B20的測溫系統(tǒng) * 功 能: 實(shí)時(shí)測量溫度,超過上下限報(bào)警,報(bào)警溫度可手動(dòng)調(diào)整。 //max是上限報(bào)警溫度, min 是下限報(bào)警溫度 bit s=0。 //按鍵掃面函數(shù) get_temperature(0)。 //可位尋址變量定義,用 DQ表示 sbit beer=P1^0。 //報(bào)警標(biāo)志位‘ 1’啟動(dòng)報(bào)警‘ 0’關(guān)閉報(bào)警 ) /*****************************延時(shí)子函數(shù) ******************************/ void ds18b20_delayus(uint t) //延時(shí)幾μ s { while(t)。 //拉高數(shù)據(jù)線 DQ=0。 //定義一個(gè)局部變量 d DQ = 1。 DQ = 1。 _nop_()。 } } /***************************獲取溫度函數(shù) ****************************/ void get_temperature(bit f) { uchar a=0,b=0,c=0,d=0。 ds18b20_init()。0x80)==0x80) //若讀取的上限溫度的最高位(符號(hào)位)為‘ 1’表明是負(fù)溫度 智筆記 5 {f_max=1。i=4。 //負(fù)數(shù)的小數(shù)部分取反加 1 b=~b。 //DS18B20初始化 ds18b20_write(0xcc)。 //向 DS18B20發(fā)將 RAM 中 3字節(jié)的內(nèi)容寫入 EEPROM } //DS18B20上電后會(huì)自動(dòng)將 EEPROM 中的上下限溫度拷貝到 TH、 TL暫存器 /**************************溫度超限報(bào)警函數(shù) *************************/ void alarm() { //若上限值是正值 if(f_max==0) { if(f_min==0) //若下限值是正值 { if(f==0) //若測量值是正值 { if((temp+temp_d*)=min||(temp+temp_d*)=max) {w=1。TR1=1。amp。 //用 key3表示 sbit key4=P3^3。 for(i=z。 //K2按下關(guān)按鍵音 if(f==0) //若溫度為正 { count++。 //K2松開按鍵時(shí)消抖 } if(key3==0) { if(v2==0)beer=0。 //K3松開按鍵時(shí)消抖 } return count。 //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。break。v==1) //a=1選擇顯示上限溫度且 v=1時(shí)選擇上下限溫度加功能 {led=0。 keyscan_delay(5)。 } } if(v==0) //v=0時(shí)選擇上下限查看功能 { if(key2==0) { if(v2==0)beer=0。 } if(key3==0) { if(v2==0)beer=0。 } if(v1==1) //v1=1時(shí)定時(shí) 1s 時(shí)間到自動(dòng)關(guān)閉報(bào)警上下限查看功能 {a=0。 keyscan_delay(10)。 //定義顯示碼表 0~9 uchar code temperature2[]={ 0xbf,0x86,0xdb,0xcf,0xe6, 0xed,0xfd,0x87,0xff,0xef}。 } /**************************定時(shí)器 1初始化函數(shù) ***************************/ void timer1_init(bit t) { 智筆
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1