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

正文內(nèi)容

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

 

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