




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、.:.;學(xué)院 畢 業(yè) 設(shè) 計(jì)論 文題 目: 基于單片機(jī)的多功能環(huán)境檢測(cè)系統(tǒng)設(shè)計(jì)作 者: 指點(diǎn)教師: 專 業(yè): 電氣自動(dòng)化 時(shí) 間: 學(xué)院畢業(yè)論文基于單片機(jī)的多功能環(huán)境監(jiān)測(cè)系統(tǒng)設(shè)計(jì) 串口通訊與界面設(shè)計(jì)The design of multifunction environmental monitoring based on single-chip Serial communications and interface design 摘 要隨著工業(yè)技術(shù)的開(kāi)展,環(huán)境問(wèn)題曾經(jīng)成為全世界關(guān)注的問(wèn)題。近年來(lái),水土流失、荒漠化、草原退化和物種減少;生態(tài)相當(dāng)脆弱,自然災(zāi)禍頻繁;環(huán)境污染嚴(yán)重,直接危及社會(huì)、經(jīng)濟(jì)的
2、開(kāi)展。人們?cè)?jīng)認(rèn)識(shí)到,為了維護(hù)環(huán)境,就將對(duì)環(huán)境的演化趨勢(shì)、特點(diǎn)及存在的問(wèn)題作進(jìn)一步的細(xì)致的了解。多功能環(huán)境監(jiān)測(cè)是利用各種技術(shù)測(cè)定和分析生命系統(tǒng)各層次對(duì)自然或人為作用的反響或反響效應(yīng)的綜合表征來(lái)判別和評(píng)價(jià)這些干擾對(duì)環(huán)境產(chǎn)生的影響、危害及其變化規(guī)律,為環(huán)境質(zhì)量的評(píng)價(jià)、調(diào)控和環(huán)境管理提供科學(xué)根據(jù)。本課題從國(guó)內(nèi)外環(huán)境監(jiān)測(cè)系統(tǒng)的研討現(xiàn)狀出發(fā),結(jié)合實(shí)踐情況設(shè)計(jì)一個(gè)基于單片機(jī)的多功能環(huán)境監(jiān)測(cè)系統(tǒng)。本文主要擔(dān)任串口通訊及界面軟件的設(shè)計(jì)。其中,上位機(jī)軟件主要以Windows XP為操作平臺(tái),采用Delphi編寫。Delphi是一種可視化的、快速的運(yùn)用程序,具有面向?qū)ο缶幊?,支持團(tuán)隊(duì)開(kāi)發(fā),提供工程管理,對(duì)數(shù)據(jù)庫(kù)的
3、良好支持等特性,是一個(gè)集數(shù)據(jù)通訊、存儲(chǔ)、查詢、處置于一體的綜合性軟件。本設(shè)計(jì)可以實(shí)現(xiàn)以下功能:PC機(jī)經(jīng)過(guò)串行口與下位機(jī)通訊,將下位機(jī)采集到的溫、濕度及光線數(shù)據(jù)在PC機(jī)上實(shí)時(shí)顯示;對(duì)歷史數(shù)據(jù)進(jìn)展查詢、分析、統(tǒng)計(jì),并能將相應(yīng)的結(jié)果打印出來(lái)。關(guān)鍵詞:溫濕度;光線情況;上位機(jī);串口通訊AbstractWith the development of industrial technology, environmental issues have become the worlds concern. In recent years, soil erosion, desertification, grass
4、land degradation and loss of biodiversity; ecology very fragile and frequent natural disasters; environmental pollution, directly threatening the social and economic development. Environmental monitoring is the use of multi-function measurement and analysis technology system at all levels of life to
5、 natural or man-made role of response or feedback effects of the comprehensive characterization to determine and evaluate the impact of interference on the environment, endanger their trends, the environmental quality assessment, control and provide the scientific basis for environmental management.
6、that topic embarks from the domestic and foreign environmental monitoring systems research present situation, the union actual situation designs one based on monolithic integrated circuits multi-purpose environmental monitoring system. that article primary cognizance serial port correspondence and c
7、ontact surface softwares design. And, the superior machine software mainly take Windows XP as the service platform, uses the Delphi. compilation. Delphi is one kind of visualization, the fast application procedure, has the object-oriented programming, supports the team to develop, provides the proje
8、ct management, to database characteristics and so on good support, is a collection data communication, the memory, the inquiry, processing in a bodys comprehensive software.that design can realize the following function: PC machine through serial port and lower position machine correspondence, lower
9、 position machine gathering warm, humidity and optical fiber data on the PC machine real time display; Carries on the inquiry, the analysis, the statistics to the historical data, and can print the corresponding result.Key words:mperature and humidity;Lighting conditions;PC;Serial Communication目 錄 T
10、OC o - h z u HYPERLINK l _Toc 第一章 緒論 HYPERLINK l _Toc . 課題背景 HYPERLINK l _Toc .國(guó)內(nèi)外環(huán)境監(jiān)測(cè)現(xiàn)狀及開(kāi)展趨勢(shì) HYPERLINK l _Toc .開(kāi)展現(xiàn)狀 HYPERLINK l _Toc .開(kāi)展趨勢(shì) HYPERLINK l _Toc .本課題主要任務(wù) HYPERLINK l _Toc 第二章 系統(tǒng)設(shè)計(jì)總體方案 HYPERLINK l _Toc .監(jiān)測(cè)系統(tǒng)構(gòu)造框圖 HYPERLINK l _Toc .監(jiān)測(cè)終端的設(shè)計(jì) HYPERLINK l _Toc .通訊方式的選擇 HYPERLINK l _Toc 第三章 上位機(jī)開(kāi)
11、發(fā)環(huán)境與主要技術(shù) HYPERLINK l _Toc . 上位機(jī)開(kāi)發(fā)平臺(tái) HYPERLINK l _Toc . 數(shù)據(jù)庫(kù)方案的實(shí)現(xiàn) HYPERLINK l _Toc . 串口通訊的實(shí)現(xiàn)方法 HYPERLINK l _Toc .概述 HYPERLINK l _Toc .串口通訊API函數(shù)的實(shí)現(xiàn)原理 HYPERLINK l _Toc .串口類的開(kāi)發(fā) HYPERLINK l _Toc 第四章 運(yùn)用SPComm控件實(shí)現(xiàn)串口通訊 HYPERLINK l _Toc .安裝SPComm控件 HYPERLINK l _Toc . SPComm的主要屬性,方法和事件 HYPERLINK l _Toc . 屬性 HY
12、PERLINK l _Toc . 方法 HYPERLINK l _Toc . 事件 HYPERLINK l _Toc . SPComm的運(yùn)用 HYPERLINK l _Toc 第五章 上位機(jī)軟件設(shè)計(jì)方案 HYPERLINK l _Toc .系統(tǒng)設(shè)計(jì)概述 HYPERLINK l _Toc .數(shù)據(jù)庫(kù)平臺(tái)的選擇 HYPERLINK l _Toc .串口通訊在本系統(tǒng)中的實(shí)現(xiàn) HYPERLINK l _Toc .通訊協(xié)議的設(shè)計(jì) HYPERLINK l _Toc .通訊程序的開(kāi)發(fā) HYPERLINK l _Toc .上位機(jī)程序的開(kāi)發(fā)設(shè)計(jì) HYPERLINK l _Toc .系統(tǒng)登錄模塊 HYPERLINK
13、 l _Toc .系統(tǒng)主界面模塊 HYPERLINK l _Toc .用戶設(shè)置模塊 HYPERLINK l _Toc .歷史數(shù)據(jù)查詢模塊 HYPERLINK l _Toc 結(jié)論 HYPERLINK l _Toc 致謝 HYPERLINK l _Toc 參考文獻(xiàn) HYPERLINK l _Toc 附錄健雄職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)論文 PAGE 38 第一章 緒論. 課題背景隨著人們對(duì)環(huán)境問(wèn)題及其規(guī)律認(rèn)識(shí)的不斷深化,環(huán)境問(wèn)題不再局限于排放污染物引起的安康問(wèn)題,而且包括自然環(huán)境的維護(hù)、生態(tài)平衡和可繼續(xù)開(kāi)展的資源問(wèn)題。因此,環(huán)境監(jiān)測(cè)正從普通意義上的環(huán)境污染因子監(jiān)測(cè)開(kāi)場(chǎng)向生態(tài)環(huán)境監(jiān)測(cè)過(guò)渡和拓寬。除了常見(jiàn)的各
14、類污染因子外,由于人為要素影響,災(zāi)禍性天氣添加,森林植被銳減,水土流失嚴(yán)重,土壤沙漠化加劇,洪水泛濫,沙塵暴、泥石流頻發(fā),酸沉降等,使我國(guó)本已非常脆弱的生態(tài)環(huán)境更加惡化。這促使人們重新審查環(huán)境問(wèn)題的復(fù)雜性,用新的思緒和方法了解和處理環(huán)境問(wèn)題。人們開(kāi)場(chǎng)認(rèn)識(shí)到,為了維護(hù)生態(tài)環(huán)境,必需對(duì)環(huán)境生態(tài)的演化趨勢(shì)、特點(diǎn)及存在的問(wèn)題建立一套行之有效的動(dòng)態(tài)監(jiān)測(cè)與控制體系,這就是生態(tài)環(huán)境監(jiān)測(cè)。生態(tài)環(huán)境監(jiān)測(cè)是環(huán)境監(jiān)測(cè)開(kāi)展的必然趨勢(shì)。本質(zhì)上看,環(huán)境維護(hù)是以減少或防止生態(tài)系統(tǒng)的破壞為終極目的。對(duì)環(huán)境監(jiān)測(cè),目前單純的理化目的和生物目的監(jiān)測(cè)存在很大的局限性,而生態(tài)環(huán)境監(jiān)測(cè)那么可彌補(bǔ)傳統(tǒng)環(huán)境監(jiān)測(cè)的缺乏。因此前者強(qiáng)調(diào)“部分分析
15、,只對(duì)大氣、水、土壤等中的化學(xué)毒物或有害物理因子進(jìn)展測(cè)定;而后者著眼于“整體綜合,對(duì)人類活動(dòng)呵斥的生態(tài)破壞和影響進(jìn)展測(cè)定??梢哉f(shuō),生態(tài)環(huán)境監(jiān)測(cè)是生態(tài)維護(hù)的前提,是生態(tài)管理的根底,是生態(tài)法律法規(guī)的根據(jù)。目前,生態(tài)環(huán)境監(jiān)測(cè)已在全球范圍內(nèi)展開(kāi),但在我國(guó)才剛起步,根底差,底子薄,相對(duì)落后,缺乏一致的規(guī)范,國(guó)家尚未制定技術(shù)規(guī)范。本文主要結(jié)合國(guó)內(nèi)情況擬對(duì)生態(tài)環(huán)境監(jiān)測(cè)作全面引見(jiàn),以期大家共同努力來(lái)推進(jìn)生態(tài)環(huán)境監(jiān)測(cè)任務(wù)在我國(guó)的開(kāi)展。雖然我國(guó)經(jīng)濟(jì)不斷以來(lái)快速開(kāi)展,但是在經(jīng)濟(jì)開(kāi)展的同時(shí)對(duì)環(huán)境的影響也日益擴(kuò)展,尤其是負(fù)面的影響。反過(guò)來(lái)生態(tài)環(huán)境的破壞也逐漸要挾著他們?nèi)祟惖纳婧烷_(kāi)展。為了更好的改善人類的生存環(huán)境、盡能
16、夠的防止環(huán)境進(jìn)一步惡化,對(duì)環(huán)境情況特別是與人類關(guān)系親密的環(huán)境參數(shù)如溫度和濕度的監(jiān)測(cè)無(wú)疑具有非常重要的意義。人類的生存和社會(huì)的活動(dòng)與溫度、濕度,光線等環(huán)境要素的相關(guān)性越來(lái)越大,對(duì)環(huán)境參數(shù)進(jìn)展有效的實(shí)時(shí)監(jiān)測(cè),已成為目前非常嚴(yán)峻的課題。環(huán)境監(jiān)測(cè)是獲取環(huán)境信息,認(rèn)識(shí)環(huán)境質(zhì)量和評(píng)價(jià)環(huán)境好壞的重要手段,也是進(jìn)展環(huán)境監(jiān)視和環(huán)境治理等管理任務(wù)的主要信息來(lái)源和途徑。環(huán)境監(jiān)測(cè)系統(tǒng)是集傳感器技術(shù)、通訊網(wǎng)絡(luò)和計(jì)算機(jī)運(yùn)用為一體的綜合數(shù)據(jù)分析管理系統(tǒng),隨著自動(dòng)控制技術(shù)、電子信息技術(shù)和大規(guī)模集成電路等技術(shù)近年來(lái)迅速的開(kāi)展,許多西方興隆國(guó)家曾經(jīng)擁有很多先進(jìn)的環(huán)境監(jiān)測(cè)設(shè)備與環(huán)境監(jiān)測(cè)手段。假設(shè)直接從外國(guó)購(gòu)買這些現(xiàn)成的設(shè)備和技術(shù),
17、對(duì)于我國(guó)來(lái)說(shuō)本錢投入是比較高的,而且這些設(shè)備和監(jiān)測(cè)手段能夠與我國(guó)復(fù)雜多變的氣候條件和詳細(xì)的情況不相匹配,所以當(dāng)前不適宜直接購(gòu)買和運(yùn)用這些設(shè)備和技術(shù)。目前,我國(guó)的環(huán)境監(jiān)測(cè)系統(tǒng)與這些國(guó)家相比還有較大的差距,但隨著我國(guó)科技實(shí)力的加強(qiáng)和經(jīng)濟(jì)實(shí)力的提高,也先后開(kāi)發(fā)了一系列的環(huán)境監(jiān)測(cè)系統(tǒng)。在這領(lǐng)域的進(jìn)展和提高還是比較大的。但是總體來(lái)說(shuō)這些設(shè)備的技術(shù)程度仍有待提高。因此開(kāi)發(fā)研制出適宜我國(guó)現(xiàn)狀的低本錢高性能的環(huán)境監(jiān)測(cè)系統(tǒng),是一項(xiàng)非常緊迫的義務(wù),也對(duì)提高我國(guó)現(xiàn)代化企業(yè)的經(jīng)濟(jì)效益和加快我國(guó)的現(xiàn)代化程度具有非常重要意義。. 國(guó)內(nèi)外環(huán)境監(jiān)測(cè)現(xiàn)狀及開(kāi)展趨勢(shì). 開(kāi)展現(xiàn)狀近些年來(lái)我國(guó)的經(jīng)濟(jì)開(kāi)展迅速,人們的生活程度得到了很大
18、的提高,但是與此同時(shí)工業(yè)化的開(kāi)展也給環(huán)境帶來(lái)的宏大的改動(dòng)。近些年來(lái)京津地域的沙塵暴和森林覆蓋率的大量減少就是很好的證據(jù)。傳統(tǒng)上采用比較落后的人工環(huán)境監(jiān)測(cè)方法,但是這種方法的實(shí)時(shí)性差,受自然條件的限制比較大,而且對(duì)于突發(fā)的環(huán)境問(wèn)題不能及時(shí)發(fā)現(xiàn)并且處置,不利于宏觀把握環(huán)境的變化情況。由于經(jīng)濟(jì)等要素我國(guó)目前還有很多地方運(yùn)用傳統(tǒng)的環(huán)境監(jiān)測(cè)方法。隨著技術(shù)的開(kāi)展和經(jīng)濟(jì)實(shí)力的提升,我國(guó)的環(huán)境監(jiān)測(cè)程度也得到了一定的提高。在很多省份實(shí)現(xiàn)高速通訊網(wǎng)絡(luò)的同時(shí),環(huán)境監(jiān)測(cè)的參數(shù)和數(shù)據(jù)曾經(jīng)能聯(lián)網(wǎng)的得到觀測(cè)和控制。硬件設(shè)備曾經(jīng)得到很大的改善,傳統(tǒng)的人工報(bào)表曾經(jīng)改成微機(jī)控制系統(tǒng)。還有部分省市曾經(jīng)采用自動(dòng)的環(huán)境監(jiān)測(cè)系統(tǒng),能更加
19、及時(shí)和準(zhǔn)確的反響數(shù)據(jù)。但是由于我國(guó)幅員遼闊,監(jiān)測(cè)終端的需求量很大,并且環(huán)境監(jiān)測(cè)系統(tǒng)的軟硬件開(kāi)發(fā)功能還不是很完善,數(shù)據(jù)的綜合分析才干也有待提高。國(guó)內(nèi)產(chǎn)品較之國(guó)外技術(shù)還顯得比較薄弱。主要表如今:l、目前市場(chǎng)上同類產(chǎn)品存儲(chǔ)空間有限。且基于單片機(jī)終端操作的,很少具有實(shí)時(shí)通訊的功能,這對(duì)于遠(yuǎn)程進(jìn)展數(shù)據(jù)的傳輸要求的單位的運(yùn)用是不方便的。、現(xiàn)有的產(chǎn)品在數(shù)據(jù)輸出僅支持點(diǎn)對(duì)點(diǎn)通訊且速度慢、間隔 短、且仍受地域限制。且不能滿足大數(shù)據(jù)量多通道的實(shí)時(shí)數(shù)據(jù)的傳輸?shù)墓δ?。、產(chǎn)品的現(xiàn)場(chǎng)安裝受運(yùn)用環(huán)境所限,環(huán)境運(yùn)用適用性差、測(cè)控手段單一。很難進(jìn)展遠(yuǎn)間隔 的監(jiān)控和報(bào)警。、產(chǎn)品只用液晶、LED等方式簡(jiǎn)單顯示,使操作無(wú)法進(jìn)展現(xiàn)場(chǎng)復(fù)
20、雜適用的數(shù)據(jù)分析、讀取、按需數(shù)據(jù)圖形打印。、設(shè)備性能不高,難以順應(yīng)要求較高的場(chǎng)所。如丈量溫度范圍低,難以滿足超高溫,超低溫的要求。目前國(guó)外的環(huán)境監(jiān)測(cè)系統(tǒng)曾經(jīng)廣泛運(yùn)用在各個(gè)領(lǐng)域,并開(kāi)展的比較完善。許多國(guó)家的環(huán)境參數(shù)監(jiān)控點(diǎn)曾經(jīng)分布在各個(gè)地域,技術(shù)上也很先進(jìn),可以監(jiān)測(cè)溫度、濕度、光線和水位等多個(gè)環(huán)境參數(shù)。部分產(chǎn)片還運(yùn)用了衛(wèi)星等技術(shù)進(jìn)展環(huán)境監(jiān)測(cè)。歐洲的一些國(guó)家各國(guó)之間以網(wǎng)絡(luò)為中心進(jìn)展協(xié)作,曾經(jīng)能對(duì)歐洲環(huán)境的現(xiàn)狀和開(kāi)展趨勢(shì)作出及時(shí)的有效判別的預(yù)測(cè),并根據(jù)此采取必要的措施來(lái)維護(hù)環(huán)境。一些美國(guó)的公司利用空間技術(shù),利用太空的衛(wèi)星能把地面的情況特別是大氣的監(jiān)測(cè)數(shù)據(jù)做成圖像完好的傳回地面監(jiān)測(cè),科學(xué)家的數(shù)據(jù)準(zhǔn)確可靠
21、。令人可喜的是我國(guó)的環(huán)境監(jiān)測(cè)技術(shù)正朝著現(xiàn)代化和高技術(shù)含量方向開(kāi)展。目前在某些領(lǐng)域也把衛(wèi)星技術(shù)、遙感技術(shù)和GPS等技術(shù)廣泛運(yùn)用于環(huán)境的監(jiān)測(cè)。在網(wǎng)絡(luò)方面利用無(wú)線傳輸、P寬帶網(wǎng)絡(luò)和GPRS、INTERNET等多種傳輸方式進(jìn)展數(shù)據(jù)的傳輸與處置??梢栽趯?duì)環(huán)境指數(shù)的采集、分析、整理的根底上實(shí)現(xiàn)環(huán)境開(kāi)展的預(yù)測(cè)。. 開(kāi)展趨勢(shì)近年來(lái),神經(jīng)網(wǎng)絡(luò)、遺傳算法、模糊實(shí)際等人工智能方法在國(guó)外溫室環(huán)境控制技術(shù)中得到注重并逐漸開(kāi)展,其中神經(jīng)網(wǎng)絡(luò)方法運(yùn)用較廣。另外,采用多個(gè)環(huán)境因子綜合思索的多因子控制方式替代現(xiàn)行的單個(gè)環(huán)境因子分別思索的單因子控制方式也是研討的一個(gè)重要方向。目前在溫室環(huán)境控制系統(tǒng)中,分布式系統(tǒng)是主要開(kāi)展方向,系
22、統(tǒng)中不存在一個(gè)控制中心,主要控制功能由各分布的子處置器完成。各個(gè)溫的控制功能普通由單片機(jī)(子處置器)完成,PC機(jī)作為主處置器,僅實(shí)現(xiàn)輔助功能,脫離主處置器,整個(gè)控制系統(tǒng)仍可任務(wù)。分布式控制方式具有價(jià)錢低、控制靈敏、可靠性高等優(yōu)點(diǎn),將在以后很長(zhǎng)一個(gè)時(shí)期內(nèi)廣泛運(yùn)用于溫室環(huán)境控制系統(tǒng)中。隨著網(wǎng)絡(luò)技術(shù)的開(kāi)展,可以經(jīng)過(guò)Iniemet進(jìn)展遠(yuǎn)程控制或診斷,在辦公室經(jīng)過(guò)網(wǎng)絡(luò)對(duì)溫室設(shè)備進(jìn)展操作,到達(dá)減輕消費(fèi)人員勞強(qiáng)度、提高設(shè)備利用效率,具有寬廣的運(yùn)用前景。. 本課題主要任務(wù)本設(shè)計(jì)可實(shí)時(shí)丈量某一詳細(xì)空間中恣意一點(diǎn)的溫度、濕度數(shù)據(jù)以及光線情況,能在小型終端設(shè)備的LCD上顯示,還能經(jīng)過(guò)串口通訊在微機(jī)上實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)的顯
23、示、分析和圖形打印等功能。可以定時(shí)地將數(shù)據(jù)自動(dòng)地打印出來(lái)供隨時(shí)監(jiān)管或存檔。其中,上位機(jī)軟件的主要功能如下:、歷史數(shù)據(jù)查詢功能:對(duì)以往的歷史數(shù)據(jù)可以進(jìn)展查詢和分析,并用圖表的方式顯示環(huán)境的開(kāi)展趨勢(shì)。、動(dòng)態(tài)記錄顯示功能:可以延續(xù)實(shí)時(shí)的采集和記錄監(jiān)測(cè)空間內(nèi)溫度、濕度、光線情況等參數(shù)的情況,以數(shù)字和表格方式進(jìn)展實(shí)時(shí)顯示和記錄監(jiān)測(cè)信息。、數(shù)據(jù)存儲(chǔ)功能:一切的數(shù)據(jù)采集和記錄到計(jì)算機(jī)上,按要求記錄溫、濕度以及光線情況表格,可以定時(shí)自動(dòng)保管、備份等。、打印功能:按要求打印某個(gè)點(diǎn)溫、溫度、光線情況表格,自動(dòng)定時(shí)打印和手動(dòng)人工打印畫(huà)面及參數(shù)報(bào)表。第二章 系統(tǒng)設(shè)計(jì)總體方案. 監(jiān)測(cè)系統(tǒng)構(gòu)造框圖多參數(shù)環(huán)境監(jiān)測(cè)系統(tǒng)由環(huán)境
24、參數(shù)采集單元(包括溫度、濕度、光照度傳感器及信號(hào)調(diào)理電路)、單片機(jī)、液晶顯示模塊、PC機(jī)、傳輸設(shè)備以及電源組成。構(gòu)造框圖如圖-所示。上位機(jī)噴灌系統(tǒng)天窗電機(jī)排風(fēng)扇顯示器 單片機(jī)A/D轉(zhuǎn)換器溫度傳感器濕度傳感器光線傳感器繼電器控制圖- 系統(tǒng)構(gòu)造圖. 監(jiān)測(cè)終端的設(shè)計(jì)監(jiān)測(cè)終端組成框圖如圖-所示,該終端以單片機(jī)為中心,由各種傳感器、AD轉(zhuǎn)換器、液晶顯示模塊、串行口輸入輸出端口等構(gòu)成。環(huán)境參數(shù)經(jīng)信號(hào)采集電路和AD轉(zhuǎn)換后送單片機(jī),經(jīng)處置后在液晶上實(shí)時(shí)顯示,然后經(jīng)過(guò)串口傳輸給上位機(jī)。傳感器傳感器信號(hào)采集A/D轉(zhuǎn)換液晶顯示微處置器計(jì)算機(jī)串口上位機(jī) 圖- 監(jiān)測(cè)終端組成框圖. 通訊方式的選擇串口是計(jì)算機(jī)上通用設(shè)備通
25、訊的協(xié)議端口,如今大多數(shù)計(jì)算機(jī)包含串口。串口通訊的規(guī)范經(jīng)過(guò)運(yùn)用和開(kāi)展曾經(jīng)有很多中,但根本都是在RS規(guī)范的根底上改良構(gòu)成的。但是RS規(guī)范只針對(duì)于點(diǎn)對(duì)點(diǎn)的單通道數(shù)據(jù)傳送,在此根底上構(gòu)成RS規(guī)范,添加了多點(diǎn)和雙向通訊才干。這個(gè)規(guī)范傳輸信號(hào)具有很強(qiáng)的抗干擾才干,可以到達(dá)更大的傳輸間隔 和更高的傳輸效率。由于上位機(jī)只需一臺(tái),而需求通訊的下位機(jī)有多臺(tái),因此不一定可以跟每個(gè)下位機(jī)同時(shí)及時(shí)的通訊,所以為了更好的實(shí)現(xiàn)數(shù)據(jù)的傳輸,需求用排隊(duì)實(shí)際來(lái)合理的設(shè)計(jì)和控制傳輸,使數(shù)據(jù)的傳輸更及時(shí)和有效,提高系統(tǒng)的通訊才干。排隊(duì)實(shí)際就是利用概率論和隨機(jī)實(shí)際,研討隨機(jī)系統(tǒng)內(nèi)效力與需求之間的關(guān)系,以便合理地設(shè)計(jì)和控制排隊(duì)系統(tǒng)。在
26、所研討的系統(tǒng)中,某一下位機(jī)懇求與上位機(jī)通訊,當(dāng)上位機(jī)空閑時(shí),立刻呼應(yīng)懇求,當(dāng)上位機(jī)忙時(shí),不能立刻呼應(yīng)該懇求。呼叫繼續(xù)等待是一個(gè)有限的時(shí)間,假設(shè)某一等待呼應(yīng)的呼叫超越規(guī)定的等待時(shí)間還沒(méi)有呼應(yīng)那么該下位機(jī)掛斷,等待幾分鐘后再發(fā)送懇求。各下位機(jī)的位置一樣時(shí),相應(yīng)的規(guī)那么采用先到先效力的方式。效力時(shí)間為一次傳送數(shù)據(jù)的通訊時(shí)間。由于多路懇求是隨機(jī)的,并且相互之間完全獨(dú)立,但對(duì)整個(gè)系統(tǒng)而言,各下位機(jī)傳送的數(shù)據(jù)都能送入上位機(jī)中。目前串口是儀器儀表設(shè)備通用的通訊協(xié)議端口,也用于獲取遠(yuǎn)程采集設(shè)備的數(shù)據(jù)。串口通訊的概念非常簡(jiǎn)單,串口按位發(fā)送和接納字節(jié)。雖然比按字節(jié)的并行通訊慢,但是由于串口通訊是異步的,可以在運(yùn)用
27、一根線發(fā)送數(shù)據(jù)的同時(shí)用另一根線接納數(shù)據(jù),其他線用于握手。第三章 上位機(jī)開(kāi)發(fā)環(huán)境與主要技術(shù). 上位機(jī)開(kāi)發(fā)平臺(tái)Delphi是著名的Borland公司開(kāi)發(fā)的可視化軟件開(kāi)發(fā)工具。Delphi系列軟件的任務(wù)平臺(tái)相當(dāng)廣泛,可以任務(wù)于Windows、Windows、WindowsNT、Windows以及Windows XP下,編程所用的言語(yǔ)為Object Pascal言語(yǔ)。Object Pascal言語(yǔ)具有高度明晰的構(gòu)造,高效率的優(yōu)化系統(tǒng),是一種簡(jiǎn)單易學(xué),但又不乏其作為優(yōu)秀編程言語(yǔ)的特點(diǎn)。Delphi具有簡(jiǎn)單、高效、功能強(qiáng)大的特點(diǎn)。和VC相比,Delphi更簡(jiǎn)單、更易于掌握,而在功能上卻絲毫不遜色;和VB相
28、比,Delphi那么功能更強(qiáng)大、更適用。由于Delphi同時(shí)兼?zhèn)淞薞C功能強(qiáng)大和VB簡(jiǎn)單易學(xué)的特點(diǎn),因此它成為了程序員至愛(ài)的編程工具。Delphi的主要特性如下:Delphi是位運(yùn)用程序,運(yùn)用它可以開(kāi)發(fā)出各種功能強(qiáng)大的運(yùn)用程序;Delphi的編譯器是目前世界上最快的位本地代碼編譯器,運(yùn)用這種編譯器產(chǎn)生的運(yùn)轉(zhuǎn)文件EXE是獨(dú)立的,不需求鏈接運(yùn)轉(zhuǎn)時(shí)的解釋器DL;Delphi可充分發(fā)揚(yáng)Windows/NT和Windows NT的強(qiáng)大功能;Delphi提供了多種位可視組件;Delphi是一種面向?qū)ο蟮某绦蛟O(shè)計(jì)言語(yǔ),因此可做到對(duì)可視窗體的承繼;Delphi采用三層數(shù)據(jù)庫(kù)管理方式數(shù)據(jù)層、對(duì)象層、運(yùn)用程序?qū)樱?/p>
29、把例如數(shù)據(jù)模型、業(yè)務(wù)規(guī)那么、窗體和對(duì)象等集中存儲(chǔ)在對(duì)象存儲(chǔ)庫(kù)中;運(yùn)用程序可經(jīng)過(guò)在Delphi中運(yùn)用Borland公司提供的數(shù)據(jù)引擎BDE功能從而毫無(wú)妨礙地運(yùn)用多種數(shù)據(jù)庫(kù),例如Oracle、Sybase等;運(yùn)用Delphi提供的數(shù)據(jù)庫(kù)閱讀器。. 數(shù)據(jù)庫(kù)方案的實(shí)現(xiàn)目前常用的數(shù)據(jù)庫(kù)有Oracle、SQL、Server、Access和Mysql等,下面對(duì)這幾個(gè)主流的數(shù)據(jù)庫(kù)各自特點(diǎn)簡(jiǎn)單引見(jiàn)。Oracle數(shù)據(jù)庫(kù)系統(tǒng)是對(duì)象關(guān)系型數(shù)據(jù)庫(kù),支持大型多用戶數(shù)據(jù)系統(tǒng)和分布式數(shù)據(jù)庫(kù)和分布處置,具有可移植性和兼容性,普通用在大型事務(wù)處置及客戶效力器構(gòu)造的運(yùn)用系統(tǒng),但價(jià)錢昂貴,不適宜普通開(kāi)發(fā)運(yùn)用。SQL Server是基
30、于效力器端的中型的數(shù)據(jù)庫(kù),可以適宜大容量數(shù)據(jù)的運(yùn)用,在處置海量數(shù)據(jù)的效率,后臺(tái)開(kāi)發(fā)的靈敏性,可擴(kuò)展性等方面強(qiáng)大;是真正的客戶機(jī)效力器體系構(gòu)造,圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫(kù)管理更加直觀、簡(jiǎn)單;豐富的編程接口工具,為用戶進(jìn)展程序設(shè)計(jì)提供了更大的選擇余地:對(duì)網(wǎng)絡(luò)技術(shù)的支持,運(yùn)用戶可以很容易地將數(shù)據(jù)庫(kù)中的數(shù)據(jù)發(fā)布到網(wǎng)頁(yè)上。Mysql是一個(gè)開(kāi)放源碼的小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),目前被廣泛地運(yùn)用在Intemet上的中小型網(wǎng)站中。由于其體積小、速度快、總體本錢低,尤其是開(kāi)放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有本錢而選擇了Mysql作為網(wǎng)數(shù)據(jù)庫(kù)。Mysql可以支持Windows、UNIX、Li
31、nux和SUN OS等多種操作系統(tǒng)平臺(tái)。Access是微軟公司推出的基于Windows的桌面關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),是Office系列運(yùn)用軟件之一。它提供了表、查詢、窗體、報(bào)表、頁(yè)、宏和模塊來(lái)建立數(shù)據(jù)庫(kù)系統(tǒng)的對(duì)象;提供了多種導(dǎo)游、生成器和模板,把數(shù)據(jù)存儲(chǔ)、查詢、界面設(shè)計(jì)、報(bào)表生成等操作規(guī)范化等。幾種數(shù)據(jù)庫(kù)各有特點(diǎn),其中Access是一個(gè)中、小型數(shù)據(jù)庫(kù)管理系統(tǒng),運(yùn)用方便、功能強(qiáng)大、易操作并且很適用,它適宜數(shù)據(jù)量不太大的運(yùn)用,在處置數(shù)據(jù)庫(kù)時(shí)效率也很高。所以本課題選用Access作為數(shù)據(jù)庫(kù)平臺(tái),既可以滿足數(shù)據(jù)操作方便迅速的特點(diǎn),也可以降低軟件的開(kāi)發(fā)本錢。. 串口通訊的實(shí)現(xiàn)方法. 概述實(shí)踐中串口通訊程序的
32、開(kāi)發(fā)很少直接運(yùn)用API函數(shù),由于這會(huì)無(wú)謂的添加編程難度,也會(huì)給調(diào)試帶來(lái)諸多不便。在面向?qū)ο蠓椒ㄏ峦ǔ_\(yùn)用串口類(即串口函數(shù)庫(kù)),這樣編程效率即高,調(diào)試又方便。下面就從通訊API引見(jiàn)、串口類開(kāi)發(fā)這兩方面加以引見(jiàn)。l、串口通訊API函數(shù)根底通訊API函數(shù)是整個(gè)串口通訊程序的根底,串口類中的任何成員函數(shù)也只不過(guò)是對(duì)通訊API函數(shù)的封裝而己。通訊API函數(shù)所涉及的操作包括串口的翻開(kāi)、封鎖、初始化與讀寫等。()串口的翻開(kāi)與封鎖 Win系統(tǒng)把文件的概念進(jìn)展了擴(kuò)展,無(wú)論是文件、通訊設(shè)備、命名管道、郵槽、磁盤,還是控制臺(tái),都是用API函數(shù)Create File()來(lái)翻開(kāi)或創(chuàng)建的。假設(shè)翻開(kāi)勝利的話會(huì)前往一個(gè)串口
33、的句柄,運(yùn)用程序應(yīng)對(duì)這個(gè)句柄判別其有效性。當(dāng)不再運(yùn)用該串口句柄時(shí),應(yīng)該調(diào)用CloseHandle函數(shù)封鎖之,以方便其它運(yùn)用程序懇求對(duì)串口的控制權(quán)。()串口的初始化在翻開(kāi)串口后,經(jīng)常需求對(duì)串口進(jìn)展一些初始化任務(wù),這需求經(jīng)過(guò)一個(gè)DCB構(gòu)造來(lái)進(jìn)展。DCB構(gòu)造包含了諸如波特率、數(shù)據(jù)位數(shù)、奇偶校驗(yàn)和停頓位數(shù)等信息。在查詢或配置串行口的屬性時(shí),都要用DCB構(gòu)造來(lái)作為緩沖區(qū)。調(diào)用函數(shù)可以獲得串口的配置,該函數(shù)把當(dāng)前配置填充到一個(gè)DCB構(gòu)造中。普通在用CreateFile翻開(kāi)串行口后,就調(diào)用GetCommState()函數(shù)來(lái)獲取串行口的初始配置。要修正串行口的配置,應(yīng)該先修正DCB構(gòu)造,然后再調(diào)用SetCom
34、mState函數(shù)用指定的DCB構(gòu)造來(lái)設(shè)置串行口。除了在DCB中的設(shè)置外,程序普通還需求設(shè)置IO緩沖區(qū)的大小。Windows用陽(yáng)緩沖區(qū)來(lái)暫存串行口輸入和輸出的數(shù)據(jù),假設(shè)通訊的速率較高,那么應(yīng)該設(shè)置較大的緩沖區(qū)調(diào)用SctupCommO函數(shù)可以設(shè)置串行口的輸入和輸出緩沖區(qū)的大小。在對(duì)串口進(jìn)展讀寫的時(shí)候,需求思索超時(shí)問(wèn)題。超時(shí)有兩種:間隔超時(shí)和總超時(shí)。間隔超時(shí)是指在接納時(shí)兩個(gè)字符之間的最大時(shí)延,總超時(shí)是指讀寫操作總共破費(fèi)的最大時(shí)間。寫操作只支持總超時(shí),而讀操作兩種超時(shí)均支持。在用異步方式讀寫串行口時(shí),雖然在完成讀寫操作以前就能夠前往,但超時(shí)依然是起作用的。在這種情況下,超時(shí)規(guī)定的是操作的完成時(shí)間,而不
35、是讀寫函數(shù)的前往時(shí)間。()串口的讀寫控制這部分內(nèi)容關(guān)系到串行通訊的中心內(nèi)容,將分讀寫串口API函數(shù)、異步IO操作兩部分引見(jiàn)。讀寫串口API函數(shù):win中運(yùn)用ReadFile函數(shù)或者ReadFileEx數(shù)從串口中讀取數(shù)據(jù)。兩者區(qū)別是:前者對(duì)同步操作和異步操作都支持,而后者僅支持異步操作。eadFile函數(shù)第四個(gè)參數(shù),在讀操作之前應(yīng)置為。同樣,寫串口函數(shù)也有兩個(gè),一個(gè)是writeFile,另一個(gè)是writeFileEx前者同時(shí)支持同步操作和異步操作,而后者僅支持異步操作。寫函數(shù)不論在聲明方式上還是在運(yùn)用方法上都與ReadFile非常類似,詳細(xì)可以查看MSDN協(xié)助 文檔。異步IO操作:在用ReadF
36、ile和writeFile讀寫串行口時(shí),既可以同步執(zhí)行,也可以異步執(zhí)行。在同步執(zhí)行時(shí),函數(shù)直到操作完成后才前往。這意味著在同步執(zhí)行時(shí)線程會(huì)被阻塞,從而導(dǎo)致效率下降。在異步執(zhí)行時(shí),即使操作還未完成,調(diào)用的函數(shù)也會(huì)立刻前往。費(fèi)時(shí)的IO操作在后臺(tái)進(jìn)展,這樣線程就可以干別的事情。例如,線程可以在不同的端口上同時(shí)執(zhí)行IO操作,甚至可以在同一端口上同時(shí)進(jìn)展讀寫操作?!爱惒揭辉~的含義就在于此。ReadFile和writeFile()函數(shù)能否為異步操作方式是由CreateFile()函數(shù)決議的。假設(shè)在調(diào)用CreateFileO創(chuàng)建句柄時(shí)指定了ILE FLAG OVERLAPPED標(biāo)志,那么調(diào)用ReadFile
37、O和writeFileO對(duì)該句柄進(jìn)展的讀寫操作就是異步的,假設(shè)未指定異步標(biāo)志,那么讀寫操作是同步的。在設(shè)置了異步IO操作后,IO操作和函數(shù)前往有以下兩種情況:第一種,函數(shù)前往時(shí)IO操作己完成:此時(shí)結(jié)果好似是同步執(zhí)行的,但實(shí)踐上這是異步操作的結(jié)果。第二種,函數(shù)前往時(shí)IO操作還沒(méi)完成:此時(shí)一方面,函數(shù)前往值為,并且GetLastErrorO函數(shù)前往ERROR IO PENDING;另一方面,系統(tǒng)把OVERLAPPED中的信號(hào)事件設(shè)為無(wú)信號(hào)形狀。當(dāng)IO操作完成后,系統(tǒng)將它設(shè)置為有信號(hào)形狀。假設(shè)GetLastError函數(shù)返IEIERROR IO PENDING,那么闡明異步操作還沒(méi)完成,線程可以等待
38、操作完成。有兩種等待方法:一種方法是用像WaitForSingleObject這樣的等待函數(shù)來(lái)等待OVERLAPPED構(gòu)造的hEvent成員,可以規(guī)定等待的時(shí)間,在等待函數(shù)前往后,調(diào)用GetOverlappedResult。另一種方法是用GetOverlappedResult()函數(shù)等待,假設(shè)指定該函數(shù)的bWait參數(shù)為TRUE,那么該函數(shù)將等待OVERLAPPED構(gòu)造的hEvent事件,并且只需當(dāng)IO操作完成后方前往(實(shí)踐上這又變成了同步方式)。同時(shí)GetOverlappedResultoi函數(shù)可以前往一個(gè)OVERLAPPED。構(gòu)造來(lái)報(bào)告包括實(shí)踐傳輸字節(jié)在內(nèi)的重疊操作結(jié)果。、串口類的開(kāi)發(fā)串口
39、類是對(duì)通訊API函數(shù)進(jìn)展最普通的封裝,以便可以運(yùn)用于不同的串口運(yùn)用程序開(kāi)發(fā)中。如今開(kāi)發(fā)串口運(yùn)用程序的方法很多,如微軟的MSCcomm控件,但是MSComm本身存在一定的弊端,如只能發(fā)送ASCII碼等。從用戶角度講上位機(jī)串口通訊模塊的運(yùn)用流程普通分四個(gè)步驟,即“初始化并翻開(kāi)串口一監(jiān)視串口讀寫串-封鎖串口。. 串口通訊API函數(shù)的實(shí)現(xiàn)原理實(shí)踐中串口通訊程序的開(kāi)發(fā)很少直接運(yùn)用API函數(shù),由于這會(huì)無(wú)謂的添加編程難度,也會(huì)給調(diào)試帶來(lái)諸多不便。在面向?qū)ο蠓椒ㄏ峦ǔ_\(yùn)用串口類(即串口函數(shù)庫(kù)),這樣編程效率即高,調(diào)試又方便。通訊API函數(shù)是整個(gè)串口通訊程序的根底,串口類中的任何成員函數(shù)也只不過(guò)是對(duì)通訊API函
40、數(shù)的封裝而己。通訊API函數(shù)所涉及的操作包括串口的翻開(kāi)、封鎖、初始化與讀寫等。 ()串口的翻開(kāi)與封鎖Win系統(tǒng)把文件的概念進(jìn)展了擴(kuò)展,無(wú)論是文件、通訊設(shè)備、命名管道、郵槽、磁盤,還是控制臺(tái),都是用API函數(shù)CreateFile()來(lái)翻開(kāi)或創(chuàng)建的。假設(shè)翻開(kāi)勝利的話會(huì)前往一個(gè)串口的句柄,運(yùn)用程序應(yīng)對(duì)這個(gè)句柄判別其有效性。當(dāng)不再運(yùn)用該串口句柄時(shí),應(yīng)該調(diào)用CloseHandle函數(shù)封鎖之,以方便其它運(yùn)用程序懇求對(duì)串口的控制權(quán)。 ()串口的初始化在翻開(kāi)串口后,經(jīng)常需求對(duì)串口進(jìn)展一些初始化任務(wù),這需求經(jīng)過(guò)一個(gè)DCB構(gòu)造來(lái)進(jìn)展。DCB構(gòu)造包含了諸如波特率、數(shù)據(jù)位數(shù)、奇偶校驗(yàn)和停頓位數(shù)等信息。在查詢或配置串行
41、口的屬性時(shí),都要用DCB構(gòu)造來(lái)作為緩沖區(qū)。調(diào)用函數(shù)可以獲得串口的配置,該函數(shù)把當(dāng)前配置填充到一個(gè)DCB構(gòu)造中。普通在CreateFile翻開(kāi)串行口后,就調(diào)用GetCommState()i函l數(shù)來(lái)獲取串行口的初始配置修正串行口的配置,應(yīng)該先修正DCB構(gòu)造,然后再調(diào)用SetCommState函數(shù)用指定的DCB構(gòu)造來(lái)設(shè)置串行口。除了在DCB中的設(shè)置外,程序普通還需求設(shè)置IO緩沖區(qū)的大小。Windows用陽(yáng)緩沖區(qū)來(lái)暫存串行口輸入和輸出的數(shù)據(jù),假設(shè)通訊的速率較高,那么應(yīng)該設(shè)置較大的緩沖區(qū)調(diào)用SctupCommOi函數(shù)可以設(shè)置串行口的輸入和輸出緩沖區(qū)的大小。在對(duì)串口進(jìn)展讀寫的時(shí)候,需求思索超時(shí)問(wèn)題。超時(shí)有
42、兩種:間隔超時(shí)和總超時(shí)。間隔超時(shí)是指在接納時(shí)兩個(gè)字符之間的最大時(shí)延,總超時(shí)是指讀寫操作總共破費(fèi)的最大時(shí)間。寫操作只支持總超時(shí),而讀操作兩種超時(shí)均支持。在用異步方式讀寫串行口時(shí),雖然在完成讀寫操作以前就能夠前往,但超時(shí)依然是起作用的。在這種情況下,超時(shí)規(guī)定的是操作的完成時(shí)間,而不是讀寫函數(shù)的前往時(shí)間。 ()串口的讀寫控制這部分內(nèi)容關(guān)系到串行通訊的中心內(nèi)容,將分讀寫串口API函數(shù)、異步IO操作兩部分引見(jiàn)。讀寫串口API函數(shù):win中運(yùn)用ReadFile函數(shù)或者ReadFileEx數(shù)從串口中讀取數(shù)據(jù)。兩者區(qū)別是:前者對(duì)同步操作和異步操作都支持,而后者僅支持異步操作。ReadFile函數(shù)第四個(gè)參數(shù),在
43、讀操作之前應(yīng)置為。同樣,寫串口函數(shù)也有兩個(gè),一個(gè)是writeFile,另一個(gè)是writeFileEx前者同時(shí)支持同步操作和異步操作,而后者僅支持異步操作。寫函數(shù)不論在聲明方式上還是在運(yùn)用方法上都與ReadFile非常類似,詳細(xì)可以查看MSDN協(xié)助 文檔。 異步IO操作:在用ReadFile和writeFile讀寫串行口時(shí),既可以同步執(zhí)行,也可以異步執(zhí)行。在同步執(zhí)行時(shí),函數(shù)直到操作完成后才前往。這意味著在同步執(zhí)行時(shí)線程會(huì)被阻塞,從而導(dǎo)致效率下降。在異步執(zhí)行時(shí),即使操作還未完成,調(diào)用的函數(shù)也會(huì)立刻前往。費(fèi)時(shí)的IO操作在后臺(tái)進(jìn)展,這樣線程就可以干別的事情。例如,線程可以在不同的端口上同時(shí)執(zhí)行IO操作
44、,甚至可以在同一端口上同時(shí)進(jìn)展讀寫操作。“異步一詞的含義就在于此。ReadFile和writeFile(i)函數(shù)能否為異步操作方式是由CreateFile函數(shù)決議的。假設(shè)在調(diào)用CreateFileO創(chuàng)建句柄時(shí)指定了FILE FLAG OVERLAPPED標(biāo)志,那么調(diào)用ReadFileO和writeFileO對(duì)該句柄進(jìn)展的讀寫操作就是異步的,假設(shè)未指定異步標(biāo)志,那么讀寫操作是同步的。. 串口類的開(kāi)發(fā)串口類是對(duì)通訊API函數(shù)進(jìn)展最普通的封裝,以便可以運(yùn)用于不同的串口運(yùn)用程序開(kāi)發(fā)中。如今開(kāi)發(fā)串口運(yùn)用程序的方法很多,如微軟的MSCcomm控件,但是MSComm本身存在一定的弊端,如只能發(fā)送ASCII碼
45、等。從用戶角度講上位機(jī)串口通訊模塊的運(yùn)用流程普通分四個(gè)步驟,即“初始化并翻開(kāi)串口-監(jiān)視串口-讀寫串口-封鎖串口。封裝串口類CMyCom的成員函數(shù)時(shí)也正是基于這種了解,各成員函數(shù)引見(jiàn)如下:()初始化并翻開(kāi)串口函數(shù)函數(shù)聲明方式:BOOL CMyCom:InitMyCom(int nPort,int nBaud,int nDataBits,int nStopBits)參數(shù)含義:nPort為端口號(hào),支持串口l至串口;nBaud為波特率,支持常用波特率如baud;nDataBits為數(shù)據(jù)位數(shù),支持位:nStopBits為停頓位數(shù),支持位;前往值:當(dāng)設(shè)置勝利后,前往值為TRUE;失敗時(shí),前往值為FALSE
46、;實(shí)現(xiàn)原理:本函數(shù)只支持操作一個(gè)串口。程序根據(jù)串口配置情況調(diào)用CreateFile函數(shù)翻開(kāi)串口,隨后啟動(dòng)串口監(jiān)視野程等待應(yīng)對(duì)數(shù)據(jù)。 圖-InitMyCom()函數(shù)流程圖()寫串口函數(shù)。函數(shù)聲明方式:BOOL CMyCom:WriteMyCom(char*bur,DWORD dwBufLen)參數(shù)含義:buf為待發(fā)命令的緩沖區(qū)指針,dwBufLen待發(fā)字符。前往值:前往值為實(shí)踐發(fā)送的字符數(shù);實(shí)現(xiàn)原理:該函數(shù)調(diào)用WriteFileO發(fā)送命令并調(diào)用GetOverlappedResult函數(shù)前往實(shí)踐發(fā)送的字符。第四章 運(yùn)用SPComm控件實(shí)現(xiàn)串口通訊Delphi可以利用的眾多串行通訊控件中,SPCom
47、m控件可謂是最簡(jiǎn)單,功能比較強(qiáng)大的一種。它支持Data Bits(數(shù)據(jù)位)、Parity(奇偶校驗(yàn))、Stop Bits等設(shè)置,支持Read/Write,Timing Control(時(shí)序控制),Read Interval Timeout(讀延續(xù)超時(shí)控制),WriteInterval Timeout(寫延續(xù)超時(shí)控制)等,同時(shí)還支持DTR/DSR,RTS/DTS等硬件流程控制及Xon/Xoff(握手協(xié)議)軟件流程控制,是比較完善的控件。.安裝SPComm控件從互聯(lián)網(wǎng)能下載SPComm控件。選擇下拉菜單Component中的Install Component選項(xiàng),在Unit filename處填寫
48、SPComm控件所在的途徑,其他各項(xiàng)可用默許值,點(diǎn)擊OK按鈕。如圖-安裝后,在System控件面板中將出現(xiàn)一個(gè)紅色控件COM。如今就可以像Delphi自帶控件一樣運(yùn)用COM控件了。圖- 安裝SPComm控件. SPComm的主要屬性,方法和事件. 屬性CommName:填寫COM,COM等串口的名字,在翻開(kāi)串口前,必需填寫好此值。BaudRate:設(shè)定波特率 , 等,根據(jù)實(shí)踐需求來(lái)定,在串口翻開(kāi)后也可更改波特率,實(shí)踐波特率隨之更改。ParityCheck:奇偶校驗(yàn)。ByteSize:字節(jié)長(zhǎng)度, , , 等,根據(jù)實(shí)踐情況設(shè)定。Parity:奇偶校驗(yàn)位。pBits:停頓位。SendDataEmpt
49、y:這是一個(gè)布爾屬性,為True時(shí)表示發(fā)送緩存為空,或者發(fā)送隊(duì)列里沒(méi)有信息;為False時(shí)表示發(fā)送緩存不為空,或者發(fā)送隊(duì)列里有信息。. 方法Startcomm方法用于翻開(kāi)串口,當(dāng)翻開(kāi)失敗時(shí)通常會(huì)報(bào)錯(cuò)。錯(cuò)誤主要有種:串口曾經(jīng)翻開(kāi);翻開(kāi)串口錯(cuò)誤;文件句柄不是通訊句柄;不可以安裝通訊緩存;不能產(chǎn)惹事件;不能產(chǎn)生讀進(jìn)程;不能產(chǎn)生寫進(jìn)程。StopComm過(guò)程用于封鎖串口,沒(méi)有前往值。WriteCommData(pDataToWrite: PChar; dwSi-zeofDataToWrite:Word ):boolean用于發(fā)送一個(gè)字符串到寫線程,發(fā)送勝利前往True,發(fā)送失敗前往False,執(zhí)行此函數(shù)
50、將立刻得到前往值,發(fā)送操作隨后執(zhí)行。函數(shù)有兩個(gè)參數(shù),其中pDataToWrite是要發(fā)送的字符串, dwSi-zeofDataToWrite是發(fā)送的長(zhǎng)度。. 事件 OnReceiveData:procedure(Sender:TObject;Buffer:Pointer;BufferLength:Word) of object當(dāng)輸入緩存有數(shù)據(jù)時(shí)將觸發(fā)該事件,在這里可以對(duì)從串口收到的數(shù)據(jù)進(jìn)展處置。Buffer中是收到的數(shù)據(jù),Buff-erLength是收到的數(shù)據(jù)長(zhǎng)度。OnReceiveError:procedure(Sender: TObject; Event-ask:DWORD)當(dāng)接受數(shù)據(jù)時(shí)出
51、現(xiàn)錯(cuò)誤將觸發(fā)該事件。. SPComm的運(yùn)用以實(shí)現(xiàn)PC機(jī)與單片機(jī)之間的通訊為例,首先要調(diào)通他們之間的握手信號(hào)。假定他們之間的通訊協(xié)議是:PC到一幀數(shù)據(jù)個(gè)字節(jié),到PC一幀數(shù)據(jù)也為個(gè)字節(jié)。當(dāng)PC發(fā)出(F,FF,FF,F)后能收到一幀(F,FF,FF,F),表示數(shù)據(jù)通訊握手勝利,兩者之間就可以按照協(xié)議相互傳輸數(shù)據(jù)。創(chuàng)建一個(gè)新的工程COMM.DPR,把窗體的標(biāo)題定義為單片機(jī)串口通訊:圖- 單片機(jī)串口通訊窗口實(shí)現(xiàn)PC機(jī)與單片機(jī)之間的數(shù)據(jù)發(fā)送及接納詳細(xì)步驟:初始化并翻開(kāi)串口需求選擇本次通訊運(yùn)用的串口,確定通訊協(xié)議,即設(shè)置波特率、校驗(yàn)方式、數(shù)據(jù)位、停頓位等屬性,翻開(kāi)該串口。代碼如下:初始化并翻開(kāi)串口:Comm
52、lBaudRate:=; 波特率bpsCommlParity:=None; 奇偶檢驗(yàn)無(wú)CommlByteSize:=: 數(shù)據(jù)位CommlStopBits:=l; 停頓位CommlStartComm: 翻開(kāi)串口()建立握手信號(hào)實(shí)現(xiàn)PC機(jī)與單片機(jī)之間的通訊,首先要調(diào)通它們之間的握手信號(hào),握手信號(hào)可以隨意選擇某特定字符串,當(dāng)Pc發(fā)出這樣一幀數(shù)據(jù)后,經(jīng)過(guò)接納事件能收到單片機(jī)前往的這一幀數(shù)據(jù)或特定的某字符串,那么表示握手勝利,系統(tǒng)通訊正常。兩者之間就可以按照協(xié)議相互傳輸數(shù)據(jù)。否那么需重新建立握手信號(hào)。()發(fā)送數(shù)據(jù)在編寫基于串口的計(jì)算機(jī)工業(yè)測(cè)控時(shí),通常需求由PC機(jī)向下位機(jī)發(fā)送命令以控制下位機(jī)的行為,同時(shí)向
53、下位機(jī)發(fā)送有關(guān)數(shù)據(jù)。利用SPCOMM串口控件向下位機(jī)發(fā)送數(shù)據(jù)代碼如下:發(fā)送數(shù)據(jù)和控制子程序procedure senddata;vari:integer;commflg:Boolean;begincommflg:=true;for i:=l to dobeginif not fcomm comml writecommdata(sendbutter,i)thenbeginCommflg=false;break;end;end;end;()接納數(shù)據(jù)在編寫基于串口的計(jì)算機(jī)工業(yè)測(cè)控時(shí),通常需求由下位機(jī)向PC機(jī)發(fā)送數(shù)據(jù)以使PC機(jī)了解系統(tǒng)的測(cè)試數(shù)據(jù)或下位機(jī)的運(yùn)轉(zhuǎn)形狀,并進(jìn)而控制下位機(jī)的行為。利用SPCOM
54、M串口控件接納下位機(jī)發(fā)送的數(shù)據(jù)信息的代碼如下:事件驅(qū)動(dòng)方式接納數(shù)據(jù)程序procedure TForm CommlReceiveData(Sender:Tobject;Buffer:Pointer;bufferLength:Word);varreceivedata:array ofbyte;beginsleep(); 等待lOOms,保證接納到一切數(shù)據(jù)move(buffef,receivedata,bufferlength); 將接納緩存區(qū)中的數(shù)據(jù)轉(zhuǎn)移到數(shù)組中end;()封鎖串口在系統(tǒng)開(kāi)發(fā)中,應(yīng)留意在不運(yùn)用串口時(shí)應(yīng)及時(shí)封鎖串口,釋放系統(tǒng)資源,否那么能夠會(huì)影響系統(tǒng)的其它運(yùn)用。封鎖串口的代碼如下:p
55、rocedure TFormlFormClose(Sender;TObj ect:var Action:TCIoseAction);begincommlStopComm;end;第五章 上位機(jī)軟件設(shè)計(jì). 系統(tǒng)設(shè)計(jì)概述本軟件采用模塊化設(shè)計(jì)方案,以系統(tǒng)主界面模塊為主導(dǎo),實(shí)現(xiàn)用戶等級(jí)管理等主要功能,這樣可以使整個(gè)軟件構(gòu)造層次化,且更易于維護(hù)和晉級(jí)。圖- 軟件模塊構(gòu)造圖.數(shù)據(jù)庫(kù)平臺(tái)的選擇數(shù)據(jù)庫(kù)平臺(tái)選用Microsoft Access ,Access是office中文版的組件之一,是一個(gè)中、小型數(shù)據(jù)庫(kù)管理系統(tǒng),運(yùn)用方便、功能強(qiáng)大,與其它數(shù)據(jù)庫(kù)有良好的接口。Access具有完好的數(shù)據(jù)庫(kù)運(yùn)用開(kāi)發(fā)工具,用戶可
56、以方便地設(shè)計(jì)、修正、閱讀一個(gè)記錄數(shù)據(jù)的根本表;可以在表數(shù)據(jù)中進(jìn)展各種挑選和查詢操作;可以設(shè)計(jì)和運(yùn)用各種窗體以實(shí)現(xiàn)數(shù)據(jù)顯示和操作;可以根據(jù)表數(shù)據(jù)設(shè)計(jì)打印各種報(bào)表;對(duì)表進(jìn)展一系列特定的操作。Access內(nèi)有強(qiáng)大的操作導(dǎo)游,為用戶提供了豐富的數(shù)據(jù)庫(kù)根本表模板。用戶只需簡(jiǎn)單的操作就可建立數(shù)據(jù)庫(kù)中所運(yùn)用的各種根本表、窗體和報(bào)表。在Access中,可以設(shè)定、修正根本表之間的關(guān)聯(lián),從而實(shí)如今多個(gè)相關(guān)表之間的關(guān)系查詢。Access中的宏可以實(shí)現(xiàn)操作的自動(dòng)化,使操作更加簡(jiǎn)單、快捷。Access不僅可以處置本身的數(shù)據(jù)庫(kù)文件,還可以處置其它一些數(shù)據(jù)庫(kù)系統(tǒng)管理軟件所建立的數(shù)據(jù)庫(kù)文件,能識(shí)別dBase、FOxBase、
57、FoxPrO、Paradox、Btrieve等數(shù)據(jù)庫(kù)格式文件,并且支持開(kāi)放式數(shù)據(jù)庫(kù)互連性規(guī)范(ODBc)的SQL。倒與其它的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)相比,Access具有以下優(yōu)點(diǎn):(l)存儲(chǔ)文件單一。Access的一個(gè)數(shù)據(jù)庫(kù)文件中包含了該數(shù)據(jù)庫(kù)中的全部數(shù)據(jù)表、查詢、窗體、報(bào)表等一切數(shù)據(jù),便于管理。()支持長(zhǎng)文件名,并可以在文件名內(nèi)加空格,使文件便于了解、查找。()具有強(qiáng)大的網(wǎng)絡(luò)功能,可經(jīng)過(guò)網(wǎng)絡(luò)傳送數(shù)據(jù)。()運(yùn)用簡(jiǎn)便,用戶無(wú)需了解編程言語(yǔ),便可輕松地設(shè)計(jì)和開(kāi)發(fā)數(shù)據(jù)庫(kù)運(yùn)用程序。()可以處置多種數(shù)據(jù)信息,如文本文件和其它數(shù)據(jù)庫(kù)文件。. 串口通訊在本系統(tǒng)中的實(shí)現(xiàn)串口通訊模塊是本遠(yuǎn)程監(jiān)測(cè)軟件的重要組成部分之
58、一,是上位機(jī)與下位機(jī)進(jìn)展正常通訊的重要根據(jù)。能否及時(shí)準(zhǔn)確的接受溫濕度,光線監(jiān)測(cè)數(shù)據(jù)在很大程度上取決于通訊協(xié)議和通訊流程的設(shè)計(jì),本軟件采用自定義的通訊協(xié)議,有效地防止了數(shù)據(jù)碰撞的景象,提高了通訊的質(zhì)量與速度,減輕了通訊量的負(fù)荷,降低了程序的復(fù)雜度。.通訊協(xié)議的設(shè)計(jì)l、通訊模型的設(shè)計(jì)在確定通訊流程與通訊格式之前,應(yīng)該首先明確通訊方式,即明確上、下位機(jī)之間將采用什么組網(wǎng)方式及什么通訊規(guī)約的問(wèn)題。根據(jù)本課題研討的對(duì)象和主要目的,選擇采用總線型網(wǎng)絡(luò)構(gòu)造、主從通訊方式將更能滿足上、下位機(jī)即時(shí)通訊的需求,實(shí)現(xiàn)最終目的。應(yīng)該思索運(yùn)用負(fù)載才干更的RS協(xié)議。RS協(xié)議是為彌補(bǔ)RS的缺乏而提出的,它改良了RS通訊間隔
59、 短、速率低的缺陷,具有更強(qiáng)的抗干擾與負(fù)載才干,允許在一條平衡總線上銜接最多個(gè)收發(fā)器,支持半、全雙工通訊。RS只對(duì)物理接口的電氣特性做規(guī)定,因此需求用戶建立本人的高層通訊協(xié)議。在通訊過(guò)程中,通訊設(shè)備雙方是相互獨(dú)立的。這也就是說(shuō),通訊中數(shù)據(jù)的傳輸存在著不可確定性,即一方通訊設(shè)備向另一方發(fā)完數(shù)據(jù)后,并不知道另一方能否正確收到。能否很好的抑制這種客觀存在的不可確定性,完全取決于通訊協(xié)議中通訊流程的設(shè)計(jì)。詳細(xì)協(xié)議表如下:步驟上位機(jī)方向單片機(jī)待機(jī)形狀待機(jī)形狀發(fā)送“EE 未收到數(shù)據(jù)不動(dòng)作兩秒鐘內(nèi)未接納“DD顯示通訊失敗,前往步驟假設(shè)收到數(shù)據(jù)回復(fù)“DD表示收到開(kāi)場(chǎng)接納數(shù)據(jù)發(fā)送當(dāng)前溫濕度,光線情況數(shù)據(jù)回復(fù)“C
60、C表示收到每秒反復(fù)步驟周期一次前往步驟待機(jī)形狀、通訊流程的設(shè)計(jì)通常他們判別上位機(jī)所發(fā)出的命令信息能否被下位機(jī)正確接納到的根據(jù)是下位機(jī)的應(yīng)對(duì)。下位機(jī)應(yīng)對(duì)的能夠性有四種情況:第一種是所求數(shù)據(jù)的應(yīng)對(duì)(當(dāng)勝利執(zhí)行時(shí));第二種是表示命令執(zhí)行失敗的應(yīng)對(duì);第三種是表示未能勝利接納上位機(jī)所發(fā)命令的應(yīng)對(duì);第四種是在規(guī)定時(shí)間內(nèi)未接納到任何應(yīng)對(duì)。當(dāng)上位機(jī)遇到除第一種情況以外的其它三種情況時(shí),常規(guī)做法會(huì)重發(fā)命令幀,但在本監(jiān)測(cè)軟件中就不允許重發(fā),由于引起后三種情況的緣由有很多,如下位機(jī)沒(méi)有正確接納到上位機(jī)的命令幀:下位機(jī)執(zhí)行命令時(shí)出錯(cuò):下位機(jī)雖然執(zhí)行完命令,但上位機(jī)接納的應(yīng)對(duì)幀有誤:下位機(jī)死機(jī)等等,假設(shè)對(duì)這些情況逐一處
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 第四單元《 參考活動(dòng)1 制作風(fēng)力發(fā)電機(jī)》教學(xué)設(shè)計(jì) -2023-2024學(xué)年初中綜合實(shí)踐活動(dòng)蘇少版八年級(jí)上冊(cè)
- 2023-2024學(xué)年高中信息技術(shù)選擇性必修1(浙教版2019)數(shù)據(jù)與數(shù)據(jù)結(jié)構(gòu)-教學(xué)設(shè)計(jì)-4.3-抽象數(shù)據(jù)類型
- 2024湖南懷化市新晃侗族自治縣招聘國(guó)有企業(yè)工作人員擬聘用人員筆試參考題庫(kù)附帶答案詳解
- 2024浙江金華軌道交通集團(tuán)招聘161人筆試參考題庫(kù)附帶答案詳解
- 主題意義引領(lǐng)下的小學(xué)英語(yǔ)跨學(xué)科教學(xué)策略探究
- 第5課 一起去看流星雨 教學(xué)設(shè)計(jì) -2023-2024學(xué)年遼師大版(2015)信息技術(shù)八年級(jí)上冊(cè)
- 2023-2024學(xué)年人教版高中信息技術(shù)必修一第三章第四節(jié)《數(shù)據(jù)分析報(bào)告與應(yīng)用》教學(xué)設(shè)計(jì)
- 2024年浙江嵊州市水務(wù)投資發(fā)展集團(tuán)有限公司員工招聘25人筆試參考題庫(kù)附帶答案詳解
- 2024年度長(zhǎng)江產(chǎn)投公司招聘4人筆試參考題庫(kù)附帶答案詳解
- 2024年宿州泗縣縣屬國(guó)有企業(yè)公開(kāi)招聘工作人員33人筆試參考題庫(kù)附帶答案詳解
- 兒童福利機(jī)構(gòu)安全管理規(guī)范
- 人工智能技術(shù)應(yīng)用專業(yè)調(diào)研報(bào)告
- 鞋類制造過(guò)程的節(jié)能與減排
- 第1課 おじぎ 課件高中日語(yǔ)人教版第一冊(cè)-1
- 08SG510-1 輕型屋面平行弦屋架(圓鋼管、方鋼管)
- 事前績(jī)效評(píng)估具體工作實(shí)施方案
- 六年級(jí)下冊(cè)語(yǔ)文第一單元測(cè)試卷 部編版(含答案)
- 2024年湖南高速鐵路職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)新版
- 《研學(xué)旅行市場(chǎng)營(yíng)銷》課件-研學(xué)旅行市場(chǎng)營(yíng)銷之社群營(yíng)銷
- 醫(yī)美機(jī)構(gòu)客戶滿意度調(diào)查表
- clsim100-32藥敏試驗(yàn)標(biāo)準(zhǔn)2023中文版
評(píng)論
0/150
提交評(píng)論