


版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、i / 36 基于 51 單片機(jī)的溫度測(cè)量控制系統(tǒng)設(shè)計(jì)摘要隨著科技的不斷進(jìn)步,在工業(yè)生產(chǎn)中溫度是常用的被控參數(shù),而采用單片機(jī)來(lái)對(duì)這些被控參數(shù)進(jìn)展控制已成為當(dāng)今的主流。溫度傳感器ds18b20 具有性能穩(wěn)定、靈敏度高、抗干擾能力強(qiáng)、使用方便等優(yōu)點(diǎn),廣泛應(yīng)用于冰箱、空調(diào)器、糧倉(cāng)等日常生活中溫度的測(cè)量和控制。本文采用51 單片機(jī)來(lái)實(shí)現(xiàn)對(duì)溫度的測(cè)量和控制。它的主要組成局部有:at89s52單片機(jī)最小系統(tǒng), ds18b20 測(cè)溫電路 , 按鍵電路、 lcd1602 顯示電路,蜂鳴器報(bào)警電路。它可以實(shí)時(shí)地檢測(cè)和顯示溫度,可以設(shè)定溫度圍,實(shí)現(xiàn)對(duì)溫度的報(bào)警和自動(dòng)控制。關(guān)鍵詞 :溫度; 51 單片機(jī); ds18
2、b20 ;測(cè)量和控制。abstract temperature sensor ds18b20 has a lot of advantages,such as stable performance,high sensitivity,strong anti-interference capability,convenience of use,etc. and it was widely used for the measurement and control of temperature in refrigerators, air conditioners, barn and other dail
3、y life in the measurement and control of temperature. in this article ,we used a single chip for realizing temperature measurement and alarm. it was mainly component of at89s52 chip, ds18b20, keyboard and display circuit , temperature alarm and control circuit. it realize not only real-time detectio
4、n and display temperature, but also setting the temperature range and the measurement and control of temperature. key words :temperature; 51 mcu; ds18b20; measurement and controli / 36 目錄1 引言 1 1.1 溫度測(cè)量控制系統(tǒng)設(shè)計(jì)的背景、開(kāi)展歷史與意義1 1.2 溫度測(cè)量控制系統(tǒng)的目的1 1.3 溫度測(cè)量控制系統(tǒng)完成的功能1 2 總體設(shè)計(jì)方案2 2.1 方案一 2 2.2 方案二 2 3 ds18b20 溫度傳
5、感器簡(jiǎn)介7 3.1 溫度傳感器的歷史與簡(jiǎn)介7 3.2 ds18b20 的工作原理7 3.2.1 ds18b20工作時(shí)序 7 3.2.2 rom 操作命令8 3.3 ds18b20 的測(cè)溫原理9 3.3.1 ds18b20的測(cè)溫原理9 3.3.2 ds18b20的測(cè)溫流程10 4 硬件電路設(shè)計(jì)11 4.1 單片機(jī)最小系統(tǒng)設(shè)計(jì)11 4.1.1時(shí)鐘電路11 4.1.2復(fù)位電路12 4.1.3電源電路12 4.2 測(cè)溫電路設(shè)計(jì)12 4.3 顯示電路設(shè)計(jì)13 4.4 鍵盤輸入電路13 4.5 蜂鳴器報(bào)警電路13 5 系統(tǒng)軟件設(shè)計(jì)14 5.1 主程序模塊14 5.2 讀溫度值模塊15 5.3 中斷模塊18
6、 5.4 溫度設(shè)定、報(bào)警模塊19 5.5 液晶顯示模塊21 6 系統(tǒng)調(diào)試與測(cè)試22 6.1 硬件調(diào)試 22 6.2 軟件調(diào)試 22 6 總結(jié) 23 參考文獻(xiàn)24 附錄 1 原理圖 - 25 - 附錄 2 程序代碼26 1 / 36 1 引言1.1 溫度測(cè)量控制系統(tǒng)設(shè)計(jì)的背景、開(kāi)展歷史與意義溫度是生產(chǎn)過(guò)程和科學(xué)實(shí)驗(yàn)中普遍而且重要的物理參數(shù),隨著社會(huì)的開(kāi)展,科技的進(jìn)步,以與測(cè)溫儀器在各個(gè)領(lǐng)域的應(yīng)用,智能化已是現(xiàn)代溫度控制系統(tǒng)開(kāi)展的主流方向。特別是近年來(lái),溫度控制系統(tǒng)已應(yīng)用到人們生活的各個(gè)方面,但溫度控制一直是一個(gè)未開(kāi)發(fā)的領(lǐng)域,卻又是與人們息息相關(guān)的一個(gè)實(shí)際問(wèn)題。針對(duì)這種實(shí)際情況,設(shè)計(jì)一個(gè)溫度控制系
7、統(tǒng),具有廣泛的應(yīng)用前景與實(shí)際意義。溫度是一個(gè)重要的物理量,它反映了物體冷熱的程度,與自然界中的各種物理和化學(xué)過(guò)程相聯(lián)系。在工、農(nóng)業(yè)生產(chǎn)和日常生活中,各個(gè)環(huán)節(jié)都與溫度嚴(yán)密相聯(lián),溫度的準(zhǔn)確監(jiān)測(cè)與控制占據(jù)著極其重要地位。比如,發(fā)電廠鍋爐的溫度必須控制在一定的圍之;許多化學(xué)反響的工藝過(guò)程必須在適當(dāng)?shù)臏囟认虏拍苷_M(jìn)展等。沒(méi)有適宜的溫度環(huán)境,許多電子設(shè)備就不能正常工作,糧倉(cāng)的儲(chǔ)糧就會(huì)變質(zhì)霉?fàn)€,酒類的品質(zhì)就沒(méi)有保障。可見(jiàn),溫度的測(cè)量和控制是非常重要的。隨著電子技術(shù)和微型計(jì)算機(jī)的迅速開(kāi)展,單片機(jī)在電子產(chǎn)品中的應(yīng)用已經(jīng)越來(lái)越廣泛。利用單片機(jī)對(duì)溫度進(jìn)展控制的技術(shù)也隨之而生,并日益開(kāi)展和完善,且越來(lái)越顯示出它的優(yōu)
8、越性。1.2 溫度測(cè)量控制系統(tǒng)的目的本設(shè)計(jì)的容是溫度測(cè)試控制系統(tǒng),控制對(duì)象是溫度。溫度控制在日常生活與工業(yè)領(lǐng)域應(yīng)用相當(dāng)廣泛,比如溫室、水池、發(fā)酵缸、電源等場(chǎng)所的溫度控制。而以往溫度控制是由人工完成的而且不夠重視, 其實(shí)在很多場(chǎng)所溫度都需要監(jiān)控以防止發(fā)生意外。針對(duì)此問(wèn)題,本系統(tǒng)設(shè)計(jì)的目的是實(shí)現(xiàn)一種可連續(xù)高精度調(diào)溫的溫度控制系統(tǒng),它應(yīng)用廣泛,功能強(qiáng)大,小巧美觀,便于攜帶,是一款既實(shí)用又廉價(jià)的控制系統(tǒng)。1.3 溫度測(cè)量控制系統(tǒng)完成的功能本設(shè)計(jì)是對(duì)溫度進(jìn)展實(shí)時(shí)監(jiān)測(cè)與控制,設(shè)計(jì)的溫度控制系統(tǒng)實(shí)現(xiàn)了根本的溫度控制功能:當(dāng)溫度低于設(shè)定下限溫度時(shí),蜂鳴器報(bào)警,同時(shí)紅燈亮,模擬加熱過(guò)程,使溫度上升;當(dāng)溫度高于設(shè)
9、定上限溫度時(shí),蜂鳴器報(bào)警,同時(shí)綠燈亮,模擬制冷過(guò)程,使溫度下降;溫度在上下限溫度之間時(shí),蜂鳴器和紅綠燈不動(dòng)作;lcd1602實(shí)時(shí)時(shí)顯示溫度,準(zhǔn)確到小數(shù)點(diǎn)一位;通過(guò)獨(dú)立按鍵可以設(shè)置溫度的控制圍。2 / 36 2 總體設(shè)計(jì)方案2.1 方案一測(cè)溫電路的設(shè)計(jì), 可以使用熱敏電阻之類的器件利用其感溫效應(yīng),在將隨被測(cè)溫度變化的電壓或電流采集過(guò)來(lái),進(jìn)展a/d 轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)展數(shù)據(jù)的處理,在顯示電路上,就可以將被測(cè)溫度顯示出來(lái), 這種設(shè)計(jì)需要用到a/d 轉(zhuǎn)換電路,感溫電路比擬麻煩。2.2 方案二考慮使用溫度傳感器,結(jié)合單片機(jī)電路設(shè)計(jì),采用一只ds18b20 溫度傳感器,直接讀取被測(cè)溫度值,之后進(jìn)展轉(zhuǎn)
10、換,依次完成設(shè)計(jì)要求。比擬以上兩種方案,很容易看出,采用方案二,電路比擬簡(jiǎn)單,軟件設(shè)計(jì)容易實(shí)現(xiàn),故實(shí)際設(shè)計(jì)中擬采用方案二。在本系統(tǒng)的電路設(shè)計(jì)方框圖如圖2.1 所示,它由五局部組成 : 圖 21 溫度計(jì)電路總體設(shè)計(jì)方案1. 控制局部單片機(jī) at89s52具有低電壓供電和體積小等特點(diǎn),它所具有的資源能足夠滿足此次電路系統(tǒng)的設(shè)計(jì)需要,并且很適合便攜手持式產(chǎn)品的設(shè)計(jì)使用。2. 顯示局部顯示電路采用 lcd1602 ,第一行顯示當(dāng)前溫度,第二行顯示控制溫度圍。3. 用戶按鍵用戶按鍵采用 4 位獨(dú)立按鍵,能夠?qū)囟壬舷孪捱M(jìn)展設(shè)置。4. 蜂鳴器報(bào)警電路當(dāng)前溫度超出設(shè)定的溫度上下限時(shí),蜂鳴器報(bào)警。at89s5
11、2 單片機(jī)ds18b20 溫度測(cè)量電路用戶按鍵lcd1602 顯示蜂鳴器報(bào)警電路3 / 36 5. 溫度測(cè)量電路ds18b20溫度傳感器是美國(guó)dallas半導(dǎo)體公司最新推出的一種改良型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比,它能直接讀出被測(cè)溫。這一局部主要完成對(duì)溫度信號(hào)的采集和轉(zhuǎn)換工作,由ds18b20 數(shù)字溫度傳感器與其與單片機(jī)的接口局部組成。數(shù)字溫度傳感器 ds18b20把采集到的溫度通過(guò)數(shù)據(jù)引腳傳到單片機(jī)的p1.4 口。此局部只用到ds18b20 和單片機(jī),硬件很簡(jiǎn)單。(1) ds18b20 的性能特點(diǎn)如下9 :1) 獨(dú)特的單線接口僅需要一個(gè)端口引腳進(jìn)展通信;2) 多個(gè) ds18
12、b20 可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能;3) 無(wú)須外部器件;4) 可通過(guò)數(shù)據(jù)線供電,電壓圍為3.0 5.5v;5) 零待機(jī)功耗;6) 溫度以 3 位數(shù)字顯示;7) 用戶可定義報(bào)警設(shè)置;8) 報(bào)警搜索命令識(shí)別并標(biāo)志超過(guò)程序限定溫度溫度報(bào)警條件的器件;9) 負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作。(2) ds18b20 的部結(jié)構(gòu)ds18b20 采用 3 腳 pr 35封裝,如圖1.2所示;ds18b20 的部結(jié)構(gòu),如圖 3 所示。引地?cái)?shù)據(jù)線可選圖 22 ds18b20封裝(3) ds18b20 部結(jié)構(gòu)主要由四局部組成5:1) 64位光刻 rom 。開(kāi)始 8 位
13、是產(chǎn)品類型的編號(hào),接著是每個(gè)器件的惟一的序號(hào),共有 48 位,最后 8 位是前 56 位的 crc 校驗(yàn)碼,這也是多個(gè)ds18b20 可以采用一線進(jìn)展通信的原因10。64 位閃速 rom 的結(jié)構(gòu)如下 . 表 21 rom結(jié)構(gòu)8b檢驗(yàn) crc 48b 序列號(hào)8b 工廠代碼 10h msb lsb msb lsb msb lsb 4 / 36 內(nèi)部電源探測(cè)位和單線端口位產(chǎn)生器暫存器下限觸發(fā)上限觸發(fā)溫度傳感器存儲(chǔ)器和控制邏輯圖 23 ds18b20部結(jié)構(gòu)2) 非揮發(fā)的溫度報(bào)警觸發(fā)器th和 tl,可通過(guò)軟件寫入用戶報(bào)警上下限值。3)高速暫存存儲(chǔ),可以設(shè)置ds18b20 溫度轉(zhuǎn)換的精度。ds18b20
14、溫度傳感器的部存儲(chǔ)器還包括一個(gè)高速暫存ram 和一個(gè)非易失性的可電擦除的 e2pram 。高速暫存 ram 的結(jié)構(gòu)為 8 字節(jié)的存儲(chǔ)器,結(jié)構(gòu)如圖1.3所示。頭 2 個(gè)字節(jié)包含測(cè)得的溫度信息,第3 和第 4 字節(jié) th和 tl 的拷貝,是易失的,每次上電復(fù)位時(shí)被刷新。第 5 個(gè)字節(jié),為配置存放器,它的容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。ds18b20工作時(shí)存放器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。它的部存儲(chǔ)器結(jié)構(gòu)和字節(jié)定義如圖1.3所示。低 5 位一直為, tm是工作模式位,用于設(shè)置ds18b20 在工作模式還是在測(cè)試模式。表 22 ds18b20部存儲(chǔ)器結(jié)構(gòu)byte0 溫度測(cè)量值 lsb 50h
15、 byte1 溫度測(cè)量值 msb 50h e2prom byte2 th高溫存放器-th高溫存放器byte3 tl 低溫存放器-tl 低溫存放器byte4 配位存放器-配位存放器byte5 預(yù)留 ffh byte6 預(yù)留 0ch byte7 預(yù)留 iohbyte8 循環(huán)冗余碼校驗(yàn) crc 5 / 36 2) 非揮發(fā)的溫度報(bào)警觸發(fā)器th和 tl,可通過(guò)軟件寫入用戶報(bào)警上下限值。3)高速暫存存儲(chǔ),可以設(shè)置ds18b20 溫度轉(zhuǎn)換的精度。ds18b20 出廠時(shí)該位被設(shè)置為0,用戶要去改動(dòng), r1和 r0決定溫度轉(zhuǎn)換的精度位數(shù),來(lái)設(shè)置分辨率 , 如圖1.4。圖 23 ds18b20字節(jié)定義tm r1
16、r0 1 1 1 1 1 由表 1.1 可見(jiàn),分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間越長(zhǎng)。因此,在實(shí)際應(yīng)用中要將分辨率和轉(zhuǎn)換時(shí)間權(quán)衡考慮。高速暫存 ram 的第 6、7、8 字節(jié)保存未用,表現(xiàn)為全邏輯1。第 9 字節(jié)讀出前面所有8 字節(jié)的 crc 碼,可用來(lái)檢驗(yàn)數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。當(dāng) ds18b20接收到溫度轉(zhuǎn)換命令后,開(kāi)始啟動(dòng)轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16 位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存存儲(chǔ)器的第1、2 字節(jié)。單片機(jī)可以通過(guò)單線接口讀出該數(shù)據(jù), 讀數(shù)據(jù)時(shí)低位在先, 高位在后, 數(shù)據(jù)格式以 0.0625lsb形式表示。當(dāng)符號(hào)位s0 時(shí),表示測(cè)得的溫度值為正值,可以直接將
17、二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)符號(hào)位 s1 時(shí),表示測(cè)得的溫度值為負(fù)值,要先將補(bǔ)碼變成原碼,再計(jì)算十進(jìn)制數(shù)值。表 1.2 是一局部溫度值對(duì)應(yīng)的二進(jìn)制溫度數(shù)據(jù)6。表 24 ds18b20溫度轉(zhuǎn)換時(shí)間表r1 r0 分辨率 / 位溫度最大轉(zhuǎn)向時(shí)間 /ms 0 0 9 93.75 0 1 10 187.5 1 0 11 375 1 1 12 750 表 25 一局部溫度對(duì)應(yīng)值表溫度/ 二進(jìn)制表示十六進(jìn)制表示+125 0000 0111 1101 0000 07d0h +85 0000 0101 0101 0000 0550h +25.0625 0000 0001 1001 0000 0191h +10.12
18、5 0000 0000 1010 0001 00a2h +0.5 0000 0000 0000 0010 0008h 0 0000 0000 0000 1000 0000h -0.5 1111 1111 1111 0000 fff8h 6 / 36 續(xù)表 25 -10.125 1111 1111 0101 1110 ff5eh -25.0625 1111 1110 0110 1111 fe6fh -55 1111 1100 1001 0000 fc90h 4) crc 的產(chǎn)生在 64 b rom的最高有效字節(jié)中存儲(chǔ)有循環(huán)冗余校驗(yàn)碼crc 。主機(jī)根據(jù) rom 的前 56 位來(lái)計(jì)算 crc 值,并
19、和存入 ds18b20 中的 crc值做比擬,以判斷主機(jī)收到的 rom 數(shù)據(jù)是否正確。另外,由于ds18b20 單線通信功能是分時(shí)完成的,它有嚴(yán)格的時(shí)隙概念,因此讀寫時(shí)序很重要。系統(tǒng)對(duì)ds18b20 的各種操作按協(xié)議進(jìn)展。操作協(xié)議為:初使化 ds18b20 發(fā)復(fù)位脈沖發(fā)rom 功能命令發(fā)存儲(chǔ)器操作命令處理數(shù)7 / 36 3 ds18b20溫度傳感器簡(jiǎn)介3.1 溫度傳感器的歷史與簡(jiǎn)介溫度的測(cè)量是從金屬 (物質(zhì)) 的熱脹冷縮開(kāi)始。水銀溫度計(jì)至今仍是各種溫度測(cè)量的計(jì)量標(biāo)準(zhǔn)。可是它的缺點(diǎn)是只能近距離觀測(cè),而且水銀有毒,玻璃管易碎。代替水銀的有酒精溫度計(jì)和金屬簧片溫度計(jì),它們雖然沒(méi)有毒性,但測(cè)量精度很低
20、,只能作為一個(gè)概略指示。不過(guò)在居民住宅中使用已可滿足要求。在工業(yè)生產(chǎn)和實(shí)驗(yàn)研究中為了配合遠(yuǎn)傳儀表指示,出現(xiàn)了許多不同的溫度檢測(cè)方法,常用的有電阻式、熱電偶式、pn結(jié)型、輻射型、光纖式與石英諧振型等。它們都是基于溫度變化引起其物理參數(shù)(如電阻值,熱電勢(shì)等 ) 的變化的原理。隨著大規(guī)模集成電路工藝的提高,出現(xiàn)了多種集成的數(shù)字化溫度傳感器。3.2 ds18b20的工作原理3.2.1 ds18b20 工作時(shí)序根據(jù) ds18b20 的通訊協(xié)議,主機(jī)控制ds18b20 完成溫度轉(zhuǎn)換必須經(jīng)過(guò)三個(gè)步驟:1. 每一次讀寫之前都必須要對(duì)ds18b20 進(jìn)展復(fù)位;2. 復(fù)位成功后發(fā)送一條rom 指令;3. 最后發(fā)送
21、 ram 指令,這樣才能對(duì)ds18b20 進(jìn)展預(yù)定的操作。復(fù)位要求主 cpu 將數(shù)據(jù)線下拉 500 微秒,然后釋放, ds18b20 收到信號(hào)后等待 1560微秒左右后發(fā)出 60240 微秒的存在低脈沖,主cpu 收到此信號(hào)表示復(fù)位成功。其工作時(shí)序包括初始化時(shí)序、寫時(shí)序和讀時(shí)序,具體工作方法如圖2.1 ,2.2 ,2.3 所示。(1) 初始化時(shí)序響應(yīng)脈沖60240等待15-60主機(jī)最小480主機(jī)復(fù)位脈沖最小480us圖 31 初始化時(shí)序總線上的所有傳輸過(guò)程都是以初始化開(kāi)始的,主機(jī)響應(yīng)應(yīng)答脈沖。應(yīng)答脈沖使主機(jī)知道,總線上有從機(jī)設(shè)備,且準(zhǔn)備就緒。主機(jī)輸出低電平,保持低電平時(shí)間至少480us,以產(chǎn)生
22、復(fù)位脈沖。接著主機(jī)釋放總線,4.7k上拉電阻將總線拉高,延時(shí)1560us,并進(jìn)入8 / 36 承受模式,以產(chǎn)生低電平應(yīng)答脈沖,假設(shè)為低電平,再延時(shí)480us12。(2) 寫時(shí)序采樣1545采樣154511主機(jī)寫1 時(shí)序主機(jī)寫0 時(shí)序圖 32 寫時(shí)序?qū)憰r(shí)序包括寫 0 時(shí)序和寫 1 時(shí)序。所有寫時(shí)序至少需要60us,且在 2 次獨(dú)立的寫時(shí)序之間至少需要 1us 的恢復(fù)時(shí)間,都是以總線拉低開(kāi)始。寫1 時(shí)序,主機(jī)輸出低電平,延時(shí)2us,然后釋放總線,延時(shí) 60us。寫 0 時(shí)序,主機(jī)輸出低電平,延時(shí)60us,然后釋放總線,延時(shí) 2us8。(3) 讀時(shí)序主機(jī)采樣主機(jī)采樣454511主機(jī)寫 1 時(shí)序主機(jī)寫
23、 0 時(shí)序圖 33 讀時(shí)序總線器件僅在主機(jī)發(fā)出讀時(shí)序是,才向主機(jī)傳輸數(shù)據(jù),所以,在主機(jī)發(fā)出讀數(shù)據(jù)命令后,必須馬上產(chǎn)生讀時(shí)序,以便從機(jī)能夠傳輸數(shù)據(jù)。所有讀時(shí)序至少需要60us,且在 2次獨(dú)立的讀時(shí)序之間至少需要1us的恢復(fù)時(shí)間。每個(gè)讀時(shí)序都由主機(jī)發(fā)起, 至少拉低總線 1us。主機(jī)在讀時(shí)序期間必須釋放總線,并且在時(shí)序起始后的15us之采樣總線狀態(tài)。主機(jī)輸出低電平延時(shí) 2us,然后主機(jī)轉(zhuǎn)入輸入模式延時(shí)12us,然后讀取總線當(dāng)前電平, 然后延時(shí) 50us4 3.2.2 rom操作命令當(dāng)主機(jī)收到 dsl8b20 的響應(yīng)信號(hào)后,便可以發(fā)出rom 操作命令之一,這些命令如表9 / 36 2.2 :rom 操
24、作命令。3.3ds18b20的測(cè)溫原理3.3.1 ds18b20 的測(cè)溫原理每一片 dsl8b20在其 rom 中都存有其唯一的48 位序列號(hào),在出廠前已寫入片rom 中。主機(jī)在進(jìn)入操作程序前必須用讀rom(33h) 命令將該 dsl8b20的序列號(hào)讀出。程序可以先跳過(guò)rom ,啟動(dòng)所有 dsl8b20 進(jìn)展溫度變換,之后通過(guò)匹配rom ,再逐一地讀回每個(gè) dsl8b20的溫度數(shù)據(jù)。ds18b20的測(cè)溫原理如圖2.4 所示,圖中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給減法計(jì)數(shù)器1,高溫度系數(shù)晶振隨溫度變化其震蕩頻率明顯改變,所產(chǎn)生的信號(hào)作為減法計(jì)數(shù)器2 的脈沖輸
25、入,圖中還隱含著計(jì)數(shù)門,當(dāng)計(jì)數(shù)門打開(kāi)時(shí), ds18b20就對(duì)低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖后進(jìn)展計(jì)數(shù),進(jìn)而完成溫度測(cè)量。計(jì)數(shù)門的開(kāi)啟時(shí)間由高溫度系數(shù)振蕩器來(lái)決定,每次測(cè)量前,首先將- 55 所對(duì)應(yīng)的基數(shù)分別置入減法計(jì)數(shù)器1和溫度存放器中,減法計(jì)數(shù)器 1和溫度存放器被預(yù)置在 -55 所對(duì)應(yīng)的一個(gè)基數(shù)值。減法計(jì)數(shù)器1 對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)展減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器 1 的預(yù)置值減到 0 時(shí)溫度存放器的值將加1,減法計(jì)數(shù)器 1 的預(yù)置將重新被裝入,減法計(jì)數(shù)器 1 重新開(kāi)始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)展計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器 2 計(jì)數(shù)到 0 時(shí),停止溫度存放器值的累加,此時(shí)溫度存放
26、器中的數(shù)值即為所測(cè)溫度。圖 2.3 中的斜率累加器用于補(bǔ)償和修正測(cè)溫過(guò)程中的非線性,其輸出用于修正減法計(jì)數(shù)器的預(yù)置值, 只要計(jì)數(shù)門仍未關(guān)閉就重復(fù)上述過(guò)程,直至溫度存放器值達(dá)到被測(cè)溫度值. 表 31 rom操作命令指令約定代碼功能讀 rom 33h 讀 ds18b20 rom 中的編碼符合 rom 55h 發(fā)出此命令之后,接著發(fā)出64 位 rom 編碼,訪問(wèn)單線總線上與該編碼相對(duì)應(yīng)的ds18b20 使之作出響應(yīng),為下一步對(duì)該 ds18b20 的讀寫作準(zhǔn)備搜索 rom 0f0h 用于確定掛接在同一總線上ds18b20 的個(gè)數(shù)和識(shí)別 64 位rom 地址,為操作各器件作好準(zhǔn)備跳過(guò) rom 0cch
27、忽略 64 位 rom 地址,直接向 ds18b20 發(fā)溫度變換命令,適用于單片工作。續(xù)表 31 告警搜索命令0ech 執(zhí)行后,只有溫度超過(guò)設(shè)定值上限或者下限的片子才做出響應(yīng)溫度變換44h 啟動(dòng) ds18b20 進(jìn)展溫度轉(zhuǎn)換, 轉(zhuǎn)換時(shí)間最長(zhǎng)為 500ms ,結(jié)10 / 36 果存入部 9 字節(jié) ram 中讀暫存器0beh 讀部 ram 中 9 字節(jié)的容寫暫存器4eh 發(fā)出向部 ram 的第 3,4 字節(jié)寫上、下限溫度數(shù)據(jù)命令,緊跟讀命令之后,是傳送兩字節(jié)的數(shù)據(jù)復(fù)制暫存器48h 將 e2pram 中第 3,4 字節(jié)容復(fù)制到 e2pram 中重調(diào) e2pram 0bbh 將 e2pram 中容恢復(fù)
28、到 ram 中的第 3,4 字節(jié)讀 供 電方式0b4h 讀 ds18b20 的供電模式,寄生供電時(shí) ds18b20 發(fā)送“0,外接電源供電 ds18b20 發(fā)送“ 1另外,由于 ds18b20 單線通信功能是分時(shí)完成的,他有嚴(yán)格的時(shí)隙概念,因此讀寫時(shí)序很重要。系統(tǒng)對(duì)ds18b20的各種操作必須按協(xié)議進(jìn)展。操作協(xié)議為:初始化ds18b20 發(fā)復(fù)位脈沖發(fā) rom 功能命令發(fā)存儲(chǔ)器操作命令處理數(shù)據(jù)。圖 34 測(cè)溫原理部裝置3.3.2 ds18b20 的測(cè)溫流程圖 35 ds18b20測(cè)溫流程初始化ds18b20 跳過(guò) rom 匹配溫度變換延時(shí) 1s 跳過(guò) rom 匹配讀暫存器轉(zhuǎn)換成顯示碼數(shù)碼管顯示減
29、法計(jì)數(shù)器斜坡累加器減到 0 減法計(jì)數(shù)器預(yù)置低溫度系數(shù)振 蕩 器高溫度系數(shù)振 蕩 器計(jì)數(shù)比擬器預(yù)置溫度存放器減到 0 11 / 36 4 硬件電路設(shè)計(jì)4.1 單片機(jī)最小系統(tǒng)設(shè)計(jì)單片機(jī)最小應(yīng)用系統(tǒng),是指用最少的原件組成的單片機(jī)可以工作的系統(tǒng)。對(duì)51 系列單片機(jī)來(lái)說(shuō),最小系統(tǒng)應(yīng)包括單片機(jī)、晶振電路、復(fù)位電路。下面介紹51 單片機(jī)的最小系統(tǒng)電路圖。圖 4.1 單片機(jī)最小系統(tǒng)單片機(jī)的最小系統(tǒng)是由電源、復(fù)位、時(shí)鐘,下面介紹一下每一個(gè)組成局部。4.1.1 時(shí)鐘電路xtal1是片振蕩器的反相放大器輸入端,xtal2那么是輸出端,使用外部振蕩器時(shí),外部振蕩信號(hào)應(yīng)直接加到xtal1 ,而 xtal2懸空。部方式時(shí)
30、,時(shí)鐘發(fā)生器對(duì)振蕩脈沖二分頻,如晶振為12mhz ,時(shí)鐘頻率就為6mhz 。晶振的頻率可以在1mhz-24mhz 選擇。電容取30pf 左右。系統(tǒng)的時(shí)鐘電路設(shè)計(jì)是采用的部方式,即利用芯片部的振蕩電路。at89 單片機(jī)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器。引腳xtal1和 xtal2分別是此放大器的輸入端和輸出端。這個(gè)放大器與作為反響元件的片外晶體諧振器一起構(gòu)成一個(gè)自激振蕩12 / 36 器。外接晶體諧振器以與電容c1和 c2構(gòu)成并聯(lián)諧振電路,接在放大器的反響回路中。對(duì)外接電容的值雖然沒(méi)有嚴(yán)格的要求,但電容的大小會(huì)影響震蕩器頻率的上下、震蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。因此,此系統(tǒng)
31、電路的晶體振蕩器的值為12mhz ,電容應(yīng)盡可能的選擇瓷電容,電容值約為22f。在焊接刷電路板時(shí),晶體振蕩器和電容應(yīng)盡可能安裝得與單片機(jī)芯片靠近,以減少寄生電容, 更好地保證震蕩器穩(wěn)定和可靠地工作。單片機(jī)復(fù)位電路如下列圖4.2 所示:圖 4.2 時(shí)鐘電路4.1.2 復(fù)位電路在振蕩器運(yùn)行時(shí),有兩個(gè)機(jī)器周期24個(gè)振蕩周期以上的高電平出現(xiàn)在此引腿時(shí),將使單片機(jī)復(fù)位,只要這個(gè)腳保持高電平,51 芯片便循環(huán)復(fù)位。復(fù)位后p0p3 口均置 1引腳表現(xiàn)為高電平,程序計(jì)數(shù)器和特殊功能存放器sfr全部清零。當(dāng)復(fù)位腳由高電平變?yōu)榈碗娖綍r(shí),芯片為rom 的 00h處開(kāi)始運(yùn)行程序。復(fù)位是由外部的復(fù)位電路來(lái)實(shí)現(xiàn)的。片復(fù)位
32、電路是復(fù)位引腳rst通過(guò)一個(gè)斯密特觸發(fā)器與復(fù)位電路相連,斯密特觸發(fā)器用來(lái)抑制噪聲,它的輸出在每個(gè)機(jī)器周期的s5p2 ,由復(fù)位電路采樣一次。復(fù)位電路通常采用上電自動(dòng)復(fù)位和按鈕復(fù)位兩種方式,此電路系統(tǒng)采用的是上電與按鈕復(fù)位電路。當(dāng)時(shí)鐘頻率選用6mhz 時(shí),c取 22f,rs約為 200,rk約為 1k。復(fù)位操作不會(huì)對(duì)部ram 有所影響。常用的復(fù)位電路如下列圖所示:圖 4.3 復(fù)位電路圖4.1.3 電源電路9v 電源經(jīng) lm7805轉(zhuǎn)化成 5v,d1為電源指示燈, c5為電源濾波電容。圖 4.4 電源電路4.2 測(cè)溫電路設(shè)計(jì)對(duì) ds18b20的設(shè)計(jì)外部供電方式單點(diǎn)測(cè)溫。在這種外部電源供電方式下,ds
33、18b20工作電源由vdd引腳接入, 因?yàn)橛?vdd接入電源不存在電源電流不足的問(wèn)題,可以保證轉(zhuǎn)換精度。不過(guò)要注意。 在這種外部供電的方式下,ds18b20的 gnd 腳不能懸空, 否那么不能轉(zhuǎn)換溫度,讀取的溫度總是80 oc 。ds18b20的測(cè)溫電路連接如下列圖4.5 所示:13 / 36 圖 4.5 測(cè)溫電路4.3 顯示電路設(shè)計(jì)字符型液晶顯示模塊是一種專門用于顯示字母、數(shù)字、版本號(hào)等的點(diǎn)陣式液晶顯示模塊。它是由假設(shè)干個(gè)57 或 511 等點(diǎn)陣符位組成的,第一個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符。點(diǎn)陣字符位之間有一定點(diǎn)距的間隔,這樣就起到了字符間距和行距的作用。本系統(tǒng)采用字符型液晶顯示模塊160
34、2,我設(shè)置單片機(jī)驅(qū)動(dòng)lcd1602采用并行方式, rs,rw,en分別接主控單片機(jī)的p24,p25,p26 腳,q0 q7接到主控單片機(jī)的p0 數(shù)據(jù)接口。 lcd1602的硬件連接原理圖如圖4.6 所示:圖 4.6lcd1602 顯示電路4.4 鍵盤輸入電路四個(gè)鍵分別連接單片機(jī)p34、p35、p36、p37構(gòu)成獨(dú)立式鍵盤,分別實(shí)現(xiàn)溫度報(bào)警圍上下限的設(shè)定功能,如圖4.7 所示。圖 4.7 鍵盤輸入電路4.5 蜂鳴器報(bào)警電路當(dāng)溫度超過(guò)設(shè)定溫度圍時(shí),實(shí)現(xiàn)蜂鳴器鳴叫報(bào)警,并有2 個(gè)發(fā)光二極管點(diǎn)亮指示是高溫報(bào)警還是低溫報(bào)警。蜂鳴器由單片機(jī)p13口控制,用三極管驅(qū)動(dòng)。圖 4.8 蜂鳴器報(bào)警電路14 / 3
35、6 5 系統(tǒng)軟件設(shè)計(jì)5.1 主程序模塊主程序需要調(diào)用3 個(gè)子程序,分別為:ds18b20測(cè)溫子程序:實(shí)時(shí)溫度顯示子程序:驅(qū)動(dòng)lcd1602把實(shí)時(shí)溫度值顯示出來(lái)溫度設(shè)定、報(bào)警子程序:設(shè)定報(bào)警溫度值,當(dāng)溫度超過(guò)該值時(shí)產(chǎn)生報(bào)警,即驅(qū)動(dòng)蜂鳴器鳴叫、 2 個(gè)發(fā)光二極管發(fā)光主程序流程圖:15 / 36 圖 5.1 主程序流程圖5.2 讀溫度值模塊讀溫度值模塊需要調(diào)用4 個(gè)子程序,分別為:ds18b20 初始化子程序:讓單片機(jī)知道ds18b20 在總線上且已準(zhǔn)備好操作ds18b20 寫字節(jié)子程序:對(duì)ds18b20 發(fā)出命令ds18b20 讀字節(jié)子程序:讀取ds18b20 存儲(chǔ)器的數(shù)據(jù)延時(shí)子程序:對(duì) ds18
36、b20 操作時(shí)的時(shí)序控制開(kāi)始初始化 ds18b20 顯示當(dāng)前溫度判斷當(dāng)前溫度值超過(guò)設(shè)定溫度上限蜂鳴器報(bào)警紅燈亮設(shè)定溫度上、下限蜂鳴器報(bào)警是否低于設(shè)定溫度下限是綠燈亮否16 / 36 1.讀溫度值模塊流程圖:圖 5.2 讀溫度值子程序流程圖2.ds18b20 初始化子程序流程圖:ds18b20 初始化跳過(guò)讀序列號(hào)啟動(dòng)溫度轉(zhuǎn)換延時(shí)ds18b20 初始化跳過(guò)讀序列號(hào)讀取溫度值上下位數(shù)據(jù)轉(zhuǎn)換處理返回入口17 / 36 n y 圖 5.3 ds18b20初始化子程序流程圖3.ds18b20 寫字節(jié)和讀字節(jié)子程序流程圖:dq 置高電平稍延時(shí)dq 復(fù)位 0 延時(shí) 480ms dq 拉高電平延時(shí) 1560ms
37、 dq 為低電平?返回入口18 / 36 圖 5.4 ds18b20 寫字節(jié)子程序流程圖圖 5.5 ds18b20 讀字節(jié)子程序流程圖5.3 中斷模塊中斷采用 t0方式 1,初始值定時(shí)為50ms 。中斷模塊需調(diào)用兩個(gè)子程序:讀溫度值子程序:定時(shí)讀取溫度值,實(shí)時(shí)更新溫度值記錄溫度值子程序:定時(shí)記錄溫度值,供查詢使用把這兩個(gè)子程序放在中斷的原因是,不會(huì)因?yàn)檎{(diào)整報(bào)警溫度或查詢歷史溫度值而停止更新溫度值和記錄溫度值。中斷模塊流程圖:19 / 36 y n 圖 5.6 中斷模塊流程圖5.4 溫度設(shè)定、報(bào)警模塊按加減鍵分別上調(diào)和下調(diào)設(shè)定報(bào)警溫度值,當(dāng)實(shí)時(shí)溫度值超過(guò)設(shè)定值時(shí)驅(qū)動(dòng)蜂鳴器發(fā)聲,并點(diǎn)亮發(fā)光二極管,
38、實(shí)現(xiàn)聲光報(bào)警。溫度設(shè)定、報(bào)警模塊流程圖如下:中斷入口定時(shí)器重置初值計(jì)數(shù)值加 1 1 秒?顯示溫度值讀溫度值中斷返回入口功能鍵按下?20 / 36 n y n y n y y n n y y n y n n y 圖 5.7 溫度設(shè)定、報(bào)警模塊流程圖確認(rèn)按下?溫度超出設(shè)定值?取消報(bào)警判斷退出界面?返回上調(diào)設(shè)定值下調(diào)設(shè)定值聲光報(bào)警21 / 36 5.5 液晶顯示模塊lcd 使用之前須對(duì)它進(jìn)展初始初始化,初始化過(guò)程如下:(1) 清屏。將顯示緩沖區(qū) ddram的容全部寫入空格 (ascii20h) 。(2) 功能設(shè)置。(3) 開(kāi)/ 關(guān)顯示設(shè)置。控制顯示的開(kāi)關(guān),當(dāng)d=1 時(shí)顯示, d=0 時(shí)不顯示。控制光
39、標(biāo)開(kāi)關(guān),當(dāng)c=1 時(shí)光標(biāo)顯示, c=0 時(shí)光標(biāo)不顯示。控制字符是否閃爍,當(dāng)b=0 時(shí)字符閃爍, b=0時(shí)字符不閃爍。(4) 輸入方式設(shè)置。初始化過(guò)程: 1延時(shí) 15ms ;2寫指令 38h 不檢測(cè)忙信號(hào); 3延時(shí) 5 ms;4寫指令 38h 不檢測(cè)忙信號(hào); 5延時(shí) 5ms ;6寫指令 38h 不檢測(cè)忙信號(hào);7以后每次寫指令、讀 / 寫數(shù)據(jù)操作之前均需檢測(cè)忙信號(hào);8寫指令 38h :顯示模式設(shè)置; 9寫指令 08h :顯示關(guān)閉; 10寫指令 01h :顯示清屏; 11寫指令 06h :顯示光標(biāo)移動(dòng)設(shè)置; 12寫指令 0ch :顯示開(kāi)與光標(biāo)設(shè)置。本系統(tǒng)中液晶顯示器的初始化程序流程如下圖:圖 5.8
40、 lcd初始化程序流程圖開(kāi)始去除 lcd 顯示內(nèi)容模擬設(shè)置移動(dòng)光標(biāo)顯示 開(kāi)關(guān) 光標(biāo)初始化完成22 / 36 6 系統(tǒng)調(diào)試與測(cè)試6.1 硬件調(diào)試在本溫度控制電路的設(shè)計(jì)調(diào)試中遇到了很多的問(wèn)題。回想這些問(wèn)題只要認(rèn)真多思考都是可以防止的,以下為主要的問(wèn)題:1開(kāi)始調(diào)試時(shí)發(fā)現(xiàn)溫度芯片ds18b20 發(fā)熱很厲害 , 后來(lái)發(fā)現(xiàn)電路沒(méi)有給它加上拉電阻,加上上拉電阻后問(wèn)題就解決了。2 單片機(jī)ea31腳應(yīng)接高電平,ea是外存儲(chǔ)器選擇引腳。當(dāng)ea信號(hào)為低電平時(shí),無(wú)論單片機(jī)是否有部程序存儲(chǔ)器在,只訪問(wèn)外部程序存儲(chǔ)器;當(dāng)ea信號(hào)為高電平時(shí),先訪問(wèn)部程序存儲(chǔ)器,當(dāng)程序計(jì)數(shù)器pc 超過(guò)片程序存儲(chǔ)器容量時(shí),將自動(dòng)轉(zhuǎn)向外部程序存
41、儲(chǔ)器。本設(shè)計(jì)使用單片機(jī)的部程序存儲(chǔ)器,故ea應(yīng)接高電平。6.2 軟件調(diào)試在本次設(shè)計(jì)中, 軟件局部相比照擬簡(jiǎn)單。 軟件調(diào)試過(guò)程中主要是解決好以下幾個(gè)問(wèn)題:1對(duì)軟件總體設(shè)計(jì)流程有一個(gè)清晰的規(guī)劃。2合理分配單片機(jī)的引腳與部存放器。3在編寫液晶顯示、 ds18b20 時(shí)要嚴(yán)格按照他們的時(shí)序操作。23 / 36 6 總結(jié)本設(shè)計(jì)使用的溫度控制器結(jié)構(gòu)簡(jiǎn)單、測(cè)溫準(zhǔn)確,具有一定的實(shí)際應(yīng)用價(jià)值。該智能溫度控制器只是 ds18b20 在溫度控制領(lǐng)域的一個(gè)簡(jiǎn)單實(shí)例,還有許多需要完善的地方,例如可以將測(cè)得的溫度通過(guò)單片機(jī)與通訊模塊相連接,以手機(jī)短消息的方式發(fā)送給用戶,使用戶能夠隨時(shí)對(duì)溫度進(jìn)展監(jiān)控。此外,還能廣泛地應(yīng)用于
42、其他一些工業(yè)生產(chǎn)領(lǐng)域,如建筑,倉(cāng)儲(chǔ)等行業(yè)。本溫度控制系統(tǒng)可以應(yīng)用于多種場(chǎng)合,像的溫度、育嬰房的溫度、水溫的控制。用戶可靈活選擇本設(shè)計(jì)的用途,有很強(qiáng)的實(shí)用價(jià)值。24 / 36 參考文獻(xiàn)1 朝青 , 單片機(jī)原理與接口技術(shù) ( 簡(jiǎn)明修訂版 ) m . : 航空航天大學(xué), 1998 2 廣弟 . 單片機(jī)根底 m. :航空航天大學(xué), 1994 3 金偉正 . 單線數(shù)字溫度傳感器的原理與應(yīng)用j. 電子技術(shù)與應(yīng)用, 2000 4 鋼.1-wire 總線數(shù)字溫度傳感器ds18b20 原理與應(yīng)用 . 現(xiàn)代電子技術(shù) j,2005 5 麟祥 .ds1820數(shù)字溫度傳感器的功能特性與其應(yīng)用. 世界采礦快報(bào),20009
43、6. 沙占友等 . 智能化集成溫度傳感器原理與應(yīng)用. :機(jī)械工業(yè), 2002 7. 閻石. 數(shù)字電子技術(shù)根底第三版m. :高等教育, 1989- 25 - / 36 附錄 1 原理圖26 / 36 附錄 2 程序代碼/*- 名稱: 18b20 溫度測(cè)量報(bào)警容:在 lcd1602第一行可以顯示當(dāng)前溫度,第二行顯示設(shè)定的溫度區(qū)間,超過(guò)此溫度區(qū)間,蜂鳴器報(bào)警。溫度區(qū)間可以通過(guò)用戶按鍵設(shè)置-*/ #include /包含頭文件,一般情況不需要改動(dòng),頭文件包含特殊功能存放器的定義#include #include #define uchar unsigned char #define uint unsi
44、gned int /*/ /* 定義端口 */ /*/ sbit led1=p10;/ 溫度超出圍指示燈sbit led2=p11; sbit buzzer=p13;/蜂鳴器引腳sbit dq=p14;/ds18b20 端口sbit rs = p24;/1602數(shù)據(jù) / 命令選擇端h :數(shù)據(jù)存放器l:指令存放器sbit rw = p25;/1602讀/ 寫選擇端sbit e = p26;/1602使能信號(hào)端sbit key1=p34;/用戶按鍵sbit key2=p35; sbit key3=p36; sbit key4=p37; /*/ /* 全局變量 */ /*/ int temp;/測(cè)得
45、溫度char temp_max=40,temp_min=10;/設(shè)定的溫度char temph,templ; uchar flag_get,num=0; uchar code tab=0,1,2,3,4,5,6,7,8,9;/液晶顯示uchar tab1=min:010 max:040;/液晶第二行顯示容27 / 36 uchar str8; /*/ /* 延時(shí)函數(shù) */ /*/ void delay1(uint i)/短延時(shí)函數(shù) while(i-); void delay(uint z) /長(zhǎng)延時(shí)函數(shù) uint x,y; for(x=z;x0;x-) for(y=110;y0;y-); /*
46、/ /* ds18b20 初始化 */ /*/ void init_ds18b20(void) uchar x=0; dq = 0; /單片機(jī)將 dq拉低delay1(480); /準(zhǔn)確延時(shí)大于 480us dq = 1; /拉高總線 , 等待delay1(10); x=dq; /稍做延時(shí)后如果 x=0 那么初始化成功 x=1 那么初始化失敗delay1(5); /*/ /* ds18b20讀一個(gè)字節(jié) */ /*/ uchar readonechar(void) / ds18b20讀一個(gè)字節(jié) uchar i=0; uchar dat = 0; for (i=8;i0;i-) dq = 0; /
47、 給脈沖信號(hào)dat=1; dq = 1; / 給脈沖信號(hào),主機(jī)在讀時(shí)隙期間必須釋放總線if(dq) dat|=0 x80; delay1(5); 28 / 36 return(dat); /*/ /* ds18b20寫一個(gè)字節(jié) */ /*/ void writeonechar(uchar dat) /ds18b20寫一個(gè)字節(jié) uchar i=0; for (i=8; i0; i-) dq = 0; dq = dat&0 x01;/取最低位delay1(5); dq = 1; dat=1;/左移 delay1(5); /*/ /* ds18b20讀取溫度 */ /*/ uint read
48、temperature(void) /ds18b20讀取溫度 uchar a=0; uint b=0; uint t=0; init_ds18b20();/ds18b20初始化writeonechar(0 xcc); / 跳過(guò)讀序號(hào)列號(hào)的操作writeonechar(0 x44); / 啟動(dòng)溫度轉(zhuǎn)換delay1(200); /延時(shí)以求信號(hào)的穩(wěn)定init_ds18b20(); /ds18b20再次初始化writeonechar(0 xcc); /跳過(guò)讀序號(hào)列號(hào)的操作writeonechar(0 xbe); /讀取溫度存放器等共可讀9 個(gè)存放器前兩個(gè)就是溫度a=readonechar(); /低位b=readonechar(); /高位b=8; /b左移 8 位t=a+b; /把 a 與 b 結(jié)合,放在16 位的 t 中return(t); /*/ /* lcd1602寫命令操作 */ /*/ 29 / 36 void writecommand(uchar ) delay(5);/操作前短暫延時(shí),保證信號(hào)穩(wěn)定e=0; rs=0; rw=0; p0=; e=1; delay(5); e=0; /*/ /* lcd1602寫數(shù)據(jù)操作 */ /*/ void writedata(uchar dat)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 超市玩具購(gòu)銷合同協(xié)議
- 購(gòu)買協(xié)議和買賣合同
- 訂房協(xié)議換購(gòu)房合同模板
- 讓路協(xié)議書范本
- 購(gòu)買電吹風(fēng)合同協(xié)議
- 購(gòu)買加工產(chǎn)品合同協(xié)議
- b駕駛證試題及答案
- 新疆維吾爾自治區(qū)喀什地區(qū)巴楚縣2024-2025學(xué)年高二下學(xué)期4月期中地理試題(原卷版+解析版)
- 2025年跨境電商政策與實(shí)務(wù)考試試題及答案
- 2025年歷史文化研究生入學(xué)考試試題及答案
- 客戶生命周期價(jià)值預(yù)測(cè)-第1篇-深度研究
- 文化轉(zhuǎn)型時(shí)代的文化基因與共生教育選擇
- 兩聯(lián)供基礎(chǔ)知識(shí)
- 2025年四川航空股份有限公司招聘筆試參考題庫(kù)含答案解析
- 《有趣的房子》幼兒園班本課程課件
- 河北省保定市重點(diǎn)中學(xué)2025屆高考英語(yǔ)一模試卷含解析
- 食堂節(jié)能減排等環(huán)保措施及方案
- (翻譯)UL67標(biāo)準(zhǔn)中文版-2019配電板UL中文版
- 2024詩(shī)詞大會(huì)100題題庫(kù)(含答案)
- JGJ46-2024 建筑與市政工程施工現(xiàn)場(chǎng)臨時(shí)用電安全技術(shù)標(biāo)準(zhǔn)
- 疤痕課件教學(xué)課件
評(píng)論
0/150
提交評(píng)論