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

正文內(nèi)容

基于單片機(jī)的ds18b20溫度控制系統(tǒng)課程報(bào)告-資料下載頁(yè)

2024-12-07 09:30本頁(yè)面

【導(dǎo)讀】設(shè)計(jì)題目:基于DS18B20的溫度控制。合作者1:專業(yè)班級(jí)/學(xué)號(hào):

  

【正文】 har readonebyte() { uchar i,dat=0。 ds=1。_nop_()。 for(i=0。i8。i++) { ds=0。dat=1。ds=1。_nop_()。_nop_()。 if(ds) dat|=0x80。 delay(30)。ds=1。 } return dat。 } // //寫一字節(jié) // void writeonebyte(uchar dat) { uchar i。 for(i=0。i8。i++) { ds=0。ds=datamp。0x01。 delay(5)。 ds=1。dat=1。 27 } } // //讀取溫度值 // void read_temperature() { if(dsreset()==1) //DS18B20 故障 DS18B20_is_ok=0。 Else { writeonebyte(0xcc)。 writeonebyte(0x44)。 dsreset()。 writeonebyte(0xcc)。 writeonebyte(0xbe)。 temp_value[0]=readonebyte()。 //溫度低 8 位 temp_value[1]=readonebyte()。 //溫度高 8 位 DS18B20_is_ok=1。 } } // //設(shè)置 DS18B20 溫度報(bào)警值 // void set_alarm_temp_value() { dsreset()。 writeonebyte(0xcc)。 //跳過(guò)系列號(hào) 28 writeonebyte(0x4e)。 //將設(shè)定的溫度報(bào)警值寫入 DS18B20 writeonebyte(alarm_temp_hl[0])。 //寫 TH writeonebyte(alarm_temp_hl[1])。 //寫 TL writeonebyte(0x7f)。 //12 位精度 dsreset()。 writeonebyte(0xcc)。 //跳過(guò)系列號(hào) writeonebyte(0x48)。 //溫度報(bào)警值存入 DS18B20 } // //數(shù)碼管顯示溫度 // void display_temperature() { uchar i。 uchar t=150。 //查表得到小數(shù)部分 display_digit[0]=df_table[temp_value[0]amp。0x0f]。 //獲取正溫度 currentT=((temp_value[0]amp。0xf0)4)|((temp_value[1]amp。0x07)4)。 hi_alarm=currentT=alarm_temp_hl[0]?1:0。 lo_alarm=currentT=alarm_temp_hl[1]?1:0。 //整數(shù)部分分離 display_digit[7]=alarm_temp_hl[0]/10。 display_digit[6]=alarm_temp_hl[0]%10。 display_digit[5]=alarm_temp_hl[1]/10。 display_digit[4]=alarm_temp_hl[1]%10。 display_digit[2]=currentT/10。 display_digit[1]=currentT%10。 P0=0X9c。 P2=0x01。 delay(t)。 P2=0x00。 //顯示。 P0=dispcode[display_digit[0]]。 //小數(shù)位 29 P2=0x02。 delay(t)。 P2=0x00。 P0=(dispcode[display_digit[1]])amp。0x7f。 //各位和小數(shù)點(diǎn) P2=0x04。 delay(t)。 P2=0x00。 P0=dispcode[display_digit[2]]。 //十位 P2=0x08。 delay(t)。 P2=0x00。 P0=dispcode[display_digit[4]]。 P2=0x10。 delay(t)。 P2=0x00。 P0=dispcode[display_digit[5]]。 P2=0x20。 delay(t)。 P2=0x00。 P0=dispcode[display_digit[6]]。 P2=0x40。 delay(t)。 P2=0x00。 P0=dispcode[display_digit[7]]。 P2=0x80。 delay(t)。 P2=0x00。 } // //按鍵程序 ( num=1,進(jìn)入按鍵溫度設(shè)置, num1=1 進(jìn)行最高溫度設(shè)置, num1=2 進(jìn)行最低溫度設(shè)置) // void KeyScan() { if(tz_key==0) { display_temperature()。 //消斗 if(tz_key==0) //二次判斷 { num++。 if(num==2) num=0。 while(tz_key==0)。 //等待按鍵放開(kāi) } 30 } if(num==1) { if(kz_key==0) { display_temperature()。 if(kz_key==0) { num1++。 if(num1==3) num1=0。 while(kz_key==0)。 } } if(num1==1) { if(jia_key==0) { display_temperature()。 if(jia_key==0) { alarm_temp_hl[0]++。 //增大最高報(bào)警溫度 while(jia_key==0)。 } } if(jian_key==0) { display_temperature()。 if(jian_key==0) { 31 alarm_temp_hl[0]。 //減小最高報(bào)警溫度 while(jian_key==0)。 } } } if(num1==2) { if(jia_key==0) { display_temperature()。 if(jia_key==0) { alarm_temp_hl[1]++。 //增加最低報(bào)警溫度 while(jia_key==0)。 } } if(jian_key==0) { display_temperature()。 if(jian_key==0) //減小最低報(bào)警溫度 { alarm_temp_hl[1]。 while(jian_key==0)。 } } } } } // 32 //主程序 // void main(void) { while(1) { KeyScan()。 set_alarm_temp_value()。 read_temperature()。 if(DS18B20_is_ok) { KeyScan()。 display_temperature()。 if(hi_alarm==1) { hi_led=~hi_led。 lo_led=1。 gao_fs=0。 } else {hi_led=1。 gao_fs=1。} if(lo_alarm==1) { lo_led=~lo_led。 hi_led=1。 di_jrg=0。} else {lo_led=1。 di_jrg=1。} } } } }
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1