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

正文內(nèi)容

基于單片機(jī)的ds18b20多點(diǎn)測(cè)溫系統(tǒng)lcd1602顯示(編輯修改稿)

2025-07-24 19:58 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 ,但是要盡可能短一點(diǎn))。3) 數(shù)據(jù)線拉到低電平0。4) 延時(shí)750us(該時(shí)間范圍可以在480us~960us)。5) 數(shù)據(jù)線拉到高電平1。6) 延時(shí)等待。如果初始化成功則在15~60us內(nèi)產(chǎn)生一個(gè)有DS18B20返回的低電平0,據(jù)該狀態(tài)可以確定它的存在。但是應(yīng)注意,不能無(wú)限地等待,不然會(huì)使程序進(jìn)入死循環(huán),所以要進(jìn)行超時(shí)判斷。7) 若CPU讀到數(shù)據(jù)線上的低電平0后,還要進(jìn)行延時(shí),其延時(shí)的時(shí)間從發(fā)出高電平算起(第5)步的時(shí)間算起)最少要480us。8) 將數(shù)據(jù)線再次拉到高電平1后結(jié)束。② 寫(xiě)數(shù)據(jù)時(shí)序圖1) 數(shù)據(jù)線先置低電平0。2) 延時(shí)確定的時(shí)間為15us。3) 按從低位到高位的順序發(fā)送數(shù)據(jù)(一次只發(fā)送一位)。4) 延時(shí)時(shí)間為45us。5) 將數(shù)據(jù)線拉高到高電平1。6) 重復(fù)1)~5)步驟,直到發(fā)送完整個(gè)字節(jié)。7) 最后將數(shù)據(jù)線拉高到1。③ 讀數(shù)據(jù)時(shí)序圖1) 將數(shù)據(jù)線拉高到1。2) 延時(shí)2us。3) 將數(shù)據(jù)線拉低到0。4) 延時(shí)6us。5) 將數(shù)據(jù)線拉高到1。6) 延時(shí)4us。7) 讀數(shù)據(jù)線的狀態(tài)位,并進(jìn)行數(shù)據(jù)處理。8) 延時(shí)30us。9) 重復(fù)1)~7)步驟,直到讀取完一個(gè)字節(jié)。 系統(tǒng)電路設(shè)計(jì) 系統(tǒng)電路圖這部分為單片機(jī)復(fù)位電路和時(shí)鐘電路。單片機(jī)復(fù)位后,程序計(jì)數(shù)器PC=0000H,即指向程序存儲(chǔ)器0000H單元,使CPU從首地址重新開(kāi)始執(zhí)行程序。產(chǎn)生單片機(jī)復(fù)位的條件是:在RST引腳端出現(xiàn)滿足復(fù)位時(shí)間要求的高電平狀態(tài),該時(shí)間等于系統(tǒng)時(shí)鐘震蕩周期建立時(shí)間再加2個(gè)機(jī)器周期時(shí)間(一般不小于10ms)。時(shí)鐘電路通過(guò)單片機(jī)的XTAL1和XTAL2引腳外接定時(shí)元件12M的晶振,電容C1和C2一般去30pF左右,主要作用是幫助振蕩器起震。晶體振蕩頻率高,則系統(tǒng)的時(shí)鐘頻率也越高,單片機(jī)運(yùn)行速速也就越快。 顯示電路設(shè)計(jì) LCD1602顯示電路此部分為L(zhǎng)CD1602顯示電路,通過(guò)10K可調(diào)電阻可以調(diào)節(jié)1602背光顯示亮度。P0口接一個(gè)10K的上拉排阻。 按鍵電路設(shè)計(jì) 按鍵電路每個(gè)獨(dú)立按鍵接一個(gè)I/O口構(gòu)成獨(dú)立按鍵,前三個(gè)按鍵S4~S6分別三個(gè)DS18B20,S7按下時(shí)為全三個(gè)DS18B20溫度全顯示。 三點(diǎn)測(cè)溫電路,每個(gè)傳感器接一個(gè)I/O口。 DS18B20接口電路單總線型DS18B20溫度傳感器采用一個(gè)DS18B20接一個(gè)I/O口的形式,大大簡(jiǎn)化了程序編寫(xiě)難度,通過(guò)排針可外接電源供電。第四章 軟件設(shè)計(jì)軟件開(kāi)發(fā)工具的選擇要使單片機(jī)系統(tǒng)按照人的意圖辦事,需設(shè)法讓人與計(jì)算機(jī)對(duì)話,并聽(tīng)從人的指揮。程序設(shè)計(jì)語(yǔ)言是實(shí)現(xiàn)人機(jī)交換信息的最基本工具,可分為機(jī)器語(yǔ)言、匯編語(yǔ)言和高級(jí)語(yǔ)言。機(jī)器語(yǔ)言用二進(jìn)制編碼表示每一條指令,是計(jì)算機(jī)能直接識(shí)別和執(zhí)行的語(yǔ)言。用機(jī)器語(yǔ)言編寫(xiě)的程序成為機(jī)器語(yǔ)言程序或者指令程序(機(jī)器碼程序)。因?yàn)闄C(jī)器只能識(shí)別和執(zhí)行這種機(jī)器碼程序,所以又稱它為目標(biāo)程序。用機(jī)器語(yǔ)言編寫(xiě)程序不易記憶、不易查錯(cuò)、不易修改。為了克服機(jī)器語(yǔ)言的上述缺點(diǎn),可采用有一定含義的符號(hào),即指令助記符來(lái)表示,一般都采用某些有關(guān)的英文單詞的縮寫(xiě)。這樣就出現(xiàn)了另一種程序語(yǔ)言—匯編語(yǔ)言。匯編語(yǔ)言是用助記符、符號(hào)和數(shù)字等來(lái)表示指令的程序語(yǔ)言,容易理解和記憶,它與機(jī)器語(yǔ)言指令是一一對(duì)應(yīng)的。匯編語(yǔ)言不像高級(jí)語(yǔ)言(如BASIC)那樣通用型強(qiáng),而是屬于某種計(jì)算機(jī)所獨(dú)有,與計(jì)算機(jī)的內(nèi)部硬件結(jié)構(gòu)密切相關(guān)。用匯編語(yǔ)言編寫(xiě)的程序稱為匯編語(yǔ)言程序。以上兩種語(yǔ)言都是低級(jí)語(yǔ)言。盡管匯編語(yǔ)言有不少優(yōu)點(diǎn),但它仍存在著機(jī)器語(yǔ)言的某些缺陷:與CPU的硬件結(jié)構(gòu)密切相關(guān),不同的CPU其匯編語(yǔ)言是不同的。這使得匯編語(yǔ)言程序不能移植,使用不便;其次,要使用匯編語(yǔ)言進(jìn)行程序設(shè)計(jì)必須了解所使用CPU硬件的結(jié)構(gòu)與性能,對(duì)程序設(shè)計(jì)人員有較高的要求。為此,又出現(xiàn)了對(duì)單片機(jī)進(jìn)行編程的高級(jí)語(yǔ)言,如PL\M,C等。 Keil C51是美國(guó)Keil Software公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過(guò)匯編語(yǔ)言后再使用C來(lái)開(kāi)發(fā),體會(huì)更加深刻。 Keil C51軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。經(jīng)分析綜合得知,本課題采用C語(yǔ)言進(jìn)行編程。 系統(tǒng)軟件設(shè)計(jì)的一般原則 單片機(jī)應(yīng)用軟件系統(tǒng)設(shè)計(jì)包括功能模塊劃分、程序流程確立、模塊接口設(shè)計(jì)以及程序代碼編寫(xiě)。我們依據(jù)系統(tǒng)的功能要求,將整體軟件系統(tǒng)分割成若干個(gè)獨(dú)立的程序模塊。這些程序模塊可以是幾條語(yǔ)句的集合、功能函數(shù)或程序文件。隨后,根據(jù)個(gè)程序模塊的實(shí)現(xiàn)功能寫(xiě)出流程,一般需要寫(xiě)出具體的實(shí)現(xiàn)功能描述。程序代碼通常采用匯編語(yǔ)言或高級(jí)語(yǔ)言(C語(yǔ)言)編寫(xiě)。本課題采用C語(yǔ)言編程,在此必須注意以下問(wèn)題:(1)提高程序代碼效率必須熟悉當(dāng)前使用的C語(yǔ)言編譯器,試驗(yàn)每條C語(yǔ)言編譯以后對(duì)應(yīng)的匯編語(yǔ)言的語(yǔ)句行數(shù),這樣就可以很明確的知道代碼效率。(2)減少程序錯(cuò)誤我們?cè)诰帉?xiě)程序時(shí),要注重考慮如下方面。[1]物理參數(shù) [2]資源參數(shù) [3]應(yīng)用參數(shù) [4]過(guò)程參數(shù)(3)單片機(jī)的抗干擾性防止干擾最有效的方法是去除干擾源、隔離干擾路徑。單片機(jī)干擾最常見(jiàn)的現(xiàn)象就是復(fù)位,導(dǎo)致程序運(yùn)行異常。設(shè)計(jì)系統(tǒng)是一般需要添加一個(gè)“看門(mén)狗”監(jiān)控模塊,在系統(tǒng)出現(xiàn)不可逆轉(zhuǎn)的干擾時(shí),監(jiān)控模塊將重啟系統(tǒng),并從斷點(diǎn)處繼續(xù)執(zhí)行。(4)系統(tǒng)的可靠性[1]要測(cè)試單片機(jī)軟件功能的完善性。[2]上電、掉電測(cè)試。[3]系統(tǒng)耗損測(cè)試。 系統(tǒng)軟件設(shè)計(jì)的一般步驟系統(tǒng)進(jìn)行軟件設(shè)計(jì)時(shí),先要對(duì)本課題硬件有一個(gè)熟練的掌握,知道系統(tǒng)的組成,數(shù)據(jù)的傳輸,信號(hào)是如何被控制的,以及信號(hào)的顯示。然后進(jìn)行軟件設(shè)計(jì)時(shí),先搞清楚各個(gè)部分的子程序及他們的流程圖,然后進(jìn)行各子程序的編寫(xiě),最后通過(guò)主函數(shù)把各子程序連接起來(lái)實(shí)現(xiàn)設(shè)計(jì)。 三路測(cè)溫軟件實(shí)現(xiàn)系統(tǒng)軟件設(shè)計(jì)主要包括系統(tǒng)程序和流程圖,根據(jù)整個(gè)系統(tǒng)的要求,完成溫度的測(cè)量與控制必須經(jīng)過(guò)以下幾個(gè)步驟:?jiǎn)纹瑱C(jī)接受傳感器的溫度信號(hào),并通過(guò)MAX7219驅(qū)動(dòng)顯示出來(lái),單片機(jī)掃描鍵盤(pán),接受控制信號(hào),并將溫度顯示出來(lái),若溫度不在范圍內(nèi)則發(fā)出報(bào)警。開(kāi)始系統(tǒng)初始化測(cè)溫程序初始化如果按鍵一按下如果按鍵二按下 如果按鍵三按下如果按鍵四按下調(diào)用讀溫度1子程序調(diào)用讀溫度2子程序調(diào)用讀溫度3子程序顯示1路溫度顯示2路溫度顯示3路溫度顯示全部溫度返回返回返回返回 主程序流程圖 初始化子程序 DS18B20初始化程序嚴(yán)格按照DS18B20的時(shí)序來(lái)編寫(xiě),微處理器開(kāi)始發(fā)送一個(gè)復(fù)位脈沖(在480us~960us之間),接著數(shù)據(jù)線釋放拉到高電平1。 初始化子程序流程圖 溫度轉(zhuǎn)換由三片DS18B20是串接在不同的I/O,讀取溫度的子是程序獨(dú)立分開(kāi),但工作原理一樣。以單個(gè)為例,首先調(diào)用DS18B20初始化子程序?qū)λM(jìn)行初始化,然后發(fā)跳過(guò)匹配ROM命令,接著發(fā)溫度轉(zhuǎn)換命令完成溫度轉(zhuǎn)換,該命令主要是完成溫度的A/D轉(zhuǎn)換,讀取溫度程序是在轉(zhuǎn)換結(jié)束后才能讀取當(dāng)前溫度值。其它兩片工作原理一樣。 溫度轉(zhuǎn)換流程圖 DS18B20寫(xiě)子程序 當(dāng)主機(jī)把數(shù)據(jù)線從高邏輯電平拉低至邏輯電平時(shí)產(chǎn)生寫(xiě)時(shí)間片,有兩種類型的寫(xiě)時(shí)間片,寫(xiě)1時(shí)間片和寫(xiě)0時(shí)間片,所有時(shí)間片必須有最短為60微妙的持續(xù)期。在各寫(xiě)周期之間必須有最短為1us的恢復(fù)時(shí)間。在I/O口線高電平變?yōu)榈碗娖胶驞S18B20在15us到60us之間對(duì)I/O采樣,如果是高電平則寫(xiě)1,低電平寫(xiě)0。數(shù)據(jù)線DQ拉低從低位到高位發(fā)送數(shù)據(jù)一個(gè)字節(jié)發(fā)送完成?結(jié)束開(kāi)始 寫(xiě)子程序流程圖 DS18B20讀子程序從DS18B20讀數(shù)據(jù)時(shí)單片機(jī)產(chǎn)生讀時(shí)間片,當(dāng)主機(jī)把數(shù)據(jù)線從邏輯高電平拉到低電平時(shí)產(chǎn)生讀時(shí)間片,數(shù)據(jù)線必須保持在邏輯電平至少1微妙,來(lái)自DS18B20的輸出數(shù)據(jù)在讀時(shí)間段下降沿之后15微妙有效,因此為了讀出從讀時(shí)間段開(kāi)始算起15微妙的狀態(tài)單片機(jī)必須停止把I/O引腳驅(qū)動(dòng)拉低至低電平,在讀時(shí)間段結(jié)束時(shí)I/O引腳經(jīng)過(guò)外部的上拉電阻拉回至高電平,所有讀時(shí)間段的最短持續(xù)周期限為60微妙,各個(gè)讀時(shí)間片之間必須有最短為1微妙的恢復(fù)時(shí)間,把主機(jī)采樣時(shí)間定在15微妙期間的末尾系統(tǒng)時(shí)序關(guān)系就有最大的余地。單片機(jī)從DS18B20中讀取數(shù)據(jù)是一位一位的讀的,沒(méi)讀完一位的數(shù)據(jù)到單片機(jī)的特定單元A,A左移一次與B向或,直至DS18B20的數(shù)據(jù)全部移到B中,到此單片機(jī)就對(duì)DS18B20完成了讀字節(jié)操作。開(kāi)始設(shè)置i=8循環(huán)八次調(diào)用讀DS18B20dat右移8位與a按位或(把8位的b和a合并送給兩字節(jié)的Tvalue)結(jié)束 讀子程序流程圖 按鍵處理子程序 這一模塊子程序定義了四個(gè)按鍵標(biāo)志量,當(dāng)檢測(cè)到對(duì)應(yīng)的按鍵被按下時(shí),標(biāo)志量1被程序置1,在主程序中,根據(jù)標(biāo)志量的狀態(tài)轉(zhuǎn)向不同的處理子程序。開(kāi)始標(biāo)志量flag1,flag2,flag3,flag4全為0按鍵一按下?Flag1=1按鍵二按下Flag2=1按鍵三按下按鍵四按下Flag3=1Flag4=1結(jié)束 按鍵處理子程序流程圖第五章 誤差分析 誤差產(chǎn)生當(dāng)采用寄生電源的工作方式時(shí)(電源從IO口上獲得),如果溫度高于100℃,則將產(chǎn)生很大的誤差,因?yàn)榇藭r(shí)器件中較大的漏電流會(huì)使總線不能可靠檢測(cè)高低電平,從而導(dǎo)致數(shù)據(jù)傳輸誤碼率的增大。 V 無(wú)需備用電源,測(cè)量溫度范圍為55℃至+125℃ ,華氏相當(dāng)于是67℉到257℉華氏度 10 ℃至+85℃。在此范圍內(nèi)精度為177?!妗T谶h(yuǎn)距離有線測(cè)溫傳輸過(guò)程中,當(dāng)采用普通信號(hào)電纜傳輸長(zhǎng)度超過(guò)50m時(shí),讀取的測(cè)溫?cái)?shù)據(jù)將發(fā)生錯(cuò)誤使得溫度不能準(zhǔn)確測(cè)量。 降低誤差方法 為了使得設(shè)計(jì)能夠得到準(zhǔn)確實(shí)時(shí)溫度,DS18B20采用了外部電源供電方式,在外部電源供電方式下,DS18B20工作電源由VDD引腳接入,此時(shí)I/O線不需要強(qiáng)上拉,不存在電源電流不足的問(wèn)題,可以保證 轉(zhuǎn)換精度,同時(shí)在總線上理論可以掛接任意多個(gè)DS18B20傳感器,組成多點(diǎn)測(cè)溫系統(tǒng)。外接電源方式下,可以充分發(fā)揮DS18B20寬電源電壓范圍的優(yōu)點(diǎn),即使電源電壓VCC降到3V時(shí),依然能夠保證溫度量精度。 在傳輸方面,當(dāng)將總線電纜改為雙絞線帶屏蔽電纜時(shí),正常通訊距離可達(dá)150m,當(dāng)采用每米絞合次數(shù)更多的雙絞線帶屏蔽電纜時(shí),正常通訊距離進(jìn)一步加長(zhǎng),測(cè)溫電纜線建議采用屏蔽4芯雙絞線。 掛接DS18B20個(gè)數(shù)論證 在DS1820的有關(guān)資料中均未提及單總線上所掛DS18B20數(shù)量問(wèn)題,容易使人誤認(rèn)為可以掛任意多個(gè) DS1820,在實(shí)際應(yīng)用中并非如此。當(dāng)單總線上所掛DS1820超過(guò)8個(gè)時(shí),就需要解決微處理器的總線驅(qū)動(dòng)問(wèn)題,這一點(diǎn)在進(jìn)行多點(diǎn)測(cè)溫系統(tǒng)設(shè)計(jì)時(shí) 要加以注意。本設(shè)計(jì)采用的是每個(gè)I/O口掛接一個(gè)DS18B20傳感器的方案,由于STC89c52用戶應(yīng)用程序空間為8K字節(jié),根據(jù)編寫(xiě)的程序大小,掛接三個(gè)DS18B20,程序?yàn)?K字節(jié),故最多可接12個(gè)。第六章 調(diào)試與小結(jié)本設(shè)計(jì)Keil C51對(duì)單片機(jī)多點(diǎn)溫度測(cè)量系統(tǒng)進(jìn)行了軟件編寫(xiě)。在編寫(xiě)過(guò)程中,必須嚴(yán)格按照DS18B20的工作時(shí)序嚴(yán)格編寫(xiě),否則溫度無(wú)法準(zhǔn)確測(cè)量。硬件電路的設(shè)計(jì)是通過(guò)Protel 99se軟件來(lái)來(lái)設(shè)計(jì)的PCB。設(shè)計(jì)之始,由于對(duì)軟件的不熟練和PCB布線規(guī)則的不熟悉,導(dǎo)致第一版的設(shè)計(jì)失敗,主要原因是布線寬度太窄導(dǎo)致刻板時(shí)線被刻斷,焊盤(pán)設(shè)計(jì)太小,焊接時(shí)元件焊接不牢固。在兩面布線時(shí),頂層布線只放置一個(gè)過(guò)孔到頂層走線直接布線到頂層焊盤(pán)導(dǎo)致無(wú)法焊接。在第一版設(shè)計(jì)階段由于粗心大意,把P0口上拉排阻的接電源錯(cuò)接成接地導(dǎo)致LCD1602不能顯示,通過(guò)原理圖對(duì)比和電路的排查最終找出和解決問(wèn)題。經(jīng)過(guò)改善后,第二版PCB制作成功。本課題通過(guò)分析對(duì)比各種不同的溫度傳感器,選定DS18B20,這種單總線數(shù)字溫度傳感器的通信方式比較獨(dú)特,軟件編寫(xiě)要求的比較新穎,特點(diǎn)突出。用其構(gòu)建的系統(tǒng)有很多優(yōu)點(diǎn):硬件連線簡(jiǎn)單,省去了使
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1