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

正文內(nèi)容

基于單片機的汽車水溫表設計(編輯修改稿)

2025-07-24 19:36 本頁面
 

【文章內(nèi)容簡介】 方式,那么通過發(fā)出相應的命令便可以同時完成溫度變換。 圖47 DS18B20供電方式2(4)DS18B20設計中應注意的幾個問題DS18B20具有測溫系統(tǒng)簡單、測溫精度高、連接方便、占用接口線少等優(yōu)點,但在實際應用中也應注意以下幾方面的問題:較小的硬件開銷需要相對復雜的軟件進行補償,由于DS18B20 與微處理器間采用串行數(shù)據(jù)傳送。因此, 在對DS18B20 進行讀寫編程時,必須嚴格的保證讀寫時序,否則將無法讀取測溫結(jié)果。在DS18B20 有關(guān)資料中均未提及1Wire上所掛DS18B20數(shù)量問題,容易使人誤認為可以掛任意多個DS18B20,在實際應用中并非如此。當1Wire上所掛DS18B20超過8個時,就需要考慮微處理器的總線驅(qū)動問題,這一點在進行多點測溫系統(tǒng)設計時要加以注意。連接DS18B20的總線電纜是有長度限制的。實際應用中,測溫電纜線建議采用屏蔽4芯雙絞線,其中一對線接地線與信號線,另一組接VCC 和地線,屏蔽層在源端單點接地。本文以廣泛應用的數(shù)字溫度傳感器DS18B20為例,說明了1Wire總線的操作過程和基本原理。事實上,基于1Wire總線的產(chǎn)品還有很多種,如1Wire總線的E2PROM、實時時鐘、電子標簽等。他們都具有節(jié)省I/O資源、結(jié)構(gòu)簡單、開發(fā)快捷、成本低廉、便于總線擴展等優(yōu)點,因此有廣闊的應用空間,具有較大的推廣價值。本設計將溫度傳感器DS18B20與單片機TXD引腳相連,讀取溫度傳感器的數(shù)值。DS18B20與單片機連接圖如圖所示48所示。圖48 DS18B20與單片機連接圖5 水溫表的軟件設計本系統(tǒng)采用的是循環(huán)查詢方式,來顯示和控制溫度的。主要包括四段程序的設計:DS18B20讀溫度程序,數(shù)碼管的驅(qū)動程序,鍵盤掃描程序,以及抱經(jīng)處理程序。初始化開始讀D18B20溫度轉(zhuǎn)換顯示溫度返回圖 51 主程序流程圖由于DS18B20采用的是一根數(shù)據(jù)線實現(xiàn)數(shù)據(jù)的雙向傳輸,而對AT89S52單片機來說,硬件上并不支持單總線協(xié)議,因此,我們必須采用軟件的方法來模擬單總線的協(xié)議時序來完成對DS18B20芯片的訪問。DS18B20單線通信功能是分時完成的,它有嚴格的時隙概念。因此系統(tǒng)對DS18B20的各種操作必須按協(xié)議進行。操作協(xié)議為:初始化DS18B20(發(fā)復位脈沖)→發(fā)ROM功能命令→發(fā)存儲器操作命令→處理數(shù)據(jù)DS18B20雖然具有測溫系統(tǒng)簡單、測溫精度高、連接方便、占用口線少等優(yōu)點, DS18B20必須首先調(diào)用啟動溫度轉(zhuǎn)換函數(shù),根據(jù)數(shù)據(jù)手冊上對應轉(zhuǎn)換時間來超作,如為12位轉(zhuǎn)換,則應該是最大750mS,另外在對DS18B20超作時,時序要求非常嚴格,因此最好禁止系統(tǒng)中斷。由于DS18B20是在一根I/O線上讀寫數(shù)據(jù),因此,對讀寫的數(shù)據(jù)位有著嚴格的時序要求。DS18B20有嚴格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號的時序:初始化時序、讀時序、寫時序。所有時序都是將主機作為主設備,而每一次命令和數(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)程序設計主要包括三部分:讀出溫度子程序、溫度轉(zhuǎn)換命令子程序、顯示溫度子程序。圖52讀取溫度DS18B20模塊的流程圖程序代碼為:unsigned int ReadTemperature(void){unsigned char a=0。unsigned int b=0。unsigned int t=0。Init_DS18B20()。WriteOneChar(0xCC)。 // 跳過讀序號列號的操作WriteOneChar(0x44)。 // 啟動溫度轉(zhuǎn)換DelayMs(10)。Init_DS18B20()。WriteOneChar(0xCC)。 //跳過讀序號列號的操作 WriteOneChar(0xBE)。 //讀取溫度寄存器等a=ReadOneChar()。 //低位b=ReadOneChar()。 //高位b=8。t=a+b。return(t)。} 6 水溫表的系統(tǒng)調(diào)試 硬件電路調(diào)試仔細檢查所接電路,按照硬件原理圖接線,理論上是能實現(xiàn)的,如果數(shù)碼管不顯示,則應該檢查線路是否正確,或是因為單片機沒有工作,還有集電極和發(fā)射極是否接對。如果只顯示兩個八,則可能是DS18B20沒有接正確,檢查上拉電路是否接好。如果能注意這些問題,電路基本不會出錯。 軟件調(diào)試如果硬件電路檢查后,沒有問題卻實現(xiàn)不了設計要求,則可能是軟件編程的問題,首先應檢查初始化程序,然后是讀溫度程序,顯示程序,對這些分段程序,要注意邏輯順序,調(diào)用關(guān)系,除此之外,還要熟悉各語句的用法,以免出錯。還有一個容易忽略的問題就是,源程序生成的代碼是否燒入到單片機中,如果這一過程出錯,那不能實現(xiàn)設計要求也是情理之中的事。硬件與軟件調(diào)試相結(jié)合,仔細檢查各個模塊的設計,舊能順利完成任務,實現(xiàn)設計要求,在調(diào)試過程中必須認真耐心,不能有一點馬虎,否則遺漏一個小的問題就會導致整個設計的失敗。 總 結(jié) 通過本次的設計,使我們不僅對單片機這門課程有了更深刻的認識,懂得了如何運用課本知識結(jié)合實際來完成定時器的顯示和編程方法以及數(shù)碼顯示電路的驅(qū)動方法,使我們能夠很快的適應現(xiàn)代控制技術(shù)發(fā)展的需求,同時也提高了我們的思維能力和實際操作能力,為以后更好的走上工作崗位奠定了堅實的基礎。 另外,這次的設計還讓我更進一步的認識了關(guān)于AT89S51等芯片的引腳功能以及使用方法,使我學會了應用不同的芯片來配合完成整個設計的操作。 在做硬件電路的這段時間里,從思考設計到對電路的調(diào)試經(jīng)過了一些困難。同樣在對軟件進行設計時,也可為一路坎坷。但是通過對軟硬件不斷撞墻,不斷思考解決問
點擊復制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1