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

正文內(nèi)容

基于單片機(jī)的溫濕度采集管理系統(tǒng)畢業(yè)論文(已改無錯字)

2022-07-25 19:42:28 本頁面
  

【正文】 庫有強(qiáng)大的支持。后臺數(shù)據(jù)庫使用Access2007,以保證數(shù)據(jù)的安全和執(zhí)行高效。 系統(tǒng)管理方法溫濕度管理系統(tǒng)由Delphi開發(fā)的軟件管理模塊和后臺數(shù)據(jù)庫組成,集Delphi開發(fā)技術(shù)、串口通信技術(shù)、數(shù)據(jù)庫技術(shù)、wfChart技術(shù)等技術(shù)于一體。串口通信采用MSComm控件,實現(xiàn)管理系統(tǒng)與控制器的通信;數(shù)據(jù)庫技術(shù)實現(xiàn)了數(shù)據(jù)存儲、備份、歷史記錄查看、刪除等功能;wfChart組件實現(xiàn)了利用曲線圖實時顯示當(dāng)時采集的溫度變化趨勢。整個系統(tǒng)是利用Delphi 7的Object Pascal 語言,在IDE集成開發(fā)環(huán)境下進(jìn)行設(shè)計、運(yùn)行和測試。 溫濕度管理系統(tǒng)各功能模塊介紹整個管理系統(tǒng)的主題界面如下圖25所示。圖25 溫濕度管理系統(tǒng)主體界面 MSComm控件注冊模塊本系統(tǒng)正常運(yùn)行的必要條件是PC機(jī)已安裝MSComm控件,因此首先安裝此控件,本系統(tǒng)采用MSComm控件注冊和通用Activex控件注冊兩種方法。對于MSComm控件注冊,, ,把這三個文件拷貝到Windows的system目錄下。 然后用Windows下的注冊工具regsvr32注冊該OCX控件。,以看到類似下面的內(nèi)容:[HKEY_CLASSES_ROOT\Licenses\4250E8306AC211cf8ADB00AA00C00905]@ = kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun,為了能正確使用該控件,需要修改注冊表的信息,在注冊表的在HKEY_CLASSES_ROOT\Licenses下建一主鍵:4250E8306AC211cf8ADB00AA00C00905,鍵的內(nèi)容為kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun。至此,已經(jīng)完成注冊。其注冊的主題界面如圖26。其主要代碼如下: 圖26 MSComm控件注冊界面圖 RootKey := HKEY_CLASSES_ROOT。//指定根鍵為HKEY_CLASSES_ROOT //打開主鍵Software if OpenKey( 39。Licenses\4250E8306AC211cf8ADB00AA00C0090539。,true) then begin //拷貝三個系統(tǒng)文件到系統(tǒng)目錄下 GetWindowsDirectory(WinDir,sizeof(WinDir))。 strcat(windir,39。\system32\39。)。 copyfile(pchar(39。39。),windir,true)。 GetWindowsDirectory(WinDir,sizeof(WinDir))。 strcat(windir,39。\system32\39。)。 copyfile(pchar(39。39。),windir,true)。 GetWindowsDirectory(WinDir,sizeof(WinDir))。 strcat(windir,39。\system32\39。)。 copyfile(pchar(39。39。),windir,true)。 //執(zhí)行注冊命令 WinExec(39。 /C regsvr32 /s39。,SW_Hide)。 //寫入系統(tǒng)注冊表 WriteString(39。39。,39。kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun39。)。 數(shù)據(jù)采集模塊數(shù)據(jù)采集模塊主要是用戶設(shè)定一定的頻率,將采集數(shù)據(jù)的指令通過串口RS232發(fā)送至MCU控制器,交由無線數(shù)據(jù)傳輸系統(tǒng)采集數(shù)據(jù)并將數(shù)據(jù)返回值管理系統(tǒng)。整個過程中,用到了異步串口通信,具體可以用MSComm控件來實現(xiàn)。(1) MSComm通信控件MSComm控件是由Microsoft開發(fā)的主要用于實現(xiàn)微機(jī)與單片機(jī)之間通信的ActiveX控件。MSComm控件可以用來提供串行端口通信功能。使用它可以建立與串行端口的連接,通過串行端口連接到其它通信設(shè)備,發(fā)出命令,交換數(shù)據(jù)。此控件提供了事件驅(qū)動和查詢方式兩種方式來處理信息的流動,MSComm提供了27個關(guān)于通訊控件方面的屬性。MSComm控件的主要屬性如下:1. CommPort: 設(shè)定通信連接端口代號,windows系統(tǒng)使用所設(shè)定的端口與外界通信。程序也可以借助此屬性返回所使用的連接端口號碼。2. PortOpen:設(shè)定或返回通信口狀態(tài)。使用通信端口之前必須先將要使用的通信口打開,而且在使用完之后,必須執(zhí)行相關(guān)的關(guān)閉操作。3. settings:設(shè)定通信口參數(shù),以字符串的形式設(shè)置或返回聯(lián)機(jī)速率、奇偶校驗、數(shù)據(jù)位、停止位等4個參數(shù),默認(rèn)值為“9600,N,8,1”。4. CommEvent:CommEvent屬性在通信錯誤或事件發(fā)生時都會產(chǎn)生OnComm事件,mEvent屬性存有該錯誤或事件的數(shù)值碼。5. InputLen:設(shè)定串行端口讀入字符串的長度。6. Input:用于從輸入緩沖區(qū)返回并刪除字符。程序靠這個命令將對方傳輸?shù)捷斎刖彌_區(qū)中的數(shù)據(jù)讀到程序中,并清除緩沖區(qū)已被讀取的數(shù)據(jù).7. OutPut:用于把將要發(fā)送的數(shù)據(jù)輸入到傳輸緩沖區(qū)。當(dāng)程序需要傳輸字符串到對方時,可以使用將字符串使用此命令輸入到輸出緩沖區(qū)內(nèi)。(2)MsComm控件的串口通信編程在Delphi環(huán)境下,新建一個工程,在這個工程的新窗體上進(jìn)行用戶界面設(shè)計。建立好的用戶界面窗體如圖27所示。對象建立好以后,要為其設(shè)置屬性值,MSComm控件用來實現(xiàn)通信。在視圖菜單中選擇“代碼窗口”或者雙擊用戶窗口,進(jìn)入代碼窗口編寫事件過程代碼程序。整個通信程序主要由以下幾個部分組成:串口初始化、發(fā)送數(shù)據(jù)、串口事件處理。圖27 建立用戶界面對象(1)串口初始化程序串口初始化的功能是打開端口,設(shè)置通信參數(shù)。程序代碼如下: if not then begin //打開串口 := +1。 //默認(rèn)值為 39。9600,N,8,139。 ComSetting:=。//設(shè)置波特率 ComSetting:=ComSetting+39。,39。+。//設(shè)置校驗位 ComSetting:=ComSetting+39。,39。+。// 設(shè)置數(shù)據(jù)位 ComSetting:=ComSetting+39。,39。+。//設(shè)置停止位 :=ComSetting。 :=True。 :=clRed。 //指示燈變紅 :=39。關(guān)閉串口39。 end; (2) 發(fā)送數(shù)據(jù)發(fā)送數(shù)據(jù)的功能是將命令數(shù)據(jù)按通信協(xié)議組成數(shù)據(jù)包發(fā)往單片機(jī)控制器。程序?qū)崿F(xiàn)如下:if not then begin showmessage(39。沒有打開串口!39。)。 Exit。 end else begin :=。 end。(3) 串口事件處理串口事件處理程序的主要功能是接收數(shù)據(jù),并把數(shù)據(jù)顯示在文本框內(nèi)。程序?qū)崿F(xiàn)如下: if =ComEvReceive then begin InputLen:=。 InputString:=。 //直接接收字符 := +InputString。 End。 數(shù)據(jù)統(tǒng)計分析模塊數(shù)據(jù)統(tǒng)計分析包括利用統(tǒng)計圖實時顯示當(dāng)前溫度變化趨勢,統(tǒng)計到目前為止特定期間段的最低溫度、最高溫度、平均溫度等。(1)溫度統(tǒng)計趨勢圖溫度統(tǒng)計趨勢主要是利用統(tǒng)計圖表組件—wfChart。wfChart使用全球領(lǐng)先的VML技術(shù),率先支持與統(tǒng)計圖表融合,使HTML和VML統(tǒng)計圖完全兼容。使用簡單,功能強(qiáng)大,制作統(tǒng)計圖效果極佳。wfChart具有以下特點(diǎn):1. 支持多種樣式圖表,包括柱型圖、橫柱型圖、曲線圖、餅圖、點(diǎn)圖、區(qū)域圖。2. 可選擇的8大主題風(fēng)格,且主題可再配置。3. 組件圖表提供兩種輸出接口,包括保存,直接顯示。4. 圖表采用多種圖片輸出格式(包括jpg,gif,bmp,png),可自定義圖表質(zhì)量。5. 采用了標(biāo)準(zhǔn)的Com組件方式,只需服務(wù)器端注冊即可。6. 可設(shè)定大量樣式、特效、漸變,加強(qiáng)圖表美感,可直接設(shè)定色度、飽和度、亮度或灰度。利用Wf_chart統(tǒng)計圖,在Delphi中,生成的結(jié)果如下圖28所示,可以對其圖形種類、組件顏色、3D模式、亮暗程度等進(jìn)行設(shè)置。同時也可以保存圖像。部分實現(xiàn)代碼如下:圖28 Wf_chart統(tǒng)計圖(color)。//設(shè)置組件的顏色主題 :=39。南京信息工程大學(xué)整點(diǎn)天氣實況39。 //圖表主上標(biāo)題:=39。坐標(biāo)顯示值代表某時刻的溫度39。 //圖表下標(biāo)題:=2。 //圖表主上標(biāo)題對齊方式(1左對齊,2居中,3右對齊):=2。 //圖表主下標(biāo)題對齊方式(1左對齊,2居中,3右對齊):=10。 //圖表寬度:=300。 //圖表高度:=true。 //設(shè)置圖表的網(wǎng)格及坐標(biāo)軸是否顯示:=39。 h39。 //圖表橫軸的說明(如果ViewAxis為false,則該屬性無效):=39。溫度39。 //圖表縱軸的說明(如果ViewAxis為false,則該屬性無效) (39。0.39。)。 //設(shè)置圖表橫軸的刻度格式(2,39。D7DCF039。,39。8493D039。)。//漸變方式 := true。 //圖表是否以3D模式顯示(charity,39。39。,39。CE262239。)。//設(shè)置圖表圖例類型和圖例名稱:=1。//設(shè)置曲線圖中曲線的粗細(xì)寬度,在其它圖表類型中無效(8,2,2)。設(shè)置數(shù)值點(diǎn)形狀、寬度和高度(1,39。1039。,39。8000FF39。)。 //設(shè)置圖表統(tǒng)計圖元數(shù)值大小,標(biāo)識名稱和圖元顏色(0)。 //設(shè)置圖片色度(色調(diào))(參數(shù)值在180和180之間,參考Photoshop)(0)。 //設(shè)置圖片飽和度(參數(shù)值在100和100之間,參考Photoshop) ()。 //設(shè)置圖片亮度(參數(shù)值在100和100之間)if then begin// wfChart 統(tǒng)計圖表保存 if LowerCase(ExtractFileExt())39。.jpg39。 then (+39。.jpg39。) else ()。 end。 在使用此控件之前,要對其進(jìn)行安裝,點(diǎn)擊安裝組件,便會彈出如圖29的窗口,點(diǎn)擊確定表示已成功安裝,然后就可以使用此控件。圖29Wfchart 組件安裝圖(1) 溫度數(shù)據(jù)分析對于歷史溫度數(shù)據(jù),可以統(tǒng)計數(shù)特定時期內(nèi)的溫度的最高值、最低值等參數(shù),方便用戶歲數(shù)據(jù)的分析,其顯示結(jié)果如圖部分實現(xiàn)代碼如下:圖30 數(shù)據(jù)分析SQLstr:=39。select min(temp) as ttt from temp where Day=39。+inttostr(DD)。(SQLstr)。:=[39。ttt39。]。 歷史記錄模塊歷史記錄模塊主要是用于記錄歷史的詳細(xì)溫度情況。這部分主要是正對數(shù)據(jù)庫的操作。利用TDBgrid顯示歷史記錄,具體操作如下: SQLstr:=39。select * from temp39。 。 。 (SQLstr)。 。對于TDBgrid顯示方式的操作,比如每行顯示不同的顏色、對每組數(shù)據(jù)可直接操作等,其部分實現(xiàn)代碼如下:procedure (Sender: TObject。 const Rect: TRect。 DataCol: Integer。 Column: TColumn。 State: TGridDrawState)。begin if ( mod 2)=1 then begin with (Sender as TDbGrid).Canvas do begin :=$00FFFFC1。 FillRect(Rect)。 end。 end。 (Sender as TDbGrid).DefaultDrawColumnCell(Rect,DataCol,Column,State)。end。在DBGrid中對現(xiàn)實的數(shù)據(jù)進(jìn)行修改并保存操作,這里需要Dbbobox組件。procedure (Sender: TObject。 const Rect: TRect。 Field: TField。 State: TGridDrawState)。begin if (gdFocused in State) then begin if ( = ) then begin := + 。 := + 。 := 。 := 。 := True。 end。 end。end。procedure (Sender: TObject)。begin If = then begin := false。 end。 異常處理模塊對于采集的溫度,如果溫度的值超過用戶設(shè)定的范圍,則表
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1