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

正文內(nèi)容

基于pc機(jī)空調(diào)控制系統(tǒng)數(shù)據(jù)通信的畢業(yè)設(shè)計(jì)-資料下載頁(yè)

2025-06-19 12:37本頁(yè)面
  

【正文】 imer1_Timer() ‘使用timer1的timer事件輪流對(duì)每一臺(tái)空調(diào)實(shí)行監(jiān)控 = CStr(addr)addr = addr + 1If addr 2 Then addr = 1 = SIf windtype2 = C Then If Val(temperature) = Val(temper) Then = K‘當(dāng)選擇冷風(fēng)時(shí),室內(nèi)溫度低于設(shè)置值就待機(jī) Else = R‘否則就正常工作 End IfElseIf windtype = C Then If Val(temperature) = Val() Then = K Else = R End IfElseIf windtype2 = H Then If Val(temperature) = Val(temper) Then = K‘當(dāng)熱風(fēng)時(shí),室內(nèi)溫度高于設(shè)置值就待機(jī)Else = R‘否則正常工作 End If Else If Val(temperature) = Val() Then = K Else = R End IfEnd IfEnd SubPrivate Sub Timer2_Timer()‘利用Timer2的Timer事件發(fā)送控制命令字符串 = Mid$(, i, 1)i = i + 1If i = j + 1 Then = FalseEnd IfEnd Sub 附錄B(下位機(jī)C51程序) includedefine uchar unsigned char define D 0x44/*開(kāi)啟電源命令字*/define G 0x47/*關(guān)閉電源命令字*/define H 0x48/*熱風(fēng)命令字*/define C 0x43/*冷風(fēng)命令字*/define K 0x4b/*待機(jī)命令字*/define R 0x52/*解除待機(jī)恢復(fù)工作命令字*/define addr 0x31/*當(dāng)前下位機(jī)地址*/define S 0x53/*提示下位機(jī)發(fā)送當(dāng)前溫度命令字*/define uint unsigned intsbit DQ=P1^4。sbit led1=P1^0。sbit led2=P1^1。sbit led3=P1^2。sbit led4=P1^3。uint tvalue。uchar tempercode[]={0x00,0x00}。/*存儲(chǔ)環(huán)境溫度緩沖區(qū)*/uchar receivecode[]={0x00,0x00,0x00,0x00}。/*命令接收緩沖區(qū)*/uchar controlcode,signal。uchar temperature。void initial(void)/*初始化單片機(jī)串口,定時(shí)器*/{TMOD=0x20。 TH1= TL1= TR1=1。 PCON=0x80。 SCON=0xd0。 EA=0。 } uchar receive()/*單片機(jī)串口接受PC機(jī)發(fā)來(lái)的一個(gè)字節(jié)數(shù)據(jù)*/ { uchar temp。 while(!RI)。 RI=0。 temp=SBUF。 return temp。 } void send(uchar p[])/*單片機(jī)串口發(fā)送2個(gè)字節(jié)數(shù)據(jù)*/ { uchar i。 for(i=0。i2。i++) { SBUF=p[i]。 while(!TI)。 TI=0。 } }uchar zh(uchar temp1,uchar temp2)/*將PC機(jī)發(fā)來(lái)的溫度轉(zhuǎn)換為十進(jìn)制*/{ uchar temp。 temp1=temp10x30。 temp1=temp1*10。 temp2=temp20x30。 temp=temp1+temp2。 return temp。 } void work(void)/*控制器工作函數(shù)*/ { if(receivecode[0]==D) led1=0。 if(receivecode[0]==G) led1=1。 if(receivecode[1]==H) led2=0。 if(receivecode[1]==C) led2=1。 if(temperature==25) led3=0。 if(controlcode==K) led4=0。 }void delay_18B20(unsigned int i){ while(i)。}void reset(void)/*復(fù)位DS18B20*/{ DQ=1。 delay_18B20(4)。 DQ=0。 delay_18B20(100)。 DQ=1。 delay_18B20(40)。 } uchar ds1820rd()/*從DS18B20讀一個(gè)字節(jié)*/{ unsigned char i=0。unsigned char dat = 0。for (i=8。i0。i){ dat=1。DQ = 0。 DQ = 1。 if(DQ) dat|=0x80。 delay_18B20(10)。} return(dat)。}void ds1820wr(uchar wdata)/*向DS18B20寫(xiě)一個(gè)字節(jié)數(shù)據(jù)*/{unsigned char i=0。 for (i=8。 i0。 i) { DQ = 0。 DQ = wdataamp。0x01。 delay_18B20(10)。 DQ = 1。 wdata=1。 }}void tempercheck(void) /*溫度采集與處理*/{ uchar a,b。 reset()。 ds1820wr(0xcc)。ds1820wr(0x44)。reset()。 ds1820wr(0xcc)。ds1820wr(0xbe)。 a=ds1820rd()。b=ds1820rd()。tvalue=b。tvalue=8。tvalue=tvalue|a。 if(tvalue0x0fff)tvalue=tvalue*()。 tempercode[0]=tvalue%1000/100+0x30。 tempercode[1]=tvalue%100/10+0x30。} void main(void) {uchar tmp1,i。 initial()。 while(1) { SM2=1。/*將SM2置1表示只接受地址*/ RB8=1。/*當(dāng)SM2置1只有RB8為1才可接收到發(fā)來(lái)的地址數(shù)據(jù)*/ while(RI) { tmp1=receive()。 if(tmp1==addr)/*自身地址與接受的地址相比較*/ { SM2=0。/*接受地址與本機(jī)地址相同SM2置0準(zhǔn)備接受數(shù)據(jù)*/ signal=receive()。 if((signal==S)amp。amp。receivecode[0]==D)/*接收到提示本機(jī)發(fā)送當(dāng)前溫度的命令并且空調(diào)以開(kāi)啟**/ { send(tempercode)。/**發(fā)送當(dāng)前溫度**/ controlcode=receive()。/**等待并接收上位機(jī)發(fā)來(lái)的新命令**/ } else { if(signal==D)/**若接收的是打開(kāi)空調(diào)命令**/ { for(i=1。i4。i++) { receivecode[i]=receive()。}/**循環(huán)接收所有控制命令*/ receivecode[0]=signal。/**并將先前接收到的打開(kāi)命令儲(chǔ)存 temperature=zh(receivecode[2],receivecode[3])。/**調(diào)用轉(zhuǎn)換函數(shù)將接收的溫度參數(shù)轉(zhuǎn)換為十進(jìn)制**/ } else receivecode[0]=signal。/**若接收的不是打開(kāi)命令,將該命令存儲(chǔ) } } } If(receivecode[0]==D)/**若空調(diào)為打開(kāi)狀態(tài)則調(diào)用溫度采集函數(shù)**/ {tempercheck()。} work()。 } } 33
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1