版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、畢業(yè)論文設計基于51單片機的溫度控制系統(tǒng)摘要在日常生活中溫度在我們身邊無時不在,溫度的控制和應用在各個領域都有重要的作用。很多行業(yè)中都有大量的用電加熱設備,和溫度控制設備,如用于報警的溫度自動報警系統(tǒng),熱處理的加熱爐,用于融化金屬的坩鍋電阻爐及各種不同用途的溫度箱等,這些都采用單片機技術,利用單片機語言程序對它們進行控制。而單片機技術具有控制和操作使用方便、結構簡單便于修改和維護、靈活性大且具有一定的智能性等特點,可以精確的控制技術標準,提高了溫控指標,也大大的提高了產(chǎn)品的質量和性能。由于單片機技術的優(yōu)點突出,智能化溫度控制技術正被廣泛地采用。本文介紹了基于單片機AT89C51 的溫度控制系統(tǒng)
2、的設計方案與軟硬件實現(xiàn)。采用溫度傳感器DS18B20 采集溫度數(shù)據(jù),7段數(shù)碼管顯示溫度數(shù)據(jù),按鍵設置溫度上下限,當溫度低于設定的下限時,點亮綠色發(fā)光二極管,當溫度高于設定的上限時,點亮紅色發(fā)光二極管。給出了系統(tǒng)總體框架、程序流程圖和Protel 原理圖,并在硬件平臺上實現(xiàn)了所設計功能。關鍵詞:單片機 溫度控制系統(tǒng) 溫度傳感器AbstractIn daily life, the temperature in our side the ever-present, the control of the temperature and the application in various fields
3、 all have important role. Many industry there are a large number of electric heating equipment, and the temperature control equipment, such as used for alarm automatic temperature alarm systems, heat treatment furnace, used to melt metal crucible resistance furnace, and all kinds of different USES o
4、f temperature box and so on, these using single chip microcomputer, using single chip computer language program to control them. And single-chip microcomputer technology has control and convenient in operation, easy to modify and maintenance of simple structure, flexibility is large and has some of
5、the intelligence and other characteristics, we can accurately control technology standard to improve the temperature control index, also greatly improve the quality of the products and performance. Because of the advantages of the single chip microcomputer intelligent temperature control technology
6、outstanding, is being widely adopted. This paper introduces the temperature control based on single chip microcomputer AT89C51 design scheme of the system and the hardware and software implementation. The temperature sensor DS18B20 collection temperature data, 7 period of digital pipe display, the u
7、pper and lower limits of temperature button when temperature below the setting of the lower limit, light green leds, when the temperature is higher than the set on the limit, light red leds. Given the system framework and program flow chart and principle chart, and in Protel hardware platform to rea
8、lize the function of the design. Keywords: SCM Temperature control system Temperature sensors目錄摘要IABSTRACTII第一章 前言11.1 溫度控制系統(tǒng)設計發(fā)展歷史及意義11.2 溫度控制系統(tǒng)的目的11.3 溫度控制系統(tǒng)完成的功能1第二章 總體設計方案22.1 方案一22.2 方案二23.1 DS18B20簡介5封裝與引腳53.1.2 DS18B20的簡單性能53.2 DS18B20的工作原理53.3 DS18B20的測溫原理63.3.1 測溫原理:63.3.2 DS18B20的溫度采集過程9第四
9、章 單片機接口設計104.1 設計原則104.2 單片機引腳連接104.2.1 單片機引腳圖104.2.2 串口引腳11第五章 硬件電路設計125.1 主要硬件電路設計125.2 軟件系統(tǒng)設計155.2.1 軟件系統(tǒng)設計155.2.2 程序組成16結束語20致謝21附錄22參考文獻34第一章 前言1.1 溫度控制系統(tǒng)設計發(fā)展歷史及意義 溫度控制系統(tǒng)廣泛應用于社會生活的各個領域 ,如家電、汽車、材料、電力電子等 ,常用的控制電路根據(jù)應用場合和所要求的性能指標有所不同 , 在工業(yè)企業(yè)中,如何提高溫度控制對象的運行性能一直以來都是控制人員和現(xiàn)場技術人員努力解決的問題。這類控制對象慣性大,滯后現(xiàn)象嚴重
10、,存在很多不確定的因素,難以建立精確的數(shù)學模型,從而導致控制系統(tǒng)性能不佳,甚至出現(xiàn)控制不穩(wěn)定、失控現(xiàn)象。傳統(tǒng)的繼電器調溫電路簡單實用 ,但由于繼電器動作頻繁 ,可能會因觸點不良而影響正常工作??刂祁I域還大量采用傳統(tǒng)的PID控制方式,但PID控制對象的模型難以建立,并且當擾動因素不明確時,參數(shù)調整不便仍是普遍存在的問題。而采用數(shù)字溫度傳感器DS18B20,因其內部集成了A/D轉換器,使得電路結構更加簡單,而且減少了溫度測量轉換時的精度損失,使得測量溫度更加精確。數(shù)字溫度傳感器DS18B20只用一個引腳即可與單片機進行通信,大大減少了接線的麻煩,使得單片機更加具有擴展性。由于DS18B20芯片的小
11、型化,更加可以通過單跳數(shù)據(jù)線就可以和主電路連接,故可以把數(shù)字溫度傳感器DS18B20做成探頭,探入到狹小的地方,增加了實用性。更能串接多個數(shù)字溫度傳感器DS18B20進行范圍的溫度檢測。1.2 溫度控制系統(tǒng)的目的溫度控制在日常生活及工業(yè)領域應用相當廣泛,比如溫室、水池、發(fā)酵缸、電源等場所的溫度控制。而以往溫度控制是由人工完成的而且不夠重視,其實在很多場所溫度都需要監(jiān)控以防止發(fā)生意外。針對此問題,本系統(tǒng)設計的目的是實現(xiàn)一種可連續(xù)高精度調溫的溫度監(jiān)測和控制系統(tǒng),實現(xiàn)對溫度的實時檢測,具有提醒和控制的功能,本設計的內容是溫度測試控制系統(tǒng),控制對象是溫度。它的特點在于應用廣泛,功能強大,小巧美觀,便于
12、攜帶,是一款既實用又廉價的控制系統(tǒng)。1.3 溫度控制系統(tǒng)完成的功能本設計是對溫度進行實時監(jiān)測與控制,設計的溫度控制系統(tǒng)實現(xiàn)了基本的溫度控制功能:此設計中溫度恒定值設置為60,上下跳轉溫度為1,設計精度值為0.1。當溫度低于設定下限溫度即59時,綠燈亮,報警提醒需要外界的加熱措施。當溫度上升到上限溫度時,停止加溫,紅燈亮保持溫度。當溫度高于設定上限溫度即61時,紅燈亮,需要外界采取降溫措施(本設計中沒有附加外界的加熱和降溫措施)。當溫度下降到恒溫度時,停止降溫。溫度在上下限溫度之間時,執(zhí)行機構不執(zhí)行。第二章 總體設計方案2.1 方案一利用溫度傳感器將溫度測出,通過某種電信號傳給外部電路產(chǎn)生一種變
13、化,然后由外部電路控制裝置的開啟。測溫電路的設計,可以使用熱敏電阻之類的傳感器件利用其感溫效應,(如電阻隨溫度的變化有一個變化的曲線,即利用它的變化特性曲線)溫度的變化使得電阻發(fā)生了變化根據(jù)歐姆定律,電阻的變化會帶來電流或這電壓的變化。再將隨被測溫度變化的電壓或電流采集過來,然后進行模擬信號換成數(shù)字信號(A/D)轉換,將數(shù)字信號送入單片機,用單片機進行數(shù)據(jù)的處理,將溫度顯示在電路上,這樣就可以將被測溫度顯示出來。最后還有外圍的控制電路,采取一定的措施來控制產(chǎn)生溫度的電路,如加溫、降溫、保持不動、或者報警。這種設計需要用到A/D轉換電路,感溫電路比較麻煩。設計流程圖如圖2.1傳感器溫度檢測電路A
14、/D轉換電路單片機處理電路顯示和控制溫度圖2.1 設計流程圖2.2 方案二利用溫度傳感器芯片直接將溫度數(shù)據(jù)測出,之后通過單片機程序控制溫度的上、下限值,用外部電路產(chǎn)生顯示和控制加熱和降,來達到設計的要求??紤]使用溫度傳感器,結合單片機電路設計,采用一只DS18B20溫度傳感器,直接讀取被測溫度值,之后進行轉換,依次完成設計要求。比較以上兩種方案,很容易看出,采用方案二,電路比較簡單,軟件設計容易實現(xiàn),故實際設計中擬采用方案二。在設計中溫度的控制流程如圖2.2所示。開 始初始化DS18B20顯示當前溫度紅燈亮設定溫度恒定值綠燈亮判斷當前溫度值超過設定溫度上限低于設定溫度下限圖2.2 溫度控制整體
15、流程在本系統(tǒng)的總體電路設計方框圖如圖2.3所示,它由五部分組成:單片機AT89C51控制部分; DS18B20溫度傳感器采集部分;3位LED數(shù)碼管顯示部分;按鍵調節(jié)部分;二極管報警部分。DS18B20溫度采集電路LED顯示電路二極管顯示報警電路AT89C51單片機控制電路按鍵調節(jié)電路圖2.3 溫度計電路總體設計方案整個設計總體分為以下幾個部分:控制部分、顯示部分、溫度采集部分、按鍵控制部分。1、控制部分由單片機AT89C51芯片在程序控制和外圍簡單組合電路作用下運行,和控制溫度的上、下限,和 LED的溫度顯示??刂瓢l(fā)光二級管的亮滅,起到提醒報警功能。2、顯示部分顯示電路采用3位7斷共陽LED數(shù)
16、碼管,從P3口送數(shù),P0口掃描。有兩部分顯示電路,第一是顯示DS18B20溫度傳感器所檢測的當前溫度,第二是設定恒定的溫度值。3、溫度采集部分由DS18B20智能溫度傳感器直接采集被測溫度。4、按鍵控制部分由三個按鍵控制調節(jié),用來調節(jié)溫度的恒定限值,起到預設調節(jié)作用。第三章 溫度傳感器DS18B203.1 DS18B20簡介 DS18B20封裝與引腳 DS18B20封裝與引腳如圖3.1 圖3.1 DS18B20的封裝與引腳3.1.2 DS18B20的簡單性能1、 獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊。2、 測溫范圍 551
17、25,固有測溫分辨率0.5。3、 支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,實現(xiàn)多點測溫。4、 工作電源: 35V/DC。5、 在使用中不需要任何外圍元件。6、 測量結果以912位數(shù)字量方式串行傳送。7、 不銹鋼保護管直徑 6 。8、 適用于DN1525, DN40DN250各種介質工業(yè)管道和狹小空間設備測溫。9、 標準安裝螺紋 M10X1, M12X1.5, G1/2”任選。10、 PVC電纜直接出線或德式球型接線盒出線,便于與其它電器設備連接。3.2 DS18B20的工作原理DS18B20內部的低溫度系數(shù)振蕩器是一個振蕩頻率隨溫度變化很小的振蕩器,為計數(shù)器1提供一頻率穩(wěn)定
18、的計數(shù)脈沖。高溫度系數(shù)振蕩器是一個振蕩頻率對溫度很敏感的振蕩器,為計數(shù)器2提供一個頻率隨溫度變化的計數(shù)脈沖。初始時,溫度寄存器被預置成-55,每當計數(shù)器1從預置數(shù)開始減計數(shù)到0時,溫度寄存器中寄存的溫度值就增加1,這個過程重復進行,直到計數(shù)器2計數(shù)到0時便停止。初始時,計數(shù)器1預置的是與-55相對應的一個預置值。以后計數(shù)器1每一個循環(huán)的預置數(shù)都由斜率累加器提供。為了補償振蕩器溫度特性的非線性性,斜率累加器提供的預置數(shù)也隨溫度相應變化。計數(shù)器1的預置數(shù)也就是在給定溫度處使溫度寄存器寄存值增加1計數(shù)器所需要的計數(shù)個數(shù)。DS18B20內部的比較器以四舍五入的量化方式確定溫度寄存器的最低有效位。在計數(shù)
19、器2停止計數(shù)后,比較器將計數(shù)器1中的計數(shù)剩余值轉換為溫度值后與0.25進行比較,若低于0.25,溫度寄存器的最低位就置0;若高于0.25,最低位就置1;若高于0.75時,溫度寄存器的最低位就進位然后置0。這樣,經(jīng)過比較后所得的溫度寄存器的值就是最終讀取的溫度值了,其最后位代表0.5,四舍五入最大量化誤差為±1/2LSB,即0.25。溫度寄存器中的溫度值以9位數(shù)據(jù)格式表示,最高位為符號位,其余8位以二進制補碼形式表示溫度值。測溫結束時,這9位數(shù)據(jù)轉存到暫存存儲器的前兩個字節(jié)中,符號位占用第一字節(jié),8位溫度數(shù)據(jù)占據(jù)第二字節(jié)。DS18B20測量溫度時使用特有的溫度測量技術。DS18B20內
20、部的低溫度系數(shù)振蕩器能產(chǎn)生穩(wěn)定的頻率信號;同樣的,高溫度系數(shù)振蕩器則將被測溫度轉換成頻率信號。當計數(shù)門打開時,DS18B20進行計數(shù),計數(shù)門開通時間由高溫度系數(shù)振蕩器決定。芯片內部還有斜率累加器,可對頻率的非線性度加以補償,測量結果存入溫度寄存器中。一般情況下的溫度值應該為9位,但因符號位擴展成高8位,所以最后以16位補碼形式讀出。DS18B20工作過程一般遵循以下協(xié)議:初始化ROM操作命令存儲器操作命令處理數(shù)據(jù)。3.3 DS18B20的測溫原理3.3.1 測溫原理每一片DSl8B20在其ROM中都存有其唯一的48位序列號,在出廠前已寫入片內ROM 中。主機在進入操作程序前必須用讀ROM(33
21、H)命令將該DSl8B20的序列號讀出。ROM命令代碼見表3.1。程序可以先跳過ROM,啟動所有DSl8B20進行溫度變換,之后通過匹配ROM,再逐一地讀回每個DSl8B20的溫度數(shù)據(jù)。DS18B20的測溫原理,低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號送給減法計數(shù)器1,高溫度系數(shù)晶振隨溫度變化其震蕩頻率明顯改變,所產(chǎn)生的信號作為減法計數(shù)器2的脈沖輸入,還隱含著計數(shù)門,當計數(shù)門打開時,DS18B20就對低溫度系數(shù)振蕩器產(chǎn)生的時鐘脈沖后進行計數(shù),進而完成溫度測量。計數(shù)門的開啟時間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將-55 所對應的基數(shù)分別置入減法計數(shù)器1和溫度寄
22、存器中,減法計數(shù)器1和溫度寄存器被預置在-55 所對應的一個基數(shù)值。減法計數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行減法計數(shù),當減法計數(shù)器1的預置值減到0時溫度寄存器的值將加1,減法計數(shù)器1的預置將重新被裝入,減法計數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù),如此循環(huán)直到減法計數(shù)器2計數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即為所測溫度。圖3.2中的斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正減法計數(shù)器的預置值,只要計數(shù)門仍未關閉就重復上述過程,直至溫度寄存器值達到被測溫度值。 表3.1 ROM操作命令指令約定代碼功 能讀ROM33H讀DS18B20 RO
23、M中的編碼符合ROM55H發(fā)出此命令之后,接著發(fā)出64位ROM編碼,訪問單線總線上與該編碼相對應的DS18B20 使之作出響應,為下一步對該DS18B20的讀寫作準備搜索ROM0F0H用于確定掛接在同一總線上DS18B20的個數(shù)和識別64位ROM地址,為操作各器件作好準備跳過ROM0CCH忽略64位ROM地址,直接向DS18B20發(fā)溫度變換命令,適用于單片工作。告警搜索命 令0ECH執(zhí)行后,只有溫度超過設定值上限或者下限的片子才做出響應溫度變換44H啟動DS18B20進行溫度轉換,轉換時間最長為500MS,結果存入內部9字節(jié)RAM中讀暫存器0BEH讀內部RAM中9字節(jié)的內容寫暫存器4EH發(fā)出向
24、內部RAM的第3,4字節(jié)寫上、下限溫度數(shù)據(jù)命令,緊跟讀命令之后,是傳送兩字節(jié)的數(shù)據(jù)復制暫存器48H將E2PRAM中第3,4字節(jié)內容復制到E2PRAM中重調E2PRAM0BBH將E2PRAM中內容恢復到RAM中的第3,4字節(jié)讀供電方式0B4H讀DS18B20的供電模式,寄生供電時DS18B20發(fā)送“0”,外接電源供電DS18B20發(fā)送“1” 計數(shù)器斜率累加器減到0減法計數(shù)器預 置低溫度系數(shù)振 蕩 器高溫度系數(shù)振 蕩 器計數(shù)比較器預 置溫度寄存器減到0圖3.2測溫原理內部裝置3.3.2 DS18B20的溫度采集過程由于DS18B20單線通信功能是分時完成的,他有嚴格的時隙概念,因此讀寫時序很重要,
25、系統(tǒng)對DS18B20的各種操作必須按協(xié)議進行。操作協(xié)議為:初始化DS18B20(發(fā)復位脈沖)發(fā)ROM功能命令發(fā)存儲器操作命令處理數(shù)據(jù)。溫度的采集流程如圖3.3所示。初始化DS18B20跳過ROM匹配溫度變換延時1S跳過ROM匹配讀暫存器轉換成顯示碼數(shù)碼管顯示3.3第四章 單片機接口設計4.1 設計原則l DS18B20有2種供電方式,一種是直流電源,還有一種是寄生蟲方式供電。采用電源供電方式,此時DS18B20的1腳接地,2腳作為信號線,3腳接電源。電源是利用直流穩(wěn)壓電源。4.2 單片機引腳連接4.2.1 單片機引腳圖單片機引腳如圖4.1所示。圖4.1單片機引腳4.2.2 串口引腳串口引腳的連
26、接圖如附錄1。第五章 硬件電路設計5.1 主要硬件電路設計硬件電路主要包括:顯示電路,DS18B20溫度傳感器檢測電路,按鍵電路,晶振電路,二極管顯示報警電路,電源電路。(1) 顯示電路顯示電路采用了7段共陰數(shù)碼管掃描電路,通過單片機的P0.0到P0.7八個端口接數(shù)碼管的八個引腳,數(shù)碼管的9號引腳接地。用來顯示當前檢測的溫度值,精確度為0.1。如圖5.1所示。節(jié)約了單片機的輸出端口,便于程序的編寫。本設計中還有一組數(shù)碼管由P2.0到P2.7連接,除接口不同外其他一樣,如圖5.2。圖5.1 顯示測量結果電路圖圖5.2(2) DS18B20溫度傳感器檢測電路溫度采集通過數(shù)字化的溫度傳感器DS18B
27、20,通過QD接向單片機的P3.0口。 DS18B20溫度傳感器電路如圖5.3所示。圖5.3 溫度傳感器電路引腳圖(3) 按鍵電路按鍵電路如圖5.4所示。由K2、K3、K4三個按鍵控制上、下限溫度值。P3.1接口接K4按鍵。P3.2接口接入K3按鍵。P3.3接口接K2按鍵。1.K2溫度上下限減少鍵:減少溫度上下限的值。2.K3溫度上下限增加鍵:增加溫度上下限的值。3.K4溫控開關鍵:進入溫控的切換鍵。圖5.4 按鍵電路圖(4) 晶振控制電路晶振采用的是12MHZ的標準晶振。接入單片機的XTAL1、XTAL2。晶振控制電路如圖5.5所示。圖5.5 晶振控制電路圖 (5) 復位電路復位電路采用了人
28、工復位的方式,按下按鍵K1使單片機復位。直接接到單片機的RESET引腳。 復位電路如圖5.6所示圖5.6 復位電路圖(6)二極管顯示報警電路二極管顯示報警電路如圖5.7所示。通過單片機的P3.4和P3.5兩個端口送出,采用的是高電平驅動,使其發(fā)光發(fā)出警告。圖5.7 二極管顯示電路 (8)電源部分電源部分才用的是直流穩(wěn)壓電源,產(chǎn)生5V的穩(wěn)定直流電壓。電源設計部分如圖5.8所示。圖5.8 電源部分電路5.2 軟件系統(tǒng)設計5.2.1 軟件系統(tǒng)設計一個應用系統(tǒng)要完成各項功能,首先必須有較完善的硬件作保證。同時還必須得到相應設計合理的軟件的支持,尤其是微機應用高速發(fā)展的今天,許多由硬件完成的工作,都可通
29、過軟件編程而代替。甚至有些必須采用很復雜的硬件電路才能完成的工作,用軟件編程有時會變得很簡單,如數(shù)字濾波,信號處理等。因此充分利用其內部豐富的硬件資源和軟件資源,采用與C51系列單片機相對應的51匯編語言和結構化程序設計方法進行軟件編程。程序設計語言有三種:機器語言、匯編語言和高級語言。機器語言是機器唯一能“懂”的語言,用匯編語言或高級語言編寫的程序(稱為源程序)最終都必須翻譯成機器語言的程序(成為目標程序),計算機才能“看懂”,然后逐一執(zhí)行。高級語言是面向問題和計算過程的語言,它可通過于各種不同的計算機,用戶編程時不必仔細了解所用的計算機的具體性能與指令系統(tǒng),而且語句的功能強,常常一個語句已
30、相當于很多條計算機指令,于是用高級語言編制程序的速度比較快,也便于學習和交流,但是本系統(tǒng)卻選用了匯編語言。原因在于,本系統(tǒng)是編制程序工作量不大、規(guī)模較小的單片機微控制系統(tǒng),使用匯編語言可以不用像高級語言那樣占用較多的存儲空間,適合于存儲容量較小的系統(tǒng)。同時,本系統(tǒng)對位處理要求很高,需要解決大量的邏輯控制問題。51指令系統(tǒng)的指令長度較短,它在存儲空間和執(zhí)行時間方面具有較高的效率,編成的程序占用內存單元少,執(zhí)行也非常的快捷,與本系統(tǒng)的應用要求很適合。而且AT89C51指令系統(tǒng)有豐富的位操作(或稱位處理)指令,可以形成一個相當完整的位操作指令子集,這是AT89C51指令系統(tǒng)主要的優(yōu)點之一。對于要求反
31、應靈敏與控制及時的工控、檢測等實時控制系統(tǒng)以及要求體積小、系統(tǒng)小的許多“電腦化”產(chǎn)品,可以充分體現(xiàn)出匯編語言簡明、整齊、執(zhí)行時間短和易于使用的特點。本裝置的軟件包括主程序、讀出溫度子程序、復位應答子程序、寫入子程序、以及有關DS18B20的程序(初始化子程序、寫程序和讀程序)。5.2.2 程序組成系統(tǒng)程序主要包括主程序,讀出溫度子程序,寫入子程序,門限調節(jié)子程序等。1)主程序主程序的主要功能是負責溫度的實時顯示、讀出并處理DS18B20的測量的當前溫度值,溫度測量每1s進行一次。這樣可以在一秒之內測量一次被測溫度,其程序流程見圖5.9所示。通過調用讀溫度子程序把存入內存儲中的整數(shù)部分與小數(shù)部分
32、分開存放在不同的兩個單元中,然后通過調用顯示子程序顯示出來。圖5.9 主程序流程圖2)讀出溫度子程序 讀出溫度子程序的主要功能是讀出RAM中的9字節(jié),在讀出時需進行CRC校驗,校驗有錯時不進行溫度數(shù)據(jù)的改寫,程序流程圖如圖5.10所示。 DS18B20的各個命令對時序的要求特別嚴格,所以必須按照所要求的時序才能達到預期的目的,同時,要注意讀進來的是高位在后低位在前,共有12位數(shù),小數(shù)4位,整數(shù)7位,還有一位符號位。DS18B20復位、應答子程序跳過ROM匹配命令寫入子程序溫度轉換命令寫入子程序顯示子程序(延時)DS18B20復位、應答子程序跳過ROM匹配命令寫入子程序讀溫度命令子程序終 止 圖
33、5.10 讀出溫度子程序3)寫入子程序寫入子程序的流程圖如5.11所示。開始進位C清0終止R2是否為0P3.0置 0延時46US帶進位右移延時12USP3.0清0圖5.11 寫入子程序4)門限調節(jié)子程序門限調節(jié)子程序流程如圖5.12所示。圖5.12 門限調節(jié)電路結束語本文詳細講述了系統(tǒng)設計方案,并給出了相關程序流程。本設計應用性比較強,可以應用在倉庫溫度、大棚溫度、機房溫度、水池等的監(jiān)控。另外,如果把本設計方案擴展為多點溫度控制,加上上位機,則可以實現(xiàn)遠程溫度監(jiān)控系統(tǒng),將具有更大的應用價值。 本文的創(chuàng)新點在于詳細設計了基于單片機AT89C51 的溫度監(jiān)控系統(tǒng),設計程序已經(jīng).此系統(tǒng)可廣泛用于溫度
34、在DS18B20 測溫范圍之內的場合,有良好的應用前景。由于單片機的各種優(yōu)越的特性,使得它的經(jīng)濟效益顯的更加突出,有很好的實用性。 附錄附錄1原理電路總設計圖附錄2源程序:FK1 EQU 24H ;F(k)實測溫度 FK EQU 25H ;F(k)實測溫度暫存 RK EQU 26H ;R(k)給定溫度 SHI1 EQU 30H ;實測溫度十位 SHI2 EQU 31H ;實測溫度個位 SHI3 EQU 32H ;實測溫度小數(shù)位 GAO EQU 33H ;給定溫度十位 ZHO EQU 34H ;給定溫度個位 DI EQU 35H ;給定溫度小數(shù)位 CNT EQU 37H ;按鍵消抖計數(shù)器 LSB
35、 EQU 50H ;檢測溫度低8位 MSB EQU 51H ;檢測溫度高8位 K_INM BIT P3.1 ;DI位設定溫度按鍵 K_INH BIT P3.2 ;ZHO位設定溫度按鍵 KI BIT P3.3 ;GAO位設定溫度按鍵 DQ BIT P3.0 ;DS18B20的溫度輸入口 ORG 0000H ;主程序入口地址 AJMP MAIN ;跳轉到主程序 ORG 000BH ;T0中斷入口地址 ORG 001BH ;T1中斷入口地址 ORG 0050HMAIN:MOV SP,#60H ;堆棧指針初始化 MOV GAO,#0 ;置設定值顯示十位初值 MOV ZHO,#0 ;置設定值顯示個位初值
36、 MOV DI,#0 ;置設定值顯示小數(shù)位初值 MOV CNT,#10 ; MOV TMOD,#11H ;定時器T0、T1初始化(方式1) MOV TH0,#3CH ;T0定時器 定時常數(shù) MOV TL0,#0B0H ; MOV TH1,#0FCH ;T1定時器 定時常數(shù) MOV TL1,#18H ; SETB PT1 ;T1優(yōu)先中斷 MOV IE,#8AH ;中斷使能 SETB TR0 ;啟動定時器T0 SETB TR1 ;啟動定時器T1LOOP:ACALL GETTMP ;調用測溫子程序 ACALL BBLD ;調用二十進制子程序 ACALL TER ;調用拆字子程序 ACALL XIAO
37、SHU ;調用小數(shù)處理子程序 ACALL DISP1 ;調用測得溫度顯示程序 ACALL KEY ;調用按鍵處理子程序 ACALL IDTB ;調用十二進制轉換子程序 ACALL CHK1 ;調用報警子程序 ACALL DISP2 ;調用設定溫度顯示子程序 AJMP LOOP ;循環(huán) ;*測溫子程序*GETTMP:ACALL RESET_PULSE ACALL PRESENCE MOV A,#0CCH ACALL WRITE_BYTE ;發(fā)跳過 ROM命令 MOV A,#44H ACALL WRITE_BYTE ;發(fā)出溫度轉換命令 JNB DQ,$ ACALL RESET_PULSE ACAL
38、L PRESENCE MOV A,#0CCH ;發(fā)跳過ROM命令 ACALL WRITE_BYTE MOV A,#0BEH ;發(fā)讀存儲器命令 ACALL WRITE_BYTE ACALL READ_BYTE MOV LSB,A ;溫度值低位字節(jié)送 LSB ACALL READ_BYTE MOV MSB,A ;溫度值高位字節(jié)送MSB ACALL RESET_PULSE ACALL PRESENCE MOV A,MSB SWAP A ANL A,#70H MOV FK,A MOV A,LSB SWAP A ANL A,#0FH ORL FK,A MOV FK1,FK RET; *讀DS18B20的
39、程序*READ_BYTE:MOV R6,#8READ1:CLR DQ NOP NOP SETB DQ NOP NOP NOP MOV R5,A MOV C,DQ MOV A,R5 MOV R7,#30 DJNZ R7,$ RRC A DJNZ R6,READ1 RETPRESENCE:JB DQ,$ JNB DQ,$ RETRESET_PULSE:CLR DQ MOV R7,#250 DJNZ R7,$ SETB DQ MOV R7,#10 DJNZ R7,$ RET;* 寫DS18B20的程序*WRITE_BYTE:MOV R6,#8WRITE:RRC A JC WRITE1 CLR DQ
40、MOV R7,#30 DJNZ R7,$ SETB DQ NOP NOP NOP NOP DJNZ R6,WRITE RETWRITE1:CLR DQ NOP NOP NOP NOP SETB DQ MOV R7,#30 DJNZ R7,$ DJNZ R6,WRITE RET;*二十進制轉換子程序*BBLD:CLR A MOV R2,A MOV R7,#8 BBCD1:CLR C MOV A,FK RLC A MOV FK,A MOV A,R2 ADDC A,R2 DA A MOV R2,A DJNZ R7,BBCD1 RET;*拆字子程序*TER: MOV A,R2 ANL A,#0FH M
41、OV SHI2,A MOV A,R2 SWAP A ANL A,#0FH MOV SHI1,A RET;*小數(shù)部分處理子程序*XIAOSHU:CLR C MOV R3,#3 MOV A,50H LOOP2:RRC A DJNZ R3,LOOP2 ANL A,#01H CJNE A,#01H,XIAOSHU2 MOV SHI3,#5 RETXIAOSHU2:MOV SHI3,#0 RET;*按鍵部分處理子程序*KEY:MOV CNT,#80 JB K_INM,KEY1 ACALL DISP1 ACALL DISP2 ACALL DISP1 ACALL DISP2 JB K_INM,KEY1WAI
42、T0: JB K_INM,KEY2 ACALL DISP1 ACALL DISP2 DJNZ CNT,WAIT0KEY2: MOV A,DI ADD A,#5 DA A MOV DI,A SUBB A,#09H JC KEY1 MOV DI,#0KEY1: MOV CNT,#80 JB K_INH,KEY4 ACALL DISP1 ACALL DISP2 ACALL DISP1 ACALL DISP2 JB K_INH,KEY4WAIT1: JB K_INH,KEY3 ACALL DISP1 ACALL DISP2 DJNZ CNT,WAIT1KEY3: MOV A,ZHO ADD A,#1
43、DA A MOV ZHO,A CJNE A,#10H,KEY4 MOV ZHO,#0KEY4: MOV CNT,#80 JB KI,KEY_BACK ACALL DISP1 ACALL DISP2 ACALL DISP1 ACALL DISP2 JB KI,KEY_BACKWAIT2: JB KI,KEY5 ACALL DISP1 ACALL DISP2 DJNZ CNT,WAIT2KEY5: MOV A,GAO ADD A,#1 DA A MOV GAO,A CJNE A,#10H,KEY_BACK MOV GAO,#0KEY_BACK: RET;*延時程序1*D0.6S:MOV R3,#64HDEL3: MOV R4,#384HDEL4: NOP NOP NOP DJNZ R4,DEL4 DJNZ R3,DEL3 RET;*實測溫度顯示部分子程序*DISP1: MOV DPTR,#TAB MOV A,SHI1 M
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療合同管理規(guī)范制度
- 第一單元+任務二《詩歌朗誦》課件-2024-2025學年統(tǒng)編版語文九年級上冊
- 石河子大學《影像診斷學》2021-2022學年第一學期期末試卷
- 防三無食品安全
- 石河子大學《包裝容器與紙盒結構》2023-2024學年第一學期期末試卷
- 沈陽理工大學《數(shù)據(jù)庫系統(tǒng)原理》2022-2023學年期末試卷
- 沈陽理工大學《科技文獻檢索與寫作》2022-2023學年第一學期期末試卷
- 沈陽理工大學《產(chǎn)品形導思維設計》2022-2023學年第一學期期末試卷
- 規(guī)范人事檔案和勞動合同
- 合股開店協(xié)議合同書模板
- 小議“雙減”政策及其落實措施效果研究
- 【企業(yè)杜邦分析國內外文獻綜述6000字】
- 區(qū)域地質調查及礦產(chǎn)普查專業(yè)畢業(yè)實習周記范文原創(chuàng)全套
- 錐坡工程量計算(支持斜交、溜坡計算)
- 自然災害風險管理
- 中國智庫名錄類別索引-社會智庫
- 世界七大洲及各個國家的英文名字
- 管溝回填土、砂施工方案及工藝方法
- 情緒的身體密碼-心理健康教育教案
- 2023年中考復習文言文比較訓練-《誡子書》與“世家子弟最易犯”
- GB/T 4339-1999金屬材料熱膨脹特征參數(shù)的測定
評論
0/150
提交評論