單片機課程設計(論文)數字溫度計設計_第1頁
單片機課程設計(論文)數字溫度計設計_第2頁
單片機課程設計(論文)數字溫度計設計_第3頁
單片機課程設計(論文)數字溫度計設計_第4頁
單片機課程設計(論文)數字溫度計設計_第5頁
已閱讀5頁,還剩18頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、前言單片機自問世以來,性能不斷提高和完善,其資源又能滿足很多應用場合的需要,加之單片機具有集成度高、功能強、速度快、體積小、功耗低、使用方便、價格低廉等特點,因此,在工業控制、智能儀器儀表、數據采集和處理、通信系統、高級計算器、家用電器等領域的應用日益廣泛,并且正在逐步取代現有的多片微機應用系統。單片機的潛力越來越被人們所重視。特別是當前用cmos工藝制成的各種單片機,由于功耗低,使用的溫度范圍大,抗干擾能力強,能滿足一些特殊要求的應用場合,更加擴大了單片機的應用范圍,也進一步促使單片機性能的發展。而現在的單片機在農業上頁有了很多的應用。 溫度是日常生活、工業、醫學、環境保護、化工、石油等領域

2、最常用到的一個物理量。測量溫度的基本方法是使用溫度計直接讀取溫度。最常見到得測量溫度的工具是各種各樣的溫度計,例如:水銀玻璃溫度計,酒精溫度計,熱電偶或熱電阻溫度計等。它們常常以刻度的形式表示溫度的高低,人們必須通過讀取刻度值的多少來測量溫度。利用單片機和溫度傳感器構成的電子式智能溫度計就可以直接測量溫度,得到溫度的數字值,既簡單方便,有直觀準確。第一章 設計的要求及任務1.1傳感器傳感器是將感受到的外界信息,按照一定的規律轉換成所需的有用信息的裝置,它獲取的信息可以是各種物理量、化學量和生物量,而轉換后的信息也有各種形式。例如:光、溫度、聲、委位移、壓力等物理量,可以通過傳感器相互轉化。但是

3、通常是將非電量或電量轉換成易于處理和傳輸的電量,有些傳感器的這種轉換是可逆的,即輸入量為電量而輸出量為機械量或熱工藝量等。1.2 任務與要求1.2.1 設計任務及指標1:設計任務:利用單片機和數字溫度傳感器,實現一個能精確測量并顯示溫度的實際應用系統,為低成本的數字溫度測量系統設計提出一種新的解決方案。并需說明設計方案的構思依據、設計思路、系統原理、設計過程及系統工作流程圖。2:技術指標: 系統穩定性高; 使用四位數碼管顯示溫度值; 測量精度達0.1; 要求系統具備復位功能;第2章 智能溫度傳感器與單片機2.1 智能溫度傳感器的產品分類智能溫度傳感器采用了數字化技術,能以數據形式輸出被測溫度值

4、。其測溫誤差小、分辨率高、抗干擾能力強、能遠程傳輸數據、用戶可設定上、下限,具有越限自動報警功能并且帶串行總線接口,適配各種微控制器。按照串行總線劃分有單線總線(1wire)、二線總線(含smbus、i2c總線)三線總線(含spi總線)幾種類型。典型產品有ds18b20(單線總線)、lm75(i2c總線)和lm75(spi總線)。多通道智能溫度傳感器除具有內置溫度傳感器之外,還專門增加了若干個遠程測溫通道,通過在總線上接多片同種型號的芯片,很容易將通道擴展到幾十路,這就為研制多路溫度測控系統創造了便利條件。多通道智能溫度傳感器的典型產品有max1668、ad7417、ad7817、max180

5、5和lm83。2.2 智能溫度傳感器典型產品的技術指標智能溫度傳感器典型產品的技術指標,詳見表21表2-1智能溫度傳感器典型產品的技術指標2.3 單片機at89c2051的簡介單片機at89c2051 具有低電壓供電和小體積等特點,兩個端口剛好滿足電路系統的設計需要,很適合便攜式產品的設計使用,系統可用二節電池供電. at89c2051 提供如下的標準功能:2kb 閃速存貯器,128b 內部ram,15 根i/o 口引線,兩個16 位定時器/計數器,一個五向量兩極中斷結構,一個全雙工串行口,一個精密模擬比較器以及片內振蕩器和時鐘電路。此外,at89c2051 采用可降到0 頻率的靜態邏輯操作設

6、計,并支持兩種可選的軟件節電工作方式,即空閑方式和掉電方式。在空閑方式下,cpu 停止工作,但允許內部ram、定時器、計數器、串行口和中斷系統繼續工作。在掉電方式 下,保存ram 的內容,但振蕩器停止工作,并禁止所有其部件工作,直到下一個復位。 at89c51 的結構框與at89c51 類似。現將at89c51 的主要特性歸納如下: 和mcs51 產品兼容。 2kb可重編程閃速存儲器。 耐久性:1000次寫/擦除周期。 2.76v的工作范圍。 全靜態操作:0hz24mhz。 128字節內部ram。2.4 單片機at89c2051的引腳圖 圖2-2單片機at89c2051引腳圖第3章ds18b2

7、0數字溫度計3.1 ds18b20溫度傳感器的性能特點ds18b20溫度傳感器是美國dallas半導體公司最新推出的一種改進型智能溫度傳感器,與傳統的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并且可根據實際要求通過簡單的編程實現位的數字值讀數方式。ds18b20的性能特點如下:獨特的單線接口僅需要一個端口引腳進行通信;多個ds18b20可以并聯在惟一的三線上,實現多點組網功能;無須外部器件;可通過數據線供電,電壓范圍為3.05.5;零待機功耗;溫度以或位數字;用戶可定義報警設置;報警搜索命令識別并標志超過程序限定溫度(溫度報警條件)的器件;負電壓特性,電源極性接反時,溫度計不會因發熱而燒毀

8、,但不能正常工作;3.2 ds18b20溫度傳感器的內部結構框圖及設置ds18b20采用腳pr35封裝或腳soic封裝,其內部結構框圖如圖4-1所示。 c64 位rom和單線接口高速緩存存儲器與控制邏輯溫度傳感器高溫觸發器th低溫觸發器tl配置寄存器8位crc發生器vddi/o圖3-1 ds18b20內部結構64位rom的結構開始位是產品類型的編號,接著是每個器件的惟一的序號,共有48位,最后位是前面56位的crc檢驗碼,這也是多個ds18b20可以采用一線進行通信的原因。溫度報警觸發器和,可通過軟件寫入戶報警上下限。ds18b20溫度傳感器的內部存儲器還包括一個高速暫存和一個非易失性的可電擦

9、除的eeram。高速暫存ram的結構為字節的存儲器,結構如圖4-2所示。頭個字節包含測得的溫度信息,第和第字節和的拷貝,是易失的,每次上電復位時被刷新。第個字節,為配置寄存器,它的內容用于確定溫度值的數字轉換分辨率。ds18b20工作時寄存器中的分辨率轉換為相應精度的溫度數值。該字節各位的定義如圖3所示。低位一直為,是工作模式位,用于設置ds18b20在工作模式還是在測試模式,ds18b20出廠時該位被設置為,用戶要去改動,r1和0決定溫度轉換的精度位數,來設置分辨率。溫度 lsb溫度 msbth用戶字節1tl用戶字節2配置寄存器保留保留保留crc圖3-2 ds18b20字節定義由表3-1可見

10、,ds18b20溫度轉換的時間比較長,而且分辨率越高,所需要的溫度數據轉換時間越長。因此,在實際應用中要將分辨率和轉換時間權衡考慮。高速暫存的第、字節保留未用,表現為全邏輯。第字節讀出前面所有字節的crc碼,可用來檢驗數據,從而保證通信數據的正確性。當ds18b20接收到溫度轉換命令后,開始啟動轉換。轉換完成后的溫度值就以16位帶符號擴展的二進制補碼形式存儲在高速暫存存儲器的第、字節。單片機可以通過單線接口讀出該數據,讀數據時低位在先,高位在后,數據格式以0.0625lsb形式表示。當符號位時,表示測得的溫度值為正值,可以直接將二進制位轉換為十進制;當符號位時,表示測得的溫度值為負值,要先將補

11、碼變成原碼,再計算十進制數值。表4-2是一部分溫度值對應的二進制溫度數據。表3-1 ds18b20溫度轉換時間表 ds18b20完成溫度轉換后,就把測得的溫度值與ram中的th、t字節內容作比較。若th或ttl,則將該器件內的報警標志位置位,并對主機發出的報警搜索命令作出響應。因此,可用多只ds18b20同時測量溫度并進行報警搜索。在64位rom的最高有效字節中存儲有循環冗余檢驗碼(crc)。主機rom的前56位來計算crc值,并和存入ds18b20的crc值作比較,以判斷主機收到的rom數據是否正確。ds18b20的測溫原理是這這樣的,器件中低溫度系數晶振的振蕩頻率受溫度的影響很小,用于產生

12、固定頻率的脈沖信號送給減法計數器;高溫度系數晶振隨溫度變化其振蕩頻率明顯改變,所產生的信號作為減法計數器的脈沖輸入。器件中還有一個計數門,當計數門打開時,ds18b20就對低溫度系數振蕩器產生的時鐘脈沖進行計數進而完成溫度測量。計數門的開啟時間由高溫度系數振蕩器來決定,每次測量前,首先將55所對應的一個基數分別置入減法計數器、溫度寄存器中,計數器和溫度寄存器被預置在55所對應的一個基數值。減法計數器對低溫度系數晶振產生的脈沖信號進行減法計數,當減法計數器的預置值減到時,溫度寄存器的值將加,減法計數器的預置將重新被裝入,減法計數器重新開始對低溫度系數晶振產生的脈沖信號進行計數,如此循環直到減法計

13、數器計數到時,停止溫度寄存器的累加,此時溫度寄存器中的數值就是所測溫度值。其輸出用于修正減法計數器的預置值,只要計數器門仍未關閉就重復上述過程,直到溫度寄存器值大致被測溫度值。表3-2一部分溫度對應值表溫度/二進制表示十六進制表示+1250000 0111 1101 000007d0h+850000 0101 0101 00000550h+25.06250000 0001 1001 00000191h+10.1250000 0000 1010 000100a2h+0.50000 0000 0000 00100008h00000 0000 0000 10000000h-0.51111 1111

14、1111 0000fff8h-10.1251111 1111 0101 1110ff5eh-25.06251111 1110 0110 1111fe6fh-551111 1100 1001 0000fc90h另外,由于ds18b20單線通信功能是分時完成的,它有嚴格的時隙概念,因此讀寫時序很重要。系統對ds18b20的各種操作按協議進行。操作協議為:初使化ds18b20(發復位脈沖)發rom功能命令發存儲器操作命令處理數據。3.3ds18b20溫度傳感器與單片機的接口電路ds18b20可以采用兩種方式供電,一種是采用電源供電方式,此時ds18b20的1腳接地,2腳作為信號線,3腳接電源。另一種

15、是寄生電源供電方式,如圖4-3 所示單片機端口接單線總線,為保證在有效的ds18b20時鐘周期內提供足夠的電流,可用一個mosfet管來完成對總線的上拉。當ds18b20處于寫存儲器操作和溫度a/d轉換操作時,總線上必須有強的上拉,上拉開啟時間最大為10us。采用寄生電源供電方式時vdd端接地。由于單線制只有一根線,因此發送接口必須是三態的。 圖3-3 ds18b20與單片機的接口電路第4章 數字溫度計的設計4.1 總體設計方案在單片機電路設計中,使用傳感器,是非常容易想到的,所以可以采用一只溫度傳感器ds18b20,此傳感器,可以很容易直接讀取被測溫度值,進行轉換,就可以滿足設計要求。4.2

16、方案的總體設計框圖溫度計電路設計總體設計方框圖如5-1所示,控制器采用單片機at89c2051,溫度傳感器采用ds18b20,用3位led數碼管以串口傳送數據實現溫度顯示。主 控 制 器led顯 示溫 度 傳 感 器單片機復位時鐘振蕩報警點按鍵調整 圖4-1總體設計方框圖4.2.1主控制器在第三章中已經提到單片機at89c2051,在此詳細介紹一下各引腳的功能及其有優點。單片機at89c2051具有低電壓供電和體積小等特點,四個端口只需要兩個口就能滿足電路系統的設計需要,很適合便攜手持式產品的設計使用系統可用二節電池供電。at89c2051 的引腳 at89c2051 采用引腳雙列直插式封裝,

17、現將各引腳的功過能說明如下。 vcc(20):電源電壓端。 gnd(10):地端。 rst(1):復位輸入端。當rst 引腳出現兩個機器周期的高電平時,單片機復位。復位后,at89c2051 內部專用寄存器及i/o 口的處置與8051的情況一樣,而內部的狀態保 持不變。 xtal1(5):振蕩器反相放大器的輸入和內部時鐘發生器的輸入端。 xtal1(4):振蕩器反相放大器的輸出端。 p1 口:p1口是一個8位雙向i/o 口。p1.2-p1.3 引腳內部接有上拉電阻。p1.0 和p1.1 分別作為片內精密模擬比較器的同相輸入(ain0)和反相輸入(ain1)。p1 口輸出緩沖器可吸收20ma 電

18、流并能直接驅動led 顯示。當p1 口的鎖存器寫入“1”時,p1 口可作為輸入 端。當引腳p1.2-p1.7 用作輸入并被外部拉低時,它們將因內部的上拉電阻而流出電流(ii1 )。p1 口還在閃速編程和程序校驗期間接受代碼數據。 p3 口:p3 口的p3.0-p3.5 和p3.7 是帶有內部上拉電阻的七個雙向i/o 引腳。p3.6 用于固定輸入片內比較器的輸入信號并且它作為一通用i/o 引腳而不能訪問。p3 口緩沖器 可吸收20ma 電流。當p3 口鎖存器寫入“1”時,它們被上拉電阻拉高并可作為輸入端。用作輸入時,被外部拉低的p3 口引腳將由于上拉電阻而流出電流(ii1 )。p3 口還接收一些

19、用于閃速存儲器編程和程序校驗的控制信號。 p3 口還用于實現at89c2051 的一些特殊功能,這些特殊功能定義如下: 口線 特殊功能 p3.0 rxd(串行口輸入端) p3.1 txd(串行口輸出端) p3.2 /int0(外部中斷0) p3.3 /int1(外部中斷1) p3.4 t0(定時器0外部輸入) p3.5 t1(定時器1外部輸入)下面就目前國內全勝較多的兩種單片機,討論一下2051的性能價格比1、與80c31系統相比較如果需要構成一個80c31的最小系統的話,除了cpu之外,至少需要一片27c64,而系統的有效引腳和89c2051基本相同。從元器件的成本,電路板的面積和加密性來看

20、,使用89c2051都是合算的。 2、與pic單片機比較目前,國內小型的單片機全勝較多的有pic系列,89c2051與pic相對應芯片比較有如下特點:89c2051的價格高于pic的otp型號,但大大低于pic的eprom型,89c2051片內不含watchdog,這是89c2051的不足之處,中斷系統堆棧結構、串等通訊筆定時器系統都大大強于pic系統。由于pic芯片中無標準串等口,所以在單片機的聯網應用上面,pic不太適合。與pic相比2051更適合于較復雜的應用場合,適合一些軟件需要多次修改的應用。3、在應用方面就目前中國市場的情況來看,89c2051有很大的市場。其原因有下列幾點:(1)

21、2051采用的是mcs51的核心,十分容易為廣大用戶所接受;(2)2051內部基本保持了80c31的硬件i/o功能;(3)2051的flash存貯器技術,可重復擦/寫1000次以上,容易解悶調試手段;(4)更適合小批量系統的應用,容易實現軟件的升級。89c2051適合于家用電器控制,分布式測控網絡,i/o量不足不是很大的應用系統。4.2.2顯示電路顯示電路采用3位共陽led數碼管,從p3口rxd,txd串口輸出段碼。4.2.3溫度傳感器ds18b20 的測溫原理如圖4-2 所示. 圖中低溫度系數晶振的振蕩頻率受溫度的影響很小,用于產生的信號作為減法計數器1;高溫度系數晶振隨溫度變化其振蕩頻率明

22、顯變,所以產生的信號作為減法計數器2 的脈沖輸入。圖中還隱含著計數門,當計數門打開時,ds18b20 對低溫度系數振蕩器產生的時鐘脈沖進行計數,進而完成溫度測量。計數門的開啟時間由高溫度系數振蕩器決定,每次測量前,首先將55所對應的一個基數分別置入減法計數器1、溫度寄存器中,減法計數器1和溫度寄存器被預置在55所對應的一個基數值。圖4-2 ds18b20 測溫原理圖減法計數器1對低溫度系數晶振產生的脈沖信號進行減法計數,當減法計數器1的預置值減到0時,溫度寄存器的值將加1,減法計數器1的預置值將重新被裝入,減法計數器1 重新開始對低溫度系數晶振產生的脈沖信號進行計數,如此循環直到減法計數器2計

23、數到0 時,停止溫度寄存器值的累加,此時溫度寄存器中的數值就是所測溫度值。圖28中的斜 率累加器用于溫度補償和修正測溫過程中的非線形性,其輸出用于修正減法計數器的預置值,只要計數門仍未關閉就重復上述過程,直到溫度寄存器值達到被測溫度值。 另外,由于ds18b20 單線通信功能是分時完成的,它有嚴格的時隙概念,因此讀寫時很重要。系統對ds18b20 的各種操作必須按協議進行。操作協議為:初始化ds18b20(發復位脈沖) 發rom功能命令發存儲器操作命令 處理數據。4.2.3ds18b20溫度傳感器與單片機的接口電路 圖4-3:ds18b20的測溫電路與單片機的連接電路4.3系統整體硬件電路4.

24、3.1主板電路系統整體硬件電路包括,傳感器數據采集電路,溫度顯示電路,上下限報警調整電路,單片機主板電路等,如圖4-1 所示。圖5-1中有三個獨立式按鍵可以分別調整溫度計的上下限報警設置,圖中蜂鳴器可以在被測溫度不在上下限范圍內時,發出報警鳴叫聲音,同時led數碼管將沒有被測溫度值顯示,這時可以調整報警上下限,從而測出被測的溫度值。 圖4-4 單片機主板電路圖4-4 中的電路是上電之后單片機的外部連接電路,使用比較方便。4.3.2顯示電路 圖4-5硬件原理圖 圖4-6硬件原理圖4.4統軟件算法分析系統程序主要包括主程序,讀出溫度子程序,溫度轉換命令子程序,計算溫度子程序,顯示數據刷新子程序等。

25、4.4.1主程序主程序的主要功能是負責溫度的實時顯示、讀出并處理ds18b20的測量的當前溫度值,溫度測量每1s進行一次。這樣可以在一秒之內測量一次被測溫度,其程序流程見圖4-7所示。y發ds18b20復位命令發跳過rom命令發讀取溫度命令讀取操作,crc校驗9字節完?crc校驗正?確?移入溫度暫存器結束nny初始化調用顯示子程序1s到?初次上電讀出溫度值溫度計算處理顯示數據刷新發溫度轉換開始命令nyny圖4-7 主程序流程圖 圖4-8讀溫度流程圖4.4.2讀出溫度子程序讀出溫度子程序的主要功能是讀出ram中的9字節,在讀出時需進行crc校驗,校驗有錯時不進行溫度數據的改寫。其程序流程圖如圖4

26、-8示發ds18b20復位命令發跳過rom命令發溫度轉換開始命令 結束 圖4-9 溫度轉換流程圖5.4.3溫度轉換命令字程序溫度轉換命令子程序主要是發溫度轉換開始命令,當采用12位分辨率時轉換時間約為750ms,在本程序設計中采用1s顯示程序延時法等待轉換的完成。溫度轉換命令子程序流程圖如上圖,圖4-11所示5.4.4計算溫度子程序計算溫度子程序將ram中讀取值進行bcd碼的轉換運算,并進行溫度值正負的判定,其程序流程圖如圖4-10所示。 開始溫度零下?溫度值取補碼置“”標志計算小數位溫度bcd值 計算整數位溫度bcd值 結束置“+”標志ny溫度數據移入顯示寄存器十位數0?百位數0?十位數顯示

27、符號百位數不顯示百位數顯示數據(不顯示符號) 結束nnyy圖4-10計算溫度流程圖 圖4-11顯示數據刷新流程圖4.4.5顯示數據刷新子程序顯示數據刷新子程序主要是對顯示緩沖器中的顯示數據進行刷新操作,當最高顯示位為0時將符號顯示位移入下一位。程序流程圖如圖4-11。第5章 硬件5.1 系統硬件主要構成整個系統硬件可以分為主控制器模塊,測溫電路模塊和顯示電路模塊。每個模塊執行其相應的功能,共同組成了一個有序,協調的系統。主要元件有控制器at89c2051,溫度傳感器ds18b20、數碼管led。5.2調試及性能分析系統調試以程序為主。硬件調試比較簡單,首先檢查電路的焊接是否正確,然后可用萬用表

28、測試或通電檢測。軟件調試可以先編寫顯示程序并進行硬件正確性檢驗,然后分別進行主程序、讀出溫度子程序、溫度轉換命令子程序、計算溫度子程序、顯示刷新等子程序的編程及調試,由于ds18b20 與單片機采用串行數據傳送,因此,對ds18b20 進行讀寫編程時必須嚴格的保證讀寫時序,否則將無法讀取測量結果。本程序采用單片機匯編編寫,用 wave3.2 編譯器編程調試。軟件調試到能顯示溫度值,而且在有溫度變化時(例如用手去接觸)顯示溫度能改變就基本完成。性能測試可用制作的溫度計和已有的成品溫度計來同時測量比較,由于ds18b20 的精度很高,所以誤差指標可以限制在0.1 以內,另外55 至+125 的測溫

29、范圍使得該溫度計完全適合一般的應用場合,其低壓供電特性可作成用電池供電的手持電子溫度計。圖5-1為它的暫存器操作命令流程圖。圖5-1暫存器操作命令流程圖附錄:源程序代碼:org 0000h ; 0-125度的溫度計temper_l equ 41h ;用于保存讀出溫度的低8位 temper_h equ 40h ;用于保存讀出溫度的高8位flag1 equ 38h ;是否檢測到ds18b20標志位a_bit1 equ 30h ;數碼管小數點位數存放內存位置b_bit1 equ 31h ;數碼管個位數存放內存位置c_bit1 equ 32h ;數碼管十位數存放內存位置d_bit1 equ 33h ;

30、數碼管百位數存放內存位置dq equ p3.7 ;30h,31h,32h,33h: 小數點位 個位 十位 百位mod7: mov sp,#60h lcall get_temper ;調用讀溫度子程序 lcall tempcov lcall display ;調用數碼管顯示子程序 ajmp mod7 temp0: inc a ajmp temp1 tempcov:mov a,temper_l ;數據處理子程序tempcov mov b,#10h div ab jb b.3,temp0 temp1: mov 34h,a ;將temper_l的高四位右移四位,存入34h中(溫度值) mov a,b

31、;將temper_l的低四位x10/16得小數后一位數 mov b,#0ah mul ab mov b,#10h div ab mov 30h,a ;將小數后一位數.存入30h中 mov a,temper_h ;temper_h中存放高8位數,權重16 mov b,#10h mul ab add a,34h ;34h中存入溫度值的整數部分 mov b,#0ah div ab mov 31h,b ;個位存入31h中 mov b,#0ah div ab mov 32h,b ;十位存入32h中 mov b,#0ah div ab mov 33h,b ;百位存入33h中 mov a,temper_h

32、mov 34h,#10h jb acc.7,exit7 mov 34h,#00h exit7: ret; ;這是ds18b20復位初始化子程序 init_1820: setb dq nop clr dq ;主機發出延時537微秒的復位低脈沖 mov r1,#03h tsr1: mov r0,#6bh djnz r0,$ djnz r1,tsr1 setb dq ;然后拉高數據線 nop nop nop mov r0,#25h tsr2: jnb dq,tsr3 ;等待ds18b20回應 djnz r0,tsr2 ljmp tsr4 ;延時tsr3: setb flag1 ;置標志位,表示ds1

33、820存在 ljmp tsr5 tsr4: clr flag1 ;清標志位,表示ds1820不存在 ljmp tsr7 tsr5: mov r0,#75h djnz r0,$ ;時序要求延時一段時間tsr7: setb dq ret ;讀出轉換后的溫度值get_temper:setb dq lcall init_1820 ;先復位ds18b20 jb flag1,tss2 ret tss2: mov a,#0cch ;跳過rom匹配 lcall write_1820 mov a,#44h ;發出溫度轉換命令 lcall write_1820 lcall display ;等待ad轉換結束,12

34、位的話750微秒 lcall init_1820 ;準備讀溫度前先復位 mov a,#0cch ;跳過rom匹配 lcall write_1820 mov a,#0beh ;發出讀溫度命令 lcall write_1820 lcall read_1820 ;將讀出的溫度數據保存到35h/36h ret ;寫ds18b20的子程序(有具體的時序要求) write_1820: mov r2,#08h ;一共8位數據 clr c wr1: clr dq mov r3,#06h djnz r3,$ rrc a mov dq,c mov r3,#17h djnz r3,$ setb dq nop djnz r2,wr1 setb dq ret ;讀ds18b20的程序,從ds18b20中讀出兩個

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論