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

正文內(nèi)容

單片機(jī)溫度控制系統(tǒng)的設(shè)計(jì)畢業(yè)論文設(shè)計(jì)-資料下載頁

2025-07-02 19:39本頁面

【導(dǎo)讀】系統(tǒng)的研發(fā)與應(yīng)用在很大程度上提高了生產(chǎn)生活中對(duì)溫度的控制水平。本設(shè)計(jì)論述了一種。以STC89C52單片機(jī)為主控制單元,以DS18B20為溫度傳感器的溫度控制系統(tǒng)。統(tǒng)可以實(shí)時(shí)存儲(chǔ)相關(guān)的溫度數(shù)據(jù)并記錄當(dāng)前的時(shí)間。硬件電路主要包括STC89C52單片機(jī)最小系統(tǒng),測(cè)溫電路、實(shí)時(shí)時(shí)鐘電路、LCD液。晶顯示電路以及通訊模塊電路等。系統(tǒng)程序主要包括主程序,讀出溫度子程序,計(jì)算溫度。子程序、按鍵處理程序、LCD顯示程序以及數(shù)據(jù)存儲(chǔ)程序等。

  

【正文】 { uchar i,j,dat。 dat=0。 for(i=1。i=8。i++) { j=tempreadbit()。 dat=(j7)|(dat1)。 } return(dat)。 } void tempwritebyte(uchar dat) //ds18b20 寫字 { uint i。 uchar j。 bit testb。 for(j=1。j=8。j++) { testb=datamp。0x01。 dat=dat1。 if(testb) { ds=0。 i++。i++。 ds=1。 i=8。while(i0)i。 } 畢業(yè)論文設(shè)計(jì) 第 22 頁 共 27 頁 else { ds=0。 i=8。while(i0)i。 ds=1。 i++。i++。 } } } void tempchange(void) { dsreset()。 delay(1)。 tempwritebyte(0xcc)。 tempwritebyte(0x44)。 //ds18b20 溫度轉(zhuǎn)換指令 } uint get_temp() //ds18b20 溫度轉(zhuǎn)換 { uchar a,b。 dsreset()。 delay(1)。 tempwritebyte(0xcc)。 tempwritebyte(0xbe)。 a=tempread()。 b=tempread()。 temp=b。 temp=8。 temp=temp|a。 畢業(yè)論文設(shè)計(jì) 第 23 頁 共 27 頁 if(temp0x0800) { f_temp=temp*。 TFLAG=0。 } else { f_temp=(~temp)+1。 f_temp=f_temp*。 TFLAG=1。 } temp=f_temp*10。 return temp。 } void warn() //閃爍報(bào)警 { led0=1。delay(100)。led0=0。 } void warn1() //蜂鳴器報(bào)警 { Tru=1。delay(100)。Tru=0。 } void motor() // 馬達(dá)轉(zhuǎn)動(dòng) {Fan=1。delay(100)。Fan=0。} void deal(uint t) //數(shù)據(jù)處理 { 畢業(yè)論文設(shè)計(jì) 第 24 頁 共 27 頁 if((tnum)|(tnum2)) warn1()。 else Tru=0。 if(tnum) motor()。 else Fan=0。 if(tnum2) warn()。 else led0=0。 } void keyscan() //按鍵掃描 { if(key1==0) { delayms(1)。 if(key1==0) { num=num+10。 while(!key1)。 } } if(key2==0) { delayms(1)。 if(key2==0) { 畢業(yè)論文設(shè)計(jì) 第 25 頁 共 27 頁 num=num10。 while(!key2)。 } } if(key3==0) { delayms(1)。 if(key3==0) { num2=num2+10。 while(!key3)。 } } if(key4==0) { delayms(1)。 if(key4==0) { num2=num210。 while(!key4)。 } } } void display(uint j) //顯示 { uchar FLAGDAT。 disdata[0]=j/1000+0x30。 disdata[1]=j%1000/100+0x30。 畢業(yè)論文設(shè)計(jì) 第 26 頁 共 27 頁 disdata[2]=j%100/10+0x30。 disdata[3]=j%10+0x30。 if(TFLAG==0) FLAGDAT=0x20。 else FLAGDAT=0x2d。 if(disdata[0]==0x30) { disdata[0]=0x20。 if(disdata[1]==0x30) { disdata[1]=0x20。} } write_(0x81)。 write_date(0x48)。 //H write_(0x82)。 write_date(num/100+0x30)。 //溫度上限第一位 write_(0x83)。 write_date(num%100/10+0x30)。 //溫度上限第二位 write_(0x84)。 write_date(0x20)。 //空格 write_(0x85)。 write_date(0x4c)。 //L write_(0x86)。 write_date(num2/100+0x30)。 //溫度下限第一位 write_(0x87)。 write_date(num2%100/10+0x30)。 //溫度下限第二位 write_(0x40+0x82)。 write_date(FLAGDAT)。 //溫度大于零不顯示,溫度小于零顯示負(fù)號(hào) write_(0x40+0x83)。 write_date(disdata[0])。 //溫度第一位 畢業(yè)論文設(shè)計(jì) 第 27 頁 共 27 頁 write_(0x40+0x84)。 write_date(disdata[1])。 //溫度第二位 write_(0x40+0x85)。 write_date(disdata[2])。 //溫度第三位 write_(0x40+0x86)。 write_date(0x2E)。 //小數(shù)點(diǎn) write_(0x40+0x87)。 write_date(disdata[3])。 //溫度第四位 } void main() //主程序 { init()。 dsreset()。 while(1) { tempchange()。 keyscan()。 deal(get_temp())。 display(get_temp())。 } }
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1