2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p>  基于串行口的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)</p><p>  摘要:數(shù)據(jù)采集在日常生活中有著廣泛的應(yīng)用,特別是在一些對(duì)數(shù)據(jù)的準(zhǔn)確性,實(shí)時(shí)性要求比較高的場合,需要設(shè)計(jì)專用的電路來實(shí)現(xiàn)系統(tǒng)的需求,而系統(tǒng)的功能的實(shí)現(xiàn),與我們對(duì)元器件的選型,設(shè)計(jì)搭建的電路有直接的關(guān)系,它們直接影響著系統(tǒng)對(duì)外界環(huán)境的感知和響應(yīng)能力,決定著系統(tǒng)的性能。 數(shù)據(jù)采集在工業(yè)控制領(lǐng)域有著廣泛的需求,本設(shè)計(jì)是實(shí)現(xiàn)基于串行口的數(shù)據(jù)采集系

2、統(tǒng),以采集周圍的環(huán)境溫度為采集對(duì)象,以STC89C51單片機(jī)作為下位機(jī),以PC機(jī)作為上位機(jī),使用9針串口來實(shí)現(xiàn)下位機(jī)和上位機(jī)的通訊。通過在PC機(jī)上使用VB6.0開發(fā)軟件來開發(fā)實(shí)現(xiàn)數(shù)據(jù)接收顯示控制界面。系統(tǒng)調(diào)試結(jié)果表明,該系統(tǒng)設(shè)計(jì)合理,對(duì)周邊環(huán)境溫度的變化反應(yīng)敏感,數(shù)據(jù)采集的波特率達(dá)到9600bps.</p><p>  關(guān)鍵字:數(shù)據(jù)采集系統(tǒng)、STC89C51單片機(jī)、串口通信、VB </p><

3、p><b>  中圖分類號(hào):TP2</b></p><p>  Design of Data Acquisition System Base on Serial Communication</p><p>  ABSTRACT: Data collection is widely applied in daily life, especially in the

4、place which is very high request in data accuracy, real time display. A special circuit is need to be designed to realize it. Also, it have much connection with the sensor and circuit design , they influence the system’

5、s sensor and response ability very much , it directly determined the system’s character.</p><p>  Nowadays, Data collection is widely requested in the industry control area. The system is designed to realize

6、 the data acquisition according to the serial port , collecting the temperature around the environment as collection object , use STC89C51 single-chip microcomputer as down machine , use personal computer as upper machi

7、ne , use 9 pin serial port to realize the down SCM and upper PC’s communication . A display control form was made use the VB6.0 software . The experiment have done display</p><p>  關(guān)鍵詞:data collection system

8、;STC89C51 single-chip microcomputer;serial communication;Visual Basic</p><p><b>  中圖分類號(hào):TP2</b></p><p><b>  目 次</b></p><p><b>  摘要I</b></p&

9、gt;<p>  ABSTRACTII</p><p><b>  目次III</b></p><p><b>  1緒論1</b></p><p>  1.1研究的背景和意義1</p><p>  1.2數(shù)據(jù)采集系統(tǒng)的研究現(xiàn)狀1</p><p>  

10、1.3研究思路和方法比較2</p><p><b>  1.4本章小結(jié)3</b></p><p>  2 基于串行口的數(shù)據(jù)采集系統(tǒng)的總體設(shè)計(jì)與分析4</p><p>  2.1 基于串行口的數(shù)據(jù)采集系統(tǒng)的總體設(shè)計(jì)思想4</p><p>  2.2 設(shè)計(jì)方案與論證4</p><p>  2

11、.3 本章小結(jié)5</p><p>  3 下位機(jī)的設(shè)計(jì)6</p><p>  3.1傳感器的選擇6</p><p>  3.2 TTL與RS232電平的轉(zhuǎn)換7</p><p>  3.3單片機(jī)電路設(shè)計(jì)8</p><p>  3.4系統(tǒng)總的電路設(shè)計(jì)實(shí)現(xiàn)8</p><p>  3.5本章

12、小結(jié)10</p><p>  4 上位機(jī)的設(shè)計(jì)11</p><p>  4.1 Visual Basic 設(shè)計(jì)介紹11</p><p>  4.2 Visual Basic 設(shè)計(jì)實(shí)現(xiàn)12</p><p>  4.3 本章小結(jié)13</p><p>  5 系統(tǒng)結(jié)果和分析14</p><p&

13、gt;  5.1 實(shí)驗(yàn)調(diào)試與結(jié)果14</p><p>  5.2 本章小結(jié)18</p><p><b>  6總結(jié)19</b></p><p><b>  參考文獻(xiàn)20</b></p><p>  附錄(下位機(jī)實(shí)現(xiàn)程序代碼)21</p><p><b> 

14、 個(gè)人簡歷22</b></p><p>  學(xué)位論文數(shù)據(jù)集23</p><p><b>  1 緒論</b></p><p>  1.1 研究的背景和意義</p><p>  在計(jì)算機(jī)廣泛應(yīng)用的今天,數(shù)據(jù)采集在很多領(lǐng)域有著十分重要的應(yīng)用。它是實(shí)現(xiàn)計(jì)算機(jī)與外部設(shè)備交互的橋梁。在工業(yè)、工程、生產(chǎn)車間等部門

15、,尤其是在對(duì)信息實(shí)時(shí)性能要求較高和惡劣的工作環(huán)境下更加體現(xiàn)了數(shù)據(jù)采集的重要性。由于這些生產(chǎn)場所環(huán)境條件比較惡劣,不方便在現(xiàn)場處理數(shù)據(jù),但有些實(shí)際生產(chǎn)又需要利用實(shí)時(shí)處理后的數(shù)據(jù)支持后面的生產(chǎn),并且由于數(shù)據(jù)采集系統(tǒng)的應(yīng)用范圍越來越廣,對(duì)采集信號(hào)的要求也越來越高。借助計(jì)算機(jī)強(qiáng)大的數(shù)據(jù)處理功能來對(duì)檢測到的數(shù)據(jù)進(jìn)行分析,處理顯得越來越重要,在這當(dāng)中,信號(hào)的傳輸與交互就顯得十分重要,為了提高系統(tǒng)的性價(jià)比,一般采用單片機(jī)來采集數(shù)據(jù),再把數(shù)據(jù)傳給計(jì)算機(jī)

16、進(jìn)行處理,通過通信協(xié)議來實(shí)現(xiàn)PC機(jī)(上位機(jī))與單片機(jī)(下位機(jī))的通訊,開發(fā)VB界面來實(shí)時(shí)顯示和監(jiān)控采集到的數(shù)據(jù)。</p><p>  1.2 數(shù)據(jù)采集系統(tǒng)的研究現(xiàn)狀</p><p>  1.2.1 常見數(shù)據(jù)采集系統(tǒng)的組成</p><p>  現(xiàn)代科學(xué)技術(shù)的發(fā)展對(duì)系統(tǒng)的在速度、響應(yīng)能力、精度、帶負(fù)載能力、功耗及抗噪聲,干擾能力等方面的要求也越來越高。一個(gè)常見的數(shù)據(jù)

17、采集系統(tǒng)包括如下幾部分:</p><p><b>  ⑴ 信號(hào)采集元件 </b></p><p>  負(fù)責(zé)從數(shù)據(jù)現(xiàn)場收集數(shù)據(jù)。一般地,它由傳感器來感應(yīng)探測信號(hào),把需要被測量的信號(hào)轉(zhuǎn)化為電流或者電壓的形式,通過這種對(duì)應(yīng)的轉(zhuǎn)換形式,方便了我們對(duì)信號(hào)的探索與研究。</p><p>  (2) 信號(hào)放大電路</p><p>  

18、由傳感器感測到的信號(hào)往往很微弱,為了方便對(duì)信號(hào)的分析和研究,我們需要對(duì)信號(hào)進(jìn)行放大處理,在放大信號(hào)的同時(shí),通常也放到了那些干擾信號(hào),所以我們?cè)诜糯笮盘?hào)的同時(shí),針對(duì)那些干擾信號(hào),有時(shí)我們也要設(shè)計(jì)一些減弱噪聲,減少干擾的電路還提高系統(tǒng)的穩(wěn)定性和精度(如設(shè)計(jì)濾波電路)。</p><p><b> ?。?)模數(shù)轉(zhuǎn)換電路</b></p><p>  我們通過傳感器產(chǎn)生的信號(hào),經(jīng)

19、過放大電路的處理,電路中流通的信號(hào)是模擬信號(hào),而我們對(duì)信號(hào)的后續(xù)處理,往往是借助數(shù)字系統(tǒng),所以我們需要通過模數(shù)轉(zhuǎn)換,把模擬信號(hào)量化為相應(yīng)的數(shù)字信號(hào)。</p><p><b> ?。?)數(shù)模轉(zhuǎn)換電路</b></p><p>  通過對(duì)得到的數(shù)字信號(hào)的處理,我們可以對(duì)模擬信號(hào)進(jìn)行比較細(xì)致地分析和研究,如果此時(shí)電路需要把這些信號(hào)再反饋到電路中,我們就要進(jìn)行數(shù)模轉(zhuǎn)換,把數(shù)字信

20、號(hào)轉(zhuǎn)化為相應(yīng)的模擬信號(hào)。</p><p>  1.2.2 數(shù)據(jù)采集系統(tǒng)的分類</p><p>  常用的數(shù)據(jù)采集系統(tǒng)大致可分為以下幾類:</p><p> ?、?PC機(jī)實(shí)現(xiàn)的數(shù)據(jù)采集系統(tǒng)</p><p>  系統(tǒng)主要是通過把傳感器感知的信號(hào)進(jìn)行放大、濾波等步驟,得到比較易于研究的信號(hào),通過對(duì)信號(hào)的采樣和A/D轉(zhuǎn)換后轉(zhuǎn)化成相應(yīng)的數(shù)字信號(hào),再通過

21、接口電路送入微機(jī)內(nèi)進(jìn)行處理,然后顯示處理結(jié)果或經(jīng)過D/A轉(zhuǎn)換成模擬信號(hào)輸出作為其它用途。它有如下幾個(gè)特點(diǎn):</p><p>  A系統(tǒng)對(duì)硬件的要求比較高,往往系統(tǒng)的性能很好,而實(shí)際需要的要求并不是很高,所以系統(tǒng)的性價(jià)比不是很高。</p><p>  B系統(tǒng)可擴(kuò)展能力很高,它的優(yōu)秀的配置,豐富的可開發(fā)資源給設(shè)計(jì)者提供了很大的發(fā)揮余地。</p><p>  C系統(tǒng)的響應(yīng)

22、速度比較快,性能比較好。 </p><p>  ② 單片機(jī)實(shí)現(xiàn)的數(shù)據(jù)采集系統(tǒng)</p><p>  它是由單片機(jī)及其一些外圍的輔助電路構(gòu)成的數(shù)據(jù)采集系統(tǒng),是近年來微機(jī)技術(shù)快速發(fā)展的結(jié)果,它具有如下特點(diǎn):</p><p>  a系統(tǒng)的開發(fā)要借助于專用的軟件設(shè)計(jì)工具,程序燒錄工具。</p><p>  b系統(tǒng)的外圍電路的設(shè)計(jì)是以滿足系統(tǒng)需求為主的,

23、不存在無意義的電路,系統(tǒng)的軟件也是專為實(shí)現(xiàn)系統(tǒng)功能服務(wù)的,所以它的性價(jià)比極高。</p><p>  c系統(tǒng)程序是通過專門的燒錄工具燒錄進(jìn)去的,所以程序的穩(wěn)定性,安全性極高,一般不容易受到外界因素的破壞。</p><p> ?、?VB控制下的單片機(jī)數(shù)據(jù)采集系統(tǒng)</p><p>  Visual Basic(VB)是一種可視化編程語言,它具有強(qiáng)大功能的控件庫,可視化的開

24、發(fā)界面,能夠快速地開發(fā)出簡潔,直觀的顯示界面,功能強(qiáng)大的應(yīng)用程序。利用VB自帶的控件庫,還可以實(shí)現(xiàn)大型的應(yīng)用程序的開發(fā),不僅開發(fā)周期短,它采用的獨(dú)特的事件驅(qū)動(dòng)機(jī)制,大大地減少了開發(fā)者的難度和工作量。在VB6.0的環(huán)境下,合理的應(yīng)用通信控件(Mscomm)和結(jié)構(gòu)化查詢語言(Structured Query Language,SQL),經(jīng)過統(tǒng)一的接口通訊協(xié)議,可以實(shí)現(xiàn)現(xiàn)場通信、實(shí)現(xiàn)對(duì)現(xiàn)場數(shù)據(jù)(如溫度、轉(zhuǎn)速、頻率、電壓等)的實(shí)時(shí)采集。<

25、/p><p>  1.3 研究思路和方法比較</p><p>  如前所述,本著以實(shí)現(xiàn)系統(tǒng)的需求功能,使用更少的元器件、提高系統(tǒng)的抗干擾能力,降低系統(tǒng)的功耗及使系統(tǒng)的處理能力更加快速為目標(biāo),開發(fā)基于單片機(jī)STC89C51系列的數(shù)據(jù)采集系統(tǒng)。STC-89C51系列單片機(jī)由于其經(jīng)濟(jì)、便捷、可靠,可實(shí)現(xiàn)同時(shí)快速采集和預(yù)處理,廣泛應(yīng)用于家電、儀表、機(jī)電一體化、智能終端和一般工業(yè)控制等的各個(gè)領(lǐng)域中。利

26、用Visual Basic來編寫串口傳輸?shù)耐ㄐ棚@示界面很容易實(shí)現(xiàn),界面直觀明了,由PC機(jī)收集單片機(jī)采集和預(yù)處理的結(jié)果,集中地對(duì)數(shù)據(jù)進(jìn)行分析、處理和研究。這一方面彌補(bǔ)了由于單片機(jī)硬件條件的限制,軟件系統(tǒng)比較簡單、存儲(chǔ)器容量有限的缺陷;另一方面由于單片機(jī)對(duì)現(xiàn)場的數(shù)據(jù)進(jìn)行了預(yù)處理,使PC機(jī)得到的信號(hào)更加有針對(duì)性,為更加快速地響應(yīng)處理現(xiàn)場信號(hào)的要求減輕了負(fù)擔(dān),PC機(jī)根據(jù)實(shí)施監(jiān)控到的數(shù)據(jù),發(fā)出動(dòng)作命令,響應(yīng)了現(xiàn)場的實(shí)時(shí)性的需求和快速響應(yīng)的特點(diǎn)。&

27、lt;/p><p>  Visual Basic(VB)是一個(gè)簡單、易學(xué)、高效的可視化軟件開發(fā)平臺(tái),不但提供了良好的界面設(shè)計(jì)能力,而且在串口通信方面也有很強(qiáng)的功能,它所提供的Mscomm通信控件有強(qiáng)大的串行通信功能,易于開發(fā)人員實(shí)現(xiàn)數(shù)據(jù)的串口采集的界面設(shè)計(jì)。</p><p>  系統(tǒng)設(shè)計(jì)包括軟件設(shè)計(jì)和硬件設(shè)計(jì)兩大方面,軟件方面主要以單片機(jī)和PC機(jī)通過通信協(xié)議來實(shí)現(xiàn)數(shù)據(jù)的傳輸,VB做控制和顯示界

28、面,對(duì)傳過來的數(shù)據(jù)進(jìn)行顯示和發(fā)送對(duì)單片機(jī)的控制命令。硬件設(shè)計(jì)主要包括單片機(jī)接口電路的設(shè)計(jì)和單片機(jī)作用對(duì)象的設(shè)計(jì)。</p><p><b>  1.4 本章小結(jié)</b></p><p>  本章介紹了當(dāng)前數(shù)據(jù)采集系統(tǒng)的發(fā)展情況,基本分類。通過分析各自的特點(diǎn),易于得出一種性價(jià)比比較高的設(shè)計(jì)方案。</p><p>  2 基于串行口的數(shù)據(jù)采集系統(tǒng)

29、的總體設(shè)計(jì)和分析</p><p>  2.1 基于串行口的數(shù)據(jù)采集系統(tǒng)的總體設(shè)計(jì)思想</p><p>  基于串行口的數(shù)據(jù)采集系統(tǒng)主要以采集溫度為采集對(duì)象,由溫度傳感器DS18B20感應(yīng)周圍的溫度值,感應(yīng)得到的信號(hào)交由單片機(jī)處理,單片機(jī)把接收到的數(shù)字信號(hào)轉(zhuǎn)化成相應(yīng)的溫度值,單片機(jī)的串口負(fù)責(zé)單片機(jī)與PC機(jī)的通訊,VB數(shù)據(jù)接收界面起到控制數(shù)據(jù)的接收和顯示接收到的數(shù)據(jù)的作用。系統(tǒng)總體設(shè)計(jì)框圖如

30、下圖2.1所示</p><p>  圖2.1 系統(tǒng)總體結(jié)構(gòu)框圖</p><p>  2.2 設(shè)計(jì)方案與論證</p><p>  系統(tǒng)由DS18B20作為溫度傳感器,檢測周圍環(huán)境的溫度,傳感器的DQ端接單片機(jī)的P3.3引腳,通過編寫初始化溫度傳感器,讀溫度傳感器,把溫度寫入RAM中,溫度轉(zhuǎn)換子程序,把傳感器得到的信號(hào)轉(zhuǎn)化為對(duì)應(yīng)的實(shí)際溫度值。由于單片機(jī)輸出的TTL電

31、平,PC機(jī)使用的是RS232電平,這里,我們采用MAX232芯片來實(shí)現(xiàn)電平的轉(zhuǎn)換,把單片機(jī)的RXD,TXD引腳與MAX232的相應(yīng)引腳相連,轉(zhuǎn)換輸出的RXD,TXD端分別于串口的TXD,RXD相連。為了直觀的顯示單片機(jī)與PC機(jī)所處的狀態(tài),我們?cè)诖诘腄TR(Data Terminal Ready)引腳與GND之間接入指示LED燈來顯是PC機(jī)的狀態(tài),是否準(zhǔn)備就緒,是否處于可以數(shù)據(jù)傳送狀態(tài)。串口的RXD與GND引腳之間接入指示燈,來顯示單片

32、機(jī)是否處于數(shù)據(jù)傳送狀態(tài),也就是PC機(jī)是否處于數(shù)據(jù)采集狀態(tài)。</p><p>  系統(tǒng)以9針串口作為連接下位機(jī)(單片機(jī))和上位機(jī)(PC機(jī))的橋梁,來實(shí)現(xiàn)計(jì)算機(jī)對(duì)下位機(jī)傳上來的數(shù)據(jù)的采集,在這里,單片機(jī)起到對(duì)信號(hào)的接收,處理的作用。9針串口功能豐富,在本系統(tǒng)中主要用到當(dāng)中的幾根線,來實(shí)現(xiàn)數(shù)據(jù)的傳輸,這在后面將予以詳細(xì)的介紹和解釋。</p><p><b>  2.3 本章小結(jié)<

33、;/b></p><p>  本章首先對(duì)數(shù)據(jù)采集系統(tǒng)進(jìn)行了介紹,給出了系統(tǒng)實(shí)現(xiàn)的總體結(jié)構(gòu)框圖,接著比較詳細(xì)地論證了這種設(shè)計(jì)方案是否可行,總結(jié)性地概括了實(shí)現(xiàn)基于串口的數(shù)據(jù)采集系統(tǒng)方案的原理,給出了詳細(xì)的電路狀態(tài)檢測的連線方式,同時(shí)也介紹了系統(tǒng)的信號(hào)數(shù)據(jù)的流通走向,分析了電路狀態(tài)的檢測方法,通過判斷相應(yīng)的功能引腳的狀態(tài)指示燈,來顯示和判斷計(jì)算機(jī)與單片機(jī)所處的狀態(tài),方便了系統(tǒng)的調(diào)試和糾錯(cuò),提高了開發(fā)效率。<

34、/p><p><b>  3 下位機(jī)的設(shè)計(jì)</b></p><p>  3.1 傳感器的選擇</p><p>  本系統(tǒng)以采集溫度為數(shù)據(jù)采集的對(duì)象,根據(jù)各種溫度傳感器的特點(diǎn),我們從中選擇出靈敏度要求達(dá)標(biāo)的,易于實(shí)現(xiàn),性價(jià)比最高的溫度傳感器作為我們實(shí)驗(yàn)中選用的對(duì)象:</p><p> ?、?采用熱敏電阻,可滿足35℃--9

35、5℃的測量范圍,但熱敏電阻精度、重復(fù)性和可靠性都比較差,對(duì)于檢測精度小于1℃的溫度信號(hào)是不適用的。</p><p> ?、?采用溫度傳感器AD590:AD590具有體積小、質(zhì)量輕、線形度好、性能穩(wěn)定等優(yōu)點(diǎn)。其測量范圍在-50℃-- +150℃,滿刻度范圍誤差為±0.3℃,當(dāng)電源電壓在5—10V之間,穩(wěn)定度為1﹪時(shí),誤差只有±0.01℃,其各方面特性都滿足此系統(tǒng)的設(shè)計(jì)要求。</p>

36、<p> ?、?采用溫度傳感器DS18B20:DS18B20具有體積小,硬件開消少,最少只需一根數(shù)據(jù)線,具有安全性,穩(wěn)定性高,對(duì)溫度反應(yīng)敏感等優(yōu)點(diǎn),他全數(shù)字溫度轉(zhuǎn)換及輸出給設(shè)計(jì)者減少了很多工作。</p><p>  通過分析上述各種溫度傳感器的特點(diǎn),可以得出以下結(jié)論:</p><p>  1 采用熱敏電阻采集的溫度存在測量溫度范圍比較窄,誤差比較大,精度比較低的缺點(diǎn)。</

37、p><p>  2 采用溫度傳感器AD590需要AD轉(zhuǎn)換模塊來實(shí)現(xiàn)電路對(duì)采集到的溫度信號(hào)進(jìn)行處理,從而加大了外圍硬件電路的開銷和加大了軟件程序的復(fù)雜程度。</p><p>  3 采用DS18B20溫度傳感器,由于它采用單總線結(jié)構(gòu),只需一個(gè)I/O接口即可,而且溫度信號(hào)以數(shù)字信號(hào)輸出很大程度上簡化了系統(tǒng)也減小了開銷故選擇DS18B20作為溫度傳感器。</p><p>  

38、綜合上述各溫度傳感器的特點(diǎn),系統(tǒng)選擇DS18B20作為我們研究的溫度傳感器。溫度傳感器在電路中的連線方式如圖3.1所示 </p><p>  圖3.1 DS18B20連線方式</p><p>  DS18B20有3個(gè)管腳,VCC,DQ,GND,,DQ接單片機(jī)的P3^3管腳,同時(shí)接一個(gè)1K的上拉電阻至VCC。</p><p>  3.2 TTL與RS232電平的轉(zhuǎn)化

39、</p><p>  單片機(jī)使用的是TTL電平,而PC機(jī)使用的RS232電平,所以連接單片機(jī)與PC機(jī)時(shí),我們要對(duì)單片機(jī)的輸出電平進(jìn)行轉(zhuǎn)化,為了提高系統(tǒng)的穩(wěn)定性和可靠性,這里,采用MAXIM公司生產(chǎn)的MAX232芯片來實(shí)現(xiàn)電平的轉(zhuǎn)換,具體電路圖如圖3.2所示:</p><p>  圖3.2 MAX232連線方式</p><p>  MAX232主要起到電位提升的作用。

40、通過在C1+與C1-和C2+和C2-之間接入一個(gè)0.1uf的瓷片電容來達(dá)到電位提升的目的,使輸出電壓與PC機(jī)使用的電壓相匹配。</p><p>  3.3 單片機(jī)電路設(shè)計(jì)</p><p>  傳感器DS18B20與單片機(jī)的P3^3管腳相連,單片機(jī)通過此管腳來讀取傳感器傳來的數(shù)據(jù),此數(shù)據(jù)并不就是當(dāng)前溫度值,要通過相應(yīng)的運(yùn)算把它轉(zhuǎn)化成實(shí)際的溫度值,由DS18B20的使用手冊(cè)可知,對(duì)接收到的數(shù)

41、字信號(hào)乘以0.0625就可以得到當(dāng)前的溫度值,這個(gè)過程有單片機(jī)的數(shù)據(jù)處理子程序來完成。單片機(jī)對(duì)采集到的數(shù)據(jù)進(jìn)行運(yùn)算處理后,通過串口通信程序,把處理好的數(shù)據(jù)傳送給PC機(jī),至此,單片機(jī)的任務(wù)也就完成了。單片機(jī)連線如圖3.3所示</p><p>  圖3.3 單片機(jī)連線圖 </p><p>  這個(gè)部分主要包括單片機(jī)的上電復(fù)位電路,外接晶振的連線方式,全雙工串口的連線。</p>&

42、lt;p>  3.4 系統(tǒng)總的電路設(shè)計(jì)實(shí)現(xiàn)</p><p>  前面介紹了下位機(jī)的各個(gè)功能模塊的功能實(shí)現(xiàn),通過各個(gè)模塊之間的信號(hào)聯(lián)系,得到完整的電路圖如下圖3.4所示</p><p>  圖3.4 下位機(jī)總體電路圖</p><p>  由硬件電路圖可見,下位機(jī)系統(tǒng)電路以單片機(jī)作為接收,處理,傳送數(shù)據(jù)的中心處理部件,這些功能的實(shí)現(xiàn)主要依靠軟件設(shè)計(jì)實(shí)現(xiàn),下圖

43、3.5為單片機(jī)軟件設(shè)計(jì)流程圖</p><p>  圖3.5 單片機(jī)軟件設(shè)計(jì)流程圖</p><p><b>  3.5 本章小結(jié)</b></p><p>  本章比較詳細(xì)地介紹了基于串口的數(shù)據(jù)采集系統(tǒng)下位機(jī)地設(shè)計(jì)實(shí)現(xiàn),包括3個(gè)部分,傳感器的選擇,TTL與RS232的電平轉(zhuǎn)換,單片機(jī)電路設(shè)計(jì) ,對(duì)它們的實(shí)現(xiàn)原理作了一定的介紹,并給出了詳細(xì)的功

44、能電路圖。針對(duì)下位機(jī)的硬件電路的設(shè)計(jì),給出了系統(tǒng)軟件實(shí)現(xiàn)的流程圖。</p><p><b>  4 上位機(jī)的設(shè)計(jì)</b></p><p>  4.1 Visual Basic 設(shè)計(jì)介紹</p><p>  數(shù)據(jù)通過串口傳到PC機(jī),為了方便實(shí)時(shí)觀測,我們需要把數(shù)據(jù)在界面上顯示出來,Visual Basic在開發(fā)串口傳輸軟件中有獨(dú)特的優(yōu)勢(shì),它提

45、供的MScomm控件使得開發(fā)人員設(shè)計(jì)串口數(shù)據(jù)顯示界面變得十分容易和簡便。以下是VB的顯示界面。</p><p>  下面就VB顯示界面的制作作一些介紹:</p><p> ?、?串口的引腳與對(duì)應(yīng)的功能</p><p>  數(shù)據(jù)由單片機(jī)傳給PC機(jī)是由串口來實(shí)現(xiàn)的,串口有9針和25針兩種,系統(tǒng)采用9針串口作為通訊端口,各個(gè)引腳有特定的功能,表4.1給出了9針串口的引腳說

46、明</p><p>  表4.1 串口引腳分布</p><p> ?、?VB接收控制顯示界面是由事件驅(qū)動(dòng)機(jī)制來實(shí)現(xiàn)的,當(dāng)發(fā)生事件時(shí),程序就會(huì)響應(yīng)事件的處理程序,以下表4.2和表4.3分別是MScomm的參數(shù)表和事件表。</p><p>  表4.2 Mscomm參數(shù)表</p><p>  表4.3 Mscomm事件表</p>

47、<p>  4.2 Visual Basic 設(shè)計(jì)實(shí)現(xiàn)</p><p>  1:打開VB6.0軟件,新建工程,取名“串口數(shù)據(jù)傳輸”</p><p>  2:在Form1窗體中添加Mscomm控件,設(shè)置CommPort=5;InBufferSize=1024;Settings=9600,n,8,1;</p><p>  3:添加label控件,改其Tex

48、t屬性為“**接收區(qū)**”;</p><p>  4:添加TextBox控件,改其“名稱”屬性為“txtRecive”</p><p>  5:添加兩個(gè)按鈕空間,改其Caption屬性分別為“接收數(shù)據(jù)”(Command1),“結(jié)束”(Command2)。</p><p>  6:進(jìn)入代碼編輯窗口,書寫相應(yīng)事件的代碼,代碼如下:</p><p>

49、;  Private Sub Command1_Click()</p><p><b>  Dim buf$</b></p><p>  buf = Trim(MSComm1.Input)</p><p>  If Len(buf) = 0 Then</p><p>  txtRecive.Text = "Em

50、pty"</p><p><b>  Else</b></p><p>  txtRecive.Text = AscB(buf)</p><p><b>  End If</b></p><p><b>  End Sub</b></p><p&g

51、t;  Private Sub Command2_Click()</p><p>  MSComm1.PortOpen = False</p><p><b>  End</b></p><p><b>  End Sub</b></p><p>  Private Sub Form_Load()&

52、lt;/p><p>  MSComm1.PortOpen = True</p><p><b>  End Sub</b></p><p><b>  4.3 本章小結(jié)</b></p><p>  本章主要介紹了基于串口的數(shù)據(jù)采集系統(tǒng)上位機(jī)VB顯示界面的實(shí)現(xiàn),對(duì)VB的串口通信控件Mscomm控件的參數(shù)

53、和事件作了詳細(xì)的介紹,對(duì)上位機(jī)設(shè)計(jì)的實(shí)現(xiàn)給出了詳細(xì)的步驟和相關(guān)代碼。</p><p>  5 系統(tǒng)結(jié)果和分析</p><p>  5.1 系統(tǒng)調(diào)試與結(jié)果</p><p>  1 開啟計(jì)算機(jī),連接上串口。</p><p>  2 啟動(dòng)自己制作的VB接收控制界面,打開這個(gè)軟件的同時(shí),它內(nèi)部的代碼已經(jīng)完成了打開串口的工作,此時(shí)我們可以看到D

54、TR(Data Terminal Ready)引腳的指示燈亮,如圖5.1,5.2</p><p>  圖5.1 打開VB顯示界面</p><p>  圖5.2 計(jì)算機(jī)準(zhǔn)備就緒</p><p>  3 給電路板接上電源,使電路板處于工作狀態(tài)。我們可以在數(shù)碼管上看到顯示當(dāng)前采集到的溫度值,實(shí)驗(yàn)時(shí)的溫度是24度,同時(shí)我們看到串口接收引腳(RXD)處于忽亮忽暗的狀態(tài),

55、單片機(jī)正在傳送數(shù)據(jù),如圖5.3</p><p>  圖5.3 單片機(jī)發(fā)送數(shù)據(jù)</p><p>  4 在VB顯示界面上點(diǎn)擊讀出字符按鈕,顯示讀取到的當(dāng)前溫度值,這時(shí)我們可以看到兩盞指示燈的指示情況,RXD忽亮忽暗,DTR引腳也忽亮忽暗,由于視覺殘留效應(yīng),它們看上去像是一直亮著的。</p><p>  圖5.4 單片機(jī)發(fā)送數(shù)據(jù),計(jì)算機(jī)接收數(shù)據(jù)</p>

56、<p>  圖5.5 VB顯示接收到的數(shù)據(jù)</p><p>  5 用手握住溫度傳感器,溫度上升,數(shù)碼管顯示當(dāng)前溫度值,VB界面相應(yīng)的采集到當(dāng)前的溫度值,如圖5.6,5.7</p><p>  圖5.6 單片機(jī)發(fā)送數(shù)據(jù),計(jì)算機(jī)接收數(shù)據(jù)</p><p>  圖5.7 VB顯示接收到的數(shù)據(jù)</p><p><b> 

57、 5.2 本章小結(jié)</b></p><p>  本章主要從系統(tǒng)的調(diào)試過程和得到的結(jié)果現(xiàn)象作了比較詳細(xì)的分析,通過改變環(huán)境的溫度,我們?cè)赩B界面上可以采集到當(dāng)前的溫度值,系統(tǒng)對(duì)溫度感知敏感,現(xiàn)象直觀明顯,達(dá)到了預(yù)期的期望與要求。</p><p><b>  6 總結(jié)</b></p><p>  基于串行口的數(shù)據(jù)采集系統(tǒng)是以采集環(huán)境

58、溫度為采集對(duì)象,通過單片機(jī)處理,通過Max232電平轉(zhuǎn)換,傳給PC機(jī),在PC機(jī)上用VB設(shè)計(jì)顯示界面來觀測實(shí)時(shí)采集的溫度。經(jīng)過一次次的調(diào)試,試驗(yàn),完善,該系統(tǒng)基本上實(shí)現(xiàn)設(shè)計(jì)要求的功能,對(duì)溫度變化反應(yīng)敏感,現(xiàn)象明顯。</p><p><b>  7.參考文獻(xiàn)</b></p><p>  [1] 陳三風(fēng),劉曉波.基于VB6.0與單片機(jī)串行通信的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì),2004 &

59、lt;/p><p>  [2] 張崇智,基于VB的串口實(shí)時(shí)數(shù)據(jù)采集,2005</p><p>  [3] 王圓妹,許勁 ,李濤 ,實(shí)現(xiàn)PC 機(jī)與單片機(jī)的串行通信,2006</p><p>  [4] 王 超,基于VB實(shí)現(xiàn)PC機(jī)與單片機(jī)的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì),2009</p><p>  [5] 周子琛,申振寧用VB 實(shí)現(xiàn)計(jì)算機(jī)與單片機(jī)的串行通信,20

60、02</p><p>  [6]  陸 劍 ,宋曉莉,A T 89S51 單片機(jī)與Visual Basic 串行通信的實(shí)現(xiàn)</p><p>  [7] 胥保春,單片機(jī)(AT89S51)與PC機(jī)的串行通信,2005</p><p>  [8] 鄧洪聲, 舒大文,用Visual Basic 6. 0 設(shè)計(jì)四通道串口數(shù)據(jù)采集,2004 </p><p&

61、gt;  [9] 張康康,基于串口通信數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì),2011</p><p>  [10]楊東燕,基于單片機(jī)的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì),2011</p><p>  [11]伊崇信,趙 穎,利用 Visual Basic 實(shí)現(xiàn)串行通信技術(shù),2002</p><p>  [12] 荊茂祥,李冬輝,基于VB 的主從機(jī)串行通信系統(tǒng)設(shè)計(jì),2003</p><

62、;p>  [13] 胡俊宏, 楊振巍,基于VB 的S7-200 PLC 與上位機(jī)的串行通訊及應(yīng)用,2007</p><p>  [14]韓利凱,用VC+ + 實(shí)現(xiàn)PC 與單片機(jī)串行通信方法的研究,2005</p><p>  [15]賈志成,岳西鳳,李永軍,劉培培,基于VC++的XCTD 串口實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)的實(shí)現(xiàn),2010</p><p>  [16]范逸之

63、,陳立元,利用Visual Basic 實(shí)現(xiàn)串并行通信技術(shù),2001.3</p><p>  [17] WANG Lu1,XU Xuefeng2,WANG Jian3,Application of serial communication in energy monitoring system based on VB,2011</p><p>  [18] Zhang Bo, Yu Jie

64、, Lian Ya-fei, Ding Qian,The Communication between the PC and PLC based on VB6.0 in the ESP,2011</p><p>  [19] Anan Fang, Jianping Dai, Liping Luo,Design of Remote Data Acquisition and Communication Hardware

65、 Circuit System Based on Window,2009</p><p>  [20] Anan Fang , Ming Gong, Rong Yu, Xiaoping Qi,The Realization of Distance-data Acquisition by SCM and Communication Design,2009</p><p>  [21] Lin

66、g Xu, Zhen Chen, Shi-Iei Zhang, Research of Serial Communication System based on C8051F020 Singlechip,2010</p><p>  附錄(下位機(jī)程序?qū)崿F(xiàn)代碼)</p><p>  #include<reg52.h></p><p>  #include&

67、lt;math.h></p><p>  #defineuchar unsigned char</p><p>  #define uint unsigned int</p><p>  unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};</p>

68、;<p>  sbit DQ=P3^3;</p><p>  unsigned char tempL=0;</p><p>  unsigned char tempH=0;</p><p>  float temperature;</p><p>  void delay1(uint z)//延時(shí)子程序</p&g

69、t;<p><b>  {</b></p><p><b>  uint i,j;</b></p><p>  for(i=z;i>0;i--)</p><p>  for(j=110;j>0;j--);</p><p>  } </p&g

70、t;<p>  void send_data(i)</p><p>  { </p><p>  SBUF=i; //發(fā)送</p><p>  while(TI==0); //等待發(fā)送完畢</p><p><b>  TI=0;</b><

71、;/p><p><b>  }</b></p><p>  void delay(unsigned int k)</p><p><b>  {</b></p><p>  //for(;k>0;k--);</p><p><b>  //return;</

72、b></p><p>  unsigned int n; </p><p>  n=0; </p><p>  while(n < k) </p><p>  {n++;} </p><p>  return; </p><p>

73、<b>  }</b></p><p>  void delay2(void)</p><p><b>  {</b></p><p><b>  int k;</b></p><p>  for(k=0;k<400;k++);</p><

74、;p><b>  }</b></p><p>  void display(int k)</p><p><b>  { </b></p><p><b>  P2=0xf7;</b></p><p>  P0=tab[k/1000];</p>&l

75、t;p><b>  delay2();</b></p><p><b>  P2=0xfb;</b></p><p>  P0=tab[k%1000/100];</p><p><b>  delay2();</b></p><p><b>  P2=0xfd;

76、</b></p><p>  P0=tab[k%100/10];</p><p><b>  delay2();</b></p><p><b>  P2=0xfe;</b></p><p>  P0=tab[k%10];</p><p><b>  d

77、elay2();</b></p><p><b>  P2=0xff;</b></p><p><b>  }</b></p><p>  Init_DS18B20(void)</p><p><b>  {</b></p><p>  un

78、signed char x=0;</p><p><b>  DQ=1;</b></p><p><b>  delay(8);</b></p><p><b>  DQ=0;</b></p><p>  delay(85);</p><p><b

79、>  DQ=1;</b></p><p>  delay(14);</p><p><b>  }</b></p><p>  ReadOneChar(void)</p><p><b>  {</b></p><p>  unsigned char i=0

80、;</p><p>  unsigned char dat=0;</p><p>  for(i=8;i>0;i--)</p><p><b>  {</b></p><p><b>  DQ=1;</b></p><p><b>  delay(1);<

81、;/b></p><p><b>  DQ=0;</b></p><p><b>  dat>>=1;</b></p><p><b>  DQ=1;</b></p><p><b>  if(DQ)</b></p><

82、;p>  dat |=0x80;</p><p><b>  delay(4);</b></p><p><b>  }</b></p><p>  return dat;</p><p><b>  }</b></p><p>  WriteOn

83、eChar(unsigned char dat)</p><p><b>  {</b></p><p>  unsigned char i=0;</p><p>  for(i=8;i>0;i--)</p><p><b>  {</b></p><p><b&

84、gt;  DQ=0;</b></p><p>  DQ=dat&0x01;</p><p><b>  delay(5);</b></p><p><b>  DQ=1;</b></p><p><b>  dat>>=1;</b></p&

85、gt;<p><b>  }</b></p><p><b>  delay(4);</b></p><p><b>  }</b></p><p>  ReadTemperature(void)</p><p><b>  {</b><

86、;/p><p>  Init_DS18B20();</p><p>  WriteOneChar(0xcc);</p><p>  WriteOneChar(0x44);</p><p>  delay(125);</p><p>  Init_DS18B20();</p><p>  WriteO

87、neChar(0xcc);</p><p>  WriteOneChar(0xbe);</p><p>  tempL=ReadOneChar();</p><p>  tempH=ReadOneChar();</p><p>  temperature=((tempH*256)+tempL);</p><p>  d

88、elay(200);</p><p>  return(temperature);</p><p><b>  }</b></p><p>  void main(void)</p><p>  { float i,j;</p><p><b>  EA=1;</b>&

89、lt;/p><p>  TMOD=0x20; //T1波特率發(fā)生器</p><p>  TH1=0Xfd;//波特率9600</p><p><b>  TL1=0Xfd;</b></p><p>  SCON=0X50;//串口方式REN=1允許接收數(shù)據(jù)</p><p>  PCON=0

90、X00;// 1 倍波特率 </p><p><b>  TR1=1;</b></p><p>  delay1(5);</p><p><b>  while(1)</b></p><p>  { i=ReadTemperature();</p><p> 

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論