freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)的溫濕度采集管理系統(tǒng)畢業(yè)論文(編輯修改稿)

2024-07-24 19:42 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 系統(tǒng)電源模塊。其中,單片機(jī)工作電壓是5V,MAX232提供電壓時(shí)5V。整個(gè)系統(tǒng)利用9V電壓供電,通過(guò)穩(wěn)壓管7805將其轉(zhuǎn)化為5V。其原理圖如圖18所示。圖18 電壓轉(zhuǎn)換原理圖第4章 無(wú)線溫濕度傳輸系統(tǒng)軟件(下位機(jī))設(shè)計(jì) 無(wú)線溫濕度傳輸系統(tǒng)軟件總體設(shè)計(jì)無(wú)線溫濕度傳輸系統(tǒng)的整個(gè)工作流程如圖19所示。1. 由PC機(jī)上溫濕度管理系統(tǒng)發(fā)布采集數(shù)據(jù)指令,通過(guò)串口通信RS232將數(shù)據(jù)傳至節(jié)點(diǎn);2. 節(jié)點(diǎn)正確接收數(shù)據(jù)并將數(shù)據(jù)通過(guò)nRF905無(wú)線發(fā)射模塊將數(shù)據(jù)以一定格式發(fā)射;3. 數(shù)據(jù)采集終端檢測(cè)載波,檢測(cè)到數(shù)據(jù)并正確接收數(shù)據(jù)指令;4. 數(shù)據(jù)終端通過(guò)傳感器采集數(shù)據(jù),并由單片機(jī)對(duì)數(shù)據(jù)正確處理;5. 數(shù)據(jù)終端將處理好的數(shù)據(jù)通過(guò)nRF905無(wú)線發(fā)射模塊將數(shù)據(jù)以一定格式發(fā)射;6. 節(jié)點(diǎn)檢測(cè)載波,檢測(cè)到數(shù)據(jù)并正確接收數(shù)據(jù);7. 通過(guò)串口通信RS232將數(shù)據(jù)傳至溫濕度管理系統(tǒng);8. 如果檢測(cè)數(shù)據(jù)正常,則系統(tǒng)接收數(shù)據(jù)并對(duì)其進(jìn)行相應(yīng)的處理,然后返回值第一步驟;9. 如果檢測(cè)數(shù)據(jù)不正常(比如溫度過(guò)高),則系統(tǒng)發(fā)布警報(bào),并將警報(bào)信息發(fā)送至終端;10. 處理異常情況,解除警報(bào),然后返回第一步。下面對(duì)其中每一步驟做的軟件設(shè)計(jì)做詳細(xì)的分析。 圖19 無(wú)線溫濕度傳輸系統(tǒng)工作流程圖 單片機(jī)串口通信單片機(jī)串口通訊可以實(shí)現(xiàn)將單片機(jī)的數(shù)據(jù)傳輸?shù)接?jì)算機(jī)端,也能實(shí)現(xiàn)計(jì)算機(jī)對(duì)單片機(jī)的控制。實(shí)現(xiàn)串口通信主要是對(duì)串口控制寄存器SCON、特殊功能寄存器PCON、波特率的設(shè)定及串行中斷操作。在數(shù)據(jù)發(fā)送和接收時(shí),都會(huì)用到數(shù)據(jù)緩沖寄存器SBUF。單片機(jī)與主機(jī)串口通信流程圖如圖20所示。首先是管理系統(tǒng)MSComm串口通信控件設(shè)置,確定是否打開串口;然后是對(duì)單片機(jī)進(jìn)行設(shè)置,采用定時(shí)器模式2,串口工作模式1,利用定時(shí)器1設(shè)置波特率,串口中斷設(shè)置;打開定時(shí)器1開中斷,若SBUF接收到字符串,則進(jìn)入串口中斷,若RI=1,則接收數(shù)據(jù),然后由軟件設(shè)置RI=0;如果數(shù)據(jù)是由主機(jī)發(fā)來(lái)的,則傳給單片機(jī),交由nRF905發(fā)射給終端,否則是由單片機(jī)將數(shù)據(jù)傳輸給管理系統(tǒng)。圖20 單片機(jī)與主機(jī)串口通信流程圖 SBUF數(shù)據(jù)緩沖寄存器SBUF是一個(gè)可以直接尋址的串行口專用寄存器。SBUF包含了兩個(gè)獨(dú)立的寄存器,一個(gè)是發(fā)送寄存,另一個(gè)是接收寄存器,它們都共同使用同一個(gè)尋址地址-99H。CPU在讀SBUF時(shí)會(huì)指到接收寄存器,在寫時(shí)會(huì)指到發(fā)送寄存器,而且接收寄存器是雙緩沖寄存器,這樣可以避免接收中斷沒(méi)有及時(shí)的被響應(yīng),數(shù)據(jù)沒(méi)有被取走,下一幀數(shù)據(jù)已到來(lái),而造成的數(shù)據(jù)重疊問(wèn)題。 SCON串行口控制寄存器SCON的尋址地址是98H,是一個(gè)可以位尋址的寄存器,作用就是監(jiān)視和控制51芯片串行口的工作狀態(tài)。51芯片的串口可以工作在幾個(gè)不同的工作模式下,其工作模式的設(shè)置就是使用SCON寄存器。它的各個(gè)位的具體定義如表5 :表5串行口控制寄存器SCON(MSB)(LSB)SM0SM1SM2RENTB8RB8TIRISM0、SM1為串行口工作模式設(shè)置位,這兩位可以對(duì)應(yīng)進(jìn)行四種模式的設(shè)置,如下表6。  表6 串行口工作模式設(shè)置SM0SM1?!∈焦Α∧懿ㄌ芈?00同步移位寄存器fosc/120118位UART可變1029位UARTfosc/32或fosc/641139位UART可變本系統(tǒng)中采用最常用的模式1,SCON=01010000。SM2=0表示不論第九位數(shù)據(jù)(RB8)為1還是0,都將前八位送入SBUF中,并產(chǎn)生中斷請(qǐng)求。REM為允許接收位,REM置1時(shí)串口允許接收。REM是由軟件置位或清零。TB8為發(fā)送數(shù)據(jù)第8位。RB8為接收數(shù)據(jù)第8位。TI發(fā)送中斷標(biāo)識(shí)位。 RI接收中斷標(biāo)識(shí)位。 PCON特殊功能寄存器PCON與串口通信有關(guān)的只有D7位SMOD,該位為波特率倍增位,當(dāng)SMOD=1時(shí),串行口波特率增加一倍,當(dāng)SMOD=0時(shí),串行口波特率為設(shè)定值。當(dāng)系統(tǒng)復(fù)位是SMOD=1。PCON其他位為掉電方式控制位。本系統(tǒng)中,設(shè)置PCON=0X00。串口模式1是傳輸10個(gè)位的,1位起始位為0,8位數(shù)據(jù)位,低位在先,1位停止位為1。它的波特率是可變的,其速率是取決于定時(shí)器1或定時(shí)器2的定時(shí)值(溢出速率)。 串口通信波特率選擇波特率是指串行端口每秒內(nèi)可以傳輸?shù)牟ㄌ匚粩?shù)。只有上下位機(jī)的波特率一樣時(shí)才可以進(jìn)行正常通訊。在模式1,SMOD為0的情況下,波特率取決于定時(shí)器的溢出速率。波特率的計(jì)算公式為:。這時(shí)定時(shí)器中的TL1作為計(jì)數(shù),TH1作為自動(dòng)重裝值,這個(gè)定時(shí)模式下,定時(shí)器溢出后,TH1的值會(huì)自動(dòng)裝載到TL1,再次開始計(jì)數(shù)。在這個(gè)定時(shí)模式2(TMOD=0x21)下定時(shí)器1溢出速率的計(jì)算公式如下: 溢出速率=(計(jì)數(shù)速率)/(256-TH1)則波特率的計(jì)算公式為:本系統(tǒng)設(shè)定的波特率為9600,有上述公式,可以得到TH1=0XFD,則計(jì)數(shù)器的初值為TL1=0xFD。 IE中斷允許控制寄存器在每接收或發(fā)送SBUF寄存器的內(nèi)容時(shí),就會(huì)產(chǎn)生中斷請(qǐng)求,串口中斷是為串行數(shù)據(jù)傳送而設(shè)置的。在設(shè)置IE=0x90,表示中斷總允許(EA=1),允許串口中斷(ES=1)。 nRF905與單片機(jī)通信nRF905與單片機(jī)通信主要是通過(guò)模擬SPI接口進(jìn)行,其通信主要任務(wù)是發(fā)射接收數(shù)據(jù)。nRF905一共有四種工作模式, 其中有兩種活動(dòng)RX/TX模式和兩種節(jié)電模式。活動(dòng)模式有ShockBurst RX模式、ShockBurst TX模式兩種。節(jié)電模式有掉電和 SPI編程、STANDBY和SPI編程兩種。nRF905工作模式由TRX_CE、TX_EN、PWR_UP的設(shè)置來(lái)設(shè)定。具體設(shè)置情況如表7。表7 RF905工作模式WR_UPTRX_CETX_EN工作模式 0XX掉電和SPI 編程 10XStandby 和SPI 編程 110ShockBurst RX 111ShockBurst TX nRF905的數(shù)據(jù)發(fā)送發(fā)送數(shù)據(jù)時(shí)的工作流程如圖21所示。其工作流程為:,通過(guò)模擬SPI接口,按時(shí)序把接收機(jī)的地址 (TX address) 和要發(fā)送的數(shù)據(jù) (Tx payload) 送傳給nRF905,SPI接口的速率在通信協(xié)議和器件配置時(shí)確定; ,激發(fā)nRF905的ShockBurstTM發(fā)送模式; C. nRF905的ShockBurstTM發(fā)送: (1) 射頻寄存器自動(dòng)開啟; (2) 數(shù)據(jù)打包(加字頭和CRC校驗(yàn)碼); (3) 發(fā)送數(shù)據(jù)包; (4) 當(dāng)數(shù)據(jù)發(fā)送完成,數(shù)據(jù)準(zhǔn)備好引腳(DR)被置高; D. AUTO_RETRAN被置高,nRF905不斷重發(fā),直到TRX_CE被置低; E. 當(dāng)TRX_CE被置低,nRF905發(fā)送過(guò)程完成,自動(dòng)進(jìn)入空閑模式。注意:ShockBurstTM工作模式保證,一旦發(fā)送數(shù)據(jù)的過(guò)程開始,無(wú)論TRX_EN和TX_EN引腳是高或低,發(fā)送過(guò)程都會(huì)被處理完。只有在前一個(gè)數(shù)據(jù)包被發(fā)送完畢,RF905才能接受下一個(gè)發(fā)送數(shù)據(jù)包。 圖21 nRF905發(fā)射數(shù)據(jù)流程 nRF905的數(shù)據(jù)接收當(dāng)系統(tǒng)接收數(shù)據(jù)時(shí),其接收數(shù)據(jù)流程圖如圖22所示。系統(tǒng)的工作過(guò)程如下:A. 當(dāng)TRX_CE為高、TX_EN為低時(shí),nRF905進(jìn)入ShockBurstTM接收模式; B. 650us后,nRF905不斷監(jiān)測(cè),等待接收數(shù)據(jù); C. 當(dāng)nRF905檢測(cè)到同一頻段的載波時(shí),載波檢測(cè)引腳被置高; D. 當(dāng)接收到一個(gè)相匹配的地址,AM引腳被置高; E. 當(dāng)一個(gè)正確的數(shù)據(jù)包接收完畢,nRF905自動(dòng)移去字頭、地址和CRC校驗(yàn)位,然后把DR引腳置高;F. 微控制器把TRX_CE置低,nRF905進(jìn)入空閑模式; G. 微控制器通過(guò)模擬SPI口,以一定的速率把數(shù)據(jù)移到微控制器內(nèi); H. 當(dāng)所有的數(shù)據(jù)接收完畢,nRF905把DR引腳和AM引腳置低; I. nRF905此時(shí)可以進(jìn)入ShockBurstTM接收模式、ShockBurstTM發(fā)送模式或關(guān)機(jī)模式。 當(dāng)正在接收一個(gè)數(shù)據(jù)包時(shí),TRX_CE或TX_EN引腳的狀態(tài)發(fā)生改變,nRF905立即把其工作模式改變,數(shù)據(jù)包則丟失。當(dāng)微處理器接到AM引腳的信號(hào)之后, 其就知道nRF905正在接收數(shù)據(jù)包,其可以決定是讓RF905繼續(xù)接收該數(shù)據(jù)包還是進(jìn)入另一個(gè)工作模式。 圖22 nRF905接收數(shù)據(jù)流程 掉電模式在掉電模式中,nRF905被禁止,電流消耗量最小。當(dāng)進(jìn)入這種模式時(shí),nRF905是不活動(dòng)的狀態(tài),這時(shí)候平均電流消耗最小,電池使用壽命最長(zhǎng),在掉電模式中,配置字的內(nèi)容保持不變。 Standby模式Standby模式在保持電流消耗最小的同時(shí)保證最短的到ShockBurstRX,ShockBurstTX的啟動(dòng)時(shí)間,當(dāng)進(jìn)入這種模式時(shí),一部分晶體振蕩器是活動(dòng)的。電流消耗取決于晶體振蕩頻率。如果uPclock(pin3)被使能,電流消耗將增加,并且取決于負(fù)載電容和頻率。在此模式中。配置字的內(nèi)容保持不變。 DS18B20數(shù)據(jù)采集DS18B20在一根數(shù)據(jù)線實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸,而對(duì)AT89S52單片機(jī)來(lái)說(shuō),硬件上并不支持單總線協(xié)議,因此,采用軟件的方法來(lái)模擬單總線的協(xié)議時(shí)序來(lái)完成對(duì)DS18B20芯片的訪問(wèn)。DS18B20用嚴(yán)格的通信協(xié)議來(lái)保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號(hào)的時(shí)序:初始化時(shí)序、讀時(shí)序、寫時(shí)序。數(shù)據(jù)和命令的傳輸都是低位在先。DS18B2020傳感器的軟件操作流程及訪問(wèn)協(xié)議如下如圖23所示。圖23 DS18B20軟件操作流程 DS18B20初始化檢測(cè)總線控制器發(fā)出的復(fù)位脈沖和DS18B20的任何通訊都要從初始化開始,初始化序列包括一個(gè)由總線控制器發(fā)出的復(fù)位脈沖和跟在其后由從機(jī)發(fā)出的存在脈沖。具體操作:總線控制器發(fā)出(TX)一個(gè)復(fù)位脈沖(一個(gè)最少保持480μs 的低電平信號(hào)),然后釋放總線,進(jìn)入接收狀態(tài)(RX)。單線總線由5K 上拉電阻拉到高電平。探測(cè)到I/O 引腳上的上升沿后DS1820 等待15~60μs,然后發(fā)出存在脈沖(一個(gè)60~240μs 的低電平信號(hào))。 DS18B20讀時(shí)序微處理器將總線拉低,讀時(shí)隙起始于微處理器將總線拉低至少1us,拉低總線后接著釋放總線,讓從機(jī)DS18B20能夠接管總線,輸出有效數(shù)據(jù)。小延時(shí)一下,讀取DS18B20上的數(shù)據(jù) ,因?yàn)閺腄S18B20上輸出的數(shù)據(jù)在讀時(shí)間隙下降沿出現(xiàn)15us內(nèi)有效,所有讀時(shí)間隙必須60~120us,這里77us,然后返回有效數(shù)據(jù)。 DS18B20寫時(shí)序DS18B20的寫時(shí)序分為寫0時(shí)序和寫1時(shí)序兩個(gè)過(guò)程。 對(duì)于DS18B20寫0時(shí)序和寫1時(shí)序的要求不同,當(dāng)要寫0時(shí)序時(shí),單總線要被拉低至少60us,保證DS18B20能夠在15us到45us之間能夠正確地采樣IO總線上的“0”電平,當(dāng)要寫1時(shí)序時(shí),單總線被拉低之后,在15us之內(nèi)就得釋放單總線。 異常情況處理無(wú)線溫濕度傳輸系統(tǒng)傳輸傳感器采集的數(shù)據(jù),其中主要目的之一就是為了檢測(cè)數(shù)據(jù)的異常性,比如溫度過(guò)高,濕度對(duì)比度過(guò)大等。因此對(duì)于上述情況,系統(tǒng)會(huì)自動(dòng)提供報(bào)警,指示燈會(huì)不停地閃爍,同時(shí)蜂鳴器也會(huì)報(bào)警。知道用戶對(duì)其進(jìn)行控制和處理。第5章 溫濕度采集管理系統(tǒng)的設(shè)計(jì) 數(shù)據(jù)管理中心(上位機(jī))軟件系統(tǒng)的總體設(shè)計(jì)前面詳細(xì)敘述了無(wú)線溫濕度傳輸系統(tǒng)的總體設(shè)計(jì),并給出了具體的硬件架構(gòu)和軟件設(shè)計(jì)。一個(gè)完善的系統(tǒng)除了利用了現(xiàn)有的先進(jìn)技術(shù),進(jìn)行正確的現(xiàn)場(chǎng)硬件按照施工外,還必須有一個(gè)穩(wěn)定的管理軟件,協(xié)調(diào)好現(xiàn)場(chǎng)的設(shè)備工作,進(jìn)行數(shù)據(jù)在線監(jiān)測(cè)、實(shí)時(shí)數(shù)據(jù)采集、數(shù)據(jù)備份、歷史查詢、等管理,同時(shí)實(shí)現(xiàn)遠(yuǎn)程通信的管理。下面就來(lái)重點(diǎn)著手溫濕度采集管理系統(tǒng)的軟件的開發(fā)工作。 系統(tǒng)功能模塊設(shè)計(jì)模塊化的結(jié)構(gòu)是目前比較流行的軟件結(jié)構(gòu),它具有易于調(diào)試和升級(jí)換代等優(yōu)點(diǎn)。因此,溫濕度采集管理系統(tǒng)全部采用模塊化結(jié)構(gòu)設(shè)計(jì)。溫濕度管理系統(tǒng)能模塊主要由系統(tǒng)數(shù)據(jù)采集模塊、數(shù)據(jù)維護(hù)模塊、統(tǒng)計(jì)分析模塊、異常處理模塊和使用幫助模塊等五大模塊組成,軟件系統(tǒng)功能模塊框圖如圖24,各功能模塊具體說(shuō)明如下:圖24溫濕度管理系統(tǒng)功能模塊框圖(1) 數(shù)據(jù)采集模塊。是系統(tǒng)接收終端監(jiān)測(cè)站點(diǎn)適時(shí)采集到的、并通過(guò)nRF905無(wú)線模塊發(fā)送到上位機(jī)無(wú)線通信模塊、再通過(guò)RS232串口進(jìn)入管理系統(tǒng)的溫濕度數(shù)據(jù)。采集數(shù)據(jù)的頻率可有用戶自己設(shè)定。另外,該模塊還實(shí)現(xiàn)了手工添加數(shù)據(jù)的功能。(2) 數(shù)據(jù)維護(hù)模塊。本模塊包括實(shí)現(xiàn)數(shù)據(jù)備份、數(shù)據(jù)刪除、保存數(shù)據(jù)和報(bào)表打印等幾部分的功能。(3) 統(tǒng)計(jì)分析??梢詫⒔K端進(jìn)行時(shí)時(shí)記錄、監(jiān)測(cè),然后通過(guò)統(tǒng)計(jì)圖將數(shù)據(jù)趨勢(shì)時(shí)時(shí)顯示出來(lái)。同時(shí)能實(shí)時(shí)顯示當(dāng)前為止的今天、24H內(nèi)、3天內(nèi)、一個(gè)月內(nèi)、三個(gè)月內(nèi)等特定期段最高溫度、最低溫度、以某個(gè)字段排序等分析。(4) 異常處理模塊。用戶可以設(shè)置溫度的上下限,超過(guò)范圍,系統(tǒng)則會(huì)不斷地提醒用戶,有異常狀況發(fā)生,并能觸發(fā)終端的報(bào)警系統(tǒng)。(5) 歷史記錄模塊??梢燥@示歷史檢測(cè)的具體數(shù)據(jù)。(6) 幫助模塊。該系統(tǒng)軟件的使用文檔及版本信息等。 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)主要數(shù)據(jù)表的結(jié)構(gòu)如表8:表 8數(shù)據(jù)表結(jié)構(gòu)列名數(shù)據(jù)類型主鍵否功能描述ID數(shù)字是溫度編號(hào)Month數(shù)字否月Day數(shù)字 否日Hour數(shù)字否時(shí)Minute數(shù)字否分Temp數(shù)字否溫度humidity數(shù)字否濕度 系統(tǒng)開發(fā)及運(yùn)行環(huán)境(1) 系統(tǒng)開發(fā)平臺(tái):Delphi 7(2) 數(shù)據(jù)庫(kù)管理系統(tǒng)軟件:Access 2007(3) 運(yùn)行平臺(tái):Windows XP(4) 溫濕度管理系統(tǒng)使用Delphi 7開發(fā),它是當(dāng)前最流行的可視化快速應(yīng)用程序開發(fā)環(huán)境,對(duì)數(shù)據(jù)
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1