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

正文內(nèi)容

基于單片機(jī)ds18b20多點(diǎn)測溫系統(tǒng)lcd1602顯示-文庫吧資料

2025-07-03 19:35本頁面
  

【正文】 單總線數(shù)字溫度傳感器的通信方式比較獨(dú)特,軟件編寫要求的比較新穎,特點(diǎn)突出。在第一版設(shè)計(jì)階段由于粗心大意,把P0口上拉排阻的接電源錯接成接地導(dǎo)致LCD1602不能顯示,通過原理圖對比和電路的排查最終找出和解決問題。設(shè)計(jì)之始,由于對軟件的不熟練和PCB布線規(guī)則的不熟悉,導(dǎo)致第一版的設(shè)計(jì)失敗,主要原因是布線寬度太窄導(dǎo)致刻板時線被刻斷,焊盤設(shè)計(jì)太小,焊接時元件焊接不牢固。在編寫過程中,必須嚴(yán)格按照DS18B20的工作時序嚴(yán)格編寫,否則溫度無法準(zhǔn)確測量。本設(shè)計(jì)采用的是每個I/O口掛接一個DS18B20傳感器的方案,由于STC89c52用戶應(yīng)用程序空間為8K字節(jié),根據(jù)編寫的程序大小,掛接三個DS18B20,程序?yàn)?K字節(jié),故最多可接12個。 掛接DS18B20個數(shù)論證 在DS1820的有關(guān)資料中均未提及單總線上所掛DS18B20數(shù)量問題,容易使人誤認(rèn)為可以掛任意多個 DS1820,在實(shí)際應(yīng)用中并非如此。外接電源方式下,可以充分發(fā)揮DS18B20寬電源電壓范圍的優(yōu)點(diǎn),即使電源電壓VCC降到3V時,依然能夠保證溫度量精度。在遠(yuǎn)距離有線測溫傳輸過程中,當(dāng)采用普通信號電纜傳輸長度超過50m時,讀取的測溫?cái)?shù)據(jù)將發(fā)生錯誤使得溫度不能準(zhǔn)確測量。在此范圍內(nèi)精度為177。開始標(biāo)志量flag1,flag2,flag3,flag4全為0按鍵一按下?Flag1=1按鍵二按下Flag2=1按鍵三按下按鍵四按下Flag3=1Flag4=1結(jié)束 按鍵處理子程序流程圖第五章 誤差分析 誤差產(chǎn)生當(dāng)采用寄生電源的工作方式時(電源從IO口上獲得),如果溫度高于100℃,則將產(chǎn)生很大的誤差,因?yàn)榇藭r器件中較大的漏電流會使總線不能可靠檢測高低電平,從而導(dǎo)致數(shù)據(jù)傳輸誤碼率的增大。單片機(jī)從DS18B20中讀取數(shù)據(jù)是一位一位的讀的,沒讀完一位的數(shù)據(jù)到單片機(jī)的特定單元A,A左移一次與B向或,直至DS18B20的數(shù)據(jù)全部移到B中,到此單片機(jī)就對DS18B20完成了讀字節(jié)操作。在I/O口線高電平變?yōu)榈碗娖胶驞S18B20在15us到60us之間對I/O采樣,如果是高電平則寫1,低電平寫0。 溫度轉(zhuǎn)換流程圖 DS18B20寫子程序 當(dāng)主機(jī)把數(shù)據(jù)線從高邏輯電平拉低至邏輯電平時產(chǎn)生寫時間片,有兩種類型的寫時間片,寫1時間片和寫0時間片,所有時間片必須有最短為60微妙的持續(xù)期。以單個為例,首先調(diào)用DS18B20初始化子程序?qū)λM(jìn)行初始化,然后發(fā)跳過匹配ROM命令,接著發(fā)溫度轉(zhuǎn)換命令完成溫度轉(zhuǎn)換,該命令主要是完成溫度的A/D轉(zhuǎn)換,讀取溫度程序是在轉(zhuǎn)換結(jié)束后才能讀取當(dāng)前溫度值。開始系統(tǒng)初始化測溫程序初始化如果按鍵一按下如果按鍵二按下 如果按鍵三按下如果按鍵四按下調(diào)用讀溫度1子程序調(diào)用讀溫度2子程序調(diào)用讀溫度3子程序顯示1路溫度顯示2路溫度顯示3路溫度顯示全部溫度返回返回返回返回 主程序流程圖 初始化子程序 DS18B20初始化程序嚴(yán)格按照DS18B20的時序來編寫,微處理器開始發(fā)送一個復(fù)位脈沖(在480us~960us之間),接著數(shù)據(jù)線釋放拉到高電平1。然后進(jìn)行軟件設(shè)計(jì)時,先搞清楚各個部分的子程序及他們的流程圖,然后進(jìn)行各子程序的編寫,最后通過主函數(shù)把各子程序連接起來實(shí)現(xiàn)設(shè)計(jì)。[3]系統(tǒng)耗損測試。(4)系統(tǒng)的可靠性[1]要測試單片機(jī)軟件功能的完善性。單片機(jī)干擾最常見的現(xiàn)象就是復(fù)位,導(dǎo)致程序運(yùn)行異常。(2)減少程序錯誤我們在編寫程序時,要注重考慮如下方面。程序代碼通常采用匯編語言或高級語言(C語言)編寫。這些程序模塊可以是幾條語句的集合、功能函數(shù)或程序文件。 系統(tǒng)軟件設(shè)計(jì)的一般原則 單片機(jī)應(yīng)用軟件系統(tǒng)設(shè)計(jì)包括功能模塊劃分、程序流程確立、模塊接口設(shè)計(jì)以及程序代碼編寫。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。 Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。 Keil C51是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。這使得匯編語言程序不能移植,使用不便;其次,要使用匯編語言進(jìn)行程序設(shè)計(jì)必須了解所使用CPU硬件的結(jié)構(gòu)與性能,對程序設(shè)計(jì)人員有較高的要求。以上兩種語言都是低級語言。匯編語言不像高級語言(如BASIC)那樣通用型強(qiáng),而是屬于某種計(jì)算機(jī)所獨(dú)有,與計(jì)算機(jī)的內(nèi)部硬件結(jié)構(gòu)密切相關(guān)。這樣就出現(xiàn)了另一種程序語言—匯編語言。用機(jī)器語言編寫程序不易記憶、不易查錯、不易修改。用機(jī)器語言編寫的程序成為機(jī)器語言程序或者指令程序(機(jī)器碼程序)。程序設(shè)計(jì)語言是實(shí)現(xiàn)人機(jī)交換信息的最基本工具,可分為機(jī)器語言、匯編語言和高級語言。第四章 軟件設(shè)計(jì) 三點(diǎn)測溫電路,每個傳感器接一個I/O口。P0口接一個10K的上拉排阻。晶體振蕩頻率高,則系統(tǒng)的時鐘頻率也越高,單片機(jī)運(yùn)行速速也就越快。產(chǎn)生單片機(jī)復(fù)位的條件是:在RST引腳端出現(xiàn)滿足復(fù)位時間要求的高電平狀態(tài),該時間等于系統(tǒng)時鐘震蕩周期建立時間再加2個機(jī)器周期時間(一般不小于10ms)。 系統(tǒng)電路設(shè)計(jì) 系統(tǒng)電路圖這部分為單片機(jī)復(fù)位電路和時鐘電路。8) 延時30us。6) 延時4us。4) 延時6us。2) 延時2us。7) 最后將數(shù)據(jù)線拉高到1。5) 將數(shù)據(jù)線拉高到高電平1。3) 按從低位到高位的順序發(fā)送數(shù)據(jù)(一次只發(fā)送一位)。② 寫數(shù)據(jù)時序圖1) 數(shù)據(jù)線先置低電平0。7) 若CPU讀到數(shù)據(jù)線上的低電平0后,還要進(jìn)行延時,其延時的時間從發(fā)出高電平算起(第5)步的時間算起)最少要480us。如果初始化成功則在15~60us內(nèi)產(chǎn)生一個有DS18B20返回的低電平0,據(jù)該狀態(tài)可以確定它的存在。5) 數(shù)據(jù)線拉到高電平1。3) 數(shù)據(jù)線拉到低電平0。① 初始化時序1) 先將數(shù)據(jù)線置高電平1。前5位為1時,讀取的溫度為負(fù)值。另外,還需要判斷溫度的正負(fù)。第0~1字節(jié)是溫度的顯示位;第2和第3個字節(jié)是復(fù)制的TH和TL,同時第2和第3個字節(jié)的數(shù)字可以更新;第4個字節(jié)是配置寄存器,同時第4個字節(jié)的數(shù)字可以更新;第5,6,7三個字節(jié)的保留的。以上這些指令涉及的存儲器為高速暫存器RAM和可電擦出E2ROM。讀DS18B20的供電模式。5) B8H—重調(diào)E2ROM中內(nèi)容回復(fù)到RAM中的第3,4字節(jié)。4) 48H—復(fù)制暫存器。3) 4EH—寫暫存器。2) BEH—讀暫存器。啟動DS18B20進(jìn)行溫度轉(zhuǎn)換,12位轉(zhuǎn)換時最長為750ms()。如果主機(jī)只對一個DS18B20進(jìn)行操作,就不需要讀取ROM編碼以及匹配ROM編碼了,只要用跳過ROM(CCH)命令,就可以進(jìn)行如下溫度轉(zhuǎn)換和讀取操作。下面介紹以上幾條指令的用法。其各位排列順序是:開始8位為產(chǎn)品類型標(biāo)號,接下來48位是該DS18B20自身的序列號,最后8位是前面56位的CRC循環(huán)冗余校驗(yàn)碼(CR=X8+X5+X4+1)。以上這些指令設(shè)計(jì)的存儲器是64位光刻ROM。5) ECH—告警搜索命令。4) CCH—跳過ROM。3) F0H—搜索ROM。2) 55H—匹配ROM。首先我們來看控制DS18B20的指令:1) 33H—讀ROM。 (c)所示,在外部電源供電方式下,DS18B20工作電源由VDD引腳接入,其VDD端用3~,此時I/O線不需要強(qiáng)上拉,不存在電源電流不足的問題,可以保證轉(zhuǎn)換精度,同時在總線上理論可以掛接任意多個DS18B20傳感器,組成多點(diǎn)測溫系統(tǒng)。在強(qiáng)上拉方式下可以解決電流供應(yīng)不足的問題,因此也適合于多點(diǎn)測溫應(yīng)用,缺點(diǎn)就是要多占用一根I/O口線進(jìn)行強(qiáng)上拉切換。② DS18B20寄生電源強(qiáng)上拉供電方式因此,該電路只適應(yīng)于單一溫度傳感器測溫情況下使用,不適宜采用電池供電系統(tǒng)中。(a)DS18B20 To92 (b)DS18B20八角SOIC DS18B20引腳封裝圖引腳定義GND電源負(fù)極DQ信號輸入輸出VDD電源正極NC空 DS18B20引腳定義① DS18B20寄生電源供電方式(a)所示,在寄生電源供電方式下,DS18B20從單線信號線上汲取能量:在信號線DQ處于高電平期間把能量儲存在內(nèi)部電容里,在信號線處于低電平期間消耗電容上的電能工作,直到高電平到來再給寄生電源(電容)充電。3) 汽車空調(diào)、冰箱、冷柜以及中低緯度干燥箱等。1) 冷凍庫、糧倉、儲罐、電信機(jī)房、電力機(jī)房、電纜線槽等測溫和控制領(lǐng)域。9) 負(fù)壓特性。7) 在9位分辨率時,;12位分辨率時,最多在750ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,顯示速度快。℃。4) 在使用中不需要任何外圍元件,全部傳感器元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。2) 獨(dú)特的單線接口方式,它與微處理器連接時僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通信。 溫度傳感器DS18B20DS18B20是美國DSLLAS半導(dǎo)體公司推出的第一篇支持“一線總線”接口的溫度傳感器,它具有微型化、低功耗、高性能、抗干擾能力強(qiáng)、易配微處理器等優(yōu)點(diǎn),可直接將溫度轉(zhuǎn)化成串型數(shù)字信號供處理器處理。P0口(Pin39~Pin32):8位雙向I/O口線,~P1口(Pin1~Pin8):8位準(zhǔn)雙向I/O口線,~ P2口(Pin21~Pin28):8位準(zhǔn)雙向I/O口線,~ P3口(Pin10~Pin17):8位準(zhǔn)雙向I/O口線,~STC89C52主要功能如表二所示。ALE/PROG(Pin30):地址鎖存允許信號PSEN(Pin29):外部存儲器讀選通信號EA/VPP(Pin31):程序存儲器的內(nèi)外部選通,接低電平從外部程序存儲器讀指令,如果接高電平則從內(nèi)部程序存儲器讀指令。(c)按鍵脈沖復(fù)位方式。按鍵手動復(fù)位有電平方式和脈沖方式兩種。上電自動復(fù)位是通過外部復(fù)位電路的電容充電來實(shí)現(xiàn)的,(a)所示。外部電路產(chǎn)生的復(fù)位信號(RST)送至施密特觸發(fā)器,再由片內(nèi)復(fù)位電路在每個機(jī)器周期的S5P2時刻對施密特觸發(fā)器的輸出進(jìn)行采樣,然后才得到內(nèi)部復(fù)位操作所需要的信號。若使用頗率為6MHz的晶振,則復(fù)位信號持續(xù)時間應(yīng)超過4us才能完成復(fù)位操作。表一 寄存器的復(fù)位狀態(tài)寄存器復(fù)位狀態(tài)寄存器復(fù)位狀態(tài)PC0000HTCON00HACC00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0P3FFHSCON00H(2)復(fù)位信號及其產(chǎn)生RST引腳是復(fù)位信號的輸入端。除了進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)由于程序運(yùn)行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,為擺脫困境,也需按復(fù)位鍵重新啟動。(a)內(nèi)部方式時鐘電路 (b)外部方式時鐘電路 時鐘電路(1)復(fù)位操作復(fù)位是單片機(jī)的初始化操作。對外部振蕩信號無特殊要求,只要求保證脈沖寬度,一般采用頻率低于12MHz的方波信號?!?2MHz之間選擇,電容值在5~30pF之間選擇,電容值的大小可對頻率起微調(diào)的作用。(a) 所示,在RXD和TXD引腳上外接定時元件,內(nèi)部振蕩器就產(chǎn)生自激振蕩。STC89C52內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,引腳RXD和TXD分別是此放大器的輸入端和輸出端。第三章 硬件設(shè)計(jì) STC89C52單片機(jī)簡介STC89C52是一種帶8K字節(jié)閃爍可編程可檫除只讀存儲器(FPEROMFlash Programable and Erasable Read Only Memory )的低電壓,高性能COMOS8的微處理器,俗稱單片機(jī)。但是在軟件上時序就增加了難度,需要添加讀ROM序列號程序,搜索ROM序列號程序,匹配ROM序列號程序。方案二是四DS18B20D的四個DQ端接到單片機(jī)的一個I/O口。缺點(diǎn)是在時序上比較復(fù)雜,DS18B20的編程增加了讀ROM程序,搜索ROM和匹配ROM程序。 方案設(shè)計(jì) 方案一方案一DS18B20一對一連接方案,就是一個I/O口連接一個DS18B20,這種方案雖然占用單片機(jī)的三個I/O口,但
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1