畢業(yè)設計(論文)基于單片機的倉庫測溫巡檢系統_第1頁
畢業(yè)設計(論文)基于單片機的倉庫測溫巡檢系統_第2頁
畢業(yè)設計(論文)基于單片機的倉庫測溫巡檢系統_第3頁
畢業(yè)設計(論文)基于單片機的倉庫測溫巡檢系統_第4頁
畢業(yè)設計(論文)基于單片機的倉庫測溫巡檢系統_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、本 科 畢 業(yè) 設 計基于單片機的倉庫測溫巡檢系統Warehouse temperature measurement and control system based on the single chip microcomputer學 院: 電子工程學院 專業(yè)班級: 電子信息工程 D電子091班 學生姓名: 學 號:指導教師: 2013年 6 月畢業(yè)設計中文摘要摘 要:隨著單片機技術的飛速發(fā)展,單片機在各個領域得到了廣泛的應用。在人類的生活環(huán)境中,溫度扮演著非常重要的角色。倉庫溫度控制一直是智能控制方面的一塊重點,多點測溫巡檢系統的實現使得火災等自然災害能夠提前預警,給人們的生產生活帶來了諸多

2、好處。因此,本設計基于單片機展開對溫度巡檢系統的研究。 本課題是基于單片機的測溫巡檢系統設計。是一種以單片機為控制核心,具有實時溫度檢測、顯示、報警、與計算機串行通信等功能的多點溫度測量巡檢系統。采用AT89C51單片機為核心控制模塊,一總線結構的DS18B20智能溫度傳感器,實現溫度實時采集,信號處理,數據通信,經過單片機處理后在LCD上顯示。外圍硬件部分包括:鍵盤模塊、顯示模塊、報警模塊、RS232通信模塊等。當溫度超過系統設定閥值時會自動啟動聲光報警,本設計還增加了RS232串行通信接口,方便計算機遠程數據統計與操作。系統具有抗干擾性強、結構簡單、穩(wěn)定性好、具有一定的工程價值。關鍵詞:

3、單片機, AT89C51, DS18B20,溫度檢測畢業(yè)設計外文摘要Abstract: This topic is based on single chip micro computer temperatures measurement and controlled system designed. Is a single-chip microcomputer to control the core, with real-time temperature detection, display, alarm, and computer serial communication and other

4、 functions of the multi-point temperature measurement system. Using AT89C51 micro controller as the core control module, intelligent temperature sensor DS18B20 bus structure, to achieve real-time temperature acquisition, signal processing, data communication, through the display on the LCD single-ch

5、ip processing. Peripheral hardware part includes: the keyboard module, display module, alarm module, RS232 communication module, etc. When setting the threshold temperature exceeds the system will automatically start sound and light alarm, this design also increased the RS232 serial communication in

6、terface, remote data convenient computer statistics and operation. System has strong anti-jamming capability, strong stability,HYPERLINK file:/C:/Users/ADMINI1/AppData/Local/Temp/360zip$Temp/360$1/%E3%80%8A%E5%9F%BA%E4%BA%8E%E5%8D%95%E7%89%87%E6%9C%BA%E7%9A%84%E6%B5%8B%E6%B8%A9%E5%B7%A1%E6%A3%80%E7%

7、B3%BB%E7%BB%9F%E3%80%8B_PAPERRATER%E8%AE%BA%E6%96%87%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/cache/results/25.html easily to use, simpled operation, etc. Keywords: SCM ,AT89C51,DS18B20,Temperature detection 目錄 TOC o 1-3 h z u HYPERLINK l _Toc264879689 第1章 緒 論 PAGEREF _Toc264879689 h 1 HYPERLINK l _Toc26

8、4879691 1.1設計的目的和意義 PAGEREF _Toc264879691 h 1 HYPERLINK l _Toc264879692 1.2國內外研究現狀和發(fā)展趨勢1 HYPERLINK l _Toc264879693 第2章 倉庫測溫巡檢系統方案2 HYPERLINK l _Toc264879694 2.2硬件總體方案設計與論證2 HYPERLINK l _Toc264879695 2.2.1方案設計2 HYPERLINK l _Toc264879696 2.2.2方案論證3 HYPERLINK l _Toc264879697 2.4系統硬件總方案3 HYPERLINK l _To

9、c264879698 第3章 倉庫測溫巡檢系統硬件設計4 HYPERLINK l _Toc264879705 3.1 單片機AT89C51介紹4 HYPERLINK l _Toc264879699 3.1.1單片機AT89C51基本知識4 HYPERLINK l _Toc264879700 3.1.2單片機AT89C51各個I/O口介紹5 HYPERLINK l _Toc264879701 3.1.3時鐘電路7 HYPERLINK l _Toc264879699 3.1.1復位電路8 HYPERLINK l _Toc264879705 HYPERLINK l _Toc264879705 3.2

10、 溫度傳感器的選則8 HYPERLINK l _Toc264879710 3.2.1 DS18B20簡介9 HYPERLINK l _Toc264879711 3.2.2 DS18B20 的性能特點9 HYPERLINK l _Toc264879712 3.2.3 DS18B20的內部結構9 HYPERLINK l _Toc264879713 3.2.4 DS18B20的工作時序圖10 HYPERLINK l _Toc264879711 3.2.5 DS18B20 的測溫原理11 HYPERLINK l _Toc264879711 3.2.6 DS18B20 的測溫流程圖13 HYPERLIN

11、K l _Toc264879712 3.2.7 DS18B20與AT89C51單片機連接電路13 HYPERLINK l _Toc264879714 3.3 1602LCD液晶顯示屏14 HYPERLINK l _Toc264879715 3.3.1 LCD1602液晶顯示屏的技術參數14 HYPERLINK l _Toc264879716 3.3.2 LCD1602的引腳說明15 HYPERLINK l _Toc264879717 3.3.3 LCD1602控制指令說明16 HYPERLINK l _Toc264879711 3.2.4 LCD1602基本操作時序16 HYPERLINK l

12、 _Toc264879718 3.3.5 LCD液晶顯示屏與單片機接口電路設計17 HYPERLINK l _Toc264879719 3.4 鍵盤模塊設計18 HYPERLINK l _Toc264879720 3.5 報警模塊設計18 HYPERLINK l _Toc264879711 3.6 RS232串行通信19 HYPERLINK l _Toc264879711 3.7電源電路設計20 HYPERLINK l _Toc264879721 第4章 倉庫測溫巡檢系統軟件設計20 HYPERLINK l _Toc264879722 4.1 主程序流程圖20 HYPERLINK l _Toc

13、264879723 4.2 溫度處理子程序設計21 HYPERLINK l _Toc264879724 4.3 顯示模塊子程序設計24 HYPERLINK l _Toc264879725 4.4 溫度報警值程序設計25 HYPERLINK l _Toc264879727 第5章 系統軟硬件的調試26 HYPERLINK l _Toc264879729 5.1 系統硬件調試29 HYPERLINK l _Toc264879730 5.2 系統軟件調試29 HYPERLINK l _Toc264879711 5.2.1 KeilC51調試30 HYPERLINK l _Toc264879711 5

14、.2.2 Proteus調試33 HYPERLINK l _Toc264879728 5.3 系統仿真26 HYPERLINK l _Toc264879731 總 結34 HYPERLINK l _Toc264879711 參考文獻34 HYPERLINK l _Toc264879733 致 謝35 HYPERLINK l _Toc264879734 附錄 程序清單36 HYPERLINK l _Toc264879735 附錄 系統原理圖36第一章 緒論1.1設計的目的和意義溫度是平時生產生活中不可或缺的自然參數。人們通常使用溫度這一物理量來表示物體冷和熱的程度,微觀定義上來說是物體分子的熱運

15、動引起的。分子運動越快,物體溫度就會顯得越高,反之,愈慢愈冷。溫標是一種用來檢測溫度具體數值的尺度標準。 溫度在人類生產和生活中扮演著非常重要的角色,從生活到工作溫度一直伴隨并影響著你。自18世紀工業(yè)革命以來,工業(yè)發(fā)展革新一直與溫度保持著密切聯系。溫度不僅對工業(yè)而言影響如此廣泛,在農業(yè)領域中溫度也占有著很大的影響比例。因此,無論是工業(yè)生產加工還是農作物生長收獲的過程,都不能離開溫度。溫度檢測和控制可以使人類生產生活更加科學化、合理化、便捷化。本設計圍繞應用在倉庫的溫度的巡檢與報警展開相應的研究工作。隨著單片機技術的拓展與利用,近年來單片機技術逐漸革新,已經進入高性能單片機的發(fā)展階段。航天、軍事

16、、醫(yī)療、農業(yè)、化工等各個行業(yè)已經逐漸離不開單片機的廣泛使用。傳統方式的測溫不僅浪費資源人力而且精度差不能達到實時監(jiān)測的目的。單片機的產生使得溫度信號采集和信息處理方面變得更加簡單,快速,效率。測溫傳感器做工不同,信號采集的精度也不相同,因此對數據采集的精度和控制方式也不相同。1.2國內外研究現狀和發(fā)展趨勢國外溫度測控系統研究 1600年,伽厘略研究出了氣體溫度計,開啟了人們研究溫度這一物理量的先河。自1970年開始,國外科學家就著手探索溫度控制這一領域。國外已經陸續(xù)推出多種溫度傳感器,并且可靠性更高,測量精度更準確。國外逐漸開始運用9到12位A/D轉換器,分辨率可以達到0.5-0.0625。美

17、國達拉斯半導體公司新研制的DS1624型高分辨率的智能溫度傳感器,分辨率高達0.03125,測溫精度位0.2。目前,國外的溫控技術正朝著無人化,自動化,高精度的方面發(fā)展。(2)國內溫度測控系統研究 相比與國外,我國對于溫度控制與測量這一領域的研究則較晚,大約開始于1980年左右。我國溫度測控領域技術離產業(yè)化,工業(yè)化還有很大一段距離,在實際生產生活中還有大量問題困擾著我們。我國溫控技術的發(fā)展一直存在著硬件系統差,領域窄,產量少,產業(yè)化程度低,環(huán)境保護意識落后,基礎的研究資源少等缺點。近年來國內經濟發(fā)展迅速,溫控測控這一市場即將面臨國外產品的沖擊。第二章 倉庫測溫巡檢系統的方案考慮到本系統設計成本

18、和現實操作,我選擇AT89C51單片機作為本設計的核心模塊。目前,AT89C51應用廣泛,價格便宜,而且功能更齊全。因此,將AT89C51作為接口芯片使用,是非常睿智的。關于溫度傳感器的選擇,我認為達拉斯公司生產的DS18B20傳感器可以勝任這一項工作。單片機可以直接從DS18B20讀取轉換后的溫度值,而且不需要另外接A/D轉換器,非常方便。而且多個DS18B20可以用單總線結構來連接,只需要一個I/O口就可以完成多點測量。其物理性能穩(wěn)定,測量精度高,在090之間,最大線性偏差小于1。系統要完成的設計功能如下:對倉庫各地點溫度參數的實時采集,再通過溫度傳感器和單片機對數據進一步的處理,實時反饋

19、到LCD上。實現智能聲光報警。抗干擾性好,運行穩(wěn)定,LCD顯示簡潔友好。采用RS232串行通訊方式,將溫度數據實時傳送到計算機,實現遠程通信。系統自動存儲溫度數據。測溫范圍:-55+125測溫精度:正負0.52.2 方案選擇2.2.1 方案一 本倉庫測溫巡檢系統設計可以使用熱電偶,熱敏電阻之類的元器件,雖然其線性度較好,但在所測溫的要求內,測溫精度差2,對于小于1的溫度信號是不適用的。在電路布局設計方面中較為繁瑣,相比之下總成本也比較高。2.2.2 方案二 也可以考慮使用智能溫度傳感器DS18B20,結合單片機電路設計,采用多只溫度傳感器。采用并聯的方式把各個溫度傳感器分布在不同位置,由DS1

20、8B20測溫后后進行數值轉換,再由LCD顯示出實時溫度。此方案電路設計簡潔,設計成本較低,在C語言編程時也非常簡便。2.3 方案論證比較以上兩種方案,我覺得方案二工作穩(wěn)定、系統響應快、遠距離通信、體積小、耗能低、外圍電路簡單、精簡了系統工作時間、軟件設計方便快捷。因此,本設計中選擇方案二。如圖1所示:它由三部分組成核心控制模塊采用AT89C51單片機2)顯示部分采用LCD1602實現溫度顯示溫度采集部分采用DS18B20溫度傳感器 數據處理 鍵盤模塊 AT89C51 DS18B20 溫度采集LCD 顯示模塊晶振電路 報警模塊 復位電路 圖1 系統硬件方案2.4 系統硬件總方案課題設計的硬件部分

21、由AT89C51單片機、DS18B20、LCD1602、排阻以及若干電容、2個LED燈、揚聲器、RS232串行通信、4個按鍵、12MHZ晶振組成。以下是對幾個組成部分的介紹:AT89C51單片機用于溫度采集,信號處理,存儲溫度和報警電路控制。DS18B20是單總線結構的數字溫度傳感器,主要是溫度信號的采集和轉換。單片機P3.3口接收來自溫度傳感器DS18B20的信號,AT89C51接收溫度數據并存儲。LCD1602液晶顯示屏用于顯示實時溫度值、溫度傳感器序列號、溫度報警上下限。RS232用于和計算機進行數據通信。LED燈是用來溫度上下限溢出的警報。倉庫測溫巡檢系統硬件設計3.1 單片機AT89

22、C51介紹3.1.1單片機基本知識AT89C51是美國ATMEL公司生產的低電壓,高性能的CMOS8位單片微型計算機。片內含4K字節(jié)的可重復擦寫的只讀程序存儲器,及128k字節(jié)的隨機存取存儲器。 由于單片機主要的功能是控制的功能,隨著科技的進步和需求,單片機芯片內集成了許多的需要被測控的目標的接口電路。這些已經超出了傳統微型計算機的體系構造,所以可以更加明確的反應單片機的本質名字應是微型控制器。 它采用了ATMEL公司的高密度、非易失性存儲技術,兼容行業(yè)標準的MCS-51指令系統,片內置8位CPU和FLASH存儲單元,功能強大的AT89C51可靈活運用與各種生活生產領域。如圖2: 圖2 AT8

23、9C51引腳圖3.1.2 AT89C51各個I/O口介紹PO口的口線邏輯電路如圖所示。當寫P0口,由鎖存和驅動電路輸出通道。途徑為輸出鎖,所以與外圍設備直接連接到輸出的數據,而不需要添加數據鎖存電路。 圖3 P0口內部結構圖P1口是一個在單片機內提供上拉電阻的8位雙向I/O口,如下圖: 圖4 P1口內部結構圖P2口是一個8位準雙向I/O口的內部帶有上拉電阻,屬于多功能口, 在有外接存儲器或者I/O接口時,系統的地址總線輸出高8位地址,與P0口的低8為地址組成16位的地址總線。在編寫程序的時候,控制的信號和高8位的地址字節(jié)也輸送到P2口。如下圖: 圖5 P2口內部結構圖 P3端口是一個多功能,它

24、除了可以作為I / O網點,另外還有一個功能,端口P1和P3結構相似,不同的是P3口每個端口線有兩個功能。當P3在功能狀態(tài),1秒線為高水平的函數。此時,內部總線信號通過鎖存器場效應管進行輸入/輸出操作,那么函數的P3口和P1口是一樣的,是一個靜態(tài)雙向I / O端口。當P3在函數,輸出高水平,2鎖存和在一個特定的輸出信號,通過函數輸出線2在P3輸入口,已經可以通過輸入緩沖引腳區(qū)信號,可以通過選擇輸入函數來讀取特定函數的第二信號。HYPERLINK file:/C:/Users/ADMINI1/AppData/Local/Temp/360zip$Temp/360$1/%E3%80%8A%E5%9F

25、%BA%E4%BA%8E%E5%8D%95%E7%89%87%E6%9C%BA%E7%9A%84%E6%B5%8B%E6%B8%A9%E5%B7%A1%E6%A3%80%E7%B3%BB%E7%BB%9F%E3%80%8B_PAPERRATER%E8%AE%BA%E6%96%87%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/cache/results/126.html因為輸出信號是鎖和有兩重功能,因此P3端口靜態(tài)的兩重功能如下圖: 圖6 P3口內部結構圖HYPERLINK file:/C:/Users/ADMINI1/AppData/Local/Temp/360zi

26、p$Temp/360$1/%E3%80%8A%E5%9F%BA%E4%BA%8E%E5%8D%95%E7%89%87%E6%9C%BA%E7%9A%84%E6%B5%8B%E6%B8%A9%E5%B7%A1%E6%A3%80%E7%B3%BB%E7%BB%9F%E3%80%8B_PAPERRATER%E8%AE%BA%E6%96%87%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/cache/results/127.htmlP3端口結構圖P3口第二功能表:端口引腳第二功能標識第二功能P3.0RXD串行數據接收P3.1TXD串行數據發(fā)送P3.2INT0外部中斷0申請P3

27、.3INT1外部中斷1申請P3.4T0定時器/計數器0輸入P3.5T1定時器/計數器1輸入P3.6WR外部RAM寫選通P3.7RD外部RAM讀選通。RST:HYPERLINK file:/C:/Users/ADMINI1/AppData/Local/Temp/360zip$Temp/360$1/%E3%80%8A%E5%9F%BA%E4%BA%8E%E5%8D%95%E7%89%87%E6%9C%BA%E7%9A%84%E6%B5%8B%E6%B8%A9%E5%B7%A1%E6%A3%80%E7%B3%BB%E7%BB%9F%E3%80%8B_PAPERRATER%E8%AE%BA%E6%96

28、%87%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/cache/results/130.html復位輸入口。ALE/:輸出低電平編程的過程中,不能用在正常操作。在成為一個PSEN必須保持低水平,不能使用在正常操作。在編程的EA / VPP這銷管,沒有使用外部程序存儲器的應用程序,這個引腳可以永久的接到VCC上面。時鐘和復位是一個HYPERLINK file:/C:/Users/ADMINI1/AppData/Local/Temp/360zip$Temp/360$1/%E3%80%8A%E5%9F%BA%E4%BA%8E%E5%8D%95%E7%89%87%E6%9C

29、%BA%E7%9A%84%E6%B5%8B%E6%B8%A9%E5%B7%A1%E6%A3%80%E7%B3%BB%E7%BB%9F%E3%80%8B_PAPERRATER%E8%AE%BA%E6%96%87%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/cache/results/133.html重要的組成部分在單片機系統中,控制單片機復位機器循環(huán)和函數。簡單地說,單片機復位并重新啟動計算機。幾乎,每一個微控制器在工作要復位過程中,對HYPERLINK file:/C:/Users/ADMINI1/AppData/Local/Temp/360zip$Temp/360

30、$1/%E3%80%8A%E5%9F%BA%E4%BA%8E%E5%8D%95%E7%89%87%E6%9C%BA%E7%9A%84%E6%B5%8B%E6%B8%A9%E5%B7%A1%E6%A3%80%E7%B3%BB%E7%BB%9F%E3%80%8B_PAPERRATER%E8%AE%BA%E6%96%87%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/cache/results/135.html單片機復位,程序還沒有開始準備工作或單片機必須重新啟動工作的實現。 3.3.3 時鐘電路將AT89C51的反向放大輸入端XTAL1和輸出端XTAL2與石英晶體震蕩器X

31、1及兩個電容C1、C2按圖3-1所示形式連接起來。圖中由晶振、電容C1C2及片內與非門(作為反饋、放大元件)構成了晶振電容三角式的震蕩器,而震蕩信號頻率大小是和晶振頻率及電容C1、C2的容量有很大關聯,但主要還是由晶振頻率來決定,晶振的范圍在024MHz之間,電容C1、C2取值范圍則在530pF之間。根據實際情況,本設計中采用12MHZ做系統的外部晶振。電容取值為30pF。圖7 時鐘電路 3.3.4 復位電路HYPERLINK file:/C:/Users/ADMINI1/AppData/Local/Temp/360zip$Temp/360$0/%E3%80%8A%E5%9F%BA%E4%BA

32、%8E%E5%8D%95%E7%89%87%E6%9C%BA%E7%9A%84%E6%B5%8B%E6%B8%A9%E5%B7%A1%E6%A3%80%E7%B3%BB%E7%BB%9F%E3%80%8B_PAPERRATER%E8%AE%BA%E6%96%87%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/cache/results/142.html本設計單片機每次上電就會復位一次。如果單片機連續(xù)操作兩個周期以上的高電平時,也會復位一次。如引腳RST一直是高電平,單片機就會保持循環(huán)復HYPERLINK file:/C:/Users/ADMINI1/AppData/L

33、ocal/Temp/360zip$Temp/360$0/%E3%80%8A%E5%9F%BA%E4%BA%8E%E5%8D%95%E7%89%87%E6%9C%BA%E7%9A%84%E6%B5%8B%E6%B8%A9%E5%B7%A1%E6%A3%80%E7%B3%BB%E7%BB%9F%E3%80%8B_PAPERRATER%E8%AE%BA%E6%96%87%E6%A3%80%E6%B5%8B%E6%8A%A5%E5%91%8A/cache/results/144.html位狀態(tài)。單片機復位是另一個特征的CPU和系統從初始狀態(tài),一般復位模式主要是上電復位和手動復位按鈕等,本設計選用手動按

34、鈕復位模式。當單片機通電后,電壓的電容器C3此時會很小,重置下拉電阻器R2的電容器C3并聯電壓接近電源電壓,相當于RST是1(高水平),在這個過程中充電電容器C3 RST端口電壓下降緩慢,RST電壓下降到低于一定值,單片機內部CPU從復位狀態(tài),由于電容器C3足夠大,可以保證RST 1有效時間大于24振蕩周期,CPU可以可靠復位。當復位按鈕添加到避免事故不能可靠復位。當復位按鈕按下電容器C3放電。當放電電容器C3結束,RST的點位是由R1和R2的分壓比來決定。因為R2 R1,所以RST高水平,CPU在復位狀態(tài),放手,在充電電容器C3,RST結束電壓降,CPU從復位狀態(tài)。R2的作用是限制按鈕按下瞬

35、時放電電流的電容器C3,防止電火花的產生,為了保護按鈕觸電。復位電路與AT89C51連接如圖8: 圖8 復位電路3.2 溫度傳感器DS18B20的選擇 DS18B20是美國達拉斯公司設計制造的一種溫度傳感器。該傳感器使用一種獨特的“單總線”結構,可以將傳感器與微處理器之間的連線降到最少。同時DS18B20支持912位精度的溫度測量和轉換。它的主要特點體積小,測量精度高,傳感器和處理電路集成,采用單總線連接,支持溫度報警功能。溫度與人們的生活緊密聯系,同時也是人們在科學實驗和生產活動中需要探索和研究的關鍵物理參數。因此,在各類傳感器中,溫度傳感器是應用范圍比較大的一種。對比于傳統的溫度傳感器和集

36、成溫度傳感器,它的線性度和均勻性都很好。由于集成溫度傳感器將傳感部分、放大電路、驅動電路以及信號處理電路等集成在一個芯片上,使得它體積小,使用方便快捷,因此在很多領域的到了應用。在智能溫度傳感器中,溫度傳感部分大都利用一堆極其匹配的半導體三極管當做溫敏差分對管,利用他們兩個的U電壓之間所具有的的良好正溫度系數來制作集成溫度傳感器。3.2.1 DS18B20簡介溫度值是由溫度傳感器以9位數字量的形式顯示出來的,經過單總線結構接口發(fā)送或接收信息,因此在CPU和DS18B20之間僅需1根數據線進行連接。因為每個DS18B20都有一個獨特的ROM序列號,所以多個DS18B20可以同時連接在一根單總線上

37、,這樣就可以把溫度傳感器安放在不同的地方進行溫度的多點檢測。3.2.2 溫度傳感器DS18B20的性能特點一總線結構,僅需要一根口線與SCM連接;寄生電源或外接電源;支持多點測量功能,多個DS18B20可以并聯在一起(+5V、地一根口線);可實現1/21/16的高精度轉換;在93.75ms或750ms內將溫度值轉化9位或12位的數字量;可以設置報警上下限值;報警搜索命令可以識別哪片DS18B20溫度超過報警閥值;8)芯片自身有存儲功能;3.2.3 DS18B20的內部結構DS18B20內部結構如圖1所示,主要由4部分組成:1)64位的ROM 2)溫度傳感器3)非揮發(fā)的溫度報警觸發(fā)裝置TH和TL

38、 4)配置寄存器。DS18B20的管腳排列如圖2所示:DQ為數字信號輸入輸出端GND為電源地VDD為外接電源 圖9 DS18B20管腳排列3.2.4 DS18B20工作時序圖初始化時序 單片機輸出低電平,溫度傳感器保持480us,已取得足夠的時間來產生復位脈沖。然后主機釋放,由4.7K的上拉電阻拉高電平,并延時1560us,產生低電平應答脈沖,如果是低電平,則延時480us。 圖10 初始化時序圖寫時序圖11 寫時序讀時序 圖12 讀時序3.2.5 DS18B20的測溫原理單片機每次對DS18B20發(fā)起操作都必須嚴格按照下面流程執(zhí)行:初始化DS18B20發(fā)送ROM指令DS18B20功能命令這個

39、交互順序非常重要,每當單片機訪問DS18B20時都必須按照這個流程執(zhí)行,如果某個流程中的步驟或者順序出錯,DS18B20將沒有響應。當命令序列執(zhí)行完畢后,主控制器返回1。一總線高電平的位置處于空閑狀態(tài)。斜率累加器預置預置低溫度系數晶振預置計數器1LSB位置/清除溫度寄存器=0 加1高溫度系數晶振計數器2=0停止 圖13 測溫原理內部裝置表1 ROM操作命令 DS18B20在單線通信中是分成各個時間段來完成的,它有一個嚴格的時間槽。因此,讀寫時序對于單片機控制DS18B20來說顯得格外重要,它必須按協議進行操作。操作協議:初始化DS18B20發(fā)送ROM指令發(fā)送存儲器操作命令進行數據處理。3.2.

40、6 DS18B20的測溫流程圖 初始化DS18B20跳過ROM匹配溫度變換延時1S跳過ROM匹配讀暫存器轉換成顯示碼數碼管顯示圖14 DS18B20測溫流程3.2.7 DS18B20與單片機AT89C51連接電路在本設計中DS18B20采用的電源供電方式,一個管腳接地,一個管腳經4.7K上拉電阻后接電源,另一個管腳接單片機P3.3口。DS18B20是支持“一總線”模式的,但有些總線協議會將一些信號釋放為高阻態(tài),實際上電路的狀態(tài)應該事確定的0或1,所以在這里上拉電阻是用來提供一個確定的狀態(tài)。由于單線制只有一根線,因此發(fā)送端接口必須是高電平,低電平,高阻態(tài)。3.3 1602LCD液晶顯示屏3.3.

41、1 LCD1602液晶顯示屏的基礎參數 液晶顯示模塊是一種將液晶顯示元器件,連接件,集成電路,PCB線路板,背光源構件裝配在一起的組件。英文名稱“LCD Module”,簡稱”LCD”,中文一般稱為“液晶顯示模塊”。根據顯示方式和顯示內容的不同,液晶模塊可以分為以下3種:1)數顯液晶模塊2)液晶點陣字符模塊3)點陣圖形液晶模塊LCD1602分為有背光和沒有背光的兩種,基礎控制驅動器大部分為HD44780,有背光的比沒有背光的厚,不管帶不帶背光在應用中是沒有多大區(qū)別的。3.3.2 LCD1602引腳說明 圖15 1602A的接口圖1602采用標準的16腳接口:3.3.3 LCD1602控制指令說

42、明LCD1602液晶模塊內部的控制器如表所示:表4.5 控制命令表3.3.4 基本操作時序讀狀態(tài):輸入;RS=L, RW=H, E=H 輸出:D0D7=狀態(tài)字寫指令:輸入:RS=L,RW=L,D0D7=指令碼,E=高脈沖 輸出:無讀數據:輸入:RS=H,RW=H,E=H 輸出:D0D7=數據寫數據:輸入:RS=H,RW=;,D0D7=數據,E=高脈沖 輸出:無 字符集 3.3.5 LCD1602與AT89C51單片機接口電路本設計采用了LCD1602字符顯示模塊,相比較數碼管顯示而言,LCD在硬件連接和軟件調試上具有明顯優(yōu)勢,LCD1602在跟單片機連接時使用了RESPEACK-8排阻相比較數

43、碼管少了74LS138譯碼器,硬件電路更加簡潔。LCD在與單片機連接時采用了總線模式,使電路更明顯易懂。3.4 鍵盤模塊設計鍵盤一般分為矩陣鍵盤和獨立鍵盤,使用矩陣式鍵盤能大量的節(jié)約單片機的I/O接口資源,方便快捷。相比較而言獨立鍵盤雖然占用了I/O資源,但是運用靈活,C程序編譯調試簡單,相對于按鍵較少的電路很適用。按鍵按下判斷:通過判斷電平狀態(tài)來檢測開關閉和問題;2)按鍵確認判斷:主要是按鍵消抖問題;3)按鍵充分釋放判斷:確認按鍵已經按下后,還需不斷循環(huán)檢測鍵位是不是被完全釋放。 傳感器ROM顯示:通過按鍵顯示不同DS18B20的ROM序列號來分辨?zhèn)}庫各點的溫度。顯示報警溫度:按鍵顯示報警溫

44、度上下限正常顯示溫度:通過按鍵切換顯示各個DS18B20的實時溫度3.5 報警模塊設計 DS18B20每經過一次溫度轉換,都會對存儲在溫度傳感器中的TH和TL值進行比較,由于它是8位寄存器,因此0.5小數位可以不計算在內。16位溫度寄存器是由TH或TL的最高有效位來對應或決定的。當溫度傳感器測量的溫度超過TH(或者低于TL)時,元器件內部會生成報警記號,每操作一次溫度檢測就對這個溫度記號進行數據更新。如果某地點的溫度超過了溫度報警閥值,報警的元器件就會被系統立即識別出來并讀取。 報警電路說明:單片機AT89C51負責控制P3.7報警電路的信號輸出,當溫度值低于溫度下限時,報警器響并伴隨(藍)燈

45、暗滅交替,表示當前溫度值低于上限值,系統默認為安全狀態(tài);反之,當溫度超過溫度上限值時,報警器響并伴隨(紅)燈暗滅交替。 3.6 RS232串行通信RS-232是由美國電子工業(yè)聯合會與BELL等公司一起開發(fā)的串行通信接口標準。目前,電腦與外圍設備的連接,很多都使用RS232接口,例如串口的鍵盤,數字機頂盒,PSP等等。RS232采用負邏輯電平,收發(fā)兩端之間采用多芯的信號線,而且總負載電容不能超過250pF。所謂的RS-232通信標準,就是對插件樣式、信號名稱和意義以及所謂的驅動器/接收器的電氣模式這種硬件作出規(guī)定。一般的都是9針的接口,其中包括CD接口:載波檢測;RD接口:接收信號;SD接口:發(fā)

46、送信號;ER接口:信號終端就緒;SG接口:信號用接地;DR接口:數據集就緒;RS接口:請求發(fā)送;CS接口:允許發(fā)送;CI接口:被呼表示。用以上接口進行數據通信,還有對電平的要求。當然與51單片機進行通信方式很簡單,首先要解決的是電平標準,51的I/O口最大輸出5V電壓,而RS-232要求電壓在12V,為達到電平匹配,需用到MAX232CPF電平轉換芯片,將05V電平轉換為12V電平,從而實現電平匹配;然后,數據接口只用到了數據發(fā)送與接收2個端口,還有數據的請求發(fā)送與允許發(fā)送,共4個端口,MAX232CPF還有其他一些外圍電路接口,但比較簡單,都是些電容接口,從而實現單片機與RS232接口的通信

47、。3.7 電源電路設計 本設計單片機電源電路采用220V轉5V穩(wěn)壓電源供電。220V交流電壓經過變壓器電壓值降到12V左右,在經過整流濾波和LM7805集成穩(wěn)壓器將輸出電壓穩(wěn)定在5V,電路中設計了兩個濾波電容(470uf和0.1uf)進一步濾出波紋,進而得到穩(wěn)定5V穩(wěn)壓電源(穩(wěn)壓電路在這里的作用是清除電網波動及負載變化的影響,保持電壓的穩(wěn)定)。當電路接通時LED綠燈亮表示已通電。這里C8和 C9兩個電容是濾波電容,C9它是針對電源本身的波動而加入的,是用來去除電源低頻波紋;C8退藕電容是因為放大電路電力消耗而使電源波動才加入的。第4章 倉庫測溫巡檢系統軟件設計4.1 主程序流程圖 本系統采用C

48、語言編寫,程序主要由定時程序,溫度顯示程序,LCD顯示程序,報警程序,按鍵消抖程序組成。溫度程序主要分為:DS18B20初始化,跳過ROM,讀字節(jié),寫字節(jié),讀溫度,溫度轉換這幾部分。LCD程序主要分為:LCD初始化,測忙,寫地址,寫字符,顯示這幾部分。鍵盤處理部分主要實現用戶對溫度報警值的查閱及溫度傳感器序列號的查閱,系統軟件主流程如圖4-1所示。開 始初始化DS18B20顯示當前溫度判斷當前溫度值超過設定溫度上限蜂鳴器響紅燈亮 初始化LCD蜂鳴器響是否低于設定溫度下限是藍燈亮否 4.2 溫度處理子程序設計DS18B20復位、應答子程序跳過ROM匹配命令寫入子程序溫度轉換命令寫入子程序顯示子程

49、序(延時)DS18B20復位、應答子程序跳過ROM匹配命令寫入子程序讀溫度命令子程序終 止 圖5-8 讀出溫度子程序4.2.1 初始化DS18B20 uchar Init_DS18B20() uchar status;DQ = 1;Delay(8);DQ = 0;Delay(90);DQ = 1;Delay(8);status = DQ;Delay(100);DQ = 1;return status;4.2.2 讀一個字節(jié)命令uchar ReadOneByte() uchar i,dat=0;DQ = 1;_nop_();for(i=0;i= 1;DQ = 1;_nop_();_nop_();

50、if(DQ)dat |= 0X80;Delay(30);DQ = 1;return dat;4.2.3 寫一個字節(jié)命令void WriteOneByte(uchar dat) uchar i;for(i=0;i= 1;4.2.4 讀取溫度void Read_Temperature() if(Init_DS18B20()=1)DS18B20_IS_OK=0;elseWriteOneByte(0 xCC);WriteOneByte(0 x44);Init_DS18B20();WriteOneByte(0 xCC);WriteOneByte(0 xBE);Temp_Value0 = ReadOneB

51、yte(); Temp_Value1 = ReadOneByte();Alarm_Temp_HL0 = ReadOneByte();Alarm_Temp_HL1 = ReadOneByte();DS18B20_IS_OK=1;4.3 顯示模塊子程序設計 顯示 寫顯示字符 寫顯示地址 初始化LCD 開始4.3.1 LCD初始化void LCD_Initialise()/delay(15); /延時15ms,首次寫指令時應給LCD一段較長的反應時間 Write_LCD_Command(0 x38); /顯示模式設置:8位數據,162顯示,57點陣,delay(5); /延時5ms/Write_LC

52、D_Command(0 x38);DelayMS(1);/Write_LCD_Command(0 x38);/delay(5);/Write_LCD_Command(0 x0f); /顯示模式設置:顯示開,有光標,光標閃爍/delay(5); Write_LCD_Command(0 x01); /清屏幕指令,將以前的顯示內容清除DelayMS(1);Write_LCD_Command(0 x06); /顯示模式設置:光標右移,字符不移DelayMS(1);Write_LCD_Command(0 x0C); DelayMS(1); 4.4 溫度報警值程序設計此次設計設有溫度報警功能,程序中首先設

53、定了高溫報警的溫度為70攝氏度,即倉庫內的溫度超過了70攝氏度時,就自動會啟動高溫報警系統,倉庫內的溫度低于-20攝氏度時,就會自動啟動低溫報警系統在本次試驗中的報警設備選用了蜂鳴器和LED燈。如果倉庫內監(jiān)測點的溫度值超過了報警溫度值,LED燈閃爍,揚聲器響。case 1: /正常顯示當前溫度,越界時報警 Read_Temperature(); if (DS18B20_IS_OK) if(HI_Alarm = 1 | LO_Alarm = 1) TR0 =1; else TR0 = 0; Display_Temperture(); DelayXus(100); break;第五章 系統軟硬件的

54、調試5.1 系統硬件調試硬件調試主要是檢查電路連接是否正確,每個元器件參數是不是符合要求(例如DS18B20要接4.7K的上拉電阻,選擇11.0592MHZ晶振時電容值最好在2030uf之間,與電腦串行通信時最好使用30uf電容)。5.2 系統軟件調試我的程序是在KeilC51軟件中編寫的,經過多次調試,修改,最終終于編譯通過。編譯通過后,生成hex文件。然后打開Proteus軟件,將生成的hex文件下載到單片機中運行。由于測到的溫度是71度,而設定的范圍是-20攝氏度到70攝氏度,因此實際檢測到的溫度不在溫度閥值范圍之內,系統自動報警揚聲器響。仿真結果達到了預期設想。5.2.1 keilC5

55、1調試Keil C51是德國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統,提供了豐富的庫函數和功能強大的集成開發(fā)調試工具Vision3、keilC51標準C編譯器為8051微控制器的軟件開發(fā)提供了C語言環(huán)境,同時保留了匯編語言代碼高效、快速的特點。利用KEIL開發(fā)和調試系統軟件流程:(l)進入KEIL軟件;(2)新建C文件,編輯程序;(3)新建工程,選擇對AT89C51單片機進行開發(fā),選擇c文件的編譯、鏈接參數,選擇調試方式,修改單片機晶振頻率;(4)可進行編譯、鏈接,并生成HEX文件。一)新建工程,選擇單片機型號AT89C51,這時會彈出一個對話框,選擇NO。新建

56、C文件,將編寫好的程序粘貼進來,進行保存。添加c文件,選擇“源代碼組1”右擊添加c文件。勾選“產生hex文件”選項五)單擊項目窗口上的“Target1”然后單擊菜單,工程“Targte1”屬性,對話框中的選項選擇默認值。這里設置頻率值為12M,勾選生成“HEX”文件從而生成文件代碼。很快在窗口中就顯示HEX文件已經到指定的文件夾中去了,這樣我們就可用自己的Keil附帶的軟件去讀取并輸入到單片機中。六)編譯,調試和運行。如果做單片機的話,這是必須的。單擊“工程”菜單,再在菜單中單擊“構造目標”選項,如果有錯誤,則按照提示修改程序,編譯成功后,再單擊“debug”菜單下的“start/stop debug”,開始調試。單擊菜單下的“go”按鈕,然后單擊“ stop go”按鈕,就可以看到執(zhí)行后的結果了。編譯完成,查看是否有錯。5.2.2 proteus調試Proteus是世界上著名的EDA工具(H

溫馨提示

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

評論

0/150

提交評論