




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、* * * * 大 學 本 科 畢 業(yè) 設 計畢業(yè)設計題目:數(shù)字式多路溫度采集系統(tǒng) 學生姓名:* 學 號:2007*系 別:電子工程專業(yè)班級:電子信息工程 指導教師姓名及職稱:* 高級工程師起止時間:2010年10月 2011年6月摘 要本設計制作一個了單片機控制的數(shù)字式多路溫度采集系統(tǒng)。采用了 STC89C51單片機作為主控制器,采用LED鍵盤模組作為鍵盤輸入和顯示單元 ,通過一線制溫度傳感器 DS18B20 實現(xiàn)溫度的采集。實現(xiàn)了兩路溫度的實時監(jiān)控,并通過5位數(shù)碼管進行實時顯示,利用單片機的定時器實現(xiàn)每隔2s自動切換一個通道。同時可以通過按鍵方式進行手動切換通道和為每個通道設計獨立的報警溫
2、度。該系統(tǒng)的優(yōu)勢在于成本低、實時,方便。可以推廣到利用單總線模式掛接多個溫度傳感器采集多個場合的溫度,實現(xiàn)多場合的溫度實時監(jiān)控。關鍵詞 微控制器 溫度傳感器 定時器AbstractThis design made a microcomputer control digital multi-channel temperature gathering system. Adopted STC89C51 microcontroller as the main controller, using LED keyboard module as a keyboard input and display un
3、it, through the first system temperature sensor DS18B20 to realize the collection of temperature. Realizing the real-time monitoring of two way temperature, and display through five digital LED in real-time, realization of the microcontroller timer automatic switching between a channel every 2s. Mea
4、nwhile can manually by button switch channels and ways for each channel design independent alarm temperature. This system is the advantage of low cost, real-time and convenient. Can be extended to use single bus model articulated multiple temperature sensors to collect many occasions, realizing the
5、temperature of the real-time monitoring of the temperature occasion. Key words:microcomputer;temperature sensor;the microcontroller timer目 錄1. 引言11.1 數(shù)字式多路溫度采集系統(tǒng)概述11.2多路溫度采集系統(tǒng)的應用示例11.3 設計任務22. 總體方案設計與分析32.1 系統(tǒng)設計基本框圖及原理32.2 溫度傳感器的選型42.2.1 JWB一體化溫度傳感器42.2.2 美國MEAS公司的溫度傳感器42.2.3 美國DALLAS半導體公司的溫度傳感器42.3
6、 DS18B20簡介52.3.1 DS18B20的性能特點52.3.2 DS18B20供電方式62.3.3 溫度采集電路結(jié)構72.4 微控制器的選用與簡介83. 硬件電路設計103.1 系統(tǒng)電源電路設計103.2 數(shù)碼管驅(qū)動電路設計113.3 單片機復位電路設計123.4 振蕩器電路模塊設計133.5 按鍵調(diào)整電路設計143.6 溫度報警電路設計143.7 單片機I/O口功能說明154. 單片機軟件設計154.1 開發(fā)工具及軟件語言154.2 單片機軟件流程164.3 多路溫度采集流程設計174.3.1 處理次序184.3.2 時序信號184.4 定時器中斷子函數(shù)設計流程224.5 按鍵調(diào)整模
7、塊流程235. 測試結(jié)果及分析265.1 測試工具265.2 數(shù)據(jù)測試265.3 數(shù)據(jù)處理與分析276. 總結(jié)28參考文獻29致謝29附錄301. 引言1.1 數(shù)字式多路溫度采集系統(tǒng)概述溫度是工業(yè)生產(chǎn)中常見的和最基本的參數(shù)之一,在生產(chǎn)過程中常需對溫度進行檢測和監(jiān)控。采用微型機進行溫度檢測、顯示、信息存儲及實時控制。 對于提高生產(chǎn)效率和產(chǎn)品質(zhì)量、節(jié)約能源等都有重要的作用??紤]到許多工業(yè)環(huán)境中對多點溫度進行監(jiān)控, 一般需要測量幾十個點以上,為此,本課題設計了一種基于STC89C51單片機控制的多通道溫度檢測及顯示系統(tǒng),可以實現(xiàn)各個通道的獨立蜂鳴器報警功能。隨著傳感器技術的發(fā)展,以單片機為主體。將計
8、算機技術與傳感器技術結(jié)合起來組成的數(shù)字式多路溫度采集系統(tǒng)在生產(chǎn)中得到了廣泛的應用,這些數(shù)字式多路溫度采集系統(tǒng)自身帶有微處理器,在結(jié)構上自成一體,能獨立進行測試,使用靈活方便。在工業(yè)應用中,溫度的檢測和控制直接和安全生產(chǎn)。1.2 多路溫度采集系統(tǒng)的應用示例圖1.系統(tǒng)模擬圖圖1是某公司的多路溫度采集系統(tǒng)模擬圖。系統(tǒng)簡介如下:該分布式系統(tǒng)由上、中、下三級組成。下級為溫度采集單元,用于對各采樣點的溫度采集,顯示實時溫度。中級為信號采集單元,配有工業(yè)數(shù)據(jù)采集模塊,通過485遠程通訊總線,實現(xiàn)上、下位機間的信息傳送以及各溫濕度采樣點的相關數(shù)據(jù)的定時采集與,并實時將數(shù)據(jù)通過RS485傳到上位機。上位機為IP
9、C,配有顯示器及打印設備,具有良好的人機界面,便于操作。能實時顯示采樣點的溫濕度、各溫濕度采樣點實時曲線、實時系統(tǒng)參數(shù)、歷史記錄、數(shù)據(jù)表格、高低值報警,并打印之,并能根據(jù)用戶要求查詢各溫濕度采樣點的歷史數(shù)據(jù)。本系統(tǒng)所屬硬件均采用我公司工控事業(yè)部代理的臺灣研華工控系列產(chǎn)品,包括數(shù)據(jù)采集,工控機,人機界面,通訊模塊等,因此能保證更好的穩(wěn)定性及最好的性價比。系統(tǒng)主要功能和特點:以工業(yè)組態(tài)軟件為開發(fā)平臺,系統(tǒng)穩(wěn)定,界面簡潔,人機交互方便,具有自動接收、人工查詢、打印圖表、自動監(jiān)測、曲線、系統(tǒng)資料、管理、登錄等功能;具有高、低值報警的功能,報警值可以用戶設定;在各種狀態(tài)下可打印報表、查詢數(shù)據(jù); 在采樣點
10、的儀表上具有溫濕度顯示,以供現(xiàn)場參考。此外,還可以根據(jù)用戶的不同需求,增加相應的功能。該系統(tǒng)廣泛的應用于醫(yī)藥、物流、食品加工、運輸、酒店、圖書館等各種需要溫濕度測量和控制的行業(yè)與場所。圖2 組態(tài)軟件操作界面圖3 實時監(jiān)控顯示界面1.3 設計任務本畢業(yè)設計主要任務是選用溫度傳感器作為切入點,通過微控制器對溫度傳感器的數(shù)據(jù)處理,反饋到顯示界面,調(diào)用報警功能子模塊,實現(xiàn)多個場合溫度的實時監(jiān)控。本設計擬實現(xiàn)的性能指標如下:(1)2路溫度采集電路及以上;(2)采集測溫范圍為-25.0+99.9 ;(3)溫度精度,誤差在5%以下;(4)顯示模塊,采用5位LED數(shù)碼管顯示。2. 總體方案設計與分析2.1 系
11、統(tǒng)設計基本框圖及原理按照系統(tǒng)設計功能的要求,該系統(tǒng)由5個模塊組成:主控制器、溫度采集電路、溫度顯示電路、報警控制電路及鍵盤輸入控制電路。數(shù)字式多路溫度采集系統(tǒng)總體電路結(jié)構框圖如圖2所示。 5V電源核心控制板STC89C515位數(shù)碼管報警指示燈(高、低溫)4個鍵盤蜂鳴器報警溫度傳感器 (2路)圖4 多路溫度采集系統(tǒng)框圖 本系統(tǒng)以STC89C51單片機作為主控制器,通過溫度傳感器采集外界的溫度,由芯片內(nèi)部自帶的AD轉(zhuǎn)換工具,將采集到的數(shù)據(jù)量,經(jīng)過單片機I/O口傳送至單片機內(nèi)部,主控制器將接受到的數(shù)據(jù)量,按照用戶設定的方式在LED數(shù)碼管上顯示。另外用戶還可以通過鍵盤,手動選擇要顯示的通道進行觀察,而
12、且可以根據(jù)自己的需要設定報警溫度。當單片機檢測到LED數(shù)碼管上顯示的溫度超出預訂的范圍時,即調(diào)用報警子程序進行報警。該系統(tǒng)操作簡單,應用范圍廣,有較大的市場效應。2.2 溫度傳感器的選型2.2.1 JWB一體化溫度傳感器在溫度傳感器的接線盒內(nèi)安裝了變送模塊,變送模塊選用專用芯片進行放大和線性化處理,提高了傳感器測量精度,冷端無需補償,負載能力大,傳輸距離遠,抗干擾能力強。主要技術指標:供電電壓:24VDC輸出形式:420MA,010MA,05V,1-5V量 程:根據(jù)所選用傳感器不同而有所不同引 線:引線可分為二線或三線,引線的阻值不得超過20歐精 度:1級,0.5級、0.25級儲存環(huán)境:-10
13、-60表1 JWB內(nèi)部熱電阻參數(shù)代號測溫范分度號級別允差tWZP -200-500PT100A (0.150.002T) B (0.300.005T)WZC -50-150CU50(0.300.006T)2.2.2 美國MEAS公司的溫度傳感器 國際上最好,最高端的溫度傳感器是美國MEAS收購的BetaTHERM和YSI Temperature,這兩家公司都專注于負溫度系數(shù)NTC熱敏電阻,用于精密溫度測量.美國MEAS還收購了HLPlanar公司生產(chǎn)熱電堆溫度傳感器,利用塞貝克熱效應.主要型號有TS105,TS118,TSED-01,TEEM-08,TESP-01,TPT300等2.2.3 美
14、國DALLAS半導體公司的溫度傳感器DS18B20是美國DALLAS半導體公司推出的一種改進型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等溫度傳感器相比,它能夠直接讀出被測溫度,并可根據(jù)實際要求通過簡單的編程實現(xiàn)912位的數(shù)字值讀數(shù)方式,可以在93.75ms至750ms內(nèi)完成相應9位至12位的數(shù)字量轉(zhuǎn)換。它的測溫精度可達到0.0625/LSB。它的測溫范圍是-55+125。因而本設計選用了DS18B20。它較之前面提到的兩個公司的溫度傳感器,讀寫操作簡單,價格低廉,設計成本低。用于本設計是非常恰當?shù)摹?.3 DS18B20簡介2.3.1 DS18B20的性能特點DS18B20內(nèi)部結(jié)構1主要由四部分組成:
15、64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器。64位光刻ROM的位結(jié)構圖如圖4所示。64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。開始8位(28H)是產(chǎn)品類型標號,接著的48位是該DS18B20自身的序列號,最后8位是前面56位的循環(huán)冗余校驗碼。 DS18B20溫度傳感器的內(nèi)部存儲器包括一個非易失性的可電擦除E2PRAM和一個高速暫存RAM。E2PRAM包括存放高溫度和低溫度的觸發(fā)器TH、TL和結(jié)構寄存器。非易失性溫度報警觸發(fā)器TH和TL,可通過軟件寫入用戶報警上下限。從DS18B20讀出或?qū)懭胄畔H需要一根口線,溫度變換功率來源于數(shù)據(jù)
16、總線,總線本身也可以向所掛接的DS18B20供電,無需額外電源。高速暫存RAM的結(jié)構為9字節(jié)的存儲器。頭2個字節(jié)包含測得的溫度信息。第3、4字節(jié)是TH和TL的拷貝,每次上電復位時被刷新。第5字節(jié)為配置寄存器,用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。第6、7、8字節(jié)保留未用,表現(xiàn)為全邏輯1。第9字節(jié)讀出前面所有8字節(jié)的CRC碼,可用來檢驗數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。第5字節(jié)配置寄存器各位的定義如圖5所示;低5位一直為1,TM是測試模式位,用于設置DS18B20在工作模式還是在測試模式;R1和R0決定溫度轉(zhuǎn)換的精度位數(shù)(即設置分辨率), R1R0分辨率/位溫度最大轉(zhuǎn)換時間/ns9位分辨率時,精度為0.
17、5/LSB;10位分辨率時,精度為0.25/LSB;11位分辨率時,精度為0.125/LSB;12位分辨率時,精度為0.0625/LSB。轉(zhuǎn)換精度越高所需轉(zhuǎn)換時間越長。為了達到本系統(tǒng)的技術指標,選擇9位分辨率。DS18B20采用3腳TO-92封裝,其外形和內(nèi)部結(jié)構框圖分別如圖5和所示:圖5.DS18B20內(nèi)部結(jié)構表2 DS18B20各個引腳功能說明圖6 DS18B20封裝引腳圖2.3.2 DS18B20供電方式外部電源供電方式是DS18B20最佳的工作方式,工作穩(wěn)定可靠,抗干擾能力強,而且電路也比較簡單,可以開發(fā)出穩(wěn)定可靠的多點溫度監(jiān)控系統(tǒng)。在外接電源方式下,可以充分發(fā)揮DS18B20寬電源電
18、壓范圍的優(yōu)點,即使電源電壓VCC降到3V時,依然能夠保證測量精度。所以本系統(tǒng)采用外部電源供電方式。在外部電源供電方式下,DS18B20工作電源由VDD引腳接入,此時I/O線不需要強上拉,不存在電源電流不足的問題,可以保證轉(zhuǎn)換精度,同時在總線上可以掛接任意多個DS18B20傳感器,組成多點測溫系統(tǒng)。外部電源供電方式如圖7所示。在外部供電方式下,DS18B20的GND引腳必須接地,不能懸空,否則不能轉(zhuǎn)換溫度,讀取的溫度總是85。圖7 DS18B20外部電源供電2.3.3 溫度采集電路結(jié)構DS18B20通過一種片上溫度測量技術來測量溫度2。測量電路的框圖如下:圖8 DS18B采集溫度框圖以下介紹DS
19、1820的測溫過程:用一個高溫度系數(shù)的振蕩器確定一個門周期,內(nèi)部計數(shù)器在這個門周期內(nèi)對一個低溫度系數(shù)的振蕩器的脈沖進行計數(shù)來得到溫度值。計數(shù)器被預置到對應于-55的一個值。如果計數(shù)器在門周期結(jié)束前到達0,則溫度寄存器(同樣被預置到-55)的值增加,表明所測溫度大于-55。 同時,計數(shù)器被復位到一個值,這個值由斜坡式累加器電路確定,斜坡式累加器電路用來補償感溫振蕩器的拋物線特性。然后計數(shù)器又開始計數(shù)直到0,如果門周期仍未結(jié)束,將重復這一過程。 斜坡式累加器用來補償感溫振蕩器的非線性,以期在測溫時獲得比較高的分辨力。這是通過改變計數(shù)器對溫度每增加一度所需計數(shù)的的值來實現(xiàn)的。因此,要想獲得所需的分辨
20、力,必須同時知道在給定溫度下計數(shù)器的值和每一度的計數(shù)值。 DS1820內(nèi)部對此計算的結(jié)果可提供0.5的分辨力。溫度以16bit帶符號位擴展的二進制補碼形式讀出,表3給出了溫度值和輸出數(shù)據(jù)的關系。數(shù)據(jù)通過單線接口以串行方式傳輸。DS1820測溫范圍-55+125,以0.5遞增。如用于華氏溫度,必須要用一個轉(zhuǎn)換因子查找表。表3 DS18B20溫度/數(shù)據(jù)關系溫度 數(shù)據(jù)輸出(二進制)數(shù)據(jù)輸出(十六進制)+12500000000 1111101000FA+2500000000 001100100032+1/200000000 000000010001000000000 000000000000-1/21
21、1111111 11111111FFFF-2511111111 11001110FFCE-5511111111 10010010FF922.4 微控制器的選用與簡介現(xiàn)在市面上的微控制器品種繁多,各有各的特點和所針對的市場應用。常用的微控制器有經(jīng)典的MCS-51系列單片機、AVR單片機、PIC單片機,SPCE061A凌陽單片機,高級的處理器有ARM7、ARM9等。由于我們使用最多的是51單片機,并且其性能已經(jīng)可以滿足系統(tǒng)的設計要求,此處選用51單片機作為系統(tǒng)的核心控制器。本設計主要采用STC89C51芯片。STC89C51是一個低功耗,高性能CMOS 8位單片機,片內(nèi)含4k Bytes ISP(
22、In-system programmable)的可反復擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術制造,兼容標準MCS-51指令系統(tǒng)及80C51引腳結(jié)構,芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,功能強大的微型計算機的STC89C51可為許多嵌入式控制應用系統(tǒng)提供高性價比的解決方案。STC89C51具有如下特點:40個引腳,4k Bytes Flash片內(nèi)程序存儲器,128 bytes的隨機存取數(shù)據(jù)存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計數(shù)器,2個全雙工串行通信
23、口,看門狗(WDT)電路,片內(nèi)時鐘振蕩器。此外,STC89C51設計和配置了振蕩頻率可為0Hz并可通過軟件設置省電模式??臻e模式下,CPU暫停工作,而RAM定時計數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作。掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復位。同時該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應不同產(chǎn)品的需求。主要功能性能如表4所示:表4 STC89C51芯片的主要功能兼容MCS-51指令系統(tǒng) 4k可反復擦寫(1000次)ISP Flash ROM 32個雙向I/O口 4.5-5.5V工作電壓2個16位可編程定時/計數(shù)器 時鐘頻率0-33MHz
24、全雙工UART串行中斷口線 128x8bit內(nèi)部RAM 2個外部中斷源 低功耗空閑和省電模式 中斷喚醒省電模式 3級加密位 看門狗(WDT)電路軟件設置空閑和省電功能靈活的ISP字節(jié)和分頁編程 雙數(shù)據(jù)寄存器指針引腳功能說明3:VCC:電源電壓。GND:地。P0口:P0口是一組8位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)總線復用口。作為輸出口用時,每位能驅(qū)動8個TTL邏輯門電路,對端口寫“1”可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線同時轉(zhuǎn)換成地址(低8位)和數(shù)據(jù)總線復用,在訪問期間激活內(nèi)部上拉電阻。在Flash編程時,P0口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗
25、時,要求外接上拉電阻。P1口:P1是一個帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流。Flash編程和程序校驗期間,P1接收低8位地址。 P2口:P2是一個帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流。在訪問
26、外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX DPTR指令)時,P2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVX Ri指令)時,P2 口線上的內(nèi)容(也即特殊功能寄存器(SFR)區(qū)中P2 寄存器的內(nèi)容),在整個訪問期間不改變。Flash編程或校驗時,P2亦接收高位地址和其它控制信號。P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/口。P3口輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對P3口寫入“1”時,它們被內(nèi)部上拉電阻拉高并可作為輸入端口。作輸入端時,被外部拉低的P3口將用作上拉電阻輸出電流。P3口除了作為一般的I/O口線外,更重要的用途
27、是它的第二功能,如表5所示:表5 P3端口引腳的第二功能端口引腳第二功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2/INT0(外中斷0)P3.3/INT1(外中斷1)P3.4T0 (定時計數(shù)器0)P3.5T1 (定時計數(shù)器1)P3.6/WR (外部數(shù)據(jù)存儲器寫選通)P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)RST:復位輸入。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將使單片機復位。WDT溢出將使該引腳輸出高電平,設置SFR AUXR的DISRTO位(地址8EH)可打開或關閉該功能。DISRTO位缺省為RESET輸出高電平打開狀態(tài)。/Vpp:內(nèi)外存儲器選擇引腳/片內(nèi)
28、EPROM(或FlashROM)編程電壓輸入引腳。ALE/:當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。即使不訪問外部存儲器,ALE仍以時鐘振蕩頻率的1/6輸出固定的正脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。對Flash存儲器編程期間,該引腳還用于輸入編程脈沖(/PROG)。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令ALE才會被激活。此外,該引腳會被拉高,單片機執(zhí)行外部程序時,應設置ALE無效。
29、:程序存儲允許(/PSEN)輸出是外部程序存儲器的讀選通信號,當STC89C51由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次PSEN有效,即輸出兩個脈沖。當訪問外部數(shù)據(jù)存儲器,沒有兩次有效的/PSEN信號。EA/VPP:外部訪問允許。欲使CPU僅訪問外部程序存儲器(地址為0000HFFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復位時內(nèi)部會鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲器中的指令。Flash存儲器編程時,該引腳加上+12V的編程電壓Vpp。XTAL1:振蕩器反相放大器及內(nèi)部時鐘發(fā)生器的輸入端。XTAL2:振蕩器反
30、相放大器的輸出端MCS-51單片機的復位是靠外部電路實現(xiàn)的。3. 硬件電路設計系統(tǒng)的硬件設計,主要分為系統(tǒng)電源電路設計、數(shù)碼管驅(qū)動電路設計、蜂鳴器驅(qū)動電路設計、自動模式設計、手動模式設計等幾個部分,以下將逐一論述。3.1 系統(tǒng)電源電路設計本系統(tǒng)選用了由220V交流變換到交流12V的變壓器,變壓器輸出的12V交流電經(jīng)過整流二極管IN4007的整流作用,以及電容C1,C9的濾波、平滑處理,再經(jīng)過L7805穩(wěn)壓芯片的穩(wěn)定電壓,最后得到比較穩(wěn)定的5V輸出4。圖9 系統(tǒng)電源電路該電路是線性穩(wěn)壓器構成的獨立電源電路,主要為單片機、和其他器件供電。選用的線性穩(wěn)壓器是L7805,這是一個低功耗正向電壓調(diào)節(jié)器,
31、其可以用在一些高效率,小封裝的低功耗設計中。L7805的基本特性:0.8A穩(wěn)定輸出電流1A穩(wěn)定峰值電流低靜態(tài)電流0.8A時低壓差為1.1V0.1%線性調(diào)整率/0.2%負載調(diào)整率3.2 數(shù)碼管驅(qū)動電路設計顯示電路采用了5個LED數(shù)碼管,單片機I/O的應用最典型的是通過I/O口與8段LED數(shù)碼管構成顯示電路。8段LED數(shù)碼管,則在一定形狀的絕緣材料上,利用單只LED組合排列成“8”字型的數(shù)碼管,分別引出它們的電極,點亮相應的點劃來顯示出0-9的數(shù)字。LED數(shù)碼管根據(jù)LED的接法不同分為共陰和共陽兩類,了解LED的這些特性,對編程是很重要的。因為不同類型的數(shù)碼管,除了它們的硬件電路有差異外,編程方法
32、也是不同的。將多只LED的陰極連在一起即為共陰式,而將多只LED的陽極連在一起即為共陽式。以本設計共陰式為例,如把陰極接地,在相應段的陽極接上正電源,該段即會發(fā)光。當然,LED的電流通常較小,一般均需在回路中接上上拉電阻。假如我們將b和c段接上正電源,其它端接地或懸空,那么b和c段發(fā)光5,此時,數(shù)碼管顯示將顯示數(shù)字“1”。而將a、b、d、e和g段都接上正電源,其它引腳懸空,此時數(shù)碼管將顯示“2”。數(shù)碼管驅(qū)動電路在整個系統(tǒng)中的設計如下圖:其中DB0DB7接單片機的P0.0P0.7,LED3LED7作為數(shù)碼管的位選控制端,分別由P2.3P2.7控制。圖10.數(shù)碼管驅(qū)動電路設計由于本設計采用P0口驅(qū)
33、動8段LED,但由于P0口的驅(qū)動能力有限,即使接上上拉電阻,還不能使8段LED達到足夠的亮度,故此處使用了NPN型三極管8050來增大P0口的驅(qū)動電流,使LED的發(fā)光亮度滿足設計要求。具體原來說明如下:當位選到該位數(shù)碼管時,如:位3。只要給三極管Q3的B極一個高電平,即可導通,又由于Q3的B極由P2.5控制,所以使P2.5輸出高電平即可使Q3導通。同時三極管工作在放大區(qū),使C極的輸出電流增大,從而使LED更亮。本設計的顯示電路由5個數(shù)碼管組成,各個數(shù)碼管的含義分別如下:第一位(LED1):顯示溫度值小數(shù)點后第一位。第二位(LED2):顯示溫度值個位。第三位(LED3):顯示溫度值十位。第四位(
34、LED4):顯示負溫度值時的負號。獨立位(LED): 顯示通道選擇位。如下表:表6 數(shù)碼管各位顯示區(qū)域5通道選擇位4符號位3溫度值十位2溫度值個位1小數(shù)點后1位3.3 單片機復位電路設計STC89C51單片機工作之后,只要在它的RST引線上加載10ms以上的高電平,單片機就能有效地復位。51單片機通常采用上電自動復位和按鍵復位兩種方式。最簡單的復位電路如下圖:圖11 單片機上電復位電路圖圖12 單片機按鍵復位電路圖如圖9的上電復位電路與圖10的按鍵復位電路,它們的原理相同。而按鍵復電路的好處在于在單片機運行期間,可以通過按鍵來完成復位動作,無須從新上電。為了方便程序調(diào)試及作品的使用,本設計采用
35、按鍵復位電路,即圖12.它的原理如下:上電或按鍵瞬間,RC電路充電,RST引線出現(xiàn)正脈沖,只要RST保持10ms以上的高電平,就能使單片機有效的復位。在應用系統(tǒng)中,有些外圍芯片也需要復位。如果這些芯片復位端的復位電平與單片機的復位電平的要求一致,則可以將復位信號與之相連。 3.4 振蕩器電路模塊設計STC89C51單片機內(nèi)部沒有振蕩電路,需要外加振蕩器提供標準時鐘,引線 XTAL1和XTAL2分別為反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入和來自反向振蕩器的輸出,該反向放大器可以配置為片內(nèi)振蕩器,要形成時鐘,外部還需要附加電路。石英晶體振蕩和陶瓷振蕩均可采用。輸入至內(nèi)部時鐘信號要通過一個二分
36、頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。51單片機的時鐘產(chǎn)生方式有兩種,分別為:內(nèi)部時鐘方式和外部時鐘方式。利用其內(nèi)部的振蕩電路XTAL1和XTAL2引線上外接定時元件,內(nèi)部振蕩電路便產(chǎn)生自激振蕩,用示波器可以觀察到XTAL2輸出的時鐘信號。在STC89C51單片機一般常用內(nèi)部時鐘方式,也就是在XTAL1和XTAL2之間連接晶體振蕩器與電容構成穩(wěn)定的自激振蕩器,晶體和電容決定了單片機的工作時間精度為1微秒。晶體可在1.2-12MHz之間選擇。STC898C51單片機在通常應用情況下,使用振蕩頻率為6MHZ的石英晶體,而12MHZ頻率的晶體主要是在高速串
37、行通信情況下才使用,在這里我用的是12MHZ石英晶體。對電容無嚴格要求,但它的取值對振蕩頻率輸出的穩(wěn)定性、大小及振蕩電路起振蕩速度有一點影響。C1和C2可在20-100PF之間取值,一般情況取30PF。外部時鐘方式是把外部振蕩信號源直接接入XTAL1或XTAL2。由于XTAL2邏輯電平不是TTL的,所以還要接一個上拉電阻。圖13.振蕩器設計電路3.5 按鍵調(diào)整電路設計按鍵調(diào)整界面主要是由4個獨立鍵盤和5位數(shù)碼管構成,實現(xiàn)對溫度的實時控制和顯示。4個獨立鍵盤選用輕觸按鍵,單片機檢測按鍵的原理是:單片機的I/O口既可作為輸出也可以作為輸入使用,當檢測按鍵時用的是它的輸入功能,我們把按鍵的一端接地,
38、另一端與單片機的某個I/O口相連,如圖12所示,開始時先給該I/O口賦一高電平,然后讓單片機不斷地檢測該I/O口是否變?yōu)榈碗娖?,當按鍵閉合時,即相當于該I/O口通過按鍵與地相連,變成低電平,程序一旦檢測到I/O口變?yōu)榈碗娖絼t說明按鍵被按下,然后執(zhí)行相應的指令。 圖14.獨立鍵盤電路3.6 溫度報警電路設計本設計采用了蜂鳴器和警示燈來構成整個報警系統(tǒng)。對于采集到的兩路溫度進行判斷,如果通道1的溫度高于設定的溫度,則蜂鳴器以“嘀”一聲報警,同時,通道1的紅色報警燈點亮;如果是通道2的溫度低于設定的溫度,則蜂鳴器發(fā)出“嘀嘀”兩聲的聲音報警,同時,通道2的綠色報警指示燈點亮。蜂鳴器的驅(qū)動原理是:利用三
39、極管的開關特性,當9012的b極出現(xiàn)低電平“0”時,三極管導通;當b極出現(xiàn)高電平“1”時,三極管截止。通過三極管的導通與截止之間的時間差產(chǎn)生的脈沖,使蜂鳴器發(fā)出“滴答”的響聲。圖15 蜂鳴器驅(qū)動電路圖14 溫度報警指示燈電路3.7 單片機I/O口功能說明此處所用的處理器也是40DIP的STC89C51芯片。它主要完成的功能有:1)對8段LED數(shù)碼管的段碼顯示驅(qū)動(P0.0P0.7);2)對5個數(shù)碼管的位選(P2.3、P2.4、P2.5、P2.6、P2.7) ;3)對溫度傳感器輸出數(shù)據(jù)量進行采樣。(P3.6,P3.7);4)對4個獨立鍵盤掃描檢測(P1.0、P1.1、P1.2、P1.3);5)對
40、兩路報警LED指示燈的亮滅控制(P1.5,P1.6)。通過該單片機即可實現(xiàn)人機交互界面的控制。4. 單片機軟件設計4.1 開發(fā)工具及軟件語言單片機的開發(fā)必須用相關的程序語言和相應的開發(fā)工具實現(xiàn),常用的單片機程序語言是C高級語言程序和匯編語言,開發(fā)工具則有UltraEdit,PE2,keil等。匯編語言是單片機程序設計語言的重要形式,也是當今單片機開發(fā)人員進行程序開發(fā)最常用的語言形式。匯編語言是一種用來替代機器語言進行程序設計的語言。匯編語言的特點是每一條指令都給出了助記符。由于助記符用英文縮寫來描述指令的特征,因此它不但便于記憶,也便于理解和分類。匯編語言源程序中的每條語句可以有多項構成,其格
41、式如下:標號:操作碼助記符 第一操作數(shù) ,第二操作數(shù) ,第三操作數(shù) ;注釋 其中,帶方括號 的部分為可選項。在單片機系統(tǒng)設計中,程序設計是重要的一環(huán),它的質(zhì)量直接影響到整個系統(tǒng)的功能,用匯編語言進行程序設計的過程大致可以分為以下幾個步驟:(1) 明確課題對程序功能、運算精度、執(zhí)行速度等方面的要求及硬件條件。(2) 把復雜問題分解為若干個模塊,確定各模塊的處理方法,畫出程序流程圖。對復雜問題可分別畫出分模塊流程圖和總的流程圖。(3) 存儲器資源分配,如各程序段的存放地址、數(shù)據(jù)區(qū)地址、工作單元分配等。(4) 編制程序,根據(jù)程序流程圖精心選擇合適的指令和尋址方式來編制源程序。(5) 對程序進行匯編、
42、調(diào)試和修改。將編制好的源程序進行匯編,并進行目標程序、檢查修改程序中的錯誤,對程序運行結(jié)果進行分析,直到正確為止。本設計采用的開發(fā)工具是Keil C51,Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng)。Keil C51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢6。選用C語言編程,相對匯編語言來說, C語言編程方法容易入門,直觀,也簡單易懂。
43、所以我們使用C語言進行編程。C語言編程的主要優(yōu)點如下:1)編程調(diào)試靈活方便2)生成的代碼編譯效率高。3)完全模塊化4)可移植性好5)便于項目維護管理4.2 單片機軟件流程程序的控制思想: 系統(tǒng)運行后初始化系統(tǒng)變量、按鍵顯示用到的 I/O 以及中斷等; 之后初始化兩路DS18B20以確認器件的存在; 初始化完成之后 , 將進行溫度的采樣 , 并執(zhí)行溫度比較 , 如果溫度大于 35 (初始值為35 ), 將進行超溫蜂鳴器報警。主程序循環(huán)過程中不斷的掃描按鍵 , 如果有按鍵觸發(fā)將會調(diào)用鍵值處理函數(shù)。以下是主要的程序流程圖:開始系統(tǒng)初始化溫度采集數(shù)據(jù)存儲與顯示超出溫度范圍嗎? 否是結(jié)束啟動報警是否為手
44、動模式?顯示選擇的通道否是圖15.系統(tǒng)軟件流程框圖4.3 多路溫度采集流程設計對多個DS18B20進行操作就能實現(xiàn)對溫度的采集,DS18B20d 操作主要有以下幾個步驟:初始化,搜索DS18B20,匹配DS18B20,發(fā)送溫宿轉(zhuǎn)換指令,讀取溫度。由于單片機的I/O口線作為總線掛接多個數(shù)字溫度傳感器DS18B20,總線處于高電平時,為DS18B20提供電源。單片機通過巡回檢測,獲取各測點溫度。以下對單總線協(xié)議做簡單介紹: 單總線在任何時刻只能有一個控制信號或數(shù)據(jù),數(shù)據(jù)要能在單片機和單片機總線芯片之間實現(xiàn)可靠的傳送,遵從單總線處理次序通信協(xié)議,確保數(shù)據(jù)有條不紊地傳送,下圖為處理次序示意圖。圖16
45、單總線處理次序DS18B20測溫傳感器具有測量速度快、精度高、高低溫報警、智能化等特點 ,由此構成的單片機控制的單總線溫度多路采集系統(tǒng)比傳統(tǒng)的測溫系統(tǒng)可靠性高 ,易于構成網(wǎng)絡控制 ,適用于各種溫度檢測與控制系統(tǒng) ,該單總線技術可以為其他過程參數(shù)測控系統(tǒng)提供技術支持 ,具有實用價值和推廣價值。4.3.1 處理次序處理次序操作時 ,一般有以下 4個過程。初始化?;趩慰偩€上的所有傳輸過程都以初始化開始的,初始化過程由主機發(fā)出的復位脈沖和從機的應答脈沖組成。應答脈沖使主機知道總線上有從機設備,且準備就緒。 ROM操作命令。在主機檢測到應答信號后,主機可以發(fā)出 ROM 操作命令之一。所有的 ROM命令
46、都是 8位,而且這些命令與各個從機設備的唯一 64位 ROM代碼相關,允許主機在單總線上連接多個從機設備時,指定操作某個從機設備??砂l(fā)送的 ROM命令有:讀 ROM;匹配 ROM;搜索ROM;跳過 ROM;超速 ROM;超速跳過ROM;條件查找 ROM。 RAM操作命令。當成功執(zhí)行上述某個 ROM操作命令后,總線可以發(fā)出一個 RAM命令來訪問和控制 RAM。可發(fā)送的 RAM命令有;寫暫存RAM;讀暫存RAM;復制暫存RAM;數(shù)據(jù)轉(zhuǎn)換;回讀E2PROM;讀電源模式。數(shù)據(jù)交換。主機和從機之間進行數(shù)據(jù)的傳輸 ,所有的數(shù)據(jù)都是從低位開始讀寫的。4.3.2 時序信號所有的單總線器件要求采用嚴格的通信協(xié)議
47、 ,以保證數(shù)據(jù)的完整性。該協(xié)議定義了幾種信號:復位脈沖、應答脈沖、寫 0、寫1、讀 0和讀 1。這些信號當中 ,除了應答信號是由從機發(fā)給主機的以外 ,其他的信號都是由主機發(fā)出同步信號 ,并且發(fā)送所有的命令和數(shù)據(jù)都是從字節(jié)的低位開始。 初始化時序:單總線上的所有通信都是以初始化時序開始,包括主機發(fā)出的復位脈沖及從機的應答脈沖,如下圖17所示。圖17 初始化時序?qū)憰r序當主機把數(shù)據(jù)線從邏輯高電平拉到邏輯低電平時 ,寫時序開始,先延時 15s,發(fā)送一位數(shù)據(jù) (“1”或“0”)再延時時間 45s,一位數(shù)據(jù)發(fā)送完畢,每發(fā)送完一位數(shù)據(jù)將數(shù)據(jù)線拉高,寫“1”和“0”時序如圖 18所示。讀時序單總線器件僅在主機
48、發(fā)出讀時序才向主機傳輸數(shù)據(jù),所以,在主機發(fā)出讀命令后,必須馬上產(chǎn)生讀時序,即至少拉低總線 1s,以便從機能夠傳輸數(shù)據(jù) ,讀時序。如圖19所示。圖18 寫時序 圖19 讀時序本系統(tǒng)中一根數(shù)據(jù)線上接一個DS18B20 , 所以 ROM匹配時采用跳過處理 SKIP ,向DS18B20 發(fā)送 0xcc命令字即可; 然后向DS18B20 寫命令字0x44 啟動一次溫度轉(zhuǎn)換。轉(zhuǎn)換結(jié)束后 , DS18B20 將采集到的 16 位溫度值存儲到其 ROM的最低兩個字節(jié)。轉(zhuǎn)換結(jié)束后必須對DS18B20 進行初始化 , 然后才能通過向DS18B20 寫命令字0xbe 讀取 ROM獲取溫度結(jié)果。溫度采集流程圖如下:開
49、始DS18B20初始化發(fā)搜索ROM命令發(fā)一個DS18B20序列號啟動所有在線DS18B20數(shù)據(jù)轉(zhuǎn)換等待數(shù)據(jù)轉(zhuǎn)換DS18B20初始化發(fā)匹配ROM命令發(fā)暫存器命令讀匹配DS18B20溫度在線DS18B20都訪問完畢?是否圖20.溫度采集流程圖溫度轉(zhuǎn)換部分的程序摘錄如下:/*讀一個字節(jié)*ReadOneChar(void) uchar i=0; uint dat=0; for (i=8;i0;i-) DQ=0; /給一個脈沖信號 dat=1; DQ=1; /給一個脈沖信號 if (DQ) dat|=0x80; delay(10); return (dat); /*寫一個字節(jié)*void WriteOne
50、Char(uchar dat) uchar i=0; for (i=8;i0;i-) DQ=0;/給一個脈沖信號 DQ=dat&0x01; delay(5); DQ=1; /給一個脈沖信號 dat=1; /*讀取溫度*ReadTemperature(void) uchar a=0;uchar b=0;uint t=0;float tt=0;Init_DS18B20();WriteOneChar(0xcc); /跳過讀序號列好的操作WriteOneChar(0x44); /啟動溫度轉(zhuǎn)換Init_DS18B20();WriteOneChar(0xcc);WriteOneChar(0xbe); /讀
51、取溫度寄存器等(共可讀取9個寄存器)前兩個就是溫度a=ReadOneChar(); /低位b=ReadOneChar(); /高位fuhao=b&0x80;if (fuhao !=0) /判斷溫度是否為負 b=b; /負溫度的計算方法 a=a; tt=(b*256)+a+1)*0.0625; tt=tt*10; t=(int)tt; else /正溫度的計算方法 tt=(b*256)+a)*0.0625; tt=tt*10; /溫度值放大10倍 t=(int)tt; return (t); 4.4 定時器中斷子函數(shù)設計流程開始定時器初始化定時2S到?否等待定時時間到定時4S到?顯示通道1顯示通道2定時器清0否是是返回圖21 中斷子函數(shù)設計流程本設計采用51單片機自帶的定時器功能進行自動模式下的顯示設計。此處使用了定時器0的方式1(16位定時/計數(shù)器),主要過程是定時器初
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 碼頭貨物運輸合同
- 工程熱力學模擬試答題
- 企業(yè)內(nèi)部年度財務分析報告
- 寓言故事烏鴉喝水的啟示讀后感
- 企業(yè)知識產(chǎn)權保護及維權服務協(xié)議
- 年度目標達成報告
- 大數(shù)據(jù)挖掘在輿情監(jiān)控中的應用實踐指南
- 如何正確使用辦公軟件提高效率
- 太陽能光伏發(fā)電系統(tǒng)安裝合同
- 人與自然紀錄片評析和諧共生的啟示
- 商業(yè)道德承諾書
- 中職語文必考文言文15篇
- 光伏電站巡檢記錄表完整
- 高血壓患者不遵醫(yī)飲食行為的原因分析及對策
- 《團隊的凝聚力》課件
- 膝關節(jié)僵硬個案護理
- 《民間皮影》課程標準
- 新教科版六下科學1.4《設計塔臺模型》教學設計(新課標)
- 電氣設備維修
- 森林專業(yè)撲火隊培訓課件
- 學校體育學第八章課余體育鍛煉課件
評論
0/150
提交評論