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

正文內(nèi)容

基于51單片機的數(shù)字溫度報警器課程設計-資料下載頁

2025-05-12 13:29本頁面

【導讀】度的測試與控制得到了更快的開發(fā)。本文設計了一種基于單片機AT89C52的溫度檢測及報。該系統(tǒng)將溫度傳感器DS18B20接到單片機的一個端口上,單片機對溫度傳感器進。將采集到的溫度值與設定的上下限進行比較,當超出設定范圍的上下限時,通過單片機控制的報警電路就會發(fā)出報警信號,從而實現(xiàn)了本次課程設計的要求。設計和布線簡單、結(jié)構(gòu)緊湊、體積小、重量輕、抗干擾能力較強、性價比高、擴展方便,在工農(nóng)業(yè)等領域的溫度檢測中有廣闊的應用前景。測量誤差為±2℃。迅速,應用最廣泛,成為近代科學技術(shù)發(fā)展的一個重要標志。大棚內(nèi)的溫度,當大棚內(nèi)的溫度高于30℃。太高,太低或太高均不適合農(nóng)作物生長。度超過農(nóng)作物生長的溫度范圍時,報警提醒農(nóng)民。復位電平持續(xù)兩個時鐘周期以上時復位有效。線就可以與DS18B20通信。未超出,程序自動返回。譯碼顯示程序中,要先將初始標識清除。將溫度的個位送至低位數(shù)碼管顯示,清除標。報警,數(shù)碼管顯示也為85。4至5秒后數(shù)字溫度傳感器會顯

  

【正文】 oid)。 //DS18B20 讀 1 字節(jié)函數(shù) void read_temp()。 //溫度讀取函數(shù) void LED_display()。 void alarm()。 uchar tempH,tempL,num。 uchar table[10]= {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}。 //0~9 的 LED 字符編碼 uchar setValue_low=15。 uchar setValue_high=30。 main() { while(1) { read_temp()。 LED_display()。 alarm()。 } } void delay(uint t) { for(。t0。t)。 } void reset() //DS18B20 的復位 { uchar presence=1。 while(presence) { while(presence) { DQ=1。_nop_()。_nop_()。 DQ=0。 delay(50)。 DQ=1。 delay(6)。 14 presence=DQ。 } delay(45)。 presence=~DQ。 } DQ=1。 } void write_byte(uchar val) //DS18B20 寫一個字節(jié) { uchar i。 for(i=8。i0。i) { DQ=1。_nop_()。_nop_()。 DQ=0。_nop_()。_nop_()。_nop_()。_nop_()。_nop_()。 DQ=valamp。0x01。 delay(6)。 val=val1。 } DQ=1。 _nop_()。 } uchar read_byte(void) //DS18B20 讀一個字節(jié) { uchar i。 uchar value=0。 for(i=8。i0。i) { DQ=1。_nop_()。_nop_()。 value=1。 DQ=0。 _nop_()。_nop_()。_nop_()。_nop_()。 DQ=1。_nop_()。_nop_()。_nop_()。_nop_()。 if(DQ) value|=0x80。 delay(6)。 } DQ=1。 return(value)。 } void read_temp() //從 DS18B20 讀取溫度值 { uchar ch1,ch2。 reset()。 write_byte(0xcc)。 15 write_byte(0x44)。 reset()。 write_byte(0xcc)。 write_byte(0xbe)。 ch1=read_byte()。 //DS18B20 的溫度數(shù)值是 16 位的二進制,精度高,最后四位是溫度的小數(shù)部分,最高五位為符號位(即正負溫度) ch2=read_byte()。 num=(ch24)|(ch14)。 //只取溫度值的中間八位,小數(shù)部分舍去,符號位舍去四位。 tempH=num/10。 //溫度的十位 tempL=numtempH*10。 //溫度的個位 } void LED_display() //顯示檢測的溫度 { P2=0x0。 P2=2。 P0=table[tempL]。 delay(50)。 P2=0x0。 P2=1。 P0=table[tempH]。 delay(50)。 P2=0x0。 } void alarm() //報警 { if(setValue_low=num amp。amp。 setValue_high=num) beep=1。 //在溫度允許范圍,不報警 else beep=~beep。 }
點擊復制文檔內(nèi)容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1