




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
汽車水溫表設(shè)計基于單片機(jī)的汽車水溫表設(shè)計作者張旭覃慶環(huán)摘要隨著汽車工業(yè)的迅速發(fā)展和人們生活水平及需要的不斷提高,越來越多的汽車走入了大眾的生活,而在汽車的發(fā)展過程中對汽車水溫表的設(shè)計和實現(xiàn)技術(shù)要求又尤為重要本論文是主要介紹基于51單片機(jī)汽車水溫表的設(shè)計思路、流程及應(yīng)用;論文結(jié)合且參考各類有關(guān)汽車水溫表書籍,主要闡述汽車水溫表的總體原理設(shè)計、硬件設(shè)計和軟件設(shè)計,以及水溫表顯示調(diào)試方法。關(guān)鍵詞:單片機(jī),汽車,DS18B20,水溫表;目錄1前言.............................................................-0-2汽車水溫表簡介......................................................-1-2.1汽車水溫表概述.................................................-2-2.2常見汽車水溫表的工作原理.......................................-2-3水溫表總體原理及設(shè)計................................................-4-3.1硬件的總體設(shè)計.................................................-4-3.1.1硬件系統(tǒng)子模塊...........................................-4-3.2軟件的總體設(shè)計.................................................-4-4水溫表的硬件設(shè)計.....................................................-5-4.1單片機(jī)最小系統(tǒng)電路...............................................-5-4.2數(shù)碼管顯示電路....................................................-5-4.3溫度采集電路...................................................-6-5水溫表的軟件設(shè)計....................................................-10-5.1主流程圖.......................................................-11-5.2讀取溫度DS18B20模塊的流程....................................-11-6水溫表的調(diào)試......................................................-13-6.1硬件電路調(diào)試.................................................-13-6.2軟件調(diào)試.....................................................-13-7總結(jié)..............................................................-14-8參考文獻(xiàn)...........................................................-15-附錄壹水溫表程序前言從第壹輛汽車誕生到當(dāng)下已有壹百多年的歷史,隨著社會和科學(xué)技術(shù)的發(fā)展,如今汽車已經(jīng)走進(jìn)了尋常百姓家,成為人們必備的交通工具之壹;而且我國經(jīng)濟(jì)發(fā)展水平和汽車產(chǎn)業(yè)發(fā)展水平有著密切的關(guān)系,汽車產(chǎn)業(yè)是衡量我國經(jīng)濟(jì)發(fā)展水平的重要指標(biāo),汽車工業(yè)在我國已經(jīng)X公司廠商都運用大量的電子技術(shù)和計算機(jī)技術(shù),從而改善汽車經(jīng)濟(jì)性、安全性和舒適性,且且提高了汽車技術(shù)性能。然而汽車水溫表測量準(zhǔn)確、顯示正確,對汽車發(fā)動機(jī)來說尤為重要。2汽車水溫表簡介2.1汽車水溫表概述汽車水溫表是用來指示汽車發(fā)動機(jī)冷卻水的工作溫度,且向司乘人員顯示發(fā)動機(jī)工作水溫是否工作正常。它由裝在氣缸蓋上的溫度傳感器和轉(zhuǎn)在儀表盤上的水溫表組成。2.2常見汽車水溫表的工作原理常見的汽車水溫表有電熱式、電磁式和蒸氣壓力是三類,它們和不同的感應(yīng)器相配合,進(jìn)行水溫測定。2.2.1電熱式水溫表工作原理水溫降低時,觸電壓力增大,平均電流增大,水溫表的雙金屬片彎曲怎大,指針指向低溫。如圖2-1所示;圖2-1電熱式水溫表2.2.2電磁式水溫表工作原理電磁式水溫表內(nèi)有倆個鐵芯式線圈,在線圈交叉位置上,裝有小磁片、配重和指針等組成的1000L2和大電阻串聯(lián),L132150L2L1相對減少,磁場的綜合作用是指針向高溫100℃刻度移動。如圖2-2所示;圖2-2電磁式水溫表3.1.1蒸氣壓力式水溫表工作原理當(dāng)水溫表的感溫包受熱時,充灌在其中的介質(zhì)(氯乙烷或乙醚等)受熱蒸發(fā)(乙醚液體在大氣壓力下的沸點是34管的自由端和連桿的壹頭銷釘連接,連桿的另壹端和扇形齒輪固定。傳動機(jī)構(gòu)中,扇形齒輪和中心齒輪嚙合傳動,且使裝在中心齒輪軸上的指針在刻度盤上指出被測介質(zhì)溫度值。感溫包內(nèi)液體體積受感溫包和彈簧管相對位置影響。如圖2-3所示;圖2-3蒸氣壓力式水溫表3水溫表總體原理及設(shè)計3.1硬件總體設(shè)計設(shè)計且制作壹個基于單片機(jī)的汽車水溫表的電路,其結(jié)構(gòu)框圖如圖2-1:圖3-1系統(tǒng)結(jié)構(gòu)框圖3.1.1硬件系統(tǒng)子模塊(1)單片機(jī)最小系統(tǒng)電路部分(2)溫度采集電路部分(3)數(shù)碼管溫度顯示電路部分3.2軟件總體設(shè)計良好的設(shè)計方案能夠減少軟件設(shè)計的工作量,提高軟件的通用性,擴(kuò)展性和可讀性。本系統(tǒng)的設(shè)計方案和步驟如下:(1)根據(jù)需求按照系統(tǒng)的功能要求,逐級劃分模塊。(2)編制和調(diào)試。(3)確定軟件開發(fā)環(huán)境,選擇設(shè)計語言,完成模塊功能設(shè)計,且分別調(diào)試通過。(4)按照開發(fā)式軟件設(shè)計結(jié)構(gòu),將各模塊有機(jī)的結(jié)合起來,即成壹個較完善的系統(tǒng)。首先接通電源系統(tǒng)開始工作,系統(tǒng)開始工作后,通過溫度傳感器開始實時檢測,調(diào)用顯示子程序顯示檢測結(jié)果。4水溫表硬件設(shè)4.1單片機(jī)最小系統(tǒng)電路因為89S52單片機(jī)內(nèi)部自帶8K的ROM和256字節(jié)的RAM,因此不必構(gòu)建單片機(jī)系統(tǒng)的擴(kuò)展電路。如圖3-1,單片機(jī)最小系統(tǒng)有復(fù)位電路和振蕩器電路。值得注意的壹點是單片機(jī)的31腳必須接高電平,否則系統(tǒng)將不能運行。因為該腳不接時為低電平,單片機(jī)將直接VCC電解電容,濾除交流干擾,增加系統(tǒng)抗干擾能力。圖4-1單片機(jī)最小系統(tǒng)圖4.2數(shù)碼管顯示電路(1)數(shù)碼管顯示說明各個數(shù)碼管的段碼都是單片機(jī)的數(shù)據(jù)口輸出,即各個數(shù)碼管輸入的段碼都是壹樣的,為了使其分別顯示不同的數(shù)字,可采用動態(tài)顯示的方式,即先只讓最低位顯示0(含點),經(jīng)過壹段延時,再只讓次低位顯示1,如此類推。由視覺暫留,只要我們的延時時間足夠短,就能夠使得數(shù)碼的顯示見起來非常的穩(wěn)定清楚,過程如表3-1。表4-1數(shù)碼管編碼表段碼位碼顯示器狀態(tài)08H01H□□□□□□□0abH02H□□□□□□1□12H22Ha1H24H04HaaH04H08H10H20H40H80H□□□□□2□□□□□□3□□□□□□4□□□□□□5□□□□□□6□□□□□□7□□□□□□□本論文中使用了3候,倆個數(shù)碼管是閃爍,以提示目前處在溫度設(shè)置狀態(tài)。第三位數(shù)碼管靜態(tài)顯示符號“℃”。4.3溫度采集電路(1)DS18B20介紹Dallas最新單線數(shù)字溫度傳感器DS18B20簡介新的“壹線器件”體積更小、適用電壓更寬、更經(jīng)濟(jì)。Dallas半導(dǎo)體X公司的數(shù)字化溫度傳感器DS1820是世界上第壹片支持“壹線總線”接口的溫度傳感器。壹線總線獨特而且經(jīng)濟(jì)的特點,使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測量系統(tǒng)的構(gòu)建引入全新概念。DS18B20DS1822“壹線總線”數(shù)字化溫度傳感器同DS18B20壹樣,DS18B20”-55℃~+125-10℃~+85℃范圍內(nèi),精度為±0.5℃。DS1822的精度較差為±2℃?,F(xiàn)場溫度直接以“壹線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。其DS18B20的管腳配置和封裝結(jié)構(gòu)如圖3-4所示。圖4-2DS18B20封裝引腳定義:①DQ為數(shù)字信號輸入/輸出端;②GND為電源地;③VDD(2)DS18B20的單線(1-wirebus)系統(tǒng)單線總線結(jié)構(gòu)是DS18B20的突出特點,也是理解和編程的難點。從倆個角度來理解單線總線:第壹,單線總線只定義了壹個信號線,而且DS18B20智能程度較低(這點能夠和微控制器和SPIDS18B20和處理器之間的通信必然要通過嚴(yán)格的時序控制來完成。第二,DS18B20的輸出口是漏級開路輸出,這里給出壹個微控制器和DS18B20連接原理圖。這種設(shè)計使總線上的器件在合適的時間驅(qū)動它。顯然,總線上的器件和(wiredAND1)微控制器不能單方面控制總線狀態(tài)。之所以提出I/O口的置1操作是為了給DS18B20壹個發(fā)送數(shù)據(jù)的信號。這是壹個錯誤的觀點。如果當(dāng)前DS18b20發(fā)送0,即使微控制器I/O口置1,總線狀態(tài)仍是0;置1操作是為了是I/O口截止(cutoff2DS18B20發(fā)送0動截止。自動截止是為確保:1時,在總線操作的間隙總線處于空閑狀態(tài),即高態(tài)。2時,確保微控制器在寫1的時候DS18B20能夠正確讀入。由于DS18B20采用的是1-Wire對AT89S52單片機(jī)來說,硬件上且不支持單總線協(xié)議,因此,我們必須采用軟件的方法來模擬單總線的協(xié)議時序來完成對DS18B20芯片的訪問。DS18B20的復(fù)位時序,如圖3-5圖4-3DS18B20的復(fù)位時序圖②DS18B20的讀時序?qū)τ贒S18B20的讀時序分為讀0時序和讀1時序倆個過程。對于DS18B20的讀時隙是從主機(jī)把單總線拉低之后,在15秒之內(nèi)就得釋放單總線,以讓DS18B20DS18B2060us才能完成。DS18B20的讀時序圖如圖3-6所示。圖4-4DS18B20的讀時序③DS18B20的寫時序?qū)τ贒S18B20的寫時序仍然分為寫0時序和寫1時序倆個過程。對于DS18B20寫0時序和寫1060us,保證DS18B20能夠在15us到45us之間能夠正確地采樣IO總線上的“0”電平,當(dāng)要寫1時序時,單總線被拉低之后,在15us之內(nèi)就得釋放單總線。如圖3-7所示。圖4-5DS18B20的寫時序圖(3)DS18B20的供電方式在圖3-8中示出了DS18B20的寄生電源電路。當(dāng)DQ或VDD引腳為高電平時,這個電路便“取”的電源。寄生電路的優(yōu)點是雙重的,遠(yuǎn)程溫度控制監(jiān)測無需本地電源,缺少正常電源條件下也能夠讀ROM。為了使DS18B20能完成準(zhǔn)確的溫度變換,當(dāng)溫度變換發(fā)生時,DQ線上必須提供足夠的功率。有倆種方法確保DS18B20在其有效變換期內(nèi)得到足夠的電源電流。第壹種方法是發(fā)生溫度DQ3-8所MOSFET把DQDS18B20工作在寄生電源工作方式,在該方式下VDD引腳必須連接到地。圖4-6DS18B20供電方式1另壹種方法是DS18B203-9DQ線上不要求強的上拉,總線上主機(jī)不需要連接其它的外圍器件便在溫度變換期間使總線保持高電平,這樣也允許在變換期間其它數(shù)據(jù)在單總線上傳送。此外,在單總線上能夠且聯(lián)多個DS18B20完成溫度變換。圖4-7DS18B20供電方式2(4)DS18B20設(shè)計中應(yīng)注意的幾個問題DS18B20具有測溫系統(tǒng)簡單、測溫精度高、連接方便、占用接口線少等優(yōu)點,但在實際應(yīng)用中也應(yīng)注意以下幾方面的問題:較小的硬件開銷需要相對復(fù)雜的軟件進(jìn)行補償,由于DS18B20和微處理器間采用串行數(shù)據(jù)傳送。因此,在對DS18B20進(jìn)行讀寫編程時,必須嚴(yán)格的保證讀寫時序,否則將無法讀取測溫結(jié)果。在DS18B20有關(guān)資料中均未提及1Wire上所掛DS18B20數(shù)量問題,容易使人誤認(rèn)為能夠掛任意多個DS18B20,在實際應(yīng)用中且1Wire上所掛DS18B20超過8壹點在進(jìn)行多點測溫系統(tǒng)設(shè)計時要加以注意。連接DS18B20的總線電纜是有長度限制的。4VCC和地線,屏蔽層在源端單點接地。本文以廣泛應(yīng)用的數(shù)字溫度傳感器DS18B201Wire總線的操作過程和基本原理。事實上,基于1Wire總線的產(chǎn)品仍有很多種,如1Wire總線的E2PROM、實時時鐘、電子標(biāo)簽等。他們都具有節(jié)省I/O優(yōu)點,因此有廣闊的應(yīng)用空間,具有較大的推廣價值。本設(shè)計將溫度傳感器DS18B20和單片機(jī)TXDDS18B20和單片機(jī)連接圖如圖所示4-8所示。圖4-8DS18B20和單片機(jī)連接圖5水溫表的軟件設(shè)計DS18B20讀溫度程序,數(shù)碼管的驅(qū)動程序,鍵盤掃描程序,以及抱經(jīng)處理程序。5.1主程序流程圖開始初始化讀D18B20溫度轉(zhuǎn)換顯示溫度返回圖5-1主程序流程圖5.2讀取溫度DS18B20模塊的流程圖由于DS18B20采用的是壹根數(shù)據(jù)線實現(xiàn)數(shù)據(jù)的雙向傳輸,而對AT89S52單片機(jī)來說,硬件上且不支持單總線協(xié)議,因此,我們必須采用軟件的方法來模擬單總線的協(xié)議時序來完成對DS18B20芯片的訪問。DS18B20單線通信功能是分時完成的,它有嚴(yán)格的時隙概念。因此系統(tǒng)對DS18B20的各DS18B20(發(fā)復(fù)位脈沖)→發(fā)ROM功能命令→發(fā)存儲器操作命令→處理數(shù)據(jù)DS18B20占用口線少等優(yōu)點,DS18B2012位轉(zhuǎn)換,則應(yīng)該是最大750mS,另外在對DS18B20超作時,時序要求非常嚴(yán)格,因此最好禁止系統(tǒng)中斷。由于DS18B20是在壹根I/O線上讀寫數(shù)據(jù),因此,對讀寫的數(shù)據(jù)位有著嚴(yán)格的時序要求。DS18B20有嚴(yán)格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號的時序:初始化時序、讀時序、寫時序。所有時序都是將主機(jī)作為主設(shè)備,而每壹次命令和數(shù)據(jù)的傳輸都是從主機(jī)主動啟動寫時序開始,如果要求單總線器件回送數(shù)據(jù),在進(jìn)行寫命令后,主機(jī)需啟動讀時序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都是低位在先。DS18B20的讀時序:(1)對于DS18B20的讀時序分為讀0時序和讀1時序倆個過程。(2)對于DS18B20的讀時隙是從主機(jī)把單總線拉低之后,在15秒之內(nèi)就得釋放單總線,以讓DS18B20DS18B2060us才能完成。DS18B20的寫時序:(1)對于DS18B20的寫時序仍然分為寫0時序和寫1時序倆個過程。(2)對于DS18B20寫0時序和寫1時序的要求不同,當(dāng)要寫0時序時,單總線要被拉低至少60usDS18B20能夠在15us到45us之間能夠正確地采樣IO總線上的“0”電平,當(dāng)要寫1時序時,單總線被拉低之后,在15us之內(nèi)就得釋放單總線。系統(tǒng)程序設(shè)計主要包括三部分:讀出溫度子程序、溫度轉(zhuǎn)換命令子程序、顯示溫度子程序。圖5-2讀取溫度DS18B20模塊的流程圖程序代碼為:unsignedintReadTemperature(void){unsignedchara=0;unsignedintb=0;unsignedintt=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)試6.1硬件電路調(diào)試仔細(xì)檢查所接電路,按照硬件原理圖接線,理論上是能實現(xiàn)的,如果數(shù)碼管不顯示,則應(yīng)該檢查線路是否正確,或是因為單片機(jī)沒有工作,仍有集電極和發(fā)射極是否接對。如果只顯示倆個八,則可能是DS18B20沒有接正確,檢查上拉電路是否接好。如果能注意這些問題,電路基本不會出錯。6.2軟件調(diào)試如果硬件電路檢查后,沒有問題卻實現(xiàn)不了設(shè)計要求,則可能是軟件編程的問題,首先應(yīng)檢查初始化程序,然后是讀溫度程序,顯示程序,對這些分段程序,要注意邏輯順序,調(diào)用關(guān)系,除此之外,仍要熟悉各語句的用法,以免出錯。仍有壹個容易忽略的問題就是,源程序生成的代碼是否燒入到單片機(jī)中,如果這壹過程出錯,那不能實現(xiàn)設(shè)計要求也是情理之中的事。硬件和軟件調(diào)試相結(jié)合,仔細(xì)檢查各個模塊的設(shè)計,舊能順利完成任務(wù),實現(xiàn)設(shè)計要求,在調(diào)試過程中必須認(rèn)真耐心,不能有壹點馬虎,否則遺漏壹個小的問題就會導(dǎo)致整個設(shè)計的失敗??偨Y(jié)通過本次的設(shè)計,使我們不僅對單片機(jī)這門課程有了更深刻的認(rèn)識,懂得了如何運用課本知識結(jié)合實際來完成定時器的顯示和編程方法以及數(shù)碼顯示電路的驅(qū)動方法,使我們能夠很快的適應(yīng)現(xiàn)代控制技術(shù)發(fā)展的需求,同時也提高了我們的思維能力和實際操作能力,為以后更好的走上工作崗位奠定了堅實的基礎(chǔ)。AT89S51等芯片的引腳功能以及使用方法,使我學(xué)會了應(yīng)用不同的芯片來配合完成整個設(shè)計的操作。在做硬件電路的這段時間里,從思考設(shè)計到對電路的調(diào)試經(jīng)過了壹些困難。同樣在對軟件進(jìn)行設(shè)計時,也可為壹路坎坷。可是通過對軟硬件不斷撞墻,不斷思考解決問題的過程中,我學(xué)會了很多東西,同時對單片機(jī)也有了更深的認(rèn)識。在做設(shè)計的時候,很需要耐心和對事物的細(xì)心,很多時候壹個簡單問題的壹個簡單的疏忽就會導(dǎo)致整個電路的不工作,只有不斷的檢查不斷的調(diào)試,才能真正完成壹個設(shè)計的制作。只有不斷的發(fā)現(xiàn)問題解決問題,才能從問題中改變自己,提升自己對單片機(jī)的能力。此設(shè)計雖然能夠完成溫度的顯示,但功能和精度有待于進(jìn)壹步提高。以后能夠通過加入壹些算法優(yōu)化控制功能,且通過液晶顯示屏實時顯示溫度,增加、拓展壹些功能。參考文獻(xiàn)[l]樂建波編著《溫度控制系統(tǒng)》化學(xué)工業(yè)出版社[2]謝自美編著《電子線路設(shè)計·實驗·2000[3]陳東光編著《單片微型計算機(jī)原理及C語言程序設(shè)計》華中科技大學(xué)出版社2004.4[4]武慶生仇梅編著《單片機(jī)原理和應(yīng)用》電子科技大學(xué)出版社1998.2[5]譚浩強編著《C程序設(shè)計》.北京:清華大學(xué)出版社1999年[6]華中理工大學(xué)電子學(xué)教研室編《電子技術(shù)基礎(chǔ)模擬部分(第四版)》高等教育出版社1999.6[7]華中理工大學(xué)電子學(xué)教研室編《電子技術(shù)基礎(chǔ)數(shù)字部分(第四版)》高等教育出版社2000.6[8]王彬任艷穎編著《DigitalICSystemDesign》西安電子科技大學(xué)出版社2005.9[9]趙麗娟邵欣編著《基于單片機(jī)的溫度監(jiān)控系統(tǒng)的設(shè)計和實現(xiàn)》機(jī)械制造[10]趙仁杰編著《汽車電器設(shè)備》人民交通出版社1998.10附錄壹:系統(tǒng)源程序#include<reg52.h>//包含頭文件,壹般情況不需要改動,頭文件包含特殊功能寄存器的定義#defineDataPortP0//定義數(shù)據(jù)端口程序中遇到DataPort則用P0替換sbitLATCH1=P2^2;//定義鎖存使能端口段鎖存sbitLATCH2=P2^3;//位鎖存sbitDQ=P1^3;bitReadTempFlag;//定義讀時間標(biāo)志unsignedcharcodedofly_DuanMa[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//顯示段碼值0~9unsignedcharcodedofly_WeiMa[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//分別對應(yīng)相應(yīng)的數(shù)碼管點亮,即位碼unsignedcharTempData[8];//存儲顯示值的全局變量/*------------------------------------------------uS延時函數(shù),含有輸入?yún)?shù)unsignedchart,無返回值unsignedchar是定義無符號字符變量,其值的范圍是0~255這里使用晶振12M,精確延時請使用匯編,大致延時長度如下T=tx2+5uS------------------------------------------------*/voidDelayUs2x(unsignedchart){while(--t);}/*------------------------------------------------mS延時函數(shù),含有輸入?yún)?shù)unsignedchart,無返回值unsignedchar是定義無符號字符變量,其值的范圍是0~255這里使用晶振12M,精確延時請使用匯編------------------------------------------------*/voidDelayMs(unsignedchart){while(t--){//大致延時1mSDelayUs2x(245);DelayUs2x(245);}}/*------------------------------------------------18b20初始化------------------------------------------------*/bitInit_DS18B20(void){bitdat=0;DQ=1;//DQ復(fù)位DelayUs2x(5);//稍做延時DQ=0;//單片機(jī)將DQ拉低DelayUs2x(200);//精確延時大于480us小于960usDelayUs2x(200);DQ=1;//拉高總線DelayUs2x(50);//15~60us后接收60-240us的存在脈沖dat=DQ;//如果x=0則初始化成功,x=1則初始化失敗DelayUs2x(25);//稍作延時返回returndat;}/*------------------------------------------------讀取壹個字節(jié)------------------------------------------------*/unsignedcharReadOneChar(void){unsignedchari=0;unsignedchardat=0;for(i=8;i>0;i--){DQ=0;//給脈沖信號dat>>=1;DQ=1;//給脈沖信號if(DQ)dat|=0x80;DelayUs2x(25);}return(dat);}/*------------------------------------------------寫入壹個字節(jié)------------------------------------------------*/voidWriteOneChar(unsignedchardat){unsignedchari=0;for(i=8;i>0;i--){DQ=0;DQ=dat&0x01;DelayUs2x(25);DQ=1;dat>>=1;}DelayUs2x(25);}/*------------------------------------------------讀取溫度------------------------------------------------*/unsignedintReadTemperature(void){unsignedchara=0;unsignedintb=0;unsignedintt=0;Init_DS18B20();WriteOneChar(0xCC);//跳過讀序號列號的操作WriteOneChar(0x44);//啟動溫度轉(zhuǎn)換DelayMs(10);Init_DS18B20();WriteOneChar(0xCC);//跳過讀序號列號的操作WriteOneChar(0xBE);//讀取溫度寄存器等(共可讀9個寄存器)前倆個就是溫度a=ReadOneChar();//低位b=ReadOneChar();//高位b<<=8;t=a+b;return(t);}voidDisplay(unsignedcharFirstBit,unsignedcharNum);//數(shù)碼管顯示函數(shù)voidInit_Timer0(void);//定時器初始化/*------------------------------------------------主函數(shù)------------------------------------------------*/voidmain(void){unsignedintTempH,TempL,temp;Init_Timer0();while(1)//主循環(huán){if(ReadTempFlag==1){ReadTempFlag=0;temp=ReadTemperature();if(temp&0x8000){TempData[0]=0x40;//負(fù)號標(biāo)志temp=~temp;//取反加1temp+=1;}elseTempData[0]=0;TempH=temp>>4;TempL=temp&0x0F;TempL=TempL*6/10;//小數(shù)近似處理TempData[1]=dofly_DuanMa[(TempH%1000)/100];//十位溫度if((TempH/1000==0)&&((TempH%1000)/100==0))/
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 貴金屬催化劑行業(yè)未來發(fā)展與市場機(jī)遇分析
- 紡織工程師證書考試的知識要求試題及答案
- 紡織行業(yè)人才的培養(yǎng)機(jī)制試題及答案
- 家庭清洗合同協(xié)議書
- 合租合同協(xié)議書圖片
- 紡織創(chuàng)意的市場應(yīng)用分析試題及答案
- 魚塘合同退出協(xié)議書
- 農(nóng)資賣賣合同協(xié)議書
- 《賞析》人物描寫課件
- 斷絕協(xié)議書 合同
- 果戈里介紹課件
- 【課件】2025屆高三英語一輪復(fù)習(xí)語法填空專題課件
- 2025年低壓電工資格證復(fù)審試題及答案詳解攻略
- 四川省瀘州市2025屆高三第三次教學(xué)質(zhì)量診斷性考試地理試題(含答案)
- 2025年陽江海上風(fēng)電項目可行性研究報告
- 2025新版靜療規(guī)范
- 水價與水市場機(jī)制聯(lián)動機(jī)制-全面剖析
- 初中會考地理試題及答案
- 2025年函授土木工程試題及答案
- 《衛(wèi)星遙感技術(shù)》課件
- 店長工資提成協(xié)議書范本
評論
0/150
提交評論