欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 51單片機,使用DHT11模塊,程序卡死的問題 [打印本頁]

作者: Eli_    時間: 2019-11-13 23:02
標(biāo)題: 51單片機,使用DHT11模塊,程序卡死的問題

樓主大四,在做一個基于 51 的智能晾衣架,其中分別使用了 DS18B20、DHT11 檢測溫、濕度,溫度檢測正常,在 dht11 的程序里,通過調(diào)試發(fā)現(xiàn)程序卡死了,在主函數(shù)里讀不出數(shù)據(jù),也無法執(zhí)行后面的程序,單片機型號是 STC 90C52RC ,晶振 11.0592M Hz ,延時函數(shù)使用燒錄軟件生成,之前參考了這篇文章 http://m.raoushi.com/bbs/dpj-162117-1.htmldht11和ds18b20溫濕度控制 單片機程序。 燒錄在大二購買的51學(xué)習(xí)模塊【巫妖王】12 MHz 可以正常運行,但是燒錄在自己焊接的板子上就出問題了,一度懷疑自己焊接有問題,調(diào)了幾天,累了,遂尋求幫助 。



1、原理圖及PCB







2、DHT11代碼
"dht11.h"




"dht11.c"

3、焊接及顯示內(nèi)容



顯示.jpg (563.85 KB, 下載次數(shù): 106)

顯示.jpg

作者: 不知道叫啥2020    時間: 2019-11-15 17:55
程序我就不看了,給你個思路,一般會你這現(xiàn)象的原因有:1,單片機的中斷標(biāo)志沒清,導(dǎo)致程序一直跑中斷,不運行主函數(shù);2,中斷的等級沒處理好,有些函數(shù)被更高級別的中斷阻塞了;3,用了一些空指針,程序跑飛了;4,內(nèi)存占滿了;5,某些寄存器會在某些行為(比如觸發(fā)中斷)后自動清0,導(dǎo)致你的配置被清了;6,你所使用的單片機這一方面性能不穩(wěn)定(這個可能非常小這么多年就見過一次,原廠fae都解決不了)
作者: bh2030693    時間: 2019-11-15 22:47
84行到88行的代碼不合適吧?對照數(shù)據(jù)手冊看看。單片機時鐘必須跟延時函數(shù)一致;延時函數(shù)盡量放在當(dāng)前c文件里,不要放在其它文件里;以下代碼僅供參考:
io_DHT11 = 0;                 //主機拉低 >18ms
        Delay25ms();
        io_DHT11 = 1;                //20~40us后從機應(yīng)答拉低電平
        Delay60us();                 //延時大于(20~40us)
        if(io_DHT11 == 0)         //判斷從機是否響應(yīng)
        {
                if (DHT11_WaitLevelChange(0) == isNo) return isNo;        //規(guī)定時間內(nèi)電平0是否改變?如果未改變返回isNo
                if (DHT11_WaitLevelChange(1) == isNo) return isNo;        //規(guī)定時間內(nèi)電平1是否改變?如果未改變返回isNo

                i = 0;
                ucArrTemp[i++] = DHT11_ReadByte();
                ucArrTemp[i++] = DHT11_ReadByte();
                ucArrTemp[i++] = DHT11_ReadByte();
                ucArrTemp[i++] = DHT11_ReadByte();
                ucArrTemp[i]   = DHT11_ReadByte();



作者: yzwzfyz    時間: 2019-11-16 09:17
關(guān)鍵點:
1、不要用DEALY做延時。
2、等待硬件信號時,要做限時動作,等不到就返回,并標(biāo)記異常通知主程序。
作者: Armweak    時間: 2019-11-23 02:16
想知道樓主解決了嗎?
。。。表示碰到了一樣的問題 。。把dht11拔了 別的都正常,插上dht11就卡住了  感覺上好像是卡在某個while里面了。。。。。。。作為一個初學(xué)者毫無頭緒
作者: Armweak    時間: 2019-11-23 02:21
對了還有個現(xiàn)象 卡住以后 濕度高位不知道為什么變成了255.。。
作者: Armweak    時間: 2019-11-23 18:57
樓主數(shù)據(jù)線設(shè)的P3^6 可是 沒有把端口設(shè)置成開漏,可以設(shè)置一下試試 。我今天把sda換到P0口  程序不至于卡死了。。雖然取值還不對 。感覺之前卡死是因為從機沒法置低導(dǎo)致開在while判斷上了




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1