久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

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

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

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



1、原理圖及PCB







2、DHT11代碼
"dht11.h"




"dht11.c"

3、焊接及顯示內容



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

顯示.jpg

作者: 不知道叫啥2020    時間: 2019-11-15 17:55
程序我就不看了,給你個思路,一般會你這現象的原因有:1,單片機的中斷標志沒清,導致程序一直跑中斷,不運行主函數;2,中斷的等級沒處理好,有些函數被更高級別的中斷阻塞了;3,用了一些空指針,程序跑飛了;4,內存占滿了;5,某些寄存器會在某些行為(比如觸發中斷)后自動清0,導致你的配置被清了;6,你所使用的單片機這一方面性能不穩定(這個可能非常小這么多年就見過一次,原廠fae都解決不了)
作者: bh2030693    時間: 2019-11-15 22:47
84行到88行的代碼不合適吧?對照數據手冊看看。單片機時鐘必須跟延時函數一致;延時函數盡量放在當前c文件里,不要放在其它文件里;以下代碼僅供參考:
io_DHT11 = 0;                 //主機拉低 >18ms
        Delay25ms();
        io_DHT11 = 1;                //20~40us后從機應答拉低電平
        Delay60us();                 //延時大于(20~40us)
        if(io_DHT11 == 0)         //判斷從機是否響應
        {
                if (DHT11_WaitLevelChange(0) == isNo) return isNo;        //規定時間內電平0是否改變?如果未改變返回isNo
                if (DHT11_WaitLevelChange(1) == isNo) return isNo;        //規定時間內電平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
關鍵點:
1、不要用DEALY做延時。
2、等待硬件信號時,要做限時動作,等不到就返回,并標記異常通知主程序。
作者: Armweak    時間: 2019-11-23 02:16
想知道樓主解決了嗎?
。。。表示碰到了一樣的問題 。。把dht11拔了 別的都正常,插上dht11就卡住了  感覺上好像是卡在某個while里面了。。。。。。。作為一個初學者毫無頭緒
作者: Armweak    時間: 2019-11-23 02:21
對了還有個現象 卡住以后 濕度高位不知道為什么變成了255.。。
作者: Armweak    時間: 2019-11-23 18:57
樓主數據線設的P3^6 可是 沒有把端口設置成開漏,可以設置一下試試 。我今天把sda換到P0口  程序不至于卡死了。。雖然取值還不對 。感覺之前卡死是因為從機沒法置低導致開在while判斷上了




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 在线观看视频一区二区三区 | 日韩av一区二区在线观看 | 久久久久国产一区二区三区 | 久久久久久久久久久久亚洲 | 国精产品一区一区三区免费完 | 在线a视频网站 | 91成人在线 | 日本高清精品 | 欧美一级免费看 | 欧美成人影院 | 久久久久久成人 | 欧美成人精品一区二区男人看 | 亚洲电影中文字幕 | 九九视频网 | 国产一区视频在线 | 午夜影晥| 成人小视频在线观看 | 成人免费看电影 | 亚洲三级在线观看 | 天天干国产| 久久这里只有精品首页 | 一级欧美视频 | 亚洲综合国产精品 | 超碰8| 国产一级片一区二区 | 久久91精品久久久久久9鸭 | 久久精品美女 | 日韩av免费在线观看 | 精品国产一区二区三区在线观看 | 99精品久久久久久中文字幕 | 精品综合| 午夜精品久久久久久久99黑人 | 可以免费看的毛片 | 亚洲精品免费观看 | av在线免费网 | 射欧美| 欧美一区二区大片 | 国产高清视频一区 | 1级黄色大片 | 国产成人亚洲精品自产在线 | 超碰人人做 |