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

正文內(nèi)容

畢業(yè)設(shè)計-基于單片機的多功能環(huán)境檢測系統(tǒng)設(shè)計(文件)

2025-06-29 02:34 上一頁面

下一頁面
 

【正文】 mml. StopBits: =l; //停止位 1 Comml. StartComm: //打開串口 (2)建立握手信號 實現(xiàn) PC機與單片機之間的通信,首先要調(diào)通它們之間的握手信號,握手信號可以隨意選擇某特定字符串,當(dāng) Pc發(fā)出這樣一幀數(shù)據(jù)后,通過接收事件能收到單片機返回的這一幀數(shù)據(jù)或特定的某字符串,則表示握手成功,系統(tǒng)通信正常。利用 SPCOMM串口控件向下位機發(fā)送數(shù)據(jù)代碼如下: //發(fā)送數(shù)據(jù)和控制子程序 procedure senddata; var i:integer; mflg: Boolean; begin mflg: =true; for i: =l to 8 do begin if not fm ml writemdata(sendbutter, i)then begin 健雄職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(論文) 18Commflg=false; break; end; end; end; (4)接收數(shù)據(jù) 在編寫基于串口的計算機工業(yè)測控時,通常需要由下位機向 PC機發(fā)送數(shù)據(jù)以使 PC機了解系統(tǒng)的測試數(shù)據(jù)或下位機的運行狀態(tài),并進(jìn)而控制下位機的行為 [11]。 Access2021 具有完整的數(shù)據(jù)庫應(yīng)用開發(fā)工具,用戶可以方便地設(shè)計、修改、瀏覽一個記錄數(shù)據(jù)的基本表;可以在表數(shù)據(jù)中進(jìn)行各種篩選和查詢操作;可以設(shè)計和使用各種窗體以實現(xiàn)數(shù)據(jù)顯示和操作;可以根據(jù)表數(shù)據(jù)設(shè)計打印各種報表;對表進(jìn)行一系列特定的操作。 Access2021 中的宏可以實現(xiàn)操作的自動化,使操作更加簡單、快捷。 (2)支持長文件名,并可以在文件名內(nèi)加空格,使文件便于理解、查找。 串口通信在本系統(tǒng)中的實現(xiàn) 串口通信模塊是本遠(yuǎn)程監(jiān)測軟件的重要組成部分之一,是上位機與下位機進(jìn)行正常通信的重要依據(jù)。應(yīng)該考慮使用負(fù)載能力更的 RS485協(xié)議。這也就是說,通信中數(shù)據(jù)的傳輸存在著不可確定性,即一方通信設(shè)備向另一方發(fā)完數(shù)據(jù)后,并不知道另一方是否正確收到。當(dāng)上位機遇到除第一種情況以外的其它三種情況時,常規(guī)做法會重發(fā)命令幀,但在本監(jiān)測軟件中就不允許重發(fā),因為引起后三種情況的原因有很多,如下位機沒有正確接收到上位機的命令幀:下位機執(zhí)行命令時出錯:下位機雖然執(zhí)行完命令,但上位機接收的應(yīng)答幀有誤:下位機死機等等,如果對這些情況逐一處理就會令上位機程序疲于重發(fā)同一命令而無暇顧及輪詢,從而影響監(jiān)測效率。若下位機沒有收到上位機的呼叫信號就不會向上位機發(fā)出應(yīng)答信號,那么上位機將繼續(xù)呼叫下位機,直到下位機有應(yīng)答為止。 通 信 開 始發(fā) 送 命 令 幀 , 開 啟串 口 監(jiān) 視 線 程 , 等待 應(yīng) 答 幀超 時 否有 應(yīng) 答 幀 否接 收 應(yīng) 答 幀應(yīng) 用 程 序 接 收否是否是 圖 53 上位機發(fā)送命令,接收回應(yīng)流程圖 (2)下位機接收命令/發(fā)送應(yīng)答流程 在通信過程中,下位機一直處于接收狀態(tài),隨時準(zhǔn)備接收上位機發(fā)來的命令幀。實踐中大家通常采用的數(shù)據(jù)/命令幀的格式有兩種,如表 5表 52所示。在 Delphi中,用戶用設(shè)置屬性值和編寫方法就可以進(jìn)行操作。在 Delphi中實現(xiàn)事件驅(qū)動方法時,要控件的變量,以后針對此對象操作即可。 OnComm事件還可以檢查和處理通信錯誤。在 PC機串行端口通信時,使用了十幾條線進(jìn)行信號傳輸。溫室環(huán)境的監(jiān)測,環(huán)境參數(shù)的設(shè)置輸出以及溫健雄職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(論文) 27室內(nèi)各個設(shè)備的運行狀況都要在這里實現(xiàn)。新的密碼需要輸入兩次,如果兩次輸入的新密碼不一樣,則系統(tǒng)會彈出對話框提示密碼沒有修改成功。其運行界面如圖 59所示,報表界面如圖 510所示。 健雄職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(論文) 32致謝 無論是做畢業(yè)設(shè)計還是寫論文對我來說都是第一次,我對串口通信的了解只是一些基本知識,而缺乏真正的實踐經(jīng)驗。從這次的畢 業(yè)設(shè)計中我學(xué)會了怎樣去獨立的思考和完成一項任務(wù),以及怎樣去面對和了解我所未知的東西,從何下手,怎樣解決。由于時間倉促,本設(shè)計難免有考慮不完善之處,敬請指正。 var I,j:integer。 //設(shè)置字符串長度與緩沖。 begin viewstring:=″″。 Buffer:Pointer。這樣就能獨立并很好的完成一項任務(wù)了。程老師在我遇到挫折與困難時總是能給我足夠的信心與動力和一些建設(shè)性的指導(dǎo)意見,使我終于完成了這個對我來說蔚為艱巨的任務(wù)。根據(jù)溫室內(nèi)作物生長的需要,對溫室環(huán)境因子進(jìn)行實時監(jiān)測控制,主要完成了 溫、濕度及光線狀況環(huán)境監(jiān)測系統(tǒng)的上位機軟件的設(shè)計 , 本設(shè)計可實時測量某一具體空間中任意一點的溫度、濕度數(shù)據(jù)以及光線狀況,能在小型終端設(shè)備的 LCD上顯示,還能通過串口通信在微機上實現(xiàn)實時數(shù)據(jù)的顯示、分析和圖形打印等功能。用戶設(shè)置窗體只有以管理員登錄的用戶才有權(quán)利修改,否則彈出該窗體的按鈕是灰色的不能實現(xiàn)如上操作。 圖 57 系統(tǒng)主界面截圖 用戶設(shè)置 模塊 用戶設(shè)定窗體主要是便于管理員和用戶隨時修改登錄密碼和增減用戶名并相應(yīng)修改管理權(quán)限的功能。 上位機程序的開發(fā)設(shè)計 本系統(tǒng)流程 圖如圖 55 所示: 健雄職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(論文) 25登 錄 模 塊手 動 輸 入 用 戶 名驗 證 用 戶 權(quán) 限系 統(tǒng) 主 界 面外 部 執(zhí) 行 機 構(gòu) 模塊歷 史 數(shù) 據(jù) 查 詢 模塊用 戶 設(shè) 置 模 塊否是數(shù) 據(jù) 顯 示 模 塊 圖 55 系統(tǒng)流程圖 系統(tǒng)登錄模塊 軟件運行之后,首先就是進(jìn)入用戶登錄窗體,本界面實現(xiàn)的功能是用戶輸入用戶名和密碼,根據(jù)不同的用戶登錄選擇不同的操作主界面功能,并進(jìn)入系統(tǒng)進(jìn)行相應(yīng)操作。這種方法的優(yōu)點是程序響應(yīng)及時,可靠性高。在許多情況下,在事件發(fā)生時需要得到通知,例如,在串口接收緩沖區(qū)中有字符,或者 CD或 RTS線上一個字符到達(dá)或一個事件發(fā)生時。對于較簡單的通信任務(wù),可通過查詢串行 12的 CommEvent屬性來了解最近發(fā)生的事件或錯誤并進(jìn)行相應(yīng)的處理。該控件串行通信功能的實現(xiàn)實際上是調(diào)用了 WindOWS的 API函數(shù),再由 Comm. dry解釋并傳送給設(shè)備驅(qū)動程序。然后上位機向下位機發(fā)送命令幀,下位機接收執(zhí)行命令幀。上位機接收到正確應(yīng) 答后會繼續(xù)發(fā)送下一幀命令,而不會向下位機發(fā)送任何表示正確接收的命令。 因此在本監(jiān)測軟件的通信流程為:上位機首先呼叫下位機,下位機若接收到呼叫則向上位機發(fā)出應(yīng)答信號。 具體協(xié)議表如下: 健雄職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(論文) 21步驟 上位機 方向 單片機 1 待機狀態(tài) 待機狀態(tài) 2 發(fā)送“ EE” 未收到數(shù)據(jù)不動作 3 兩秒鐘內(nèi)未接收“ DD”顯示通信失敗,返回步驟 1 如果收到數(shù)據(jù)回復(fù)“ DD” 表示收到 4 開始接收數(shù)據(jù) 發(fā)送當(dāng)前溫濕度,光線狀況數(shù)據(jù) 5 回復(fù)“ CC”表示收到每秒重復(fù)步驟 2— 5周期一次 返回步驟 1待機狀態(tài) 通信流程的設(shè)計 通常我們判斷上位機所發(fā)出的命令信息是否被下位機正確接收到的依據(jù)是下位機的應(yīng)答。 RS485只對物理接口的電氣特性做規(guī)定,因此需要用戶建立自己的高層通信協(xié)議。 通信協(xié)議的設(shè)計 l、通信模型的設(shè)計 在確定通信流程與通信格式之前,應(yīng)該首先明確通信方式,即明確上、下位機之間將采用什么組網(wǎng)形式及什么通信規(guī)約的問題。 (4)使用簡便,用戶無需了解編程語言,便可輕松地設(shè)計和開發(fā)數(shù)據(jù)庫應(yīng)用程序。倒與其它的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)相比, Access2021 具有以下優(yōu)點 : (l)存儲文件單一。用戶只需簡單的操作就可建立數(shù)據(jù)庫中所使用的各種基本表、窗體和報表。關(guān)閉串口的代碼如下: procedure TForml. FormClose(Sender; TObj ect: var Action: TCIoseAction); begin ml. StopComm; end; 健雄職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(論文) 19第五章 上位機軟件設(shè)計 系統(tǒng)設(shè)計概述 本軟件采用模塊化設(shè)計方案,以系統(tǒng)主界面模塊為主導(dǎo),實現(xiàn)用戶等級管理等主要功能,這樣可以使整個軟件結(jié)構(gòu)層次化,且更易于維護(hù)和升級。否則需重新建立握手信號。當(dāng) PC發(fā)出 (F0,01,FF,FF,01,F0)后 8051能收到一幀 (F0,01,FF,FF,01,F0),表示數(shù)據(jù)通信握手成功 ,兩者之間就可以按照協(xié)議相互傳輸數(shù)據(jù)。OnReceiveError:procedure(Sender: TObject。 事件 OnReceiveData:procedure(Sender:TObject。 StopComm 過程用于關(guān)閉串口 ,沒有返回值。不能夠安裝 通信緩存 。 方法 Startm 方法用于打開串口 ,當(dāng)打開失敗時通常會報錯。 Parity:奇偶校驗位。 圖 41 安裝 SPComm 控件 SPComm 的主要屬性 ,方法和事件 屬性 CommName:填寫 COM1,COM2? 等串口的名字 ,在打開串口前 ,必須填寫好此值。 SPComm 控件 從互聯(lián)網(wǎng)能下載 SPComm 控件。 函數(shù)聲明形式: BOOL CMyCom: WriteMyCom(char*bur,DWORD dwBufLen) 參數(shù)含義: buf為待發(fā)命令的緩沖區(qū)指針, dwBufLen待發(fā)字符。從用戶角度講上位機串口通信模塊的使用流程一般分四個步驟,即“初始化并打開串口 監(jiān)視串口 讀寫串口 關(guān)閉串口 ” 。 ReadFile0和 writeFile(i)函數(shù)是否為異步操作模式是由 CreateFile函數(shù)決定的。在異步執(zhí)行時,即使操作還未完成,調(diào)用的函數(shù)也會立即返回。寫函數(shù)不論在聲明形式上還是在使用方法上都與 ReadFile0十分相似,具體可以查看 MSDN幫助文檔。讀/寫串口 API函數(shù): win32中使用 ReadFile0函數(shù)或者 ReadFileEx0數(shù)從串口中讀取數(shù)據(jù)。寫操作只支持總超時,而讀操作兩種超時均支持。 Windows用陽緩沖區(qū)來暫存串行口輸入和輸出的數(shù)據(jù),如果通信的速率較高,則應(yīng)該設(shè)置較大的緩沖區(qū).調(diào)用 SctupCommOi函數(shù)可以設(shè)置串行口的輸入和輸出緩沖區(qū)的大小 。在查詢或配置串行口的屬性時,都要用 DCB結(jié)構(gòu)來作為緩沖區(qū)。如果打開成功的話會返回一個串口的句柄,應(yīng)用程序應(yīng)對這個句柄判斷其有效性。在面向?qū)ο蠓椒ㄏ峦ǔJ褂么陬?(即串口函數(shù)庫 ),這樣編程效率即高,調(diào)試又方便。 串口類的開發(fā) 串口類是對通信 API函數(shù)進(jìn)行最一般的封裝,以便能夠應(yīng)用于不同的串口應(yīng)用程序開發(fā)中。 有兩 種 等待 辦法 :一 種辦 法 是用 像WaitForSingleObject0這樣的等待函數(shù)來等待 OVERLAPPED結(jié)構(gòu)的 hEvent成員,可以規(guī)定等待的時間,在等待函數(shù)返回后,調(diào)用 GetOverlappedResult0。 在設(shè)置了異步 I/ O操作后, I/ O操作和函數(shù)返回有以下兩種情況: 第一種,函數(shù)返回時 I/ O操作己完成:此時結(jié)果好像是同步執(zhí)行的,但實際上這是異步操作的結(jié)果。例如,線程可以在不同的端口上同時執(zhí)行 I/ O操作,甚至可以在同一端口上同時進(jìn)行讀寫操作。在同步執(zhí)行時,函數(shù)直到操作完成后才返回。 eadFile0函數(shù)第四個參數(shù),在讀操作之前應(yīng)置為 0。在這種情況下,超時規(guī)定的是操作的完成時間,而不是讀/寫函數(shù)的返回時間。超時有兩種:間隔超時和總超時。要修改串行口的配置,應(yīng)該先修改 DCB結(jié)構(gòu),然后再調(diào)用 SetCommState0函數(shù)用指定的 DCB結(jié)構(gòu)來設(shè)置串行口。 DCB結(jié)構(gòu)包含了諸如波特率、數(shù)據(jù)位數(shù)、奇偶校驗和停止位數(shù)等信息。 (1)串口的打開與關(guān)閉 Win32系統(tǒng)把文件的概念進(jìn)行了擴展,無論是文件、通信設(shè)備、命名管道、 郵槽、磁盤,還是控制臺,都是用 API函數(shù) Create File()來打開或創(chuàng)建的。在面向?qū)ο蠓椒ㄏ峦ǔJ褂么陬?(即串口函數(shù)庫 ),這樣編程效率即高,調(diào)試又方便。它提供了表、查詢、窗體、報表、頁、宏和模塊來建立數(shù)據(jù)庫系統(tǒng)的對象;提供了多種向?qū)?、.生成器和模板,把?shù)據(jù)存儲、查詢、界面設(shè)計、報表生成等操作規(guī)范化等。 Mysql是一個開放源碼的小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),目前被廣泛地應(yīng)用在Intemet上的中小型網(wǎng)站中。 Delphi 的主要特性如下: 1) Delphi 是 32 位應(yīng)用程序,使用它可以開發(fā)出各種功能強大的應(yīng)用程序; 2) Delphi 的編譯器是目前世界上最快的 32 位本地代碼編譯器,使用這種編譯器產(chǎn)生的運行文件( EXE)是獨立的,不需要鏈接運行時的解釋器 DL; 3) Delphi 可充分發(fā)揮 Windows95/98/2021/NT 和 Windows NT 的強大功 能; 4) Delphi 提供了多種 32 位可視組件; 5) Delphi 是一種面向?qū)ο蟮某绦蛟O(shè)計語言,因此可做到對可視窗體的繼承; 6) Delphi 采用三層數(shù)據(jù)庫管理模式(數(shù)據(jù)層、對象層、應(yīng)用程序?qū)樱?,把例如?shù)據(jù)模型、業(yè)務(wù)規(guī)則、窗體和對象等集中存儲在對象存
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1