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

正文內(nèi)容

優(yōu)秀畢業(yè)論文設(shè)計:基于單片機(jī)(mcu)的蔬菜大棚溫濕度監(jiān)測系統(tǒng)設(shè)計-閱讀頁

2025-02-02 15:21本頁面
  

【正文】 .蘭州交通大學(xué)學(xué)報 ,2022,6(12):103—106.[11]黃明,梁旭, [J].化工自動化及儀表,2022,37(6):7981.[12]張培仁, [M].北京:清華大學(xué)出版社,2022.[13]Oregano Systems. MC8051 IP Core User Guide [z].Oregano .[14]馮顯英, [J].自動化儀表,2022,27(1):59—61.[15]李俊, [J].微計算機(jī)信息,2022,24(17):116—118.[16]陶然,[J].農(nóng)機(jī)化研究, 2022,33(2):53—55.[17]Sensirion x/SHT7x humidity& temperature sensor datasheet[Z]. 2022.基于單片機(jī)的蔬菜大棚溫濕度監(jiān)測系統(tǒng)設(shè)計29附錄 1:程序清單/***************************************************/ include include //_nop_()。 // 該緩沖區(qū)用于保存設(shè)備狀態(tài)信息uchar dev=1。 unsigned char B1,B2,B3。 unsigned char num=0。 //溫度輸入口sbit HS=P3^5。 //LED小數(shù)點控制 sbit LED1=P2^2。 sbit BEEP=P2^7。 基于單片機(jī)的蔬菜大棚溫濕度監(jiān)測系統(tǒng)設(shè)計30sbit key2=P2^1。 //位選端sbit S2=P0^1。 sbit S4=P0^3。 sbit S6=P0^5。 sbit S8=P0^7。 //接收器使能,0有效sbit M_DE=P2^5。 uint temp。//************** 溫度小數(shù)部分用查表法***********// uchar code ditab[16]= {0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09}。//共陰LED 段碼表 0 1 2 3 4 5 6 7 8 9 uchar data temp_da ta[2]={0x00,0x00}。 //顯示單元數(shù)據(jù),共 3 個數(shù)據(jù)和一個運算暫用 /*****************11us 延時函數(shù)* ************** **********/ void del10ms() { uint a,b。a!=0。b!=0。 } void delay(uint t) { for (。t)。 TL0=0xB0。 //記到 20 就直接停止 } /*******************************************************/ void scankey() { if ( key1==0) { del10ms()。 } } if (key2==0) { del10ms()。 } } T=display[2]*10+display[1]。 LED2=1。 } if((TTH3)||(TTH+3)) { BEEP=0。 LED2=0。 G=TH%10。S7=1。S5=1。S3=1。S1=0。 delay(200)。 S8=1。S6=1。S4=1。S2=0。 Disdata=dis_7[display[1]]。 delay(200)。 S8=1。S6=1。S4=1。S2=1。 基于單片機(jī)的蔬菜大棚溫濕度監(jiān)測系統(tǒng)設(shè)計33 Disdata=dis_7[display[0]]。 Disdata=0x00。S7=1。S5=1。S3=1。S1=1。 delay(200)。 S8=1。S6=1。S4=1。S2=1。 Disdata=dis_7[G]。 Disdata=0x00。S7=1。S5=1。S3=1。S1=1。 delay(200)。 S8=1。S6=1。S4=1。S2=1。 Disdata=dis_7[B2]。 delay(200)。 S8=0。S6=1。S4=1。S2=1。 Disdata=dis_7[B3]。 Disdata=0x00。 while(presence) 基于單片機(jī)的蔬菜大棚溫濕度監(jiān)測系統(tǒng)設(shè)計34{ while(presence) { DQ=1。_ nop_()。 delay(50)。 delay(6)。 //presence=0 復(fù)位成功,繼續(xù)下一步 } delay(45)。 } DQ=1。 for(i=8。i) { DQ=1。_nop_()。_nop_()。_nop_()。 //5 us DQ=valamp。 //最低位移出 delay(6)。 //右移 1 位 } DQ=1。 基于單片機(jī)的蔬菜大棚溫濕度監(jiān)測系統(tǒng)設(shè)計35 } /****************DS18B20 讀 1 字節(jié)函數(shù)************************/ //從總線上取 1 個字節(jié) uchar read_byte(void) { uchar i。 for(i=8。i) { DQ=1。_nop_()。 DQ=0。_nop_()。_nop_()。_nop_()。_nop_()。 //4 us if(DQ)value|=0x80。 //66 us } DQ=1。 } /****************讀出溫度函數(shù)* ***********************/ // read_temp() { ow_reset()。 write_byte(0xcc) 。 write_byte(TH)。 delay(200)。 write_byte(0xcc) 。 delay(200)。 write_byte(0xcc) 。 temp_data[0]=read_byte()。 //讀溫度值的高字節(jié) temp=temp_data[1]。 temp=temp|temp_d ata[0]。 //返回溫度值}/****************溫度數(shù)據(jù)處理函數(shù)*** *********************/ //二進(jìn)制高字節(jié)的低半字節(jié)和低字節(jié)的高半字節(jié)組成一字節(jié),這個 //字節(jié)的二進(jìn)制轉(zhuǎn)換為十進(jìn)制后,就是溫度值的百、十、個位值,而剩 //下的低字節(jié)的低半字節(jié)轉(zhuǎn)化成十進(jìn)制后,就是溫度值的小數(shù)部分 /********************************************************/ work_temp(uint tem) { if(tem634 8) // 溫度值正負(fù)判斷 {tem=65536tem。0x0f。 // 存入小數(shù)部分顯示值 display[3] =tem4。 // 取十位數(shù)據(jù)暫存 display[1]=display[3]%100%10。 // 獲得設(shè)備狀態(tài)信息,并將其存入dbuf指向的存儲區(qū),數(shù)據(jù)最后一字節(jié)置0表示數(shù)據(jù)結(jié)束}/*該函數(shù)接收一幀數(shù)據(jù)并進(jìn)行檢測,無論該幀是否錯誤,函數(shù)均會返回* 函數(shù)參數(shù)type保存接收到的命令字* 當(dāng)接收到數(shù)據(jù)幀錯誤或其地址位不為0時(非主機(jī)發(fā)送幀),函數(shù)回0,反之返回1*/bit recv_cmd(uchar *type){bit db = 0。 // 當(dāng)接收到的上一個字節(jié)為0xc0時,該位置位uchar data_buf[__ERRLEN]。uchar ecc = 0。M_DE = 0。 /* 接收一幀數(shù)據(jù) */i = 0?;趩纹瑱C(jī)的蔬菜大棚溫濕度監(jiān)測系統(tǒng)設(shè)計38 while(!RI)。 RI = 0。 // 0xdbdd表示0xdb ecc = ecc^0xdb。 break。 // 0xdbdc表示0xc0 ecc = ecc^0xc0。 break。 // 幀錯誤,返回 } i++。 break。 break。 // 保存數(shù)據(jù) ecc = ecc^tmp。 } if(i == __ERRLEN) // 幀超長,錯誤,返回 return 0。 if(ecc != 0) // 校驗錯誤,返回 return 0。 *type = data_buf[1]。 // 函數(shù)成功返回 }/*該函數(shù)實現(xiàn)將溫度和濕度值以ASCII碼的形式通過485串口發(fā)送到PC機(jī)串口調(diào)試助手,格式為:設(shè)備號+T:溫度值 +M:濕度值+換行*/ void send_data_pc(void){send_byte(ASCii[dev])。 //發(fā)送T:send_byte(58)。 //發(fā)送溫度數(shù)據(jù) send_byte(ASCii[display[1]])。send_byte(ASCii[display[0]])。 //發(fā)送空格send_byte(77)。send_byte(ASCii[B1])。send_byte(ASCii[B3])。send_byte(0x0a)。uchar ecc = 0。 // 置發(fā)送允許,接收禁止M_RE = 1。 // 發(fā)送本機(jī)地址ecc = dev。 // 發(fā)送命令字ecc = ecc^type。 // 發(fā)送長度ecc = ecc^len。 ilen。 ecc = ecc^(*buf)。 } send_byte(ecc)。 // 發(fā)送幀結(jié)束標(biāo)志 SBUF = 0xc0。 TI = 0。SBUF = 0xdb。 TI = 0。 while(!TI) TI = 0。 case 0xc0: // 字節(jié)為0xc0,發(fā)送0xdbdc TI = 0。 while(!TI)。 SBUF = 0xdc。 break。 基于單片機(jī)的蔬菜大棚溫濕度監(jiān)測系統(tǒng)設(shè)計42 SBUF = da。 TI = 0。 //初始化端口 TH=24。 LED1=1。 TMOD=0x51。 //定時 50ms TL0=0xB0。 //計數(shù) TL1=0x00。 //開 T0 TR1=1。 //開中斷 EA=1。 //開機(jī)先轉(zhuǎn)換一次 write_byte(0xcc)。 //發(fā)轉(zhuǎn)換命令 while(1) {if(num=60) //記滿一秒 { number=TH1*256+TL1。 B1=number%1000/100。 //十位 B3=number%100%10。 TMOD=0x51。 //定時 50ms TL0=0xB0。 //計數(shù) TL1=0x00。 //開 T0 TR1=1。 //開中斷 EA=1。type) == 0) // 發(fā)生幀錯誤或幀地址與本機(jī)地址不符,丟棄當(dāng)前幀后返回 continue。 // 發(fā)送應(yīng)答信息,這里buf的內(nèi)容并未用到 break。 send_data(__STATUS_, len
點擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1