小型倉庫溫濕度監(jiān)測系統(tǒng)設(shè)計(jì)說明_第1頁
小型倉庫溫濕度監(jiān)測系統(tǒng)設(shè)計(jì)說明_第2頁
小型倉庫溫濕度監(jiān)測系統(tǒng)設(shè)計(jì)說明_第3頁
小型倉庫溫濕度監(jiān)測系統(tǒng)設(shè)計(jì)說明_第4頁
小型倉庫溫濕度監(jiān)測系統(tǒng)設(shè)計(jì)說明_第5頁
已閱讀5頁,還剩34頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 .DOC資料. 南京信息職業(yè)技術(shù)學(xué)院 畢業(yè)設(shè)計(jì)論文作者 陳龔 學(xué)號(hào) 10619s34 系部 電子信息工程系 專業(yè) 電子信息工程技術(shù)/電子商務(wù) 題目 小型倉庫溫濕度監(jiān)測系統(tǒng) 指導(dǎo)教師 丁寧 評(píng)閱教師 徐瑞亞 完成時(shí)間: 2010 年 4 月 10 日 畢業(yè)設(shè)計(jì)(論文)中文摘要小型倉庫溫濕度監(jiān)測系統(tǒng)摘要:倉庫內(nèi)要實(shí)現(xiàn)溫濕度的精確控制必須進(jìn)行多點(diǎn)測量。基于這一要求,本文采用多個(gè)數(shù)字溫濕度傳感器SHTll來設(shè)計(jì)倉庫監(jiān)測系統(tǒng),以達(dá)到簡化軟硬件系統(tǒng)設(shè)計(jì),提高測量精度的目的。首先介紹了SHTll的結(jié)構(gòu)特點(diǎn)、接口電路和工作時(shí)序,然后確定了采用多個(gè)SHTll紐成的溫濕度測量系統(tǒng)的軟硬件設(shè)計(jì)方案,最后基于AT8

2、9S51單片機(jī)設(shè)計(jì)了電路簡潔、大大節(jié)省I/O口資源、具有現(xiàn)場獨(dú)立顯示和遠(yuǎn)距離通信功能的多點(diǎn)溫濕度測量系統(tǒng),并編寫了PC機(jī)端直觀的數(shù)據(jù)觀測界面程序,為現(xiàn)代化倉庫的集中管理提供了條件。關(guān)鍵詞:SHT11;AT89S51;串口通信;倉庫溫濕度監(jiān)測系統(tǒng)畢業(yè)設(shè)計(jì)(論文)外文摘要Title : Small Storage Temperature & Humidity Monitoring SystemAbstract:Multipoints monitoring is necessary for storage exact temperature & humidity controlling system

3、 For this reason,we use several digital temperature & humidity sensors to design the storage monitoring system,It can make the software and hardware designing easier and the measuring precision higher Firstly,the paper,introduces SHTl1s structure characters,I/O connecting circuit and working schedul

4、e The scheme that how to design the software and hardware of temperature & humidity measuring system by using several SHTl1 is presented Initially,A temperature &humidity measuring system based on AT89S51 is designedThe advantages of the system are simple hardware,less I/O resource,selfdisplaying an

5、d long distance communicationFurthermore,A data observation interface in the PC terminal is programmed,which can provide A good condition for concentrative management of modern storageKeywords: SHTll;AT89S51;Connection to serial interface;Storage Temperature & Humidity Monitoring System目錄 TOC o 1-3

6、h z u HYPERLINK l _Toc256940102 一、引言 PAGEREF _Toc256940102 h 5 HYPERLINK l _Toc256940103 1.1設(shè)計(jì)目的 PAGEREF _Toc256940103 h 5 HYPERLINK l _Toc256940104 1.2設(shè)計(jì)要求 PAGEREF _Toc256940104 h 5 HYPERLINK l _Toc256940105 二、系統(tǒng)總體設(shè)計(jì) PAGEREF _Toc256940105 h 6 HYPERLINK l _Toc256940106 2.1信號(hào)采集 PAGEREF _Toc256940106

7、h 6 HYPERLINK l _Toc256940107 2.1.1溫濕度傳感器 PAGEREF _Toc256940107 h 7 HYPERLINK l _Toc256940108 2.1.2 SHT11性能特點(diǎn) PAGEREF _Toc256940108 h 7 HYPERLINK l _Toc256940109 2.1.2 SHT11的功能管腳及實(shí)物 PAGEREF _Toc256940109 h 8 HYPERLINK l _Toc256940110 2.1.3 SHT11內(nèi)部結(jié)構(gòu)和工作原理 PAGEREF _Toc256940110 h 9 HYPERLINK l _Toc256

8、940111 2.1.5 硬件設(shè)計(jì) PAGEREF _Toc256940111 h 9 HYPERLINK l _Toc256940112 2.1.6 軟件設(shè)計(jì) PAGEREF _Toc256940112 h 11 HYPERLINK l _Toc256940113 2.2 單片機(jī)AT89S51 PAGEREF _Toc256940113 h 16 HYPERLINK l _Toc256940114 2.2.1 單片機(jī)AT89S51的結(jié)構(gòu)及組成 PAGEREF _Toc256940114 h 17 HYPERLINK l _Toc256940115 2.2.2 單片機(jī)AT89S51的引腳 PA

9、GEREF _Toc256940115 h 18 HYPERLINK l _Toc256940116 2.2.3 存儲(chǔ)器 PAGEREF _Toc256940116 h 21 HYPERLINK l _Toc256940117 2.2.4Flash 閃速存儲(chǔ)器的編程 PAGEREF _Toc256940117 h 23 HYPERLINK l _Toc256940118 2.2.5 單片機(jī)最小系統(tǒng)的硬件電路 PAGEREF _Toc256940118 h 28 HYPERLINK l _Toc256940119 2.3 通信模塊 PAGEREF _Toc256940119 h 29 HYPER

10、LINK l _Toc256940120 2.3.1 RS-232、RS-485及其接口電路 PAGEREF _Toc256940120 h 30 HYPERLINK l _Toc256940121 2.3.2 串口的基本接線方法 PAGEREF _Toc256940121 h 32 HYPERLINK l _Toc256940122 2.4 電源模塊 PAGEREF _Toc256940122 h 33 HYPERLINK l _Toc256940123 2.4.1 芯片LM7805 PAGEREF _Toc256940123 h 33 HYPERLINK l _Toc256940124 2

11、.5 硬件設(shè)計(jì)綜述 PAGEREF _Toc256940124 h 34 HYPERLINK l _Toc256940125 三、軟件設(shè)計(jì) PAGEREF _Toc256940125 h 35 HYPERLINK l _Toc256940126 3.1 AT89S51軟件設(shè)計(jì) PAGEREF _Toc256940126 h 35 HYPERLINK l _Toc256940127 3.1.1 軟件結(jié)構(gòu)設(shè)計(jì) PAGEREF _Toc256940127 h 35 HYPERLINK l _Toc256940128 3.2 PC機(jī)數(shù)據(jù)接收界面設(shè)計(jì) PAGEREF _Toc256940128 h 38

12、 HYPERLINK l _Toc256940129 四、系統(tǒng)調(diào)試 PAGEREF _Toc256940129 h 38結(jié)論致謝參考文獻(xiàn)一、引言1.1設(shè)計(jì)目的防潮、防霉、防腐是倉庫日常工作的重要內(nèi)容,是衡量倉庫管理質(zhì)量的重要指標(biāo)。它直接影響到儲(chǔ)備物資的使用壽命和工作可靠性。為保證日常工作的順利進(jìn)行,首要問題是加強(qiáng)倉庫內(nèi)溫度與濕度的監(jiān)測工作。但傳統(tǒng)的方法是用與濕度表、毛發(fā)濕度表、雙金屬式測量計(jì)和濕度試紙等測試器材,通過人工進(jìn)行檢測,對(duì)不符合溫度和濕度要求的庫房進(jìn)行通風(fēng)、去濕和降溫等工作。這種人工測試方法費(fèi)時(shí)費(fèi)力、效率低,且測試的溫度及濕度誤差大,隨機(jī)性大。因此我們需要一種造價(jià)低廉、使用方便且測量

13、準(zhǔn)確的溫濕度測量儀。 1.2設(shè)計(jì)要求一、基本功能檢測溫度、濕度實(shí)時(shí)顯示溫度、濕度設(shè)定溫濕度限定值過限報(bào)警主要技術(shù)參數(shù) 溫度檢測范圍 : 0+100(可軟件調(diào)整)測量精度 : 1濕度檢測范圍 : 0%-100%RH(可軟件調(diào)整)檢測精度 : 1%RH顯示方式 : 后臺(tái)實(shí)時(shí)顯示報(bào)警方式 : 后臺(tái)報(bào)警 二、系統(tǒng)總體設(shè)計(jì)本設(shè)計(jì)是以AT89S51為CPU的一套檢測系統(tǒng),其中涉及到溫濕度檢測、矩陣鍵盤、報(bào)警電路、單片機(jī)、后臺(tái)顯示等部分的設(shè)計(jì)。圖2-1 系統(tǒng)總體框圖 本設(shè)計(jì)由信號(hào)采集、信號(hào)分析、信號(hào)處理和電源四個(gè)部分組成的。 (一) 信號(hào)采集 由多個(gè)數(shù)字式溫濕度傳感器SHT11組成; (二) 信號(hào)分析 由單

14、片機(jī)AT89S51組成; (三) 信號(hào)處理 由后臺(tái)軟件組成。 2.1信號(hào)采集本設(shè)計(jì)利用傳感器技術(shù)進(jìn)行信號(hào)采集,為單片機(jī)提高數(shù)據(jù)。傳感器是實(shí)現(xiàn)測量與控制的首要環(huán)節(jié),是測控系統(tǒng)的關(guān)鍵部件,如果沒有傳感器對(duì)原始被測信號(hào)進(jìn)行準(zhǔn)確可靠的捕捉和轉(zhuǎn)換,一切準(zhǔn)確的測量和控制都將無法實(shí)現(xiàn)。工業(yè)生產(chǎn)過程的自動(dòng)化測量和控制,幾乎主要依靠各種傳感器來檢測和控制生產(chǎn)過程中的各種參量,使設(shè)備和系統(tǒng)正常運(yùn)行在最佳狀態(tài),從而保證生產(chǎn)的高效率和高質(zhì)量。本設(shè)計(jì)使用了數(shù)字式溫濕度傳感器SHT11。2.1.1溫濕度傳感器溫濕度的測量在倉儲(chǔ)管理、生產(chǎn)制造、氣象觀測、科學(xué)研究以及日常生活中被廣泛應(yīng)用,傳統(tǒng)的模擬式濕度傳感器一般都要設(shè)計(jì)信

15、號(hào)調(diào)理電路并需要經(jīng)過復(fù)雜的校準(zhǔn)和標(biāo)定過程,因此測量精度難以保證,且在線性度、重復(fù)性、互換性、一致性等方面往往不盡人意。SHT11是瑞士Sensirion公司生產(chǎn)的具有I2C總線接口的單片全校準(zhǔn)數(shù)字式相對(duì)濕度和溫度傳感器。該傳感器采用獨(dú)特的CMOSens TM技術(shù),具有數(shù)字式輸出、免調(diào)試、免標(biāo)定、免外圍電路及全互換的特點(diǎn)。該傳感器將CMOS芯片技術(shù)與傳感器技術(shù)結(jié)合起來,從而發(fā)揮出它們強(qiáng)大的優(yōu)勢互補(bǔ)作用。2.1.2 SHT11性能特點(diǎn) SHT11溫濕度傳感器的主要特性如下:將溫濕度傳感器、信號(hào)放大調(diào)理、A/D轉(zhuǎn)換、I2C總線接口全部集成于一芯片(CMOSens TM技術(shù));可給出全校準(zhǔn)相對(duì)濕度及溫

16、度值輸出;帶有工業(yè)標(biāo)準(zhǔn)的I2C總線數(shù)字輸出接口;具有露點(diǎn)值計(jì)算輸出功能;具有卓越的長期穩(wěn)定性;濕度值輸出分辨率為14位,溫度值輸出分辨率為12位,并可編程為12位和8位;小體積(7.655.0823.5),可表面貼裝;具有可靠的CRC數(shù)據(jù)傳輸校驗(yàn)功能;片內(nèi)裝載的校準(zhǔn)系數(shù)可保證100互換性;電源電壓范圍為2.45.5;電流消耗,測量時(shí)為550,平均為28,休眠時(shí)為3;2.1.2 SHT11的功能管腳及實(shí)物圖 2-1 SHT11 引腳說明圖 2-2 SHT11 實(shí)物 SHT11溫濕度傳感器采用SMD(LCC)表面貼片封裝形式,管腳排列如圖2-2所示,其引腳說明如下:(1)GND:接地端;(2)DA

17、TA:雙向串口數(shù)據(jù)線;(3)SCK:串口時(shí)鐘輸入;(4)VDD電源端:2.45.5電源端;(58)NC:空管腳2.1.3 SHT11內(nèi)部結(jié)構(gòu)和工作原理溫濕度傳感器SHT11將溫度感測、濕度感測、信號(hào)變換、AD轉(zhuǎn)換和加熱器等功能集成到一個(gè)芯片上,其內(nèi)部結(jié)構(gòu)如圖2-3所示。該芯片包括一個(gè)電容性聚合體濕度敏感元件和一個(gè)用能隙材料制成的溫度敏感元件。這兩個(gè)敏感元件分別將濕度和溫度轉(zhuǎn)換成電信號(hào),該電信號(hào)首先進(jìn)入微弱信號(hào)放大器進(jìn)行放大;然后進(jìn)入一個(gè)14位的AD轉(zhuǎn)換器;最后經(jīng)過二線串口數(shù)字接口輸出數(shù)字信號(hào)。SHT11在出廠前,都會(huì)在恒濕或恒溫環(huán)境巾進(jìn)行校準(zhǔn),校準(zhǔn)系數(shù)存儲(chǔ)在校準(zhǔn)寄存器中;在測量過程中,校準(zhǔn)系數(shù)

18、會(huì)自動(dòng)校準(zhǔn)來自傳感器的信號(hào)。此外,SHT11內(nèi)部還集成了一個(gè)加熱元件,加熱元件接通后可以將SHT11的溫度升高5左右,同時(shí)功耗也會(huì)有所增加。此功能主要為了比較加熱前后的溫度和濕度值,可以綜合驗(yàn)證兩個(gè)傳感器元件的性能。在高濕(95RH)環(huán)境中,加熱傳感器可預(yù)防傳感器結(jié)露,同時(shí)縮短響應(yīng)時(shí)間,提高精度。加熱后SHT11溫度升高、相對(duì)濕度降低,較加熱前,測量值會(huì)略有差異。圖2-3 SHT11內(nèi)部結(jié)構(gòu)框圖2.1.5 硬件設(shè)計(jì)2.1.5.1 SHT11與微控制器的連接SHT11通過I2C接口與微控制器連接,具體電路如圖2-4所示。其中,串口時(shí)鐘輸入線(SCK):SCK用于微控制器與SHTll之間的通信同步

19、,而且由于SHTll接口包含了完全靜態(tài)邏輯,所以并不存在最小SCK頻率限制,即微控制器可以以任意低的速度與SHTll通信。串口數(shù)據(jù)線(DATA):DATA引腳是三態(tài)門結(jié)構(gòu),用于內(nèi)部數(shù)據(jù)的輸出和外部數(shù)據(jù)的輸入。DATA在SCK時(shí)鐘下降沿之后改變狀態(tài),并僅在SCK時(shí)鐘上升沿后有效,所以微控制器可以在SCK高電平時(shí)讀取數(shù)據(jù),而當(dāng)其向SHTll發(fā)送數(shù)據(jù)時(shí)則必須保證DATA線上的電平狀態(tài)在SCK高電平段穩(wěn)定;為了避免信號(hào)沖突,微控制器僅驅(qū)動(dòng)DATA在低電平,在需要輸出高電平的時(shí)候,微控制器將引腳置為高阻態(tài),由外部的上拉電阻(如4.7k)將信號(hào)拉至高電平(如圖2-4所示),從而實(shí)現(xiàn)高電平輸出。圖 2-4

20、典型I2C接口電路 2.1.5.2 硬件電路圖 2-5 AT89S51和SHT11的硬件連接圖SHTll是兩線制的數(shù)據(jù)傳輸方式,具有I2C總線接口,在多點(diǎn)測量應(yīng)用系統(tǒng)中通常是將多個(gè)SHTll分別獨(dú)立地連接到微控制器I/O口上,微控制器通過對(duì)每一個(gè)SHTll進(jìn)行測量操作,得到每一點(diǎn)的溫濕度數(shù)據(jù)。但這樣的連接方式存在兩個(gè)主要缺點(diǎn):(1)由于每個(gè)SHTll占用微控制器兩個(gè)I/O口,所以微控制器有限的I/O口資源將制約著單個(gè)微控制器上所能測量的最大點(diǎn)數(shù);(2)由于每個(gè)SHTll的測量所需時(shí)間是固定不變的,采用單獨(dú)操作的逐個(gè)測量方式在多點(diǎn)測量系統(tǒng)中必然導(dǎo)致數(shù)據(jù)采集時(shí)間過長、控制滯后,從而影響控制系統(tǒng)性能

21、的提高。多個(gè)SHTll傳感器和AT89S51的連接方式采取如下方案:各SHTll的SCK線接到AT89S51的同一個(gè)I/O口上,而DATA線則分別接到不同I/O口線上,需要注意的地方是:DATA數(shù)據(jù)線需要外接上拉電阻。這種連接方式有幾個(gè)優(yōu)點(diǎn):首先,n個(gè)傳感器只占用n+1個(gè)I/O口,比前述方式節(jié)省了n-1個(gè)I/O口,解決了多點(diǎn)測量系統(tǒng)中微控制器I/O口資源短缺和盡可能增加測量點(diǎn)之間的矛盾問題;其次,由于多個(gè)SHTll共用一條時(shí)鐘線所以在每次測量中可以同時(shí)發(fā)出測量命令,多個(gè)傳感器同時(shí)進(jìn)行測量,只需一次等待時(shí)間則完成了整體數(shù)據(jù)的收集,大大縮短了數(shù)據(jù)采集時(shí)間,為控制系統(tǒng)快速響應(yīng)提供了條件。硬件連接如圖

22、2-5所示,本設(shè)計(jì)需要測試4個(gè)不同地方的溫濕度情況,所以選擇了4個(gè)SHT11傳感器。2.1.6 軟件設(shè)計(jì)2.1.6.1 工作時(shí)序SHTll測量過程包括4個(gè)部分:啟動(dòng)傳輸、發(fā)送測量命令、等待測量完成和讀取測量數(shù)據(jù),其中可能會(huì)涉及到啟動(dòng)傳輸時(shí)序、命令發(fā)送時(shí)序、讀取數(shù)據(jù)時(shí)序和通信復(fù)位時(shí)序。微控制器首先用一組“啟動(dòng)傳輸”時(shí)序來表示數(shù)據(jù)傳輸?shù)某跏蓟鋾r(shí)序圖如圖2-6所示:當(dāng)SCK時(shí)鐘高電平時(shí)DATA翻轉(zhuǎn)為低電平;在DATA為低電平期間,SCK變?yōu)榈碗娖?,再翻轉(zhuǎn)為高電平;隨后是在SCK時(shí)鐘高電平時(shí)DATA翻轉(zhuǎn)為高電平。圖2-6 “啟動(dòng)傳輸”時(shí)序在“啟動(dòng)傳輸”時(shí)序之后,微控制器可以向SHTll發(fā)送命令。命

23、令字節(jié)包括高3位的地址位(目前只支持000)和低5位的命令位。SHTll傳感器共有5條用戶命令,具體命令格式見表2-1所列表 2-1 SHTxx命令集 SHTll通過在數(shù)據(jù)傳輸?shù)牡?個(gè)SCK時(shí)鐘周期下降沿之后,將DATA拉低來表示正確接收到命令,并第9個(gè)SCK時(shí)鐘周期的下降沿之后釋放DATA線(即恢復(fù)高電平),圖2-7以微控制器發(fā)送濕度測量命令0000010l為例說明發(fā)送命令的時(shí)序。圖2-7 命令發(fā)送時(shí)序微控制器發(fā)送一組測量命令后需要根據(jù)測量數(shù)據(jù)精確度81214bit分別等待大約1155210ms,而SHTll則通過拉低DATA表示測量結(jié)束,并且把測量結(jié)果存儲(chǔ)在SHT11內(nèi)部的存儲(chǔ)器內(nèi),然后自

24、動(dòng)進(jìn)入空閑狀態(tài),等微控制器執(zhí)行完其他任務(wù)后再來讀取。測量數(shù)據(jù)讀取前,微控制器先重新啟動(dòng)SCK,即SHTll拉低DATA,接著2字節(jié)的測量數(shù)據(jù)和1字節(jié)的CRC校驗(yàn)將由SHTll傳送給微控制器。2字節(jié)的測量數(shù)據(jù)是從高字節(jié)的高位開始傳送,并以CRC校驗(yàn)字節(jié)的確認(rèn)為表示通信結(jié)束。微控制器需要通過拉低DATA來確認(rèn)接收的每個(gè)字節(jié),若不使用CRC校驗(yàn)位則微控制器可以在接收完測量數(shù)據(jù)的最低位后保持DATA為高電平來終止通信,圖2-8給出了數(shù)據(jù)讀取時(shí)序圖。在測量和通訊結(jié)束后,SHT11自動(dòng)轉(zhuǎn)入休眠模式。圖2-8 讀取數(shù)據(jù)時(shí)序當(dāng)遇到與SHT11通信發(fā)生錯(cuò)誤時(shí),微控制器可以通過發(fā)送通信復(fù)位序列重新復(fù)位SHT11的

25、串口接口。復(fù)位時(shí)序?yàn)镈ATA保持高電平時(shí),觸發(fā)SCK時(shí)鐘9次或更多次,這就可以復(fù)位串口,而狀態(tài)寄存器內(nèi)容仍然保留,通信復(fù)位時(shí)序如圖2-9所示圖2-9通信復(fù)位時(shí)序2.1.6.2 寄存器配置SHT11傳感器中的一些高級(jí)功能是通過狀態(tài)寄存器來實(shí)現(xiàn)的,寄存器各位的類型及說明見表2-2所列。下面對(duì)寄存器相關(guān)位的功能說明: 位類型說 明缺 省7保留06讀工檢限(低電壓檢查)X5保留04保留03只用于試驗(yàn),不可以使用02讀/寫加熱0關(guān)1讀/寫不從OTP重下載0重下載0讀/寫1=8位相對(duì)濕度,12位溫度分辨率。0=12位相對(duì)濕度,14位濕度分辨率012位相對(duì)濕度,14位濕度表2-2 SHT11狀態(tài)寄存器類型及

26、說明(1)加熱 使芯片中的加熱開關(guān)接通后,傳感器溫度大約增加5,從而使功耗增加至8A(5V)。加熱用途如下: 通過對(duì)啟動(dòng)加熱器前后的溫、濕度進(jìn)行比較,可以正確地區(qū)別傳感器的功能; 在相對(duì)濕度較高的環(huán)境下,傳感器可通過加熱來避免冷凝。 (2)低電壓檢測 SHT11工作時(shí)可以自行檢測VDD電壓是否低于2.45V,準(zhǔn)確度為 0.1V。 (3)下載校準(zhǔn)系數(shù) 為了節(jié)省能量并提高速度,OPT在每次測量前都要重新下載校準(zhǔn)系數(shù),從而使每一次測量節(jié)省8.2ms的時(shí)間。 (4)測量分辨率設(shè)定 將測量分辨率從14位(溫度)和12位(濕度)分別減到12位和8位可應(yīng)用于高速或低功耗場合。2.1.6.3 數(shù)據(jù)計(jì)算1. 相

27、對(duì)濕度為了補(bǔ)償濕度傳感器的非線性以獲取準(zhǔn)確數(shù)據(jù),建議使用如下公式修正讀數(shù):RH=C+CS()+CS()(公式 2-1);式中S()為SHT11測得的相對(duì)濕度測量值;線性補(bǔ)償系數(shù)C 、C、 C值見表2-3。S()CCC12 bit-40.0405-2.8108 bit-40.648-7.210表2-3 濕度轉(zhuǎn)換系數(shù)由于實(shí)際溫度與測試參考溫度25(77)的顯著不同, 應(yīng)考慮濕度傳感器的溫度補(bǔ)償:RH=(T-25)(t+tS()+RH(公式 2-2);溫度補(bǔ)償系數(shù)t 、t值見表 2-4。S()tt12 bit0.010.000088 bit0.010.00128圖2-4溫度補(bǔ)償系數(shù) 從S()到RH的

28、對(duì)應(yīng)關(guān)系參見圖2-10。圖2-10 S()轉(zhuǎn)換到相對(duì)濕度2. 溫度可用如下公式將數(shù)字輸出轉(zhuǎn)換為溫度值:T = d+ dS()(公式 2-3);式中S()為SHT11溫度測量值,特點(diǎn)系數(shù)d、d值見表2-5。S()dd14 bit0.010.01812 bit0.040.072VDDdd 5V-40.00-40.004V-39.75-39.503.5V-39.66-39.353V-39.60-39.282.5V-39.55-39.23表2-5溫度轉(zhuǎn)換系數(shù)3. 測量舉例圖2-11 “0000100100110001”“0000100100110001”=2353RH=C+CS()+CS()=-4+0

29、.04052353+-2.8102353=75.19 %RH(未包含溫度補(bǔ)償)2.2 單片機(jī)AT89S51本設(shè)計(jì)采用ATMEI公司的AT89S51芯片作為微控制器。AT89S51是一個(gè)低功耗,高性能 CMOS 8位單片機(jī)。主要性能參數(shù): 與 MCS-51 產(chǎn)品指令系統(tǒng)完全兼容 4k 字節(jié)在系統(tǒng)編程(ISP)Flash 閃速存儲(chǔ)器 1000 次擦寫周期 4.05.5V 的工作電壓范圍 全靜態(tài)工作模式: 0Hz 33MHz 三級(jí)程序加密鎖 1288字節(jié)內(nèi)部 RAM 32 個(gè)可編程 I /O 口線 2 個(gè) 16 位定時(shí)/計(jì)數(shù)器 6 個(gè)中斷源 全雙工串口 UART 通道 低功耗空閑和掉電模式 中斷可從

30、空閑模喚醒系統(tǒng) 看門狗(WDT)及雙數(shù)據(jù)指針 掉電標(biāo)識(shí)和快速編程特性 靈活的在系統(tǒng)編程(ISP字節(jié)或頁寫模式) 2.2.1 單片機(jī)AT89S51的結(jié)構(gòu)及組成AT89S51是由CPU、內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM、內(nèi)部程序存儲(chǔ)器ROM、并行輸入/輸出(I/O)口、串口口、定時(shí)/計(jì)數(shù)器、中斷系統(tǒng)、時(shí)鐘電路等部分組成,它們均由單一總線連接并被集成在一塊半導(dǎo)體芯片上,即組成了單片微型計(jì)算機(jī)。結(jié)構(gòu)圖如圖2-12圖 2-12 AT89S51內(nèi)部結(jié)構(gòu)2.2.2 單片機(jī)AT89S51的引腳AT89S51采用40管腳雙列直插DIP封裝,如圖 2-13。圖 2-13 AT89S51引腳圖引腳功能說明: VCC :電源電壓

31、 VSS :地 P0 口: P0 口是一組 8 位漏極開路型雙向 I/0 口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能驅(qū)動(dòng) 8 個(gè)TTL邏輯門電路,對(duì)端口寫“ l ”可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低 8 位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在 F1ash 編程時(shí), P0 口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。 P1 口: Pl 是一個(gè)帶內(nèi)部上拉電阻的 8 位雙向 I/O 口, Pl 的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流) 4 個(gè) TTL 邏輯門電路。對(duì)端口寫“l(fā)”,通過內(nèi)部的上拉電阻把端口拉到

32、高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流( I)。Flash 編程和程序校驗(yàn)期間, Pl 接收低 8 位地址。P1.5、P1.6、P1.7可用于程序固化(下載)使用,如表 2-6。 表2-6 P2 口: P2 是一個(gè)帶有內(nèi)部上拉電阻的 8 位雙向 I/O 口, P2 的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè) TTL 邏輯門電路。對(duì)端口寫“ 1 ”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(I)。在訪問外部程序存儲(chǔ)器或 16 位地址的外部數(shù)據(jù)存儲(chǔ)器(

33、例如執(zhí)行 MOVXDPTR 指令) 時(shí), P2 口送出高 8 位地址數(shù)據(jù)。在訪問 8 位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行MOVXRi 指令)時(shí), P2 口線上的內(nèi)容(也即特殊功能寄存器( SFR )區(qū)中 P2 寄存器的內(nèi)容),在整個(gè)訪問期間不改變。Flash 編程或校驗(yàn)時(shí), P2 亦接收高位地址和其它控制信號(hào)。 P3 口: P3 口是一組帶有內(nèi)部上拉電阻的 8 位雙向 I/0 口。 P3 口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流) 4 個(gè) TTL邏輯門電路。對(duì) P3 口寫入“ l ”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。作輸入端時(shí),被外部拉低的 P3 口將用上拉電阻輸出電流(I)。P3 口除了作為

34、一般的 I/0 口線外,更重要的用途是它的第二功能,如下表2-7所示:P3 口還接收一些用于 Flash 閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)。表2-7 RST :復(fù)位輸入。當(dāng)振蕩器工作時(shí), RST 引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。 WDT 溢出將使該引腳輸出高電平,設(shè)置 SFR AUXR 的 DISRT0 位(地址 8EH )可打開或關(guān)閉該功能。 DISRT0 位缺省為 RESET 輸出高電平打開狀態(tài)。 ALE/:當(dāng)訪問外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低 8 位字節(jié)。即使不訪問外部存儲(chǔ)器, ALE 仍以時(shí)鐘振蕩頻率的1 /6 輸出固定的正

35、脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過一個(gè) ALE 脈沖。對(duì) F1ash 存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對(duì)特殊功能寄存器(SFR)區(qū)中的 8EH 單元的 D0 位置位,可禁止 ALE 操作。該位置位后,只有一條 M0VX 和 M0VC 指令 ALE 才會(huì)被激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置 ALE 無效。 :程序儲(chǔ)存允許()輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng) AT89S51 由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次有效,即輸出兩個(gè)脈沖。當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器,沒有兩次

36、有效的信號(hào)。 /VPP :外部訪問允許。欲使 CPU 僅訪問外部程序存儲(chǔ)器(地址為0000H FFFFH),端必須保持低電平(接地)。需注意的是:如果加密位 LB1 被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存端狀態(tài)。如端為高電平(接 Vcc 端), CPU 則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。F1ash 存儲(chǔ)器編程時(shí),該引腳加上 +12V 的編程電壓 Vpp 。 XTALl :振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。 XTAL2 :振蕩器反相放大器的輸出端。 內(nèi)置看門狗電路(WDT) :由十單片機(jī)的工作常常會(huì)受到來自外界電磁場的干擾,造成程序的跑飛而陷入死循環(huán),這樣會(huì)打斷程序的正常運(yùn)行,從而使單片機(jī)控制的系統(tǒng)無法繼

37、續(xù)工作,造成整個(gè)系統(tǒng)陷入停滯狀態(tài),發(fā)生不可預(yù)料的后果。為了避免這種情況發(fā)生,本芯片內(nèi)置了看門狗電路。所謂看門狗技術(shù)是一種程序監(jiān)視技術(shù),它不斷的監(jiān)視程序循環(huán)運(yùn)行時(shí)間,當(dāng)程序出現(xiàn)跑飛時(shí)而陷入死循環(huán)時(shí),看門狗電路就會(huì)在它和單片機(jī)復(fù)位引腳相連的引腳上送出一個(gè)復(fù)位信號(hào),使單片機(jī)發(fā)生復(fù)位,即程序從程序存儲(chǔ)器的起始位置開始執(zhí)行,這樣便實(shí)現(xiàn)了單片機(jī)的自動(dòng)復(fù)位,使單片機(jī)可以在無人狀態(tài)下實(shí)現(xiàn)連續(xù)工作。2.2.3 存儲(chǔ)器AT89C51內(nèi)核采用程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器空間分開的結(jié)構(gòu),均具有 64KB 外部程序和數(shù)據(jù)的尋址空間。2.2.3.1程序存儲(chǔ)器 用于存放編制好的程序和表格。ROM的0000H-002AH單元預(yù)留給

38、上電復(fù)位后引導(dǎo)程序地址及5個(gè)中斷服務(wù)程序的入口地址,在實(shí)際應(yīng)用系統(tǒng)中,主程序的存放從002BH單元開始。在程序存儲(chǔ)器中有六個(gè)單元有特定的含義:0000H0002H:單片機(jī)復(fù)位后,PC=0000H即從此處開始執(zhí)行指令。0003H000AH:外部中斷0入口地址區(qū)。000BH0012H:定時(shí)器0溢出中斷入口地址區(qū)。0013H001AH:外部中斷1入口地址區(qū)。001BH0022H:定時(shí)器溢出中斷入口地址區(qū)。0023H002AH:串口口中斷入口地址區(qū)。使用時(shí)常在這些入口外安放一條絕對(duì)跳轉(zhuǎn)指令,使程序跳轉(zhuǎn)到擁護(hù)安排的中斷處理程序的起始地址,或從0000H外執(zhí)行一跳轉(zhuǎn)指令,跳轉(zhuǎn)到用戶設(shè)計(jì)的初始程序入口。如果

39、 EA 引腳接地,全部程序均執(zhí)行外部存儲(chǔ)器。 若 EA 接Vcc,程序首先執(zhí)行地址從0000H-0FFFH (4KB)內(nèi)部程序存儲(chǔ)器,再執(zhí)行地址為 1000H-FFFFH(60KB)的外部程序存儲(chǔ)器。2.2.3.2數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器用于存放運(yùn)算中間的結(jié)果、數(shù)據(jù)暫存、緩沖、標(biāo)志位、待測程序等功能。片內(nèi)的低128B的RAM地址為00H7FH,供用戶做RAM用,但是在這中間的前32單元,00H1FH即引用地址尋址做用戶RAM用,常常做工作寄存器區(qū),分做四組,每組由8個(gè)單元組成通用寄存器R0R7,任何時(shí)候都由其中一組作為當(dāng)前工作寄存器,通過RS0,RS1的內(nèi)容來決定選擇哪一個(gè)工作寄存器。片內(nèi)RAM不

40、夠用時(shí),須擴(kuò)展片外數(shù)據(jù)存儲(chǔ)器。此時(shí)單片機(jī)通過P2口和P0口選出6位地址,使用ALE作低8位的鎖存信號(hào),再由P0口寫入或讀出數(shù)據(jù)。寫時(shí)用,讀時(shí)用做外部數(shù)據(jù)存儲(chǔ)器的選通信號(hào)。2.2.3.3 特殊功能寄存器SFR在內(nèi)部數(shù)據(jù)存儲(chǔ)器的80HFFH的高128B單元中有21個(gè)特殊功能寄存器SFR,其余單元現(xiàn)無定義,用戶不能對(duì)這些單元進(jìn)行讀寫操作。它們用來管理CPU和I/O口以及內(nèi)部邏輯部件,在指令中專用寄存器是以存儲(chǔ)單元方式被讀寫的,專用寄存器雖有名稱,但尋址時(shí)都做專用寄存器用,它們的地址是與片內(nèi)RAM的地址相連的。下面就專用寄存器作以簡單的介紹:累加器A:在絕大多數(shù)情況下它參與運(yùn)算的一方并存放運(yùn)算的結(jié)果。

41、寄存器B:進(jìn)行乘除運(yùn)算時(shí),寄存器B有特定的用途,在乘時(shí)存放一個(gè)乘數(shù)以及積的最高位,A中存放另一個(gè)乘數(shù)以及積的低位。除法時(shí),B中存放除數(shù)及余數(shù),而在A中存放被除數(shù)和商,其他情況可作為普通寄存器用。堆棧指針SP:在子程序調(diào)用或中斷時(shí),用來暫存數(shù)據(jù)和地址,它按先進(jìn)后出的原則存儲(chǔ)數(shù)據(jù),它是一個(gè)八位寄存器它指出堆棧頂部在片內(nèi)RAM中的位置,系統(tǒng)復(fù)位后,SP變成07H,使堆棧從00單元開始。;數(shù)據(jù)指針DPTR:由兩個(gè)字節(jié)組成,DPH字地址由83H,DPL由82H,存放一個(gè)16位的二進(jìn)制數(shù)做地址用。程序狀態(tài)字PSW:8位寄存器,存放程序執(zhí)行過程中的各種信息。Flash 閃速存儲(chǔ)器的編程2.2.4.1并行編程

42、 AT89s51 單片機(jī)內(nèi)部有 4k 字節(jié)的可快速編程的 Flash 存儲(chǔ)陣列。編程方法可通過傳統(tǒng)的 EPROM 編程器使用高電壓(+12V)和協(xié)調(diào)的控制信號(hào)進(jìn)行編程。AT89S51 的代碼是逐一字節(jié)進(jìn)行編程的。編程方法:編程前,須按編程模式表(表 2-7)和圖 2-14、圖 2-15 所示設(shè)置好地址、數(shù)據(jù)及控制信號(hào),AT89S51 編程方法如下: 1 在地址線上加上要編程單元的地址信號(hào)。 2 在數(shù)據(jù)線上加上要寫入的數(shù)據(jù)字節(jié)。 3 激活相應(yīng)的控制信號(hào)。 4 將/VPP端加上 +12V 編程電壓。 5 每對(duì) Flash 存儲(chǔ)陣列寫入一個(gè)字節(jié)或每寫入一個(gè)程序加密位,加上一個(gè) ALE/編程脈沖。每個(gè)

43、字節(jié)寫入周期是自身定時(shí)的,大多數(shù)約為50us 。改變編程單元的地址和寫入的數(shù)據(jù),重復(fù) 1-5步驟,直到全部文件編程結(jié)束。數(shù)據(jù)查詢:AT89S5l 單片機(jī)用數(shù)據(jù)查詢方式來檢測一個(gè)寫周期是否結(jié)束,在一個(gè)寫周期中,如需讀取最后寫入的那個(gè)字節(jié),則讀出的數(shù)據(jù)的最高位(P0.7)是原來寫入字節(jié)最高位的反碼。寫周期完成后,有效的數(shù)據(jù)就會(huì)出現(xiàn)在所有輸出端上,此時(shí),可進(jìn)入下一個(gè)字節(jié)的寫周期,寫周期開始后,可在任意時(shí)刻進(jìn)行數(shù)據(jù)查詢。Ready/:字節(jié)編程的進(jìn)度可通過“RDY/BSY”輸出信號(hào)監(jiān)測,編程期間,ALE 變?yōu)楦唠娖健癏”后 P3.0 端電平被拉低,表示正在編程狀態(tài)(忙狀態(tài))。編程完成后,P3.0 變?yōu)楦?/p>

44、電平表示準(zhǔn)備就緒狀態(tài)。程序校驗(yàn):如果加密位LB1、LB2沒有進(jìn)行編程,則代碼數(shù)據(jù)可通過地址和數(shù)據(jù)線讀回原編寫的數(shù)據(jù),各加密位也可通過直接回讀進(jìn)行校驗(yàn)。讀片內(nèi)簽名字節(jié):AT89S51單片機(jī)內(nèi)有3個(gè)簽名字節(jié),地址為 000H、100H 和200H 。用于聲明該器件的廠商和型號(hào)等信息,讀簽名字節(jié)的過程和正常校驗(yàn)相仿,只需將 P3.6 和 P3.7 保持低電平,返回值意義如下: (000H)=1EH 聲明產(chǎn)品由 ATMEL 公司制造 (100H)=51H 聲明為 AT89S51 單片機(jī) (200H)=06H芯片擦除:在并行編程模式,利用控制信號(hào)的正確組合并保持 ALE/ 引腳 200ns-500ns

45、的低電平脈沖寬度即可完成擦除操作。在串口編程模式,芯片擦除操作是利用擦除指令進(jìn)行。在這種方式,擦除周期是自身定時(shí)的,大約為 500ms。擦除期間,用串口方式讀任何地址數(shù)據(jù),返回值均為 00H 。表 2-7 Flash 編程模式注: 1 芯片擦除每一 PROG 脈沖為 200ns-500ns 。 2 寫代碼數(shù)據(jù)每一 PROG 脈沖為 200ns-500ns 。 3 寫加密位每一 PROG 脈沖為 200ns-500ns 。 4 編程期間 P3.0 引腳輸出 RDY/BSY 信號(hào)。 5 “”不需理會(huì)。 圖 2-14 Flash存儲(chǔ)器編程(并口模式) 圖 2-15 Flash存儲(chǔ)器校驗(yàn)(并口模式)數(shù)

46、據(jù)查詢:2.2.4.2串口編程將 RST 接至 Vcc,程序代碼存儲(chǔ)陣列可通過串口 ISP 接口進(jìn)行編程,串口接口包含SCK線、MOSI(數(shù)據(jù)輸入)和 MISO(數(shù)據(jù)輸出)線。將RST拉高后,在其它操作前必須發(fā)出編程使能指令,編程前需將芯片擦除。芯片擦除則將存儲(chǔ)代碼陣列全寫為 FFH 。外部系統(tǒng)時(shí)鐘信號(hào)需接至 XTAL1 端或在 XTALl 和 XTAL2 接上晶體振蕩器。最高的串口時(shí)鐘(SCK)不超過 l/16 晶體時(shí)鐘,當(dāng)晶體為 33MHz 時(shí),最大 SCK 頻率為 2MHz 。 編程方法:1 上電次序:將電源加在 Vcc 和 GND 引腳, RST 置為“ H ”,如果 XTAL 和 X

47、TAL2 接上晶體或者在 XTAL1 接上 3-33MHz 的時(shí)鐘頻率,等候 10ms 。 2 將編程使能指令發(fā)送到 MOSI(Pl.5),編程時(shí)鐘接至 SCK(Pl.7),此頻率需小于晶體時(shí)鐘頻率的 l/16 。 3 代碼陣列的編程可選字節(jié)模式或頁模式。寫周期是自身定時(shí)的,一般不大于 0.5ms(5V 電壓時(shí))。 4 任意代碼單元均可 MISO(Pl.6)和讀指令選擇相應(yīng)的地址回讀數(shù)據(jù)進(jìn)行校驗(yàn)。 5 編程結(jié)束應(yīng)將 RST 置為“L”以結(jié)束操作。 6 斷電次序:如果需要的話按這個(gè)方法斷電,假如沒有使用晶體,將 XATL 置為低,RST 置低,關(guān)斷 Vcc 。數(shù)據(jù)查詢:數(shù)據(jù)校驗(yàn)也可在串口模式下進(jìn)

48、行,在這個(gè)模式,在一個(gè)寫周期中,通過輸出引腳 MISO 串口回讀一個(gè)字節(jié)數(shù)據(jù)的最高位將為最后寫入字節(jié)的反碼。串口編程指令設(shè)置:串口編程指令設(shè)置為一個(gè)4字節(jié)協(xié)議,參見表2-8 。并行編程接口:采用控制信號(hào)的正確組合可對(duì) Flash 閃速存儲(chǔ)陣列中的每一代碼字節(jié)進(jìn)行寫入和存儲(chǔ)器的整片擦除,寫操作周期是自身定時(shí)的,初始化后它將自動(dòng)定時(shí)到操作完成。圖 2-16 Flash存儲(chǔ)器串口下載 表 2-8 Flash串口編程指令注: 1. 當(dāng) LB3 和 LB4 加密位已編程時(shí)則不可讀簽名字節(jié)。 2. B1=0 B2=0 ,方式 1 ,無加密保護(hù) B1=0 B2=l ,方式 2 ,加密位 LBl B1=1 B

49、2=0 ,方式 3 ,加密位 LB2 B1=1 B2=1 ,方式 4 ,加密位 LB3各加密位在方式 4 執(zhí)行前需按順序逐一操作。復(fù)位信號(hào)為“ H ”后,建立數(shù)據(jù)前使 SCK 為低電平至少為 64 個(gè)系統(tǒng)時(shí)鐘周期,復(fù)位脈沖是必須的。 SCK 時(shí)鐘頻率不得大于 XTAL1 時(shí)鐘的 1/ 16 。 在頁讀/寫模式,數(shù)據(jù)總是從地址 00 開始直到 255。命令字節(jié)后緊跟著高 4 位地址,全部數(shù)據(jù)單元 256 字節(jié)會(huì)逐一進(jìn)行讀/寫,此時(shí)下個(gè)指令將準(zhǔn)備譯碼。2.2.5 單片機(jī)最小系統(tǒng)的硬件電路單片機(jī)要能正常工作必須要有時(shí)鐘和復(fù)位電路,單片機(jī)芯片+復(fù)位電路+時(shí)鐘電路,構(gòu)成單片的最小運(yùn)行環(huán)境,如圖2-17所

50、示。圖2-172.2.5.1復(fù)位電路單片機(jī)復(fù)位是使CPU和系統(tǒng)中的其他功能部件都處在一個(gè)確定的狀態(tài),并從這個(gè)狀態(tài)開始工作,PC=0000H,從第一單元取指令執(zhí)行。單片機(jī)復(fù)位電路如圖圖2-17,圖中提供上電復(fù)位和按鍵復(fù)位兩種方式。復(fù)位條件是:必須使RST引腳上加上持續(xù)兩個(gè)機(jī)器周期以上的高電平,點(diǎn)偏激才有效復(fù)位。2.2.5.2時(shí)鐘電路 時(shí)鐘電路是用來產(chǎn)生AT89S51單片機(jī)工作時(shí)所必須的時(shí)鐘信號(hào),AT89S51本身就是一個(gè)復(fù)雜的同步時(shí)序電路,為保證工作方式的實(shí)現(xiàn),AT89S51在唯一的時(shí)鐘信號(hào)的控制下嚴(yán)格的按時(shí)序執(zhí)行指令進(jìn)行工作 ,時(shí)鐘的頻率影響單片機(jī)的速度和穩(wěn)定性。通常時(shí)鐘由于兩種形式:內(nèi)部時(shí)鐘

51、和外部時(shí)鐘。我們系統(tǒng)采用內(nèi)部時(shí)鐘方式來為系統(tǒng)提供時(shí)鐘信號(hào)。AT89S51內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反向放大器,該放大器的輸入輸出引腳為XTAL1和XTAL2,它們跨接在晶體振蕩器和用于微調(diào)的電容,便構(gòu)成了一個(gè)自激勵(lì)振蕩器電路中的C1、C2的選擇在30PF左右,但電容太小會(huì)影響振蕩的頻率、穩(wěn)定性和快速性。晶振頻率為在1.2MHZ12MHZ之間,頻率越高單片機(jī)的速度就越快,但對(duì)存儲(chǔ)器速度要求就高。為了提高穩(wěn)定性我們采用溫度穩(wěn)定性好的NPO電容,采用的晶振頻率為12(11.0592)MHZ。因此,本設(shè)計(jì)的機(jī)器周期為1us。2.3 通信模塊通信模塊用于AT89S51和后臺(tái)PC間的通信 ,AT89

52、S51通過串口通信把溫濕度數(shù)據(jù)傳送給PC機(jī),顯示在用VC編輯一個(gè)溫濕度顯示的界面上,從而有利于后臺(tái)PC的實(shí)時(shí)監(jiān)測倉庫溫濕度情況。通信部分主要由一個(gè)MAX232A和兩個(gè)MAX485構(gòu)成:其中MAX232A和一個(gè)MAX485共同組成PC端的信號(hào)轉(zhuǎn)換部分即RS232-485轉(zhuǎn)換器;而另一個(gè)MAX485則作為單片機(jī)AT89S51端的信號(hào)轉(zhuǎn)換部分。由于RS485傳輸最長距離達(dá)1.5km,允許多個(gè)發(fā)送器連接到同一條總線上,同時(shí)增加了發(fā)送器的驅(qū)動(dòng)能力和沖突保護(hù)特性,所以更好的解決了倉庫分布零散和集中管理的矛盾,也為倉庫遠(yuǎn)程控制提供了條件。如圖2-18 通信模塊: 圖2-18 通信模塊RS232-485轉(zhuǎn)換器

53、主要包括了電源、232電平轉(zhuǎn)換、485電路三部分。本電路的232電平轉(zhuǎn)換電路直接使用 MAX232A集成電路,485電路采用了MAX485集成電路。為了使用方便,電源部分設(shè)計(jì)成無源方式,整個(gè)電路的供電直接從PC機(jī)的RS232接口中的 DTR(4腳)和RTS(7腳)竊取。PC串口每根線可以提供大約9mA的電流,因此兩根線提供的電流足夠供給這個(gè)電路使用了。經(jīng)實(shí)驗(yàn),本電路只使用其中一條線也能夠正常工作。使用本電路需注意PC程序必須使串口的DTR和RTS輸出高電平,經(jīng)過D3穩(wěn)壓后得到VCC。MAX485是通過兩個(gè)引腳RE(2腳)和DE(3腳)來控制數(shù)據(jù)的輸入和輸出。當(dāng)RE為低電平時(shí),MAX485數(shù)據(jù)輸

54、入有效;當(dāng)DE為高電平時(shí), MAX485數(shù)據(jù)輸出有效。在半雙工使用中,通??梢詫⑦@兩個(gè)腳直接相連,然后由PC或者單片機(jī)輸出的高低電平就可以讓MAX485在接收和發(fā)送狀態(tài)之間轉(zhuǎn)換。由于本電路DTR和RTS(DB9的4、7腳)都用于了電路供電,因此使用MAX232的另外一個(gè)通道(MAX232的9腳)及Q1來控制MAX485的狀態(tài)切換。一般MAX232的9腳輸出高電平,Q1導(dǎo)通,使MAX485的RE和DE為低電平而處于數(shù)據(jù)發(fā)送狀態(tài)。當(dāng)PC機(jī)發(fā)送數(shù)據(jù)時(shí),MAX232的9腳輸出低電平,Q1截止,使MAX485的RE和DE為高電平而處于數(shù)據(jù)接受狀態(tài)。2.3.1 RS-232、RS-485及其接口電路RS-

55、232與RS-485都是串口數(shù)據(jù)接口標(biāo)準(zhǔn)。RS-232的傳送距離最大約為15米,最高速率為20kb/s,RS-232是為點(diǎn)對(duì)點(diǎn)(即一對(duì)收、發(fā)設(shè)備)通訊而設(shè)計(jì)的接口標(biāo)準(zhǔn),RS232只適合于本地通訊使用。RS-485接口標(biāo)準(zhǔn)傳輸最長距離達(dá)1.5km,增加了多點(diǎn)、雙向通信能力,即允許多個(gè)發(fā)送器連接到同一條總線上,同時(shí)增加了發(fā)送器的驅(qū)動(dòng)能力和沖突保護(hù)特性,擴(kuò)展了總線共模范圍。MAX232A和MAX485分別是RS-232和RS-485接口標(biāo)準(zhǔn)的接口電路芯片,如圖2-19、圖2-20:圖2-19 MAX232內(nèi)部結(jié)構(gòu)基本可分三個(gè)部分:第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是

56、產(chǎn)生+12v和-12v兩個(gè)電源,提供給RS-232串口電平的需要。第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構(gòu)成兩個(gè)數(shù)據(jù)通道。13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道。8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。TTL/CMOS數(shù)據(jù)從T1IN、T2IN輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從T1OUT、T2OUT送到電腦DB9插頭;DB9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。第三部分是供電。15腳GND、16腳V

57、CC(+5v)。圖2-20 MAX4852腳(RE):接收器輸出使能端。RE低電平,RO有效;RE高電平,RO成高阻狀態(tài)。3腳(DE):驅(qū)動(dòng)器輸出使能端。高電平,A、B有效,即器件作線驅(qū)動(dòng)器用;低電平,A、B成高阻,即器件作線接收器用。1腳(RO):接收器輸出。若A比B大200mV,RO為高;若A比B小200mV,RO為低。4腳(DI):驅(qū)動(dòng)器輸入。6腳(A):同相接收器輸入和同相接收器輸出7腳(B):反相接收器輸入和反相接收器輸出5腳:GND。8腳:VCC(+4.75+5.25v)。2.3.2 串口的基本接線方法 目前較為常用的串口有9針串口(DB9)和25針串口(DB25),通信距離較近時(shí)

58、(15m),可以用電纜線直接連接標(biāo)準(zhǔn)RS232端口,若距離較遠(yuǎn),需附加調(diào)制解調(diào)器(MODEM)。最為簡單且常用的是三線制接法,即地、接收數(shù)據(jù)和發(fā)送數(shù)據(jù)三腳相連,且直接用RS232相連。 1.DB9和DB25的常用信號(hào)腳說明9針串口(DB9)25針串口(DB25)針號(hào)功能說明縮寫針號(hào)功能說明縮寫1數(shù)據(jù)載波檢測DCD8數(shù)據(jù)載波檢測DCD2接收數(shù)據(jù)RXD3接收數(shù)據(jù)RXD3發(fā)送數(shù)據(jù)TXD2發(fā)送數(shù)據(jù)TXD4數(shù)據(jù)終端準(zhǔn)備DTR20數(shù)據(jù)終端準(zhǔn)備DTR5信號(hào)地GND7信號(hào)地GND6數(shù)據(jù)設(shè)備準(zhǔn)備好DSR6數(shù)據(jù)準(zhǔn)備好DSR7請(qǐng)求發(fā)送RTS4請(qǐng)求發(fā)送RTS8清除發(fā)送CTS5清除發(fā)送CTS9振鈴指示DELL22振鈴指

59、示DELL表 2-9 常用信號(hào)腳2.RS232串口接線方法(三線制)串口傳輸數(shù)據(jù)只要有接收數(shù)據(jù)針腳和發(fā)送針腳就能實(shí)現(xiàn): 9針9針25針25針9針25針233222322333557757表 2-10 接線方法2.4 電源模塊 本設(shè)計(jì)需要+5V電源為整個(gè)系統(tǒng)供電,電源模塊以芯片LM7805為核心設(shè)計(jì)成輸出+5直流電壓的穩(wěn)壓電源電路。 電源模塊是有電源變壓器變壓器、整流、濾波和穩(wěn)壓電路等四部分組成。電源變壓器將交流220V變?yōu)?V左右交流電壓,然后通過整流橋?qū)⒔涣麟娮優(yōu)槊}動(dòng)的直流電壓。由于此脈動(dòng)直流電壓還包含較大的紋波,必須通過濾波電路加以濾波,C13、C14分別為輸入端和輸出端濾波電容,并利用芯

60、片LM7805進(jìn)行穩(wěn)壓,當(dāng)輸出電較大時(shí),7805應(yīng)配上散熱板。具體電路如圖 2-21 7805穩(wěn)壓電源:如圖 2-21 7805穩(wěn)壓電源2.4.1 芯片LM7805LM7805系列為3端正穩(wěn)壓電路 ,TO-220封裝,能提供多種固定的輸出電壓,應(yīng)用范圍廣。內(nèi)含過流、過熱和過載保護(hù)電路。帶散熱片時(shí),輸出電流可達(dá) 1A 。雖然是固定穩(wěn)壓電路,但使用外接元件,可獲得不同的電壓和電流。外形及引腳排列見圖 2-22。 主要特點(diǎn): 輸出電流可達(dá) 1A 輸出電壓有: 5V 過熱保護(hù) 短路保護(hù) 輸出晶體管SOA保護(hù)圖 2-22圖 2-23功能框圖2.5 硬件設(shè)計(jì)綜述圖 2-24 擴(kuò)展系統(tǒng) 根據(jù)RS-485標(biāo)準(zhǔn)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論