|
首先,第一點(diǎn),不建議用數(shù)碼管,這種東西可以換成液晶屏來做,顯示的內(nèi)容更豐富,管腳也不會很多(甚至可以用串口來控制,那么還會減少占用的管腳)
然后,如果要用數(shù)碼管的話,38譯碼器啊,地址鎖存器啊什么用起來問題也不大吧(雖然你目前的成品不一定有??)
最重要的是,你的意思是執(zhí)行兩個功能,都占用了定時(shí)器是吧。這里可以考慮一個問題,你真的需要幾乎全部的時(shí)間都用來測溫度或者距離嗎?應(yīng)該不會吧。
一般12位的ds18b20的響應(yīng)時(shí)間是750ms,精度是0.0625度,你完全可以降低分辨率同時(shí)提高響應(yīng)速度,比如10位,大概180+ms就響應(yīng)啦,分辨率0.25度也還好吧。然后相當(dāng)于說檢測一次溫度大概耗時(shí)200ms
另外超聲波測距一次的時(shí)間呢?比如我們測距范圍是10m,那么時(shí)間大概是10*2/340不到100ms吧
那么我覺得可以這樣,每500ms為一個工作周期,先測溫度,更新相應(yīng)的數(shù)碼管,再測距離,再更新相應(yīng)的數(shù)碼管;蛘呦葴y量后統(tǒng)一更新數(shù)碼管。這樣一次周期的時(shí)間基本可以把握在500ms內(nèi)。數(shù)碼管每500ms跳一次,其實(shí)能夠接受吧,再加快更新頻率其實(shí)實(shí)際作用也不大。
嗯,或者就用12位的溫度傳感器,每1s更新一次,也沒毛病。
這只是一種思路吧,當(dāng)然還有很多別的方法 |
評分
-
查看全部評分
|