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

正文內(nèi)容

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

2024-08-01 02:34本頁面
  

【正文】 實(shí)現(xiàn)環(huán)境發(fā)展的預(yù)測。另外,采用多個(gè)環(huán)境因子綜合考慮的多因子控制方式替代現(xiàn)行的單個(gè)環(huán)境因子分別考慮的單因子控制方式也是研究的一個(gè)重要方向。各個(gè)溫的控制功能一般由單片機(jī) (子處理器 )完成, PC 機(jī)作為主處理器,僅實(shí)現(xiàn)輔助功能,脫離主處理器,整 個(gè)控制系統(tǒng)仍可工作。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,可以通過 Iniemet 進(jìn)行遠(yuǎn)程控制或診斷,在辦公室通過網(wǎng)絡(luò)對(duì)溫室設(shè)備進(jìn)行操作,達(dá)到減輕生產(chǎn)人員勞強(qiáng)度、提高設(shè)備利用效率,具有廣闊的應(yīng)用前景??梢远〞r(shí)地將數(shù)據(jù)自動(dòng)地打印出來供隨時(shí) 監(jiān)管或存檔。 動(dòng)態(tài)記錄顯示功能:能夠連續(xù)實(shí)時(shí)的采集和記錄監(jiān)測空間內(nèi)溫度、濕度、光線狀況等參數(shù)的情況,以數(shù)字和表格方式進(jìn)行實(shí)時(shí)顯示和記錄監(jiān)測信息。 打印功能:按要求打印某個(gè)點(diǎn)溫、溫度、光線狀況表格,自動(dòng)定時(shí)打印和手動(dòng)人工打印畫面及參數(shù)報(bào)表。結(jié)構(gòu)框圖如圖 21 所示。環(huán)境參數(shù)經(jīng)信號(hào)采集電路和A/ D轉(zhuǎn)換后送單片機(jī),經(jīng)處理后在液晶 上實(shí)時(shí)顯示,然后通過串口傳輸給上位機(jī)。串口通信的標(biāo)準(zhǔn)經(jīng)過使用和發(fā)展已經(jīng)有很多中,但基本都是在 RS232標(biāo)準(zhǔn)的基礎(chǔ)上改進(jìn)形成的。這個(gè)標(biāo)準(zhǔn)傳輸信號(hào)具有很強(qiáng)的抗干擾能力,可以達(dá)到更大的傳輸距離和更高的傳輸效率。排隊(duì)理論就是利用概率論和隨機(jī)理論,研究隨機(jī)系統(tǒng)內(nèi)服務(wù)與需求之間的關(guān)系,以便合理地設(shè)計(jì)和控制排隊(duì)系統(tǒng)。呼叫持續(xù)等待是一個(gè)有限的時(shí)間,若某一等待響應(yīng)的呼叫超過規(guī)定的等待時(shí)間還沒有響應(yīng)則該下位機(jī)掛斷,等待幾分鐘后 再發(fā)送請(qǐng)求。服務(wù)時(shí)間為一次傳送數(shù)據(jù)的通信時(shí)間。 傳感器 傳感器 信號(hào)采集A/D 轉(zhuǎn)換 液晶顯示 微處理器 計(jì)算機(jī)串口 上位機(jī) 健雄職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文) 7 目前串口是儀器儀表設(shè)備通用的通信協(xié)議端口,也用于獲取遠(yuǎn)程采集設(shè)備的數(shù)據(jù)。盡管比按字節(jié)的并行通信慢,但是由于串口通信是異步的,可以在使用一根線發(fā)送數(shù)據(jù)的同時(shí)用另一根線接收數(shù)據(jù),其他線用于握手。 Delphi 系列軟件的工作平臺(tái)相當(dāng)廣泛,可以工作于 Windows9 Windows9 WindowsNT、 Windows2021以及 Windows XP 下,編程所用的語言為 Object Pascal 語言。 Delphi 具有簡單、高效、功能強(qiáng)大的特點(diǎn)。由于Delphi 同時(shí)兼?zhèn)淞?VC 功能強(qiáng)大和 VB 簡單易學(xué)的特點(diǎn),因此它成為了程序員至愛的編程工具。 數(shù)據(jù)庫方案的實(shí)現(xiàn) 目前常用的數(shù)據(jù)庫有 Oracle、 SQL、 Server、 Access和 Mysql等,下面對(duì)這幾個(gè)主流的數(shù)據(jù)庫各自特點(diǎn)簡單介紹。 SQL Server是基于服務(wù)器端的中型的數(shù)據(jù)庫,可以適合大容量數(shù)據(jù)的應(yīng)用,在處理海量數(shù)據(jù)的效率,后臺(tái)開發(fā)的靈活性,可擴(kuò)展性等方面強(qiáng)大;是真正的客戶機(jī)/服健雄職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文) 9 務(wù)器體系結(jié)構(gòu),圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫管理更加直觀、簡單;豐 富的編程接口工具,為用戶進(jìn)行程序設(shè)計(jì)提供了更大的選擇余地:對(duì)網(wǎng)絡(luò)技術(shù)的支持,使用戶能夠很容易地將數(shù)據(jù)庫中的數(shù)據(jù)發(fā)布到網(wǎng)頁上。由于其體積小、速度快、總體成本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了 Mysql作為網(wǎng)數(shù)據(jù)庫。 Access是微軟公司推出的基于 Windows的桌面關(guān)系數(shù)據(jù)庫管理 系統(tǒng),是 Office系列應(yīng)用軟件之一。 幾種數(shù)據(jù)庫各有特點(diǎn),其中 Access是一個(gè)中、小型數(shù)據(jù)庫管理系統(tǒng),使用方便、功能強(qiáng)大、易操作并且很實(shí)用,它適合數(shù)據(jù)量不太大的應(yīng)用,在處理數(shù)據(jù)庫時(shí)效率也很高。 串口通信的實(shí)現(xiàn)方法 概述 實(shí)際中串口通信程 序的開發(fā)很少直接使用 API函數(shù),因?yàn)檫@會(huì)無謂的增加編程難度,也會(huì)給調(diào)試帶來諸多不便。下面就從通信 API介紹、串口類開發(fā)這兩方面加以介紹。通信 API函數(shù)所涉及的操作包括串口的打開、關(guān)閉、初始化與讀寫等。如果打開成功的話健雄職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文) 10會(huì)返回一個(gè)串口的句柄,應(yīng)用程序應(yīng)對(duì)這個(gè)句柄判斷其有效性。 (2)串口的初始 化 在打開串口后,常常需要對(duì)串口進(jìn)行一些初始化工作,這需要通過一個(gè) DCB結(jié)構(gòu)來進(jìn)行。在查詢或配置串行口的屬性時(shí),都要用 DCB結(jié)構(gòu)來作為緩沖區(qū)。一般在用 CreateFile0打開串行口后,就調(diào)用 GetCommState()函數(shù)來獲取串行口的初始配置。 除了在 DCB中的設(shè)置外,程序一般還需要設(shè)置 I/ O緩沖區(qū)的大小。在對(duì)串口進(jìn)行讀寫的時(shí) 候,需要考慮超時(shí)問題。間隔超時(shí)是指在接收時(shí)兩個(gè)字符之間的最大時(shí)延,總超時(shí)是指讀寫操作總共花費(fèi)的最大時(shí)間 。在用異步方式讀寫串行口時(shí),雖然在完成讀/寫操作以前就可能返回,但超時(shí)仍然是起作用的。 (3)串口的讀寫控制 這部分內(nèi)容關(guān)系到串行通信的核心內(nèi)容,將分讀/寫串口 API函數(shù)、異步 I/ O操作兩部分介紹。兩者區(qū)別是:前者對(duì)同步操作和異步操作都支持,而后者僅支持異步操作。同樣,寫串口函數(shù)也有兩個(gè),一個(gè)是 writeFile0,另一個(gè)是 writeFileEx0前者同時(shí)支持同步操作和異步操作,而后者僅支持異步操作。 異步 I/ O操作: 健雄職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文) 11在用 ReadFile0和 writeFile0讀寫串行口時(shí),既可以同步執(zhí)行,也可以異步執(zhí)行。這意味著在同步執(zhí)行時(shí)線程會(huì)被阻塞,從而導(dǎo)致效率下降。費(fèi)時(shí)的 I/ O操作在后臺(tái)進(jìn)行,這樣線程就可以干別的事情。 “異步 一詞的含義就在于此。如果在調(diào)用 CreateFileO創(chuàng)建句柄時(shí)指定了 ILE FLAG OVERLAPPED標(biāo)志, 那么調(diào)用 ReadFileO和 writeFileO對(duì)該句柄進(jìn)行的讀寫操作就是異步的,如果未指定異步標(biāo)志,則讀寫操作是同步的。第二種,函數(shù)返回時(shí) I/ O操作還沒完成:此時(shí)一方面,函數(shù)返回值為 0,并且 GetLastErrorO函數(shù)返回 ERROR IO PENDING;另一方面,系統(tǒng)把OVERLAPPED中的信號(hào)事件設(shè)為無信號(hào)狀態(tài)。如果 GetLastError0函數(shù)返 IEIERROR IO PENDING,則說明異步操作還沒 完 成, 線程 可以 等 待操 作完 成。另一種辦法是用GetOverlappedResult()函數(shù)等待,如果指定該函數(shù)的 bWait參數(shù)為 TRUE,那么該函數(shù)將等待 OVERLAPPED結(jié)構(gòu)的 hEvent事件,并且只有當(dāng) I/ O操作完成后方返回 (實(shí)際上這又變成了同步方式 )。結(jié)構(gòu)來報(bào)告包括實(shí)際傳輸字節(jié)在內(nèi)的重疊操作結(jié)果?,F(xiàn)在開發(fā)串口應(yīng)用程序的方法很多,如微軟的 MSCm控件,但是 MSComm本身存在一定的弊端,如只能發(fā)送 ASCII碼等。 健雄職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文) 12 串口通信 API 函數(shù)的實(shí)現(xiàn)原理 實(shí)際中串口通信程序的開發(fā)很少直接使用 API函數(shù),因?yàn)檫@會(huì)無謂的增加編程難度,也會(huì)給調(diào)試帶來諸多不便。 通信 API函數(shù)是整個(gè)串口通信程序的基礎(chǔ),串口類中的任何成員函數(shù)也只不過是對(duì)通信 API函數(shù)的封裝而己。 (1)串口的打開與關(guān)閉 Win32系統(tǒng)把文件的概念進(jìn)行了擴(kuò)展,無論是文件、通信設(shè)備、 命名管道、郵槽、磁盤,還是控制臺(tái),都是用 API函數(shù) CreateFile()來打開或創(chuàng)建的。當(dāng)不再使用該串口句柄時(shí),應(yīng)該調(diào)用 CloseHandle0函數(shù)關(guān)閉之,以方便其它應(yīng)用程序申請(qǐng)對(duì)串口的控制權(quán)。 DCB結(jié)構(gòu)包含了諸如波特率、數(shù)據(jù)位數(shù)、奇偶校驗(yàn)和停止位數(shù)等信息。 調(diào)用函數(shù)可 以獲得串口的配置,該函數(shù)把當(dāng)前配置填充到一個(gè) DCB結(jié)構(gòu)中。 除了在 DCB中的設(shè)置外,程序一般還需要設(shè)置 I/ O緩沖區(qū)的大小。在對(duì)串口進(jìn)行讀寫的時(shí)候,需要考慮超時(shí)問題。間隔超時(shí)是指在接收時(shí)兩個(gè)字符之間的最大時(shí)延,總超時(shí)是指讀寫操作總共花費(fèi)的最大時(shí)間。在用異步方式讀寫串行口時(shí),雖然在完成讀/寫操作以前就可能返回,但超時(shí)仍然是起作用的。 (3)串口的讀寫控制 健雄職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文) 13這部分內(nèi)容關(guān)系到串行通信的核心內(nèi)容,將分讀/寫串口 API函數(shù)、異步 I/ O操作兩部分介紹。兩者區(qū)別是:前者對(duì)同步操作和異步操作都支持,而后者僅支持異步操作。同樣,寫串口函數(shù)也有兩個(gè),一個(gè)是 writeFile0,另一個(gè)是 writeFileEx0前者同時(shí)支持同步操作和異步操作,而后者僅支持異步操作。 異步 I/ O操作: 在用 ReadFile0和 writeFile0讀寫串行口 時(shí),既可以同步執(zhí)行,也可以異步執(zhí)行。這意味著在同步執(zhí)行時(shí)線程會(huì)被阻塞,從而導(dǎo)致效率下降。費(fèi)時(shí)的 I/ O操作在后臺(tái)進(jìn)行,這樣線程就可以干別的事情。 “異步 一詞的含義就在于此。如果在調(diào)用 CreateFileO創(chuàng)建句柄時(shí)指定了 FILE FLAG OVERLAPPED標(biāo)志,那么調(diào)用 ReadFileO和 writeFileO對(duì)該句柄進(jìn)行的讀寫操作就是異步的,如果未指定異步標(biāo)志,則讀寫操作是同步的 [5]。現(xiàn)在開發(fā)串口應(yīng)用程序的方法很多,如微軟的 MSCm 控件,但是 MSComm本身存在一定的弊端,如只能發(fā)送 ASCII 碼等。封裝串口類 CMyCom 的成員函數(shù)時(shí)也正是基于這種理解,各成員函數(shù)介紹如下: (1)初始化并打開串口函數(shù) 函 數(shù) 聲明 形式 : BOOL CMyCom: InitMyCom(int nPort , int nBaud, int nDataBits,int nStopBits) 參數(shù)含義: nPort為端口號(hào),支持串口 l至串口 4; nBaud為波特率,支持常用波特率如 9600baud; nDataBits為數(shù)據(jù)位數(shù),支持 5— 8位: nStopBits為停止位數(shù),支持 1— 2位; 健雄職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文) 14返回值:當(dāng)設(shè)置成功后,返回值為 TRUE;失敗時(shí),返回值 為 FALSE; 實(shí)現(xiàn)原理:本函數(shù)只支持操作一個(gè)串口。 串 口 已 打 開 否調(diào) 用 C r e a t F i l e ( )打 開 n P o r t 指 定 端口句 柄 有 效 否設(shè) 置 I / O 緩 沖 區(qū) ,啟 動(dòng) 串 口 監(jiān) 視 線 程線 程 啟 動(dòng) 成 功否返 回 T U R E 返 回 F A L S E 否是否否是是 圖 31InitMyCom()函數(shù)流程圖 (2)寫串口函數(shù)。 返回值: 返回值為實(shí)際發(fā)送的字符數(shù); 實(shí)現(xiàn)原理:該函數(shù)調(diào)用 WriteFileO發(fā)送命令并調(diào)用 GetOverlappedResult0函數(shù)返回實(shí)際發(fā)送的字符 [6]。它 支持 Data Bits(數(shù)據(jù)位 )、 Parity(奇偶校驗(yàn) )、 Stop Bits等設(shè)置 ,支持Read/Write,Timing Control(時(shí)序控制 ),Read Interval Timeout(讀間斷超時(shí)控制 ),WriteInterval Timeout(寫間斷超時(shí)控制 )等 ,同時(shí)還支持 DTR/DSR,RTS/DTS等硬件流程控制及 Xon/Xoff(握手協(xié)議 )軟件流程控制 ,是比較完善的控件。選擇下拉菜單 Component 中的 Install Component選項(xiàng) ,在 Unit filename 處填寫 SPComm 控件所在的路徑 ,其他各項(xiàng)可用默認(rèn)值 ,點(diǎn)擊OK 按鈕?,F(xiàn)在就可以像 Delphi 自帶控件一樣 使用 COM 控件了 [9]。 BaudRate:設(shè)定波特率 9 600,4 800 等 ,根據(jù)實(shí)際需要來定 ,在串口 打開后也可更改波特率 ,實(shí)際波特率隨之更改。 ByteSize:字節(jié)長度 5, 6, 7, 8 等 ,根據(jù)實(shí)際情況設(shè)定。 pBits:停止位。為 False 時(shí)表示發(fā)送緩存不為空 ,或者發(fā)送隊(duì)列里有信息。錯(cuò)誤主要有 7 種 :串口已經(jīng)打開 。文件句柄不是通信句柄 。不能產(chǎn)生事件 。不能產(chǎn)生寫進(jìn)程。 WriteCommData(pDataToWrite: PChar。函數(shù)有兩個(gè)參數(shù) ,其中 pDataToWrite 是要發(fā)送的字符串 , dwSizeofDataToWrite 是發(fā)送的長度 [9]。Buffer:Pointer。 Buffer 中 是 收 到 的 數(shù) 據(jù) ,BufferLength 是 收 到 的 數(shù) 據(jù) 長 度 。 Eventask:DWORD) 當(dāng)接受數(shù)據(jù)時(shí)出現(xiàn)錯(cuò)誤將觸發(fā)該事件。假定他們之間的通信協(xié)議是 :PC 到 8051 一幀數(shù)據(jù) 6 個(gè)字節(jié) ,8051 到 PC 一幀數(shù)據(jù)也為6個(gè)字節(jié)。 創(chuàng)建一個(gè)新的工程 ,把窗體的標(biāo)題定義為單片機(jī)串口通信: 圖 42 單片機(jī)串口通信窗口 健雄職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文) 17實(shí)現(xiàn) PC機(jī)與單片機(jī)之間的數(shù)據(jù)發(fā)送及接收具體步驟: (1) 初始化并 打開串口 需要選擇本次通信使用的串口,確定通信協(xié)議,即設(shè)置波特率、校驗(yàn)方式、數(shù)據(jù)位、停止位等屬性,打開該串口。兩者之間就可以按照協(xié)議相互傳輸數(shù)據(jù)。 (3)發(fā)送數(shù)據(jù) 在編寫基于串口的計(jì)算機(jī) 工業(yè)測控時(shí),通常需要由 PC機(jī)向下位機(jī)發(fā)送命令以控制下位機(jī)的行為,同時(shí)向下位機(jī)發(fā)送有關(guān)數(shù)據(jù)。利用SPCOMM串口控件接收下位機(jī)發(fā)送的數(shù)據(jù)信息的代碼如下: //事件驅(qū)動(dòng)方式接收數(shù)據(jù)程序 procedure TForm 1. CommlReceiveData(Sender: Tobject; Buffer: Pointer; bufferLength: Word); var
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1