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

正文內(nèi)容

〈基于單片機的水溫控制系統(tǒng)設(shè)計〉(編輯修改稿)

2025-01-12 10:26 本頁面
 

【文章內(nèi)容簡介】 時序?qū)τ贒S18B20的讀時序分為讀0時序和讀1時序兩個過程。對于DS18B20的讀時隙是從主機把單總線拉低之后,在15秒之內(nèi)就得釋放單總線,以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。DS18B20在完成一個讀時序過程,至少需要60us才能完成。DS18B20的讀時序圖如圖46所示。圖46 DS18B20的讀時序③ DS18B20的寫時序?qū)τ贒S18B20的寫時序仍然分為寫0時序和寫1時序兩個過程。對于DS18B20寫0時序和寫1時序的要求不同,當要寫0時序時,單總線要被拉低至少60us,保證DS18B20能夠在15us到45us之間能夠正確地采樣IO總線上的“0”電平,當要寫1時序時,單總線被拉低之后,在15us之內(nèi)就得釋放單總線。如圖47所示。圖47 DS18B20的寫時序圖(3)DS18B20的供電方式在圖48中示出了DS18B20的寄生電源電路。當DQ或VDD引腳為高電平時,這個電路便“取”的電源。寄生電路的優(yōu)點是雙重的,遠程溫度控制監(jiān)測無需本地電源,缺少正常電源條件下也可以讀ROM。為了使DS18B20能完成準確的溫度變換,當溫度變換發(fā)生時,DQ線上必須提供足夠的功率。有兩種方法確保 DS18B20 在其有效變換期內(nèi)得到足夠的電源電流。第一種方法是發(fā)生溫度變換時,在 DQ 線上提供一強的上拉,這期間單總線上不能有其它的動作發(fā)生。如圖38 所示,通過使用一個 MOSFET 把 DQ 線直接接到電源可實現(xiàn)這一點,這時DS18B20 工作在寄生電源工作方式,在該方式下 VDD 腳必須連接到地。 圖48 DS18B20供電方式1另一種方法是 DS18B20 工作在外部電源工作方式,如圖49 所示。這種方法的優(yōu)點是在 DQ 線上不要求強的上拉,總線上主機不需要連接其它的外圍器件便在溫度變換期間使總線保持高電平,這樣也允許在變換期間其它數(shù)據(jù)在單總線上傳送。此外,在單總線上可以并聯(lián)多個 DS18B20,而且如果它們?nèi)坎捎猛獠侩娫垂ぷ鞣绞?,那么通過發(fā)出相應(yīng)的命令便可以同時完成溫度變換。 圖49 DS18B20供電方式2(4)DS18B20設(shè)計中應(yīng)注意的幾個問題DS18B20具有測溫系統(tǒng)簡單、測溫精度高、連接方便、占用接口線少等優(yōu)點,但在實際應(yīng)用中也應(yīng)注意以下幾方面的問題:較小的硬件開銷需要相對復(fù)雜的軟件進行補償,由于DS18B20 與微處理器間采用串行數(shù)據(jù)傳送。因此, 在對DS18B20 進行讀寫編程時,必須嚴格的保證讀寫時序,否則將無法讀取測溫結(jié)果。在DS18B20 有關(guān)資料中均未提及1Wire上所掛DS18B20數(shù)量問題,容易使人誤認為可以掛任意多個DS18B20,在實際應(yīng)用中并非如此。當1Wire上所掛DS18B20超過8個時,就需要考慮微處理器的總線驅(qū)動問題,這一點在進行多點測溫系統(tǒng)設(shè)計時要加以注意。連接DS18B20的總線電纜是有長度限制的。實際應(yīng)用中,測溫電纜線建議采用屏蔽4芯雙絞線,其中一對線接地線與信號線,另一組接VCC 和地線,屏蔽層在源端單點接地。本文以廣泛應(yīng)用的數(shù)字溫度傳感器DS18B20為例,說明了1Wire總線的操作過程和基本原理。事實上,基于1Wire總線的產(chǎn)品還有很多種,如1Wire總線的E2PROM、實時時鐘、電子標簽等。他們都具有節(jié)省I/O資源、結(jié)構(gòu)簡單、開發(fā)快捷、成本低廉、便于總線擴展等優(yōu)點,因此有廣闊的應(yīng)用空間,具有較大的推廣價值。本設(shè)計將溫度傳感器DS18B20與單片機TXD引腳相連,讀取溫度傳感器的數(shù)值。DS18B20與單片機連接圖如圖所示410所示。VCCEA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10U2AT80C51DQ2GND1VCC3U3DS1820VCCR15圖410 DS18B20與單片機連接圖 電源電路采用L7805穩(wěn)壓塊,輸出為5V。電子組件要正常運作都需要電源電壓供電,一般常用的電源電壓為+5V或+12V,因為數(shù)字IC (Ingegrated Circuit:集成電路)所供給的電壓為+5V,而CMOS IC所供給的電壓為+12V,7805是一個穩(wěn)壓塊。7805穩(wěn)壓管把高電壓轉(zhuǎn)換到低電壓,7805穩(wěn)壓管具有保護單片機的作用。L7805輸出端要并聯(lián)上一個電解電容,濾除交流電干擾,防止損壞單片機系統(tǒng)。本設(shè)計采用兩種供電方式,一種為DC7~18V直流穩(wěn)壓電源變換成5V的直流電;另一種為四節(jié)干電池共6V經(jīng)二極管加壓后得到將近5V的直流電源,電源配以開關(guān)和指示燈,以方便使用。黃色發(fā)光二極管表示保溫,紅色的表示加熱狀態(tài)。圖411 系統(tǒng)電源設(shè)計圖 報警電路同時可以在系統(tǒng)里設(shè)定溫度上限值,由于加熱停止后,加熱管還有余熱當采集到的外界溫度高于當前所設(shè)定溫度上限值時,程序就會進入報警子程序,觸發(fā)蜂鳴器進行報警。報警電路原理圖如圖所示。圖412 報警電路圖圖中的三極管8550的作用是增加驅(qū)動能力,比9012的驅(qū)動電流還大些,因此選用8550。當程序進入報警子程序時,就會觸發(fā)蜂鳴器,為了使報警聲音效果更好,發(fā)出報警嘟嚕聲音。 加熱管控制電路繼電器是常用的輸出控制接口,可以做交直流信號的輸出切換。它具有控制系統(tǒng)(又稱輸入回路)和被控制系統(tǒng)(又稱輸出回路),通常應(yīng)用于自動控制電路中,它實際上是用較小的電流去控制較大電流的一種“自動開關(guān)”。故在電路中起著自動調(diào)節(jié)、安全保護、轉(zhuǎn)換電路等作用。繼電器控制接點操作說明如下:●COM:Common,共同點。輸出控制接點的共同接點?!馧C:Normal Close常閉點。以Com為共同點,NC與COM在平時是呈導通狀態(tài)的?!馧O:Normal Open常開點。NO與COM在平時是呈開路狀態(tài)的,當繼電器動作時,NO與COM導通,NC與COM則呈開路狀態(tài)。,繼電器不導通,反之當輸出低電平時,繼電器導通,這樣就激活了連接回路。圖413 單片機控制繼電器5 軟件系統(tǒng)設(shè)計本系統(tǒng)采用的是循環(huán)查詢方式,來顯示和控制溫度的。主要包括四段程序的設(shè)計:DS18B20讀溫度程序,數(shù)碼管的驅(qū)動程序,鍵盤掃描程序,以及抱經(jīng)處理程序。(其程序編程語言詳見附錄I)圖 51 主程序流程圖 各個模塊的流程圖 讀取溫度DS18B20模塊的流程由于DS18B20采用的是一根數(shù)據(jù)線實現(xiàn)數(shù)據(jù)的雙向傳輸,而對AT89S52單片機來說,硬件上并不支持單總線協(xié)議,因此,我們必須采用軟件的方法來模擬單總線的協(xié)議時序來完成對DS18B20芯片的訪問。DS18B20單線通信功能是分時完成的,它有嚴格的時隙概念。因此系統(tǒng)對DS18B20的各種操作必須按協(xié)議進行。操作協(xié)議為:初始化DS18B20(發(fā)復(fù)位脈沖)→發(fā)ROM功能命令→發(fā)存儲器操作命令→處理數(shù)據(jù)DS18B20雖然具有測溫系統(tǒng)簡單、測溫精度高、連接方便、占用口線少等優(yōu)點, DS18B20必須首先調(diào)用啟動溫度轉(zhuǎn)換函數(shù),根據(jù)數(shù)據(jù)手冊上對應(yīng)轉(zhuǎn)換時間來超作,如為12位轉(zhuǎn)換,則應(yīng)該是最大750mS,另外在對DS18B20超作時,時序要求非常嚴格,因此最好禁止系統(tǒng)中斷。由于DS18B20是在一根I/O線上讀寫數(shù)據(jù),因此,對讀寫的數(shù)據(jù)位有著嚴格的時序要求。DS18B20有嚴格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號的時序:初始化時序、讀時序、寫時序。所有時序都是將主機作為主設(shè)備,而每一次命令和數(shù)據(jù)的傳輸都是從主機主動啟動寫時序開始,如果要求單總線器件回送數(shù)據(jù),在進行寫命令后,主機需啟動讀時序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都是低位在先。DS18B20的讀時序:(1)對于DS18B20的讀時序分為讀0時序和讀1時序兩個過程。 (2)對于DS18B20的讀時隙是從主機把單總線拉低之后,在15秒之內(nèi)就得釋放單總線,以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。DS18B20在完成一個讀時序過程,至少需要60us才能完成。DS18B20的寫時序:(1)對于DS18B20的寫時序仍然分為寫0時序和寫1時序兩個過程。 (2)對于DS18B20寫0時序和寫1時序的要求不同,當要寫0時序時,單總線要被拉低至少60us,保證DS18B20能夠在15us到45us之間能夠正確地采樣IO總線上的“0”電平,當要寫1時序時,單總線被拉低之后,在15us之內(nèi)就得釋放單總線。系統(tǒng)程序設(shè)計主要包括三部分:讀出溫度子程序、溫度轉(zhuǎn)換命令子程序、顯示溫度子程序。圖52讀取溫度DS18B20模塊的流程圖程序代碼為:GET_TEMPER: SETB DQ 。讀出轉(zhuǎn)換后的溫度值 LCALL INIT_1820 。先復(fù)位DS18B20 JB FLAG1,TSS2 RET 。判斷DS1820是否存在?若DS18B20不存在則返回TSS2: MOV A,0CCH 。DS18B20已經(jīng)被檢測到!!!!!!!!!!!!!!!跳過ROM匹配 LCALL WRITE_1820 MOV A,44H 。發(fā)出溫度轉(zhuǎn)換命令 LCALL WRITE_1820LCALL DISPLAY 。這里通過調(diào)用顯示子程序?qū)崿F(xiàn)延時一段時間,等待AD轉(zhuǎn)換結(jié)束,12位的話750微秒 LCALL INIT_1820 。準備讀溫度前先復(fù)位 MOV A,0CCH 。跳過ROM匹配 LCALL WRITE_1820 MOV A,0BEH 。發(fā)出讀溫度命令 LCALL WRITE_1820 LCALL READ_18200 。將讀出的溫度數(shù)據(jù)保存到35H/36H RET 鍵盤掃描處理流程此流程為鍵盤掃描處理,CPU通過檢測各數(shù)據(jù)線的狀態(tài)(0或1)就能知道是否有按鍵閉合以及哪
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1