找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3590|回復(fù): 8
打印 上一主題 下一主題
收起左側(cè)

急!用18B20探究溫度變化差值 如果溫度相差大于4.5°C單片機(jī)報(bào)警

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:124631 發(fā)表于 2017-3-22 00:12 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
10黑幣
     最近畢業(yè)設(shè)計(jì)想加入一個(gè)功能,想了好久不知道怎么加,請(qǐng)大神指點(diǎn)迷津!
      用51單片機(jī)和18b20做一個(gè)溫度檢測(cè)然后報(bào)警,目前都實(shí)現(xiàn)了。想加入一個(gè)需求: 溫度是不斷采集的,使采集的前后2個(gè)溫度值,如果相差大于4.5°C同樣報(bào)警。
     如果用數(shù)組的話怎么樣比較好,但是數(shù)據(jù)是不斷更新的,那么數(shù)組中存放數(shù)據(jù)也要不斷更新///

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:149988 發(fā)表于 2017-3-22 08:39 | 只看該作者
兩次溫度采集應(yīng)該有時(shí)間間隔,而且兩次溫度采集時(shí)間應(yīng)有規(guī)律,這樣就好辦了。利用定時(shí)器T0的中斷服務(wù)程序做第一次溫度采集,利用定時(shí)器T1的中斷服務(wù)程序做第二個(gè)溫度采集,再將兩次采集的數(shù)據(jù)進(jìn)行比較,相差大于4.5°C進(jìn)行報(bào)警處理。
回復(fù)

使用道具 舉報(bào)

板凳
ID:111634 發(fā)表于 2017-3-22 09:26 | 只看該作者
你既然能實(shí)現(xiàn)18b20溫度檢測(cè)并報(bào)警,卻不能實(shí)現(xiàn)一個(gè)更簡(jiǎn)單的相差大于4.5°C報(bào)警,很奇怪!
回復(fù)

使用道具 舉報(bào)

地板
ID:105425 發(fā)表于 2017-3-22 13:16 | 只看該作者
提供一種大致的解決思路:
假設(shè)有n次測(cè)量,則分解成如下步驟:
步驟1、最初2次測(cè)量值(n=1,2, n為測(cè)量次數(shù)變量),分別賦給變量Data_last, Data_now(記錄實(shí)測(cè)溫度值);
步驟2、判斷Data_now減Data_last是否大于4.5?
1)若是,發(fā)報(bào)警,然后繼續(xù)執(zhí)行。
2)若否,繼續(xù)。

步驟3、測(cè)量第n次(n>2)
3.1將Data_now覆蓋到Data_last;
3.2將當(dāng)前第n次新測(cè)量值賦給Data_now;
3.3計(jì)算Data_now減Data_last是否大于4.5?
做判斷,即重復(fù)步驟2。

如此,從步驟3開(kāi)始,即形成循環(huán)。
以上是便于理解而描述上采用循環(huán)變量n來(lái)表達(dá)。
實(shí)際應(yīng)用,可以改成while(1)死循環(huán),在循環(huán)體內(nèi)設(shè)置跳出while循環(huán)的判斷語(yǔ)句即可,這樣使用起來(lái)更方便靈活些。
另外注意,若溫度實(shí)測(cè)范圍有負(fù)數(shù)時(shí),需要注意正負(fù)數(shù)據(jù)的相應(yīng)處理。
回復(fù)

使用道具 舉報(bào)

5#
ID:180385 發(fā)表于 2017-3-22 15:59 | 只看該作者
幾位樓下的兄臺(tái)說(shuō)的都很好。∈堑,現(xiàn)在問(wèn)題解決了啊
回復(fù)

使用道具 舉報(bào)

6#
ID:124631 發(fā)表于 2017-3-24 16:03 | 只看該作者
william_2016 發(fā)表于 2017-3-22 13:16
提供一種大致的解決思路:
假設(shè)有n次測(cè)量,則分解成如下步驟:
步驟1、最初2次測(cè)量值(n=1,2, n為測(cè)量次 ...

謝謝~我就是采用這樣的方法,這樣可以方便改采樣率
回復(fù)

使用道具 舉報(bào)

7#
ID:124631 發(fā)表于 2017-3-24 16:07 | 只看該作者
不倒翁.WZT 發(fā)表于 2017-3-22 08:39
兩次溫度采集應(yīng)該有時(shí)間間隔,而且兩次溫度采集時(shí)間應(yīng)有規(guī)律,這樣就好辦了。利用定時(shí)器T0的中斷服務(wù)程序做 ...

這個(gè)想法是最好的,當(dāng)時(shí)我也是想用中斷,但是我中斷用的不是很好,能不能寫(xiě)個(gè)大概的程序,F(xiàn)在程序中我定時(shí)器0用來(lái)每間隔1s刷處理刷新一次溫度值,然后采用的是2次提取采樣值進(jìn)行對(duì)比
回復(fù)

使用道具 舉報(bào)

8#
ID:124631 發(fā)表于 2017-3-24 16:09 | 只看該作者
zl2168 發(fā)表于 2017-3-22 09:26
你既然能實(shí)現(xiàn)18b20溫度檢測(cè)并報(bào)警,卻不能實(shí)現(xiàn)一個(gè)更簡(jiǎn)單的相差大于4.5°C報(bào)警,很奇怪!

主要起初我有想過(guò)用數(shù)組存儲(chǔ)一定量的數(shù)據(jù),然后比較差值,再返回最高溫度值,但后來(lái)想到這樣做的話數(shù)組內(nèi)的數(shù)據(jù)也要不斷刷新
回復(fù)

使用道具 舉報(bào)

9#
ID:171806 發(fā)表于 2017-3-24 16:17 | 只看該作者
都是大神啊來(lái)這邊學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表