付費(fèi)下載
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
基于sc89c52rc的溫度測量系統(tǒng)
0遠(yuǎn)端a/d轉(zhuǎn)換在一些工業(yè)生產(chǎn)過程中,如恒溫爐、儲水池、花卉種植、小型溫室等,需要對溫度進(jìn)行嚴(yán)格的要求,并對其進(jìn)行檢測和控制。傳統(tǒng)的溫度測量方法是將溫度傳感器輸出的模擬信號放大后送至遠(yuǎn)端A/D轉(zhuǎn)換器,最后單片機(jī)對A/D轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行分析處理。這種方法的缺點(diǎn)是模擬信號在傳輸?shù)倪^程中存在損耗并且容易受到外界的干擾,導(dǎo)致測量的溫度精度不高。文中以STC89C52RC單片機(jī)為控制核心,利用美國Dallas公司最新推出的單總線數(shù)字溫度傳感器DS18B20測量溫度,單片機(jī)處理后對溫度進(jìn)行控制,并將溫度顯示在LCD1602上,還可通過按鍵設(shè)置溫度上下限值實(shí)現(xiàn)溫度超限報(bào)警等功能。1顯示、輸入和報(bào)警部分多功能溫度控制系統(tǒng)的結(jié)構(gòu)如圖1所示,系統(tǒng)由六部分組成:控制核心部分、溫度數(shù)據(jù)采集部分、加熱裝置控制部分、液晶顯示部分、按鍵輸入部分和報(bào)警提示部分。單片機(jī)啟動溫度采集電路完成溫度的一次轉(zhuǎn)換,然后讀出轉(zhuǎn)換后的數(shù)字量并轉(zhuǎn)化成當(dāng)前的溫度呈現(xiàn)在顯示模塊中,并將當(dāng)前的溫度與通過按鍵輸入電路設(shè)定的保持恒溫度數(shù)進(jìn)行比較,以實(shí)現(xiàn)溫度的控制。還可以通過按鍵設(shè)置溫度的上下限值以實(shí)現(xiàn)超溫或低溫報(bào)警提示功能。本系統(tǒng)的設(shè)計(jì)目標(biāo)要對溫度的控制精度達(dá)到0.1℃1.1給蜂鳴器送周期報(bào)警電路采用蜂鳴器作為發(fā)聲裝置,當(dāng)溫度高于設(shè)定的上限值或低于下限值,給蜂鳴器送周期為1s,占空比為50%的方波,報(bào)警的時(shí)間可以持續(xù)1分鐘或等待按鍵解除報(bào)警,這由軟件控制實(shí)現(xiàn)。1.2消除鍵動的擺動采用2×3的小鍵盤,鍵盤的識別可以采用兩種方法:行掃描法和行反轉(zhuǎn)法。兩種方法都要注意消除按鍵的抖動。文中采用行掃描法并做成子程序,出口參數(shù)為按鍵的鍵值。定義鍵K1設(shè)置TH,K2設(shè)置TL,K3調(diào)高TH或TL,K4調(diào)低TH或TL,K5對TH或TL的數(shù)值進(jìn)行確認(rèn)。1.3溫度轉(zhuǎn)換分辨率的選取溫度檢測電路采用智能溫度傳感器DS18B20,它與單片機(jī)相連只需要3線,減少了外部的硬件電路。DS18B20主要性能特點(diǎn)如下:(1)測溫的范圍為-55~125℃,最大分辨率可以達(dá)到0.0625℃;(2)電源電壓范圍為3.0~5.5V;(3)供電模式:寄生供電和外部供電;(4)封裝形式有兩種:3腳的TO-92封裝和8腳的SOIC封裝;(5)可編程的溫度轉(zhuǎn)換分辨率,分辨率為9~12位(包括1位符號位),由配置寄存器決定具體位數(shù),配置寄存器的格式如表1所示。其中R1R0是用來設(shè)定分辨率的,分辨率的定義如表2所示。由表2可以看出,分辨率設(shè)定得越高,溫度轉(zhuǎn)換所需要的時(shí)間就越長,因此應(yīng)根據(jù)實(shí)際應(yīng)用的需要來選擇合適的分辨率。本文中選取12位分辨率,每隔1秒檢測一次溫度。12位分辨率的溫度數(shù)據(jù)值格式如下:當(dāng)S=0表示測得的溫度為正值,當(dāng)S=1表示測得的溫度為負(fù)值。1.3.1高速暫存ram的設(shè)計(jì)DS18B20的存儲器有高速暫存RAM和非易失性電擦寫EEPROM。高速暫存RAM的內(nèi)容從低字節(jié)到高字節(jié)9個(gè)字節(jié)依次為:溫度LSB、溫度MSB、高溫限值字節(jié)TH、低溫限值字節(jié)TL、配置寄存器、保留、保留、保留,最后一個(gè)字節(jié)是前8個(gè)字節(jié)的CRC碼。EEPROM用來存儲TH和TL。1.3.2溫度計(jì)算的補(bǔ)碼表示從DS18B20讀出的兩個(gè)字節(jié)的二進(jìn)制值溫度必須先轉(zhuǎn)換成十進(jìn)制數(shù)值,然后才能將其ASCII碼送往LCD1602顯示。12位的分辨率,溫度是以0.0625步進(jìn)的,由于兩個(gè)字節(jié)的溫度采用補(bǔ)碼表示,所以先判斷讀出溫度的最高位是0還是1,即判斷是正溫還是負(fù)溫,然后對其求補(bǔ)碼轉(zhuǎn)化成正溫,之后將高字節(jié)的低4位和低字節(jié)的高4位組成一個(gè)字節(jié),這個(gè)字節(jié)的二進(jìn)制值不斷除以10得出的余數(shù)即為溫度值的個(gè)、十、百位值。若讀出的溫度數(shù)值是負(fù)數(shù),顯示處理時(shí),在溫度數(shù)的前面人為顯示負(fù)號即可。對小數(shù)部分的溫度只需將低字節(jié)的低4位乘以0.0625,然后對乘積取其小數(shù)點(diǎn)后的一位數(shù)即可。1.3.3控制器發(fā)送符合控制板使用的ds18b20(1)首先對DS18B20進(jìn)行復(fù)位。由單片機(jī)將數(shù)據(jù)線DQ拉至低電平480-960μs,然后將DQ拉高15-60μs,以便單片機(jī)檢測到DS18B20送來的低電平響應(yīng)。然后檢測DQ,若DQ仍然為高電平,則復(fù)位操作失敗,可采用循環(huán)的方式再次對其進(jìn)行復(fù)位;若DQ為低電平,則復(fù)位操作成功。(2)DS18B20的ROM操作命令。DS18B20復(fù)位后,主機(jī)可以發(fā)器件ROM的操作命令如讀ROM[33H]、匹配ROM[55H]、跳過ROM[0CCH],報(bào)警搜索[4EH]等。在單點(diǎn)總線的情況下,可發(fā)跳過ROM[0CCH]操作命令,以節(jié)省時(shí)間。另外,文中有報(bào)警的功能,溫度轉(zhuǎn)換后還需要發(fā)報(bào)警搜索命令,該命令會將最近一次測得的溫度值T與高速RAM中的TH或TL作比較,若T>TH或T<TL,則該器件內(nèi)的報(bào)警標(biāo)志位置位,并對主機(jī)發(fā)出的報(bào)警搜索命令作出響應(yīng)。(3)DS18B20的存儲器操作命令。如啟動溫度轉(zhuǎn)換命令[44H],寫入命令[4EH](寫入該命令后,緊接著要寫入報(bào)警上限TH,報(bào)警下限TL及配置寄存器字節(jié)),讀暫存器RAM的內(nèi)容命令[0BEH](讀取將從第一個(gè)字節(jié)開始一直到第9個(gè)字節(jié)結(jié)束,如僅需要部分字節(jié),主機(jī)可以在合適的時(shí)刻發(fā)復(fù)位命令來終止讀取)及復(fù)制命令[48H](把暫存器RAM的第2、3、4字節(jié)轉(zhuǎn)存到DS18B20的EEROM中)等。(4)DS18B20的ROM或RAM操作的總線讀寫時(shí)序。對于讀時(shí)序,首先將DQ拉低并延時(shí)1-15μs以內(nèi)(延時(shí)時(shí)間不能太長),然后將DQ拉高并延時(shí)幾個(gè)μs后再讀取DQ的值,讀完一位后需要延時(shí)45μs以上才能讀取下一位;對于寫時(shí)序,先將DQ拉低10-15μs,接著向總線寫入數(shù)據(jù)并延時(shí)50μs以上,最后將DQ拉高1μs以上再進(jìn)行下一位的寫入。1.4顯示模塊采用的是長沙太陽人電子有限公司生產(chǎn)的SMC1602A。1.4.1主要技術(shù)芯片的工作電壓4.5~5.5V,能顯示兩行,每行顯示16個(gè)字符,字符的大小為2.95×4.35mm。1.4.2命令選擇及其引腳除電壓、背光引腳及8個(gè)I/O引腳外,主要的控制引腳還有數(shù)據(jù)/命令選擇RS引腳,該引腳為高電平時(shí)表示I/O引腳出現(xiàn)的是數(shù)據(jù),該引腳為低電平時(shí)表示I/O引腳出現(xiàn)的是命令;讀/寫選擇引腳及使能引腳E(該引腳為高電平時(shí)對SMC1602A的操作才有效)。1.4.3數(shù)據(jù)指紋設(shè)置(1)初始化設(shè)置a.顯示模式設(shè)置。指令碼:00111000b,用于設(shè)置16×2顯示,5×7點(diǎn)陣。b.顯示開/關(guān)及光標(biāo)設(shè)置。二進(jìn)制指令碼:00000DCB中D位用來控制顯示開或關(guān),C位用來控制顯示光標(biāo),B位控制光標(biāo)是否閃爍。二進(jìn)制指令碼:000001NS中N位控制讀寫一個(gè)數(shù)據(jù)后地址指針和光標(biāo)加或減1,S位控制字符的移動。c.數(shù)據(jù)指針設(shè)置。指令碼:80H+地址碼(0-27H,40H-67H)用于設(shè)置數(shù)據(jù)指針。(2)其他設(shè)置。如指令碼01H:顯示清屏且數(shù)據(jù)指針清零。1.4.4顯示模式見圖2(1)延時(shí)15ms,寫指令38H(不檢測忙信號);(2)延時(shí)5ms,寫指令38H(不檢測忙信號),上述過程執(zhí)行兩遍,后面的過程每次寫指令、讀/寫數(shù)據(jù)之前均需要檢測忙信號;(3)寫指令38H:顯示模式設(shè)置;(4)寫指令08H:關(guān)閉顯示;(5)寫指令01H:清屏且數(shù)據(jù)指針清零;(6)寫指令06H:字符不移動,光標(biāo)和指針加1;(7)寫指令0FH:顯示開,光標(biāo)閃爍。1.5恒恒材料維護(hù)模塊選用6V固態(tài)繼電器作為開關(guān)器件,通過控制其斷與通的時(shí)序從而控制加熱器件的工作時(shí)長,以實(shí)現(xiàn)樣品的恒溫保持功能。2usb口提供vi接口該系統(tǒng)的主要電路原理圖如圖2所示。系統(tǒng)中使用USB口提供5V電源的電路;使用RS232串口通過P3.0和P3.1燒寫程序的電路;以及使用繼電器控制的恒溫保持電路等在原理圖中并未畫出。3程序結(jié)構(gòu)的設(shè)計(jì)系統(tǒng)總的流程圖如圖3所示。系統(tǒng)程序主要有主程序和LCD1602初始化子程序及讀寫時(shí)序子程序、DS18B20復(fù)位及讀寫時(shí)序子程序、鍵盤掃描子程序、溫度數(shù)據(jù)處理子程序等構(gòu)成。4六進(jìn)制文件的生成編程語言可以采用匯編語言,也可以采用C51語言。本文采用匯編語言,使用KeilC軟件新建一個(gè)工程
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 快件攬收員崗前安全實(shí)操考核試卷含答案
- 地毯絡(luò)筒工操作水平知識考核試卷含答案
- 冷食品制作工崗前前瞻考核試卷含答案
- 膠帶機(jī)移設(shè)機(jī)司機(jī)誠信評優(yōu)考核試卷含答案
- 劍麻纖維生產(chǎn)工班組建設(shè)能力考核試卷含答案
- 冷鏈物流員誠信品質(zhì)競賽考核試卷含答案
- 酒精釀造工測試驗(yàn)證知識考核試卷含答案
- 2024年平頂山職業(yè)技術(shù)學(xué)院輔導(dǎo)員招聘考試真題匯編附答案
- 2024年漯河職業(yè)技術(shù)學(xué)院輔導(dǎo)員考試參考題庫附答案
- 老年人能力評估師班組協(xié)作強(qiáng)化考核試卷含答案
- 電纜局部放電試驗(yàn)報(bào)告模板
- 東莞初三上冊期末數(shù)學(xué)試卷
- 人員技能矩陣管理制度
- T/CECS 10220-2022便攜式丁烷氣灶及氣瓶
- 2024南海農(nóng)商銀行科技金融專業(yè)人才社會招聘筆試歷年典型考題及考點(diǎn)剖析附帶答案詳解
- 空調(diào)售后外包協(xié)議書
- 光伏防火培訓(xùn)課件
- 電視節(jié)目編導(dǎo)與制作(全套課件147P)
- 《碳排放管理體系培訓(xùn)課件》
- 2024年人教版八年級歷史上冊期末考試卷(附答案)
- 區(qū)間閉塞設(shè)備維護(hù)課件:表示燈電路識讀
評論
0/150
提交評論