基于MCS51的多路溫度檢測終端設(shè)計(jì)與實(shí)現(xiàn)_第1頁
基于MCS51的多路溫度檢測終端設(shè)計(jì)與實(shí)現(xiàn)_第2頁
基于MCS51的多路溫度檢測終端設(shè)計(jì)與實(shí)現(xiàn)_第3頁
基于MCS51的多路溫度檢測終端設(shè)計(jì)與實(shí)現(xiàn)_第4頁
基于MCS51的多路溫度檢測終端設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 PAGE - 41 - PAGE 1論文題目:基于MCS51的多路溫度檢測終端設(shè)計(jì)與實(shí)現(xiàn)專 業(yè):電子與信息工程學(xué) 生: 張澤鑫 簽名: 指導(dǎo)教師: 倪云峰 簽名: 摘 要 溫度是工業(yè)生產(chǎn)過程中保證產(chǎn)品質(zhì)量的重要可控參數(shù)。因此,在工農(nóng)業(yè)生產(chǎn)和科學(xué)研究中溫度的檢測與控制在現(xiàn)代經(jīng)濟(jì)與社會(huì)中越來越受到重視。傳統(tǒng)的監(jiān)測方法都是單點(diǎn)測量,同時(shí)有溫度傳遞不及時(shí)、精度不夠的缺點(diǎn),不利于工業(yè)控制者根據(jù)溫度變化及時(shí)做出決定,因此多路溫度檢測終端的設(shè)計(jì)成了一項(xiàng)重要的研究課題。 本文設(shè)計(jì)了一種基于單片機(jī)的具有多路采集通道的高精度的數(shù)字溫度檢測系統(tǒng)。 硬件上,CPU采用STC89C52為主控芯片,配置DS18B20溫

2、度傳感器作為信號采集裝置,利用LCD1602對四路采集的溫度信號進(jìn)行顯示。 軟件上運(yùn)用C語言的編程,用protues仿真和硬件電路的設(shè)計(jì),實(shí)現(xiàn)了實(shí)時(shí)溫度檢測,并能夠方便設(shè)置溫度上下限,實(shí)現(xiàn)報(bào)警功能,另外還配備了單片機(jī)與PC機(jī)的通信功能。 文中,終了進(jìn)行了測試與實(shí)驗(yàn),實(shí)驗(yàn)達(dá)到了預(yù)期的結(jié)果?!娟P(guān)鍵詞】溫度測量;單總線;數(shù)字溫度傳感器;單片機(jī)【論文類型】設(shè)計(jì)型Title:The Terminal design and implementation of multi-channel temperature detection based on MCS-51Major:Electronic inform

3、ation engineering Name:Zhang Zexin Signature: Supervisor:Ni Yunfeng Signature: ABSTRACTDuring the industry production process, the temperature is the important parameter of ensuring the quality of the products. Therefore, the detection and control of temperature in industrial and agricultural produc

4、tion and scientific research have playing a more and more important role. Traditional monitoring methods are single point measurement, meanwhile the temperature transfer is not timely and accurate enough .These are not conducive to industrial control according to the temperature change in a timely d

5、ecision. So it has become an important research topic in the design of multi-channel temperature detection terminal.This paper has designed a multi-channel acquisition channel digital high precision temperature detection system based on single chip microcomputer.On the aspect of hardware, the STC89c

6、52 is used as the main control chip. It equipped with the DS18B20 temperature sensor, which acts as signal acquisition device. The temperature signal of four ways acquisitions are displayed by the LCD1602.On the aspect of software, C-programming language used by Protues simulation and hardware circu

7、it design to achieve a real-time temperature detection. There is a ability to easily set the temperature limit, and the alarm function. Meanwhile it can also communicate with the PC.In this paper, the result of tested has achieved the goal as expected.【Key words】 temperature measure;single bus;digit

8、al thermometer;single chip processor【Type of Thesis】 Design mode目 錄 TOC o 1-3 h z u HYPERLINK l _Toc390673726 1 基礎(chǔ)理論 PAGEREF _Toc390673726 h - 1 - HYPERLINK l _Toc390673727 1.1 概述 PAGEREF _Toc390673727 h - 1 - HYPERLINK l _Toc390673728 2.1 單總線簡介 PAGEREF _Toc390673728 h - 3 - HYPERLINK l _Toc39067372

9、9 2.1.1 概述 PAGEREF _Toc390673729 h - 3 - HYPERLINK l _Toc390673730 2.1.2單總線的工作原理 PAGEREF _Toc390673730 h - 3 - HYPERLINK l _Toc390673731 2.1.3 單總線器件信號傳遞方式 PAGEREF _Toc390673731 h - 4 - HYPERLINK l _Toc390673732 1.3 MCS51單片機(jī) PAGEREF _Toc390673732 h - 7 - HYPERLINK l _Toc390673733 1.3.1 MCS51單片機(jī)概述 PAG

10、EREF _Toc390673733 h - 7 - HYPERLINK l _Toc390673734 1.3.2 MCS-51單片機(jī)的結(jié)構(gòu) PAGEREF _Toc390673734 h - 7 - HYPERLINK l _Toc390673735 1.3.3 指令系統(tǒng) PAGEREF _Toc390673735 h - 9 - HYPERLINK l _Toc390673736 1.3.4 中斷 PAGEREF _Toc390673736 h - 10 - HYPERLINK l _Toc390673737 1.3.5定時(shí)器 PAGEREF _Toc390673737 h - 10 -

11、 HYPERLINK l _Toc390673738 2 硬件設(shè)計(jì)方案 PAGEREF _Toc390673738 h - 11 - HYPERLINK l _Toc390673739 2.1系統(tǒng)綜述 PAGEREF _Toc390673739 h - 11 - HYPERLINK l _Toc390673740 2.2 溫度采集與測量系統(tǒng) PAGEREF _Toc390673740 h - 12 - HYPERLINK l _Toc390673741 2.2.1 DS18B20的特性 PAGEREF _Toc390673741 h - 12 - HYPERLINK l _Toc3906737

12、42 2.1.2 DS18B20引腳排列 PAGEREF _Toc390673742 h - 13 - HYPERLINK l _Toc390673743 2.2.3 DS18B20 的硬件結(jié)構(gòu) PAGEREF _Toc390673743 h - 13 - HYPERLINK l _Toc390673744 2.2.4 DS18B20的供電方式 PAGEREF _Toc390673744 h - 14 - HYPERLINK l _Toc390673745 2.2.5 DS18B20的ROM指令 PAGEREF _Toc390673745 h - 16 - HYPERLINK l _Toc39

13、0673746 2.2.6 DS18B20的測溫原理 PAGEREF _Toc390673746 h - 18 - HYPERLINK l _Toc390673747 2.3 顯示系統(tǒng) PAGEREF _Toc390673747 h - 19 - HYPERLINK l _Toc390673748 2.3.1 LCM1602顯示模塊 PAGEREF _Toc390673748 h - 19 - HYPERLINK l _Toc390673749 2.2.3 LCM1602管腳分布 PAGEREF _Toc390673749 h - 20 - HYPERLINK l _Toc390673750

14、2.4 報(bào)警系統(tǒng)及輸入設(shè)備 PAGEREF _Toc390673750 h - 21 - HYPERLINK l _Toc390673751 2.5 最小系統(tǒng)外圍電路 PAGEREF _Toc390673751 h - 22 - HYPERLINK l _Toc390673752 2.5.1 PC機(jī)與單片機(jī)的串行通信接口電路 PAGEREF _Toc390673752 h - 22 - HYPERLINK l _Toc390673753 2.5.2 晶振電路以及復(fù)位電路 PAGEREF _Toc390673753 h - 22 - HYPERLINK l _Toc390673754 3 軟件系

15、統(tǒng)的設(shè)計(jì) PAGEREF _Toc390673754 h - 24 - HYPERLINK l _Toc390673755 3.1 主程序 PAGEREF _Toc390673755 h - 24 - HYPERLINK l _Toc390673756 3. 2 DS18B20 相關(guān)程序 PAGEREF _Toc390673756 h - 25 - HYPERLINK l _Toc390673757 3.2.1 查詢DS18B20的ROM PAGEREF _Toc390673757 h - 26 - HYPERLINK l _Toc390673758 3.2.2 DS18B20 初始化程序 P

16、AGEREF _Toc390673758 h - 27 - HYPERLINK l _Toc390673759 3.2.3 溫度采集 PAGEREF _Toc390673759 h - 27 - HYPERLINK l _Toc390673760 3.3 LCM1602 相關(guān)程序 PAGEREF _Toc390673760 h - 29 - HYPERLINK l _Toc390673761 3.3.1 LCM1602 初始化程序 PAGEREF _Toc390673761 h - 29 - HYPERLINK l _Toc390673762 3.3.2 顯示子程序 PAGEREF _Toc3

17、90673762 h - 31 - HYPERLINK l _Toc390673763 3.4 報(bào)警系統(tǒng)和鍵盤輸入系統(tǒng)相關(guān)程序 PAGEREF _Toc390673763 h - 32 - HYPERLINK l _Toc390673764 3.4.1 報(bào)警系統(tǒng) PAGEREF _Toc390673764 h - 32 - HYPERLINK l _Toc390673765 3.4.2 鍵盤輸入 PAGEREF _Toc390673765 h - 32 - HYPERLINK l _Toc390673766 4 實(shí)驗(yàn)結(jié)果總結(jié) PAGEREF _Toc390673766 h - 34 - HYP

18、ERLINK l _Toc390673767 5總結(jié)與展望 PAGEREF _Toc390673767 h - 37 - HYPERLINK l _Toc390673768 5.1 總結(jié) PAGEREF _Toc390673768 h - 37 - HYPERLINK l _Toc390673769 5.2 展望 PAGEREF _Toc390673769 h - 37 - HYPERLINK l _Toc390673770 致謝 PAGEREF _Toc390673770 h - 39 - HYPERLINK l _Toc390673771 參考文獻(xiàn) PAGEREF _Toc39067377

19、1 h - 40 -1 基礎(chǔ)理論1.1 概述溫度是表征物體冷熱程度的物理量,是工業(yè)生產(chǎn)和科學(xué)實(shí)驗(yàn)中一個(gè)非常重要的參數(shù)。溫度一直與人類的活動(dòng)息息相關(guān)。無論是日常生活中,還是工農(nóng)業(yè)控制過程中,溫度都是重要的測控對象之一,準(zhǔn)確的溫度測量和實(shí)時(shí)的溫度控制對人類的生存發(fā)展有著只管重要的作用。隨著社會(huì)經(jīng)濟(jì)迅猛發(fā)展,電子技術(shù)在國民經(jīng)濟(jì)的建設(shè)中占據(jù)了相當(dāng)重要的地位。無論是人民生活,經(jīng)濟(jì)建設(shè),還是國防建設(shè),科學(xué)研究都有緊密的關(guān)系。加強(qiáng)電子科學(xué)技術(shù)的研究,對于提高產(chǎn)品質(zhì)量,改進(jìn)工藝,實(shí)現(xiàn)標(biāo)準(zhǔn)化、系列化、自動(dòng)化;對于保障安全生產(chǎn)、提高生產(chǎn)效率,降低能源消耗;對于企業(yè)生產(chǎn)自動(dòng)化、科學(xué)化、提高科研水平,增加經(jīng)濟(jì)效益都具

20、有非常重要的作用。利用電子技術(shù)中對溫度進(jìn)行測量,在社會(huì)經(jīng)濟(jì)發(fā)展的各個(gè)領(lǐng)域中都十分重要?,F(xiàn)如今,用溫度傳感器來測量實(shí)際設(shè)備中的溫度也變得越來越常見。它大體經(jīng)過了三個(gè)發(fā)展的階段:模擬集成溫度傳感器階段、模擬集成溫度控制器階段和智能溫度傳感器階段。模擬集成溫度傳感器是采用硅半導(dǎo)體集成工藝制成,因此亦稱硅傳感器或單片集成溫度傳感器。這種傳感器具有功能單一(僅測量溫度)、測溫誤差小、價(jià)格低、響應(yīng)速度快、傳輸距離遠(yuǎn)、體積小、微功耗等,適合遠(yuǎn)距離測溫、控溫,不需要進(jìn)行非線性校準(zhǔn),外圍電路簡單。它是目前在國內(nèi)外應(yīng)用最為普遍的一種集成傳感器,典型產(chǎn)品有AD590、AD592、TMP17、LM135等;模擬集成溫

21、度控制器主要包括溫控開關(guān)、可編程溫度控制器,典型產(chǎn)品有LM56、AD22105和MAX6509。某些增強(qiáng)型集成溫度控制器(例如TC652/653)中還包含了A/D轉(zhuǎn)換器以及固化好的程序,這與智能溫度傳感器有某些相似之處。但它自成系統(tǒng),工作時(shí)并不受微處理器的控制。智能溫度傳感器(亦稱數(shù)字溫度傳感器)是在20世紀(jì)90年代中期問世的。它是微電子技術(shù)、計(jì)算機(jī)技術(shù)和自動(dòng)測試技術(shù)(ATE)的結(jié)晶。智能溫度傳感器內(nèi)部都包含溫度傳感器、A/D轉(zhuǎn)換器、信號處理器、存儲(chǔ)器(或寄存器)和接口電路。有的產(chǎn)品還帶多路選擇器、中央控制器(CPU)、隨機(jī)存取存儲(chǔ)器(RAM)和只讀存儲(chǔ)器(ROM)。智能溫度傳感器的特點(diǎn)是能輸

22、出溫度數(shù)據(jù)及相關(guān)的溫度控制量,適配各種微控制器(MCU);并且它是在硬件的基礎(chǔ)上通過軟件來實(shí)現(xiàn)測試功能的,其智能化程度也取決于軟件的開發(fā)水平。1.2 國內(nèi)外現(xiàn)狀進(jìn)入21世紀(jì)后,溫度傳感器正朝著高精度、多功能、總線標(biāo)準(zhǔn)化、高可靠性及安全性、開發(fā)虛擬傳感器和網(wǎng)絡(luò)傳感器、研制單片測溫系統(tǒng)等高科技的方向迅速發(fā)展。目前市場主要存在單點(diǎn)和多點(diǎn)兩種溫度測量儀表。對于單點(diǎn)溫測儀表,主要采用傳統(tǒng)的模擬集成溫度傳感器,其中又以熱電阻、熱電偶等傳感器的測量精度高,測量范圍大,而得到了普遍的應(yīng)用。此種產(chǎn)品測溫范圍大都在-200800之間,分辨率12位,最小分辨溫度在0.0010.01之間。自帶LED顯示模塊,顯示4位

23、到16位不等。有的儀表還具有存儲(chǔ)功能,可存儲(chǔ)幾百到幾千組數(shù)據(jù)。該類儀表可很好的滿足單個(gè)用戶單點(diǎn)測量的需要。多點(diǎn)溫度測量儀表,相對與單點(diǎn)的測量精度有一定的差距,雖然實(shí)現(xiàn)了多路溫度的測控,但價(jià)格昂貴。針對目前市場的現(xiàn)狀,本課題提出了一種可滿足要求、可擴(kuò)展的并且性價(jià)比高的基于51單片機(jī)的多路溫度測控系統(tǒng)。該系統(tǒng)采用DS18B20數(shù)字溫度傳感器作為溫度采集器件,用STC89C52單片機(jī)作為主控芯片,通過1-wire總線外掛多個(gè)(至少三個(gè))DS18B20實(shí)現(xiàn)多路溫度采集,最后通過LCD1602液晶屏顯示出來。功能以及技術(shù)指標(biāo):用1-wire總線協(xié)議實(shí)現(xiàn)最基本的4路溫度采集功能;溫度測量范圍:-55+12

24、5 ;各路溫度的精度要求在1;采用LCD顯示,同時(shí)顯示四路DS18B20的溫度;用戶可以通過按鍵輸入各路溫度的報(bào)警上限和下限;當(dāng)系統(tǒng)檢測到實(shí)際溫度超過用戶設(shè)置的上限或者下限之后報(bào)警;應(yīng)用1-wire通信協(xié)議來完成對四路DS18b20的控制;2.1 單總線簡介2.1.1 概述 目前常用的PC機(jī)與外設(shè)之間進(jìn)行數(shù)據(jù)傳輸?shù)拇锌偩€主要有I2C總線、SPI總線和SCI總線。其中I2C總線以同步串行2線方式進(jìn)行通信(一條時(shí)鐘線,一條數(shù)據(jù)線),SPI總線則以同步串行3線方式進(jìn)行通信(一條時(shí)鐘線,一條數(shù)據(jù)輸入線,一條數(shù)據(jù)輸出線),而SCI總線是以異步方式進(jìn)行通信(一條數(shù)據(jù)輸入線,一條數(shù)據(jù)輸出線)。這些總線至少

25、需要兩條或兩條以上的信號線。近年來,美國的達(dá)拉斯半導(dǎo)體公司(DALLAS SEMICONDUCTOR)推出了一項(xiàng)特有的單總線(1-Wire Bus)技術(shù)。該技術(shù)與上述總線不同,它采用單根信號線,既可傳輸時(shí)鐘,又能傳輸數(shù)據(jù),而且數(shù)據(jù)傳輸是雙向的,因而這種單總線技術(shù)具有線路簡單,硬件開銷少,成本低廉,便于總線擴(kuò)展和維護(hù)等優(yōu)點(diǎn)。單總線適用于單主機(jī)系統(tǒng),能夠控制一個(gè)或多個(gè)從機(jī)設(shè)備。主機(jī)可以是微控制器,從機(jī)可以是單總線器件,它們之間的數(shù)據(jù)交換只通過一條信號線。當(dāng)只有一個(gè)從機(jī)設(shè)備時(shí),系統(tǒng)可按單節(jié)點(diǎn)系統(tǒng)操作;當(dāng)有多個(gè)從設(shè)備時(shí),系統(tǒng)則按多節(jié)點(diǎn)系統(tǒng)操作。圖1-1所示是單總線多節(jié)點(diǎn)系統(tǒng)的示意圖。圖1-1 單主機(jī)多

26、節(jié)點(diǎn)系統(tǒng)示意圖2.1.2單總線的工作原理單總線即只有一根數(shù)據(jù)線,系統(tǒng)中的數(shù)據(jù)交換、控制都由這根線完成。設(shè)備(主機(jī)或從機(jī))通過一個(gè)漏極開路或三態(tài)端口連至該數(shù)據(jù)線,以允許設(shè)備在不發(fā)送數(shù)據(jù)時(shí)能夠釋放總線,而讓其它設(shè)備使用總線,其內(nèi)部等效電路如圖1-2所示。圖1-2 單總線的硬件接口示意圖單總線通常要求外接一個(gè)約為4.7k的上拉電阻,這樣,當(dāng)總線閑置時(shí),其狀態(tài)為高電平。主機(jī)和從機(jī)之間的通信可通過3個(gè)步驟完成:分別為初始化1-wire器件、識(shí)別1-wire器件和交換數(shù)據(jù)。由于它們是主從結(jié)構(gòu),只有主機(jī)呼叫從機(jī)時(shí),從機(jī)才能應(yīng)答,因此主機(jī)訪問1-wire器件都必須嚴(yán)格遵循單總線命令序列,即初始化、ROM命令、

27、功能命令。如果出現(xiàn)序列混亂,1-wire器件將不響應(yīng)主機(jī)(搜索ROM命令,報(bào)警搜索命令除外)。表1-1為ROM命令的說明,而功能命令則根據(jù)具體1-wire器件所支持的功能來確定。表1-1 ROM命令說明ROM命令說明搜索ROM(F0h)識(shí)別單總線上所有的1-wire器件的ROM編碼讀ROM(33h)(僅適合單節(jié)點(diǎn))直接讀1-wire器件的序列號匹配ROM(55h)尋找與指定序列號相匹配的1-wire器件跳躍ROM(CCh)(僅適合單節(jié)點(diǎn))使用該命令可直接訪問總線上的從機(jī)設(shè)備報(bào)警搜索ROM(Ech)(僅少數(shù)器件支持)搜索有報(bào)警的從機(jī)設(shè)備2.1.3 單總線器件信號傳遞方式 單總線通信協(xié)議定義了如下

28、幾種類型,即復(fù)位脈沖、應(yīng)答脈沖、寫0、寫1、讀0和讀1,除了應(yīng)答脈沖外,所有的信號都由主機(jī)發(fā)出同步信號,并且發(fā)送的所有的命令和數(shù)據(jù)都是字節(jié)的低位在前。 單總線通信協(xié)議中不同類型的信號都采用一種類似脈寬調(diào)制的波形表示,邏輯0用較長的低電平持續(xù)周期表示,邏輯1用較長的高電平持續(xù)周期表示。在單總線通信協(xié)議中,讀寫時(shí)隙的概念十分重要。當(dāng)系統(tǒng)主機(jī)向從設(shè)備輸出數(shù)據(jù)時(shí)產(chǎn)生寫時(shí)隙,當(dāng)主機(jī)設(shè)備讀取數(shù)據(jù)時(shí)產(chǎn)生讀時(shí)隙,每一個(gè)時(shí)隙總線只能傳輸一位數(shù)據(jù)。無論是在讀時(shí)隙還是寫時(shí)隙,它們都以主機(jī)驅(qū)動(dòng)數(shù)據(jù)線位低電平開始,數(shù)據(jù)線的下降沿是從設(shè)備觸發(fā)其內(nèi)部的延時(shí)電路,使之與主機(jī)同步。在寫時(shí)隙內(nèi),該延遲電路決定從設(shè)備采樣數(shù)據(jù)線的時(shí)

29、間窗口。單總線通信協(xié)議中存在兩種寫時(shí)隙:寫1和寫0。主機(jī)采用寫1時(shí)隙向從機(jī)寫入1,而采用寫0時(shí)隙向從機(jī)寫入0。所有寫時(shí)隙至少要60us,且在兩次獨(dú)立的寫時(shí)隙之間至少需要1us的恢復(fù)時(shí)間。兩種寫時(shí)隙均起始于主機(jī)拉低數(shù)據(jù)總線。產(chǎn)生寫1時(shí)隙的方式:主機(jī)拉低總線后,接著必須在15us之內(nèi)釋放總線,由上拉電阻將總線拉至高電平;產(chǎn)生寫0時(shí)隙的方式:為在主機(jī)拉低后,只需要在整個(gè)時(shí)隙間保持低電平即可(至少60us)。在寫時(shí)隙開始后15us60us期間,單總線器件采樣總電平狀態(tài)。如果在此期間采樣值為高電平,則邏輯1被寫入器件;如果為0,寫入邏輯0。 圖1-3給出了寫時(shí)隙(包括1和0)時(shí)序的圖形解釋。圖1-3 單

30、總線時(shí)序中寫時(shí)隙時(shí)序圖 在圖1-3中,黑色實(shí)線代表系統(tǒng)主機(jī)拉低總線,黑色虛線代表上拉電阻將總線拉高。對于讀時(shí)隙,單總線器件僅在主機(jī)發(fā)出讀時(shí)隙時(shí),才向主機(jī)傳輸數(shù)據(jù)。所有主機(jī)發(fā)出讀數(shù)據(jù)命令后,必須馬上產(chǎn)生讀時(shí)隙,以便從機(jī)能夠傳輸數(shù)據(jù)。所有讀時(shí)隙至少需要60us,且在兩次獨(dú)立的讀時(shí)隙之間至少需要1us的恢復(fù)時(shí)間。每個(gè)讀時(shí)隙都由主機(jī)發(fā)起,至少拉低總線1us。在主機(jī)發(fā)出讀時(shí)隙之后,單總線器件才開始在總線上發(fā)送0或1。若從機(jī)發(fā)送1,則保持總線為高電平;若發(fā)出0,則拉低總線。 當(dāng)發(fā)送0時(shí),從機(jī)在讀時(shí)隙結(jié)束后釋放總線,由上拉電阻將總線拉回至空閑高電平狀態(tài)。從機(jī)發(fā)出的數(shù)據(jù)在起始時(shí)隙之后,保持有效時(shí)間15us,因

31、此主機(jī)在讀時(shí)隙期間必須釋放總線,并且在時(shí)隙起始后的15us之內(nèi)進(jìn)入采樣總線狀態(tài)。 圖1-4所示給出了讀時(shí)隙(包括讀0或讀1)時(shí)序的圖形解釋。圖1-4 單總線協(xié)議中寫時(shí)序時(shí)隙圖在圖1-4所示中,黑色實(shí)線代表系統(tǒng)主機(jī)拉低總線,灰色實(shí)線代表總局拉低總線,而黑色的虛線則代表上拉電阻總線拉高。單總線上的所有通信都是以初始化序列開始,初始化序列包括主機(jī)發(fā)出的復(fù)位脈沖及從機(jī)的應(yīng)答脈沖,這一過程如圖1-5所示。圖1-5 單總線協(xié)議中寫時(shí)序時(shí)隙圖在圖1-5中,黑色實(shí)線代表系統(tǒng)主機(jī)拉低總線,灰色實(shí)線代表從機(jī)拉低總線,而黑色的虛線則代表上拉電阻極被那個(gè)總線拉高。 系統(tǒng)主設(shè)備發(fā)送端發(fā)出的復(fù)位脈沖式一個(gè)480us960

32、us的低電平,然后釋放總線進(jìn)入接受狀態(tài)。此時(shí)系統(tǒng)總線通過4.7K的上拉電阻接至VCC高電平,時(shí)間約為15us60us,這種在接收端的設(shè)備就開始檢測I/O引腳上的下降沿以及監(jiān)視在脈沖的到來。主設(shè)備處于這種狀態(tài)下的時(shí)間至少為480us。 從設(shè)備在接收到系統(tǒng)主設(shè)備發(fā)出的復(fù)位脈沖之后,向總線發(fā)出一個(gè)應(yīng)答脈沖,表示從設(shè)備已準(zhǔn)備好,可根據(jù)各種命令發(fā)送或接受數(shù)據(jù)。通常情況下,器件等待15us60us即可發(fā)送應(yīng)答脈沖(該脈沖是一個(gè)60us240us的低電平信號,它由從機(jī)強(qiáng)迫將總線拉低)。復(fù)位脈沖是設(shè)備以廣播方式發(fā)出的,因而總線上所有的從設(shè)備同時(shí)發(fā)出應(yīng)答脈沖。一旦器件檢測到應(yīng)答脈沖后,主設(shè)備就認(rèn)為總線上已連接了

33、從設(shè)備,接著主設(shè)備將發(fā)送有關(guān)的ROM功能命令。如果主設(shè)備未能檢測到應(yīng)答脈沖,則認(rèn)為總線上沒有掛接單總線從設(shè)備。1.3 MCS51單片機(jī) 1.3.1 MCS51單片機(jī)概述MCS-51單片機(jī)是一個(gè)40引腳的雙列直插式集成電路。主要包含以下資源:1)8位CPU,片內(nèi)振蕩器;2)4KB/8KB片內(nèi)程序存儲(chǔ)器(51系列有4KB,52系列有8KB);3)128B/256B片內(nèi)數(shù)據(jù)存儲(chǔ)器(51系列有128B,52系列有256B);4)2/3個(gè)16位定時(shí)/計(jì)數(shù)器(51系列有2個(gè),52系列有3個(gè));5)32個(gè)可編程的I/O口線(4個(gè)8位并行I/O端口);6)1個(gè)可編程全雙工串行端口7)5/6個(gè)中斷源,2級中斷優(yōu)

34、先級(51系列有5個(gè),52系列有6個(gè));8)可尋址64KB片外數(shù)據(jù)存儲(chǔ)器,64KB片外程序存儲(chǔ)器空間的控制電路;9)有強(qiáng)大的位處理功能。1.3.2 MCS-51單片機(jī)的結(jié)構(gòu)圖1-6 單片機(jī)的結(jié)構(gòu)單片機(jī)內(nèi)部結(jié)構(gòu)如圖1-6所示。由CPU、存儲(chǔ)器、并行I/O接口、中斷系統(tǒng)、定時(shí)/計(jì)數(shù)器及串行接口六部分組成。所有功能部件均與內(nèi)部總線連接在一起。1)中央處理器(CPU)它由運(yùn)算器、控制器及微處理器(又叫布爾處理器)組成,是整個(gè)單片機(jī)的核心,能處理8位二進(jìn)制數(shù)據(jù)或代碼。2)存儲(chǔ)器MCS-51系列單片機(jī)的存儲(chǔ)器包括數(shù)據(jù)存儲(chǔ)器(RAM)和程序存儲(chǔ)器(ROM)。數(shù)據(jù)存儲(chǔ)器是通用存儲(chǔ)器,用于存放運(yùn)算中間結(jié)果或臨時(shí)

35、數(shù)據(jù)。51/52片內(nèi)有128/256B個(gè)8位數(shù)據(jù)存儲(chǔ)單元和特殊功能寄存器(SFR,21/26個(gè))。當(dāng)片內(nèi)數(shù)據(jù)存儲(chǔ)器不夠使用時(shí),可片外擴(kuò)展。對外有64KB數(shù)據(jù)存儲(chǔ)器的尋址能力。程序存儲(chǔ)器用于存放用戶程序和常數(shù)。51/52片內(nèi)有4KB/8KB個(gè)掩模ROM。當(dāng)片內(nèi)程序存儲(chǔ)器不夠使用時(shí),可片外擴(kuò)展。對外有64KB程序存儲(chǔ)器的尋址能力。3)接口電路單片機(jī)輸出的控制信號和外部采集的輸入信號,同時(shí)通過接口電路進(jìn)行傳輸?shù)?,MCS-51單片機(jī)共有4個(gè)8位并行輸入/輸出接口,稱為P0,P1,P2,P3 口。共有32根I/O口線。4)時(shí)鐘振蕩電路51/52內(nèi)置有一個(gè)振蕩器和時(shí)鐘電路,用于產(chǎn)生單片機(jī)運(yùn)行的脈沖時(shí)序。M

36、CS-51的外部引腳及功能MCS-51單片機(jī)油40腳的DIP(雙列直插式封裝結(jié)構(gòu)),還有44腳PLL封裝。這里以40腳的DIP介紹單片機(jī)的引腳及功能。單片機(jī)的40個(gè)引腳可分為I/O口線、電源與地、時(shí)鐘振蕩電路引腳及控制信號四大部分。分別為I/O口線32根(4個(gè)8位I/O端口)、電源與地(2個(gè))、時(shí)鐘振蕩電路引腳(2個(gè))及控制信號(4個(gè))。5)I/O端口4個(gè)I/O端口分別為P0、P1、P2和P3口。P0口:一是作為普通I/O端口使用,是漏極開路的8位準(zhǔn)雙向I/O口,每一位可驅(qū)動(dòng)8個(gè)LSTTL負(fù)載。二是在訪問片外存儲(chǔ)器時(shí),分時(shí)提供地址低8位和8位雙向數(shù)據(jù)總線。P1口:僅作為I/O口使用,是自帶上拉

37、電阻的8位準(zhǔn)雙向I/O端口,每一位可驅(qū)動(dòng)4個(gè)LSTTL負(fù)載。P2口:一是可作為普通I/O端口使用,是自帶上拉電阻的8位準(zhǔn)雙向I/O口,每一位可驅(qū)動(dòng)4個(gè)LSTTL負(fù)載。二是在訪問片外存儲(chǔ)器時(shí),作為高8位地址線使用。P3口:是自帶上拉電阻的8位準(zhǔn)雙向I/O端口,每一位可驅(qū)動(dòng)4個(gè)LSTTL負(fù)載。6)控制引腳ALE/PROG:地址鎖存使能信號輸出端。存取片外存儲(chǔ)器時(shí),用于鎖存低8位地址。PROG是對于EPROM型單片機(jī),在EPROM編程期間,此引腳用于輸入編程脈沖。PSEN:地址鎖存使能信號輸出端,是片外程序存儲(chǔ)器的讀選通信號。EA/Vpp:片內(nèi)程序存儲(chǔ)器屏蔽控制端。當(dāng)EA端保持低電平是,將屏蔽片內(nèi)的

38、程序存儲(chǔ)器,只訪問片外的程序存儲(chǔ)器。Vpp為編程電壓端。對于EPROM型單片機(jī),在EPROM編程期間,此引腳用于施加21V的編程電壓。RST/Vpd:復(fù)位輸入信號端,高電平有效。備用電源Vpd功能。電源引腳Vcc:主電源正端,接+5V。Vss:主電源負(fù)端,接地。晶振引腳XTAL1:片內(nèi)高增益反向放大器的輸入端。XTAL2:片內(nèi)高增益反向放大器的輸出端。1.3.3 指令系統(tǒng)計(jì)算機(jī)的指令系統(tǒng)是該計(jì)算機(jī)所能執(zhí)行的全部指令的集合,指令系統(tǒng)中指令的數(shù)量及功能直接決定這計(jì)算機(jī)的功能,MCS-51系列單片機(jī)的指令系統(tǒng)十分豐富,它不但運(yùn)行速度快,而且編程效率高,在完成同樣的任務(wù)時(shí),所編程序的字節(jié)數(shù)一般比其他單

39、片機(jī)用的要少,由于MCS-51系列單片機(jī)的指令系統(tǒng)具有獨(dú)特的優(yōu)點(diǎn),這類單片機(jī)獲得了廣泛的應(yīng)用。1)尋址方式尋址就是尋找指令所需的操作數(shù),MCS-51系列單片機(jī)有七種尋址方式,分別為:立即尋址、直接尋址、寄存器尋址、寄存器間接尋址、變址尋址、相對尋址和位尋址方式。2)指令類型MCS-51系列單片機(jī)中包括數(shù)據(jù)傳送指令 、算術(shù)運(yùn)算、邏輯運(yùn)算及移位、控制轉(zhuǎn)移及位操作五類指令。(1)數(shù)據(jù)傳送指令把“源操作數(shù)”中的數(shù)據(jù)傳送到“目的操作數(shù)”中去,而“源操作數(shù)”中的內(nèi)容部變。這類指令在程序中占有較大的比重,是一種最基本、最常用的指令。(2)算術(shù)和邏輯運(yùn)算指令算術(shù)和邏輯運(yùn)算指令中有加、減、乘、除四則運(yùn)算和與、或

40、、異或邏輯等算術(shù)和邏輯運(yùn)算指令,這些指令可分為8類,分別是:加法指令、減法指令、比較指令、乘法指令、除法指令、與運(yùn)算指令、或運(yùn)算指令、異或運(yùn)算指令。這些指令中既有對字節(jié)進(jìn)行操作的指令也有對字操作的指令。1.3.4 中斷MCS-51系列單片機(jī)的中斷系統(tǒng)中有5個(gè)中斷源,兩個(gè)外中斷源由INT0、INT1輸入,兩個(gè)片內(nèi)定時(shí)期/計(jì)數(shù)器溢出中斷源,一個(gè)片內(nèi)串行口中斷源。提供兩個(gè)優(yōu)先級,能實(shí)現(xiàn)二級中斷服務(wù)程序嵌套。每個(gè)中斷源都可以設(shè)置為高優(yōu)先級中斷或低優(yōu)先級的中斷,允許向CPU請求中斷。1.3.5定時(shí)器在MCS-51系列單片機(jī)中,有兩個(gè)定時(shí)/計(jì)數(shù)器T1和T0,定時(shí)器T0由TH0和TL0構(gòu)成,T1由TH1、T

41、L1構(gòu)成,他們實(shí)質(zhì)上似是兩個(gè)獨(dú)立的16位加法計(jì)數(shù)器,TH0和TL0構(gòu)成T0的計(jì)數(shù)單元,TH1和TL1構(gòu)成T1的計(jì)數(shù)單元。TMOD是定時(shí)器/計(jì)數(shù)器的工作方式寄存器,由它確定定時(shí)器/計(jì)數(shù)器的工作方式和功能;TCON是控制寄存器,用于控制T0、T1的啟動(dòng)、計(jì)數(shù)和停止以及設(shè)置溢出標(biāo)志狀態(tài)。2 硬件設(shè)計(jì)方案本章是在前一章的基礎(chǔ)上對基于1-wire總線的多點(diǎn)采集溫度系統(tǒng)進(jìn)行了硬件的設(shè)計(jì),主要分為51單片機(jī)的最小系統(tǒng)電路、溫度采集電路、LCD顯示電路、上下限設(shè)置電路和報(bào)警電路。2.1系統(tǒng)綜述本設(shè)計(jì)用STC89C52為主控芯片,用1-wire總線協(xié)議將4個(gè)DS18B20通過一根總線連在單片機(jī)的I/O口(P2.

42、2)。LCD1602液晶屏的數(shù)據(jù)線接在單片機(jī)的P0口,在分別搭接報(bào)警電路和鍵盤電路。本系統(tǒng)的框圖如圖2-1所示。STC89C51單片機(jī)系統(tǒng)LCD1602顯示器DS18B20DS18B20DS18B20DS18B20報(bào)警電路鍵盤電路 圖2-1 系統(tǒng)框圖 本系統(tǒng)具體模塊接線如表2-1 所示。表2-1 本系統(tǒng)接線1602數(shù)據(jù)端口P0口報(bào)警系統(tǒng)LED引腳P1口1602-RSP2.4SETP3.21602-RWP2.5ADDP3.31602-REP2.6SUBP3.4蜂鳴器P3.6OKP3.5DQP2.2本設(shè)計(jì)總體電路圖如下圖2-2 所示:圖2-2 硬件硬件連線圖2.2 溫度采集與測量系統(tǒng)DS18B20

43、數(shù)字溫度計(jì)可以讀出精度為9位的溫度值。數(shù)據(jù)經(jīng)過單線接口送入DS18B20或從DS18B20送出,因此從中央處理器到DS18B20可以存在于同一條線。讀、寫和完成溫度變換所需的電源可以由數(shù)據(jù)線本身提供,而不需要外部電源。因?yàn)槊恳粋€(gè)DS18B20有唯一的系列號(silicon serial number),因此多個(gè)DS18B20可以存在于同一條單總線上。這允許在許多不同的地方放置溫度靈敏器件。此特性的應(yīng)用范圍包括HVAC環(huán)境控制,建筑物、設(shè)備或機(jī)械內(nèi)的溫度檢測,以及過程監(jiān)視和控制中的溫度檢測。2.2.1 DS18B20的特性1)獨(dú)特的單線接口,只需1個(gè)接口引腳即可通信;2)多點(diǎn)(multidrop

44、)能力使分布式溫度檢測應(yīng)用得以簡化;3)不需要外部器件,可用數(shù)據(jù)線供電;4)不需備份電源;5)測量范圍從-55至+125,增量值為0.5;6)以9位數(shù)字值的方式讀出溫度,以1秒(典型值)內(nèi)把溫度變換為數(shù)字;7)用戶可定義的,非易失性的溫度告警設(shè)置;8)告警搜索命令識(shí)別和尋址溫度在編定的極限之外的器件(溫度告警情況);9)應(yīng)用范圍包括恒溫控制,工業(yè)系統(tǒng),消費(fèi)類產(chǎn)品,溫度計(jì)或者任何熱敏系統(tǒng)。2.1.2 DS18B20引腳排列圖2-3 DS18B20的引腳圖引腳說明GND 地DQ 數(shù)字輸入輸出VDD 可選的VDDNC 空引腳DNC 不連接2.2.3 DS18B20 的硬件結(jié)構(gòu)DS18B20 數(shù)字溫度

45、傳感器的內(nèi)部結(jié)構(gòu)如圖2-4所示。圖2-4 DS18B20 數(shù)字溫度傳感器的內(nèi)部結(jié)構(gòu)它由4個(gè)主要的數(shù)據(jù)部件組成:1)64位激光ROM。64位激光ROM從高位到低位依次由8位CRC,48位列號和8位家族代碼(28H)組成;2)溫度靈敏元件;3)非易失性溫度報(bào)警觸發(fā)器TH與TL??赏ㄟ^軟件寫入用戶報(bào)警上下限值;4)配置寄存器。配置寄存器為中間結(jié)果暫存器中的字節(jié)。配置寄存器可以設(shè)置DS18B20溫度轉(zhuǎn)換的精度??梢栽O(shè)置成精度為9位、10位、11位、12位。上電缺省的分辨率為12位精度。用戶可根據(jù)需要改寫配置寄存器以獲得合適的分辨率。DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器結(jié)構(gòu)如圖2-3所示。圖2-5 便箋

46、式存儲(chǔ)器映象DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器包括一個(gè)中間結(jié)果寄存器和一個(gè)非易失性的電可擦除E2PROM,后者存放高溫報(bào)警TH、低溫度報(bào)警TL和配置寄存器的值。暫存器包含了8個(gè)連續(xù)字節(jié),前兩個(gè)字節(jié)是測得的數(shù)字溫度數(shù)值,第一個(gè)字節(jié)的溫度是溫度的低8位,第二個(gè)字節(jié)是溫度的高8位。第三個(gè)和第四個(gè)字節(jié)是TH,TL,第五個(gè)字節(jié)是配置寄存器,這三個(gè)字節(jié)的值可以保存在電可擦除的只讀寄存器(E2PROM)中,掉電后數(shù)據(jù)不丟失,上電復(fù)位時(shí)數(shù)據(jù)從E2PROM載入中間結(jié)果暫存器。第六,七,八字節(jié)內(nèi)容保留。第九字節(jié)是循環(huán)冗余檢驗(yàn)CRC字節(jié)。2.2.4 DS18B20的供電方式DS18B20的電源供電方式有2種:外部

47、供電方式和寄生電源方式。工作于寄生電源方式時(shí),VDD和GND均接地,它在需要遠(yuǎn)程溫度探測和空間受限的場合特別有用,原理是當(dāng)1-Wire總線的信號線DQ為高電平時(shí),竊取信號能量給DS18B20供電,同時(shí)一部分能量給內(nèi)部電容充電,當(dāng)DQ為低電平時(shí)釋放能量為DS18B20供電。但寄生電源方式需要強(qiáng)上拉電阻,軟件控制變得復(fù)雜(特別是在完成溫度轉(zhuǎn)換和拷貝數(shù)據(jù)到E2PROM時(shí)),同時(shí)芯片的性能也有所降低。因此,在條件允許的場合,盡量采用外供電方式。1)DS18B20寄生電源供電方式:在寄生電源供電方式下,DS18B20從單線信號線上汲取能量:在信號線DQ處于高電平期間把能量儲(chǔ)存在內(nèi)部電容里,在信號線處于低

48、電平期間消耗電容上的電能工作,直到高電平到來再給寄生電源(電容)充電。獨(dú)特的寄生電源方式有三個(gè)好處:(1)進(jìn)行遠(yuǎn)距離測溫時(shí),無需本地電源;(2)可以在沒有常規(guī)電源的條件下讀取ROM;(3)電路更加簡潔,僅用一根I/O口實(shí)現(xiàn)測溫。要想使DS18B20進(jìn)行精確的溫度轉(zhuǎn)換,I/O線必須保證在溫度轉(zhuǎn)換期間提供足夠的能量,由于每個(gè)DS18B20在溫度轉(zhuǎn)換期間工作電流達(dá)到1mA,當(dāng)幾個(gè)溫度傳感器掛在同一根I/O線上進(jìn)行多點(diǎn)測溫時(shí),只靠4.7K上拉電阻就無法提供足夠的能量,會(huì)造成無法轉(zhuǎn)換溫度或溫度誤差極大。因此,該電路只適應(yīng)于單一溫度傳感器測溫情況下使用,不適宜采用電池供電系統(tǒng)中。并且工作電源VCC必須保證

49、在5V,當(dāng)電源電壓下降時(shí),寄生電源能夠汲取的能量也降低,會(huì)使溫度誤差變大。2)DS18B20寄生電源強(qiáng)上拉供電方式:為了使DS18B20在動(dòng)態(tài)轉(zhuǎn)換周期中獲得足夠的電流供應(yīng),當(dāng)進(jìn)行溫度轉(zhuǎn)換或拷貝到存儲(chǔ)器操作時(shí),用MOSFET把I/O線直接拉到VCC就可提供足夠的電流,在發(fā)出任何涉及到拷貝到存儲(chǔ)器或啟動(dòng)溫度轉(zhuǎn)換的指令后,必須在最多10S內(nèi)把I/O線轉(zhuǎn)換到強(qiáng)上拉狀態(tài)。在強(qiáng)上拉方式下可以解決電流供應(yīng)不足的題,因此也適合于多點(diǎn)測溫應(yīng)用,缺點(diǎn)就是要多占用一根I/O口線進(jìn)行強(qiáng)上拉切換。3)DS18B20的外部電源供電方式:如下面圖1-4所示,在外部電源供電方式下,DS18B20工作電源由VDD引腳接入,其V

50、DD端用35.5V電源供電,此時(shí)I/O線不需要強(qiáng)上拉,不存在電源電流不足的問題,可以保證轉(zhuǎn)換精度,同時(shí)在總線上理論可以掛接任意多個(gè)DS18B20傳感器,組成多點(diǎn)測溫系統(tǒng)。注意:在外部供電的方式下,DS18B20的GND引腳不能懸空,否則不能轉(zhuǎn)換溫度,讀取的溫度總是85。 圖2-6 DS18B20寄生電源供電方式圖2-7 DS18B20溫度轉(zhuǎn)換期間的強(qiáng)上拉供電(寄生電源方式)圖2-8 DS18B20外部電源供電方式2.2.5 DS18B20的ROM指令為了不引起邏輯的沖突,所有從器件的1-wire總線接口都是漏極開路的基本操作分為復(fù)位、讀和寫三種,其中所有的讀寫操作均為低位在前高位在后。復(fù)位、讀

51、和寫是1-wire總線通信的基礎(chǔ),由于操作時(shí)序已在前面介紹單總線協(xié)議的章節(jié)有所介紹,因此在此值介紹ROM功能指令。在DS18B20內(nèi)部光刻了一個(gè)長度為64bit的ROM編碼,這個(gè)編碼是器件的身份識(shí)別標(biāo)志。當(dāng)總線上掛接這多個(gè)DS18B20時(shí)可以通過ROM編碼對特定器件進(jìn)行操作。ROM功能命令是針對器件的ROM編碼進(jìn)行操作的命令,共有10個(gè),長度均為8bit(1byte)。(1)讀ROM(33H)當(dāng)掛接在總線上的1-wire總線器件接收到此命令時(shí),會(huì)在主機(jī)讀操作的配合下將自身的ROM編碼按由低到高位的順序依次發(fā)給主機(jī)??偩€掛接有多個(gè)DS18B20時(shí),此命令會(huì)使所有器件同時(shí)向主機(jī)傳送自身的ROM編碼

52、,這將導(dǎo)致數(shù)據(jù)沖突。(2)匹配ROM(55H)主機(jī)在發(fā)送完此指令后,必須緊接著發(fā)送一個(gè)64bit的ROM編碼,與此ROM編碼匹配的從器件會(huì)響應(yīng)主機(jī)的后續(xù)命令,而其他從器件處于等待狀態(tài)。該命令主要用于選擇總線上的特定器件進(jìn)行訪問。(3)跳過ROM(CCH)發(fā)送這個(gè)命令后,主機(jī)不必提供ROM編碼即可對從器件進(jìn)行訪問。與讀ROM命令類似,該命令同樣只適用于單節(jié)點(diǎn)的1-wire總線系統(tǒng),當(dāng)總線上有多個(gè)器件掛接時(shí)會(huì)引起數(shù)據(jù)沖突。(4)查找ROM(F0H)當(dāng)主機(jī)不知道總線上器件的ROM編碼時(shí),可以使用此命令并配合特定的算法查找出來總線上的器件的數(shù)量和各個(gè)從器件的ROM編碼。(5)報(bào)警查找(ECH)此命令用

53、于查找出總線上滿足報(bào)警條件的DS18B20,通過報(bào)警查找命令并配合特定的算法,可以查找出總線上滿足報(bào)警條件的器件數(shù)目和各個(gè)器件的ROM編碼。(6)啟動(dòng)溫度轉(zhuǎn)換(44H)該命令發(fā)送完成后,主機(jī)可以通過調(diào)用ReadOneChar()函數(shù)盤算溫度轉(zhuǎn)換是否完成,若其返回值為0則表示轉(zhuǎn)換正在進(jìn)行,若返回為1則表示轉(zhuǎn)換完成。(7)讀RAM(BEH)給命令發(fā)送完成后,主機(jī)可以通過調(diào)用ReadOneChar ()函數(shù)將DS18B20中的內(nèi)容從低位拉到高位一次讀出。(8)寫RAM(4EH)給命令發(fā)送出后,主機(jī)隨后寫入1-wire總線的3字符將依次被存儲(chǔ)到DS18B20的報(bào)警上限、報(bào)警下限和配置寄存器中。(9)復(fù)

54、制RAM(48H)該命令會(huì)將DS18B20的報(bào)警上限和配置寄存器中的內(nèi)容復(fù)制到EEPROM中。該命令發(fā)出去后,主機(jī)可以通過調(diào)用ReadOneChar()函數(shù)判斷復(fù)制操作是否完成,ReadOneChar()的返回值為1,則表示復(fù)制操作完成。(10)回讀EEPROM(B8H)該命令會(huì)將存儲(chǔ)在EEPROM中的報(bào)警上限、報(bào)警下限和配置寄存器的內(nèi)容回讀到RAM中,主機(jī)可以通過調(diào)用ReadOneChar()函數(shù)判斷回讀操作是否完成,若返回值為1則表示回讀操作完成。DS18B20在上電時(shí)會(huì)自動(dòng)進(jìn)行一次回讀操作。為了方便查看,我將常用指令畫作表格如表2-2: 表2-2 DS18B20常用指令指令約定代碼 操作

55、說明溫度轉(zhuǎn)換 44H 啟動(dòng)DS18B20進(jìn)行溫度轉(zhuǎn)換 讀暫存器 BEH 讀暫存器9個(gè)字節(jié)內(nèi)容 寫暫存器 4EH 將數(shù)據(jù)寫入暫存器的TH、TL字節(jié) 復(fù)制暫存器 48H 把暫存器的TH、TL字節(jié)寫到E2RAM中 重新調(diào)E2RAM B8H 把E2RAM中的TH、TL字節(jié)寫到暫存器TH、TL字節(jié) 讀電源供電方式B4H啟動(dòng)DS18B20發(fā)送電源供電方式的信號給主CPU 2.2.6 DS18B20的測溫原理DS18B20的測溫原理如圖2-7所示。圖中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號送給減法計(jì)數(shù)器1;高溫度系數(shù)晶振隨溫度變化其振蕩頻率明顯改變,所產(chǎn)生的信號作為減法計(jì)數(shù)器2

56、的脈沖輸入。圖中還隱含著記數(shù)門,當(dāng)記數(shù)門打開時(shí),DS18B20就對低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖進(jìn)行記數(shù),進(jìn)而完成溫度測量。記數(shù)門的開啟時(shí)間由高溫度系數(shù)振蕩器來決定,每次測量前首先將-55所對應(yīng)的一個(gè)基數(shù)分別置入減法計(jì)數(shù)器溫度寄存器中,減法計(jì)數(shù)器1和溫度寄存器被預(yù)置在-55所對應(yīng)的一個(gè)基數(shù)值。減法計(jì)數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行減法記數(shù),當(dāng)減法計(jì)數(shù)器1的預(yù)置值減到0時(shí),溫度寄存器的值將加1,減法計(jì)數(shù)器1的預(yù)置值將重新被裝入,減法計(jì)數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行記數(shù),如此循環(huán)直到減法計(jì)數(shù)器2記數(shù)到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值就是所測溫度值。圖2

57、-8中的斜率累加器用于補(bǔ)償和修正測溫過程中的非線性誤差,其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要記數(shù)門仍未關(guān)閉就重復(fù)上述過程,直到溫度寄存器值達(dá)到被測溫度值。圖2-8 DS18B20的測溫原理2.3 顯示系統(tǒng)2.3.1 LCM1602顯示模塊LCD1602液晶顯示器由5V供電,可以顯示2行,每行可顯示16個(gè)字符。LCD1602共有16個(gè)端口,其中有5個(gè)端口與電源連接,8個(gè)端口與單片機(jī)直接進(jìn)行數(shù)據(jù)通信,另有3個(gè)是LCD1602的控制端。單片機(jī)通過數(shù)據(jù)通信端可以向LCD1602執(zhí)行讀寫操作。 LCD1602實(shí)物圖如圖2-9和圖2-10所示:圖2-9 LCM1602模塊的背面實(shí)物圖圖2-10 LCM1

58、602模塊的正面實(shí)物圖LCM1602字符型液晶顯示模塊的基本特點(diǎn): 液晶顯示屏是以若干個(gè)5X8或5X11點(diǎn)陣塊組成的顯示字符群。每個(gè)點(diǎn)陣塊為一個(gè)字符位,字符間距和行距都為一個(gè)點(diǎn)的寬度。 主控制驅(qū)動(dòng)電路為HD44780(HITACHI)以及其他公司全兼容電。具有字符發(fā)生器ROM可顯示192種字符(160個(gè)5X7點(diǎn)陣字符和32個(gè)5X10點(diǎn)字符)。 具有64個(gè)字節(jié)的自定義字符RAM,可自定義8個(gè)5X8點(diǎn)陣字符或4個(gè)5X11點(diǎn)陣字符。 具有80個(gè)字節(jié)的RAM。 標(biāo)準(zhǔn)的接口特性,適配M6800系列MPU的操作時(shí)序。 模塊結(jié)構(gòu)緊湊、輕巧、裝配容易。 單+5V電源供電(寬溫型需要一個(gè)-7V的驅(qū)動(dòng)電源)。 低

59、功耗、長壽命、高可靠性。2.2.3 LCM1602管腳分布LCM1602 液晶顯示模塊的管腳分布資料如下表2-3所示:表2-3 LCM1602 引腳引腳號符號狀態(tài)功能1Vss電源地2Vdd+5V邏輯電源3V0液晶驅(qū)動(dòng)電源4RS輸入寄存器選擇 1:數(shù)據(jù) 0:選擇5R/W輸入 讀寫操作選擇 1:讀 0:寫6E輸入使能信號7DB0三態(tài)數(shù)據(jù)總線(LSB)8DB1三態(tài)數(shù)據(jù)總線9DB2三態(tài)數(shù)據(jù)總線10DB3三態(tài)數(shù)據(jù)總線11DB4三態(tài)數(shù)據(jù)總線12DB5三態(tài)數(shù)據(jù)總線13DB6三態(tài)數(shù)據(jù)總線14DB7三態(tài)數(shù)據(jù)總線(MSB)15BLA背光電源正極16BLK背光電源負(fù)極2.4 報(bào)警系統(tǒng)及輸入設(shè)備本設(shè)計(jì)的報(bào)警系統(tǒng)分為聲

60、音報(bào)警和燈光報(bào)警兩部分組成,其中聲音報(bào)警時(shí)又一個(gè)蜂鳴器焊接成的報(bào)警電路,而燈光報(bào)警是由4紅(上限)4綠(下限)八個(gè)LED燈組成。輸入部分有四個(gè)獨(dú)立按鍵(button)組成,分別命名為“SET”、 “ADD”、 “SUB”、和“OK”。該部分電路是通過按鍵可以設(shè)置溫度上限和溫度下限,紅色LED和黑色LED分別用于各路上限和下限的報(bào)警。蜂鳴器在其中有一路打到報(bào)警條件時(shí)候就開始報(bào)警。2.5 最小系統(tǒng)外圍電路2.5.1 PC機(jī)與單片機(jī)的串行通信接口電路在設(shè)計(jì)硬件接口電路時(shí),應(yīng)充分考慮到電路的電氣特性、邏輯電平以及驅(qū)動(dòng)能力的匹配問題,若匹配得不好,將會(huì)導(dǎo)致通信失敗。 本文采用MAX232作為PC機(jī)與單片

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論