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

正文內(nèi)容

畢業(yè)設(shè)計(jì)(論文)-基于單片機(jī)at89c51的電熱爐溫度控制系統(tǒng)的設(shè)計(jì)與仿真-資料下載頁(yè)

2025-06-28 10:27本頁(yè)面
  

【正文】 i++。dat=ds。i=8。while(i0)i。return(dat)。}uchar tempread(void) //讀 1 個(gè)字節(jié)數(shù)據(jù)函數(shù){ uchar i,j,dat。dat=0。for(i=1。i=8。i++){ j=tempreadbit()。dat=(j7)|(dat1)。}return(dat)。}void tempwritebyte(uchar dat) //向 DS18B20 寫一個(gè)字節(jié)數(shù)據(jù)函數(shù){ uint i。uchar j。bit testb。for (j=1。j=8。j++){ testb=datamp。0x01。dat=dat1。if (testb) //寫 1{ ds=0。i++。i++。ds=1。i=8。while(i0)i。 } else { ds=0。 //寫 0 i=8。while(i0)i。ds=1。i++。i++。 } }}void tempchange(void) //DS18B20 開(kāi)始獲取溫度并進(jìn)行轉(zhuǎn)換{ dsreset()。 //復(fù)位delay(5)。 //延時(shí)tempwritebyte(0xcc)。 //寫跳過(guò)讀 ROM 指令tempwritebyte(0x44)。 //寫溫度轉(zhuǎn)換指令}uint get_temp() //讀寄存器中的溫度{uchar m,n。dsreset()。 //復(fù)位delay(10)。tempwritebyte(0xcc)。tempwritebyte(0xbe)。m=tempread()。 //讀低 8 位n=tempread()。 //讀高 8 位temp=n。temp=8。temp=temp|m。f_temp=temp*。 temp=f_temp*10+。f_temp=f_temp+。return temp。 //temp 是整型}//以下是鍵盤程序char kbscan() //鍵盤掃描{ unsigned char hang,lie,key。P2=0x0f。if(P2!=0x0f)delay(5)。if(P2!=0x0f){switch(P2amp。0x0f){case 0x0e:lie=0。break。case 0x0d:lie=1。break。case 0x0b:lie=2。break。case 0x07:lie=3。break。}P2=0xf0。P2=0xf0。switch(P2amp。0xf0){case 0xd0:hang=1。break。case 0xb0:hang=2。break。case 0xe0:hang=0。break。}P2=0x0f。while(P2!=0x0f)。key=tab[hang][lie]。}elsekey=0。return (key)。}//以下是 lm016l 的顯示程序void cls(unsigned char da) //LCD 清屏{ delay(1)。 //用延時(shí)代替檢測(cè)忙信號(hào) RS=0。 RW=0。 P0=da。 E=1。 E=0。 }void write_(unsigned char c) //寫入控制命令的子程序{int i。for(i=80。i0。i)。 //用延時(shí)代替忙檢測(cè)RS=0。 //選擇寫命令模式RW=0。 //選擇寫模式E=0。P0=c。 //要寫的數(shù)據(jù)E=1。 //給使能端一個(gè)高脈沖E=0。}void write_data(unsigned char d) //寫入數(shù)據(jù)的子程序{int i。for(i=80。i0。i)。RS=1。 //選擇讀命令模式RW=0。 //選擇寫模式E=0。P0=d。E=1。E=0。}void realtemp(te) { uchar k。k=te/10。REAL[9]=k/10+48。REAL[10]=k%10+48。return。}void sett(){ if(count==1) {SET[10]=kbscan()。 }else if(count==2){ SET[9]=kbscan()。} return。}//報(bào)警程序void deal(uint t) //溫度處理函數(shù){ uint t0。t0=t/10。if(t0warn_l) //小于 10 度{ P3=0x11。 //第一個(gè)燈亮}else if(t0settemp2) //低于設(shè)定溫度超過(guò) 2 度{ P3=0x04。 //第三個(gè)燈亮hot=1。 //加熱}else if(t0warn_h) //大于 90 度{ P3=0x12。 //第二個(gè)燈亮}else if(t0settemp+2) //高于設(shè)定溫度超過(guò) 2 度{ P3=0x08。 //第四個(gè)燈亮} else //在設(shè)定溫度的上下 2 度范圍內(nèi){ P3=0x00。}}//主程序void main(){int i。char a,b。write_(0X01)。 //顯示清零,數(shù)據(jù)指針清零write_(0X38)。 //設(shè)置 16*2 顯示,5*7 點(diǎn)陣,8 位數(shù)據(jù)接口write_(0X0C)。 //設(shè)置開(kāi)顯示,不顯示光標(biāo)write_(0X06)。 //寫一個(gè)字符后地址指針自動(dòng)加 1 cls(1)。 //初始化while(1){ tempchange()。 //溫度轉(zhuǎn)換函數(shù) write_(0x80)。 //顯示第一排 if(P2!=0x0f){ if(count==2) { count=1。} else count=count+1。sett()。 } for(i=0。i15。i++) {a=SET[i]。 write_data(a)。 } write_(0xC0)。 //顯示第二排realtemp(get_temp())。 for(i=0。i15。i++) { b=REAL[i]。 write_data(b)。 }deal(temp)。 }}
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1