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

正文內(nèi)容

基于51單片機(jī)溫濕度檢測及電子萬年歷的設(shè)計(jì)畢業(yè)論文-資料下載頁

2025-06-24 03:45本頁面
  

【正文】 fen。uchar ccc,ri,yue,nian,zhou,flag1。//延時(shí)子函數(shù)void delay(uint z){ uint x,y。 for(x=z。x0。x) for(y=120。y0。y)。}//按鍵提示音子函數(shù)void di(){ beep=0。 delay(100)。 beep=1。}//往DS1302時(shí)鐘芯片寫入一字節(jié)子函數(shù)void inputbyte(uchar add){ uchar i。 ACC=add。 for(i=8。i0。i) { IO=ACC0。 SCLK=1。 SCLK=0。 ACC=ACC1。 }}//DS1302時(shí)鐘芯片輸出一字節(jié)子函數(shù)uchar outputbyte(){ uchar i。 for(i=8。i0。i) { ACC=ACC1。 ACC7=IO。 SCLK=1。 SCLK=0。 } return ACC。}//往DS1302時(shí)鐘芯片寫入數(shù)據(jù)子函數(shù)void write_ds(uchar add,uchar ucda){ RST=0。 SCLK=0。 RST=1。 inputbyte(add)。 inputbyte(ucda)。 SCLK=1。 RST=0。}//從DS1302時(shí)鐘芯片讀出數(shù)據(jù)子函數(shù)uchar read_ds(uchar add){ uchar ucda。 RST=0。 SCLK=0。 RST=1。 inputbyte(add)。 ucda=outputbyte()。 SCLK=1。 RST=0。 return(ucda)。}//設(shè)置DS1302時(shí)鐘芯片子函數(shù)void write_setds(uchar addr,uchar date){ write_ds(0x8e,0x00)。 write_ds(addr,date)。 write_ds(0x8e,0x80)。}//檢查LCD1602液晶忙位子函數(shù)void LCD1602_busy() { uchar i=0。 RS=0。 RW=1。 E=1。 P0=0xff。 i=0。 while(((P0amp。0x80)==0x80)amp。amp。i150) i++。 E=0。 }//LCD1602液晶寫指令子函數(shù)void write_(uchar ) { LCD1602_busy()。 RS=0。 RW=0。 P0=。 E=1。 E=0。}//LCD1602液晶寫數(shù)據(jù)子函數(shù)void write_date(uchar date) { LCD1602_busy()。 RS=1。 RW=0。 P0=date。 E=1。 E=0。}//LCD1602液晶初始化子函數(shù)void LCD1602_init() //初始化設(shè)置{ //uchar i。 write_(0x38)。 write_(0x0c)。 write_(0x06)。 write_(0x01)。 /*write_(0x80)。 for(i=0。i16。i++) { write_date(table1[i])。 delay(500)。 } write_(0xc0)。 for(i=0。i16。i++) { write_date(table2[i])。 delay(500)。 }*/ a=35。 b=10。 c=65。 d=40。}//SHT10寫字節(jié)子函數(shù)char s_write_byte(uchar value) { uchar i,error=0。 for(i=0x80。i0。i=1) //高位為1,循環(huán)右移 { if(iamp。value) DATA=1。//和要發(fā)送的數(shù)相與,結(jié)果為發(fā)送的位 else DATA=0。 SCK=1。 _nop_()。 _nop_()。 _nop_()。//延時(shí)3us SCK=0。 } DATA=1。 //釋放數(shù)據(jù)線 SCK=1。 error=DATA。 //檢查應(yīng)答信號(hào),確認(rèn)通訊正常 _nop_()。 _nop_()。 _nop_()。 SCK=0。 DATA=1。 return error。 //error=1 通訊錯(cuò)誤}//SHT10讀字節(jié)子函數(shù)char s_read_byte(uchar ack){ uchar i,val=0。 DATA=1。 //釋放數(shù)據(jù)線 for(i=0x80。i0。i=1) //高位為1,循環(huán)右移 { SCK=1。 if(DATA) val=(val|i)。 //讀一位數(shù)據(jù)線的值 SCK=0。 } DATA=!ack。 //如果是校驗(yàn),讀取完后結(jié)束通訊; SCK=1。 _nop_()。 _nop_()。 _nop_()。//延時(shí)3us SCK=0。 _nop_()。 _nop_()。 _nop_()。 DATA=1。 //釋放數(shù)據(jù)線 return val。}//SHT10啟動(dòng)傳輸子函數(shù)void s_transstart(){ DATA=1。 SCK=0。 //準(zhǔn)備 _nop_()。 SCK=1。 _nop_()。 DATA=0。 _nop_()。 SCK=0。 _nop_()。 _nop_()。 _nop_()。 SCK=1。 _nop_()。 DATA=1。 _nop_()。 SCK=0。 }//SHT10連接復(fù)位子函數(shù)void s_connectionreset(){ uchar i。 DATA=1。 SCK=0。//準(zhǔn)備 for(i=0。i9。i++) //DATA保持高,SCK時(shí)鐘觸發(fā)9次,發(fā)送啟動(dòng)傳輸,通迅即復(fù)位 { SCK=1。 SCK=0。 } s_transstart()。 //啟動(dòng)傳輸}//SHT10溫濕度檢測子函數(shù)char s_measure(uchar *p_value,uchar *p_checksum,uchar mode){ unsigned error=0。 uint i。 s_transstart()。 //啟動(dòng)傳輸 switch(mode) //選擇發(fā)送命令 { case TEMP: error+=s_write_byte(0x03)。 break。 //測量溫度 case HUMI: error+=s_write_byte(0x05)。 break。 //測量濕度 default: break。 } for(i=0。i65535。i++) if(DATA==0) break。 //等待測量結(jié)束 if(DATA) error+=1。 // 如果長時(shí)間數(shù)據(jù)線沒有拉低,說明測量錯(cuò)誤 *(p_value)=s_read_byte(1)。 //讀第一個(gè)字節(jié),高字節(jié) (MSB) *(p_value+1)=s_read_byte(1)。 //讀第二個(gè)字節(jié),低字節(jié) (LSB) *p_checksum=s_read_byte(0)。 //read CRC校驗(yàn)碼 return error。 // error=1 通訊錯(cuò)誤}//SHT10溫濕度值標(biāo)度變換及溫度補(bǔ)償子函數(shù)void calc_sth10(float *p_humidity ,float *p_temperature){ const float C1=。 // 12位濕度精度 修正公式 const float C2=+。 // 12位濕度精度 修正公式 const float C3=。 // 12位濕度精度 修正公式 const float T1=+。 // 14位溫度精度 5V條件 修正公式 const float T2=+。 // 14位溫度精度 5V條件 修正公式 float rh=*p_humidity。 // rh: 12位 濕度 float t=*p_temperature。 // t: 14位 溫度 float rh_lin。 // rh_lin: 濕度 linear值 float rh_true。 // rh_true: 濕度 ture值 float t_C。 // t_C : 溫度 ℃ t_C=t*。 //補(bǔ)償溫度 rh_lin=C3*rh*rh+C2*rh+C1。 //相對濕度非線性補(bǔ)償 rh_true=(t_C25)*(T1+T2*rh)+rh_lin。 //相對濕度對于溫度依賴性補(bǔ)償 if(rh_true100) rh_true=100。 //濕度最大修正 if(rh_true) rh_true=。 //濕度最小修正 *p_temperature=t_C。 //返回溫度結(jié)果 *p_humidity=rh_true。 //返回濕度結(jié)果}//往LCD1602液晶寫入日期子函數(shù)void write_nyr(uchar add,uchar date){ uchar shi,ge 。 shi=date/10。 ge=date%10。 write_(0x80+0x01+add)。 write_date(0x30+shi)。 write_date(0x30+ge)。}//往LCD1602液晶寫入時(shí)間子函數(shù)void write_sfm1(uchar add,uchar date){ uchar shi,ge。 shi=date/10。 ge=date%10。 write_(0x80+0x42+add)。 write_date(0x30+shi)。 write_date(0x30+ge)。}//電子萬年歷顯示子函數(shù)void display1(){ if(flag1!=1) { uchar d。 d=read_ds(0x81)。 miao=(d/16)*10+(d%16)。 write_sfm1(8,miao)。 d=read_ds(0x83)。 fen=(d/16)*10+(d%16)。 write_sfm1(5,fen)。 d=read_ds(0x85)。 shi=(d/16)*10+(d%16)。 write_sfm1(2,shi)。 d=read_ds(0x87)。 ri=(d/16)*10+(d%16)。 write_nyr(8,ri)。 d=read_ds(0x89)。 yue=(d/16)*10+(d%16)。 write_nyr(5,yue)。 d=read_ds(0x8b)。 zhou=d%16。 write_nyr(12,zhou)。 d=read_ds(0x8d)。 nian=(d/16
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1