版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 學(xué)號(hào):########</p><p><b> 畢 業(yè) 論 文</b></p><p><b> ( 2013 屆)</b></p><p><b> 二○一三年印制</b></p><p> 年 級(jí)09級(jí)
2、 </p><p> 專(zhuān) 業(yè) 班 級(jí)</p><p> 學(xué) 生 姓 名###### </p><p> 指導(dǎo)教師姓名###### </p><p> 指導(dǎo)教師職稱(chēng)副教授 </p><p>
3、; 論文完成時(shí)間</p><p> 本科生畢業(yè)論文(設(shè)計(jì)、創(chuàng)作)承諾書(shū)</p><p> 說(shuō)明:學(xué)生畢業(yè)論文(設(shè)計(jì)、創(chuàng)作)如有保密等要求,請(qǐng)?jiān)趥渥⒅忻鞔_,承諾內(nèi)容第2 條即以備注為準(zhǔn)。</p><p> 2013 屆畢業(yè)論文(設(shè)計(jì)、創(chuàng)作)任務(wù)書(shū)</p><p> 指導(dǎo)教師簽名 年 月
4、日</p><p> 2013 屆畢業(yè)論文(設(shè)計(jì)、創(chuàng)作)中期檢查表</p><p><b> 目 錄</b></p><p><b> 摘 要11</b></p><p> ABSTRACT12</p><p> 第1章 緒 論1</p&
5、gt;<p> 1.1 課題來(lái)源1</p><p> 1.2 課題背景1</p><p> 1.3 國(guó)內(nèi)外在該方向的研究現(xiàn)狀及分析2</p><p> 1.3.1 國(guó)內(nèi)在該方向的研究現(xiàn)狀2</p><p> 1.3.2 國(guó)外在該方向的研究現(xiàn)狀3</p><p> 1.4 該
6、課題研究的主要內(nèi)容3</p><p> 第2章 數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)5</p><p> 2.1 數(shù)據(jù)采集系統(tǒng)5</p><p> 2.2 數(shù)據(jù)采集的目的5</p><p> 2.3 數(shù)據(jù)采集系統(tǒng)框圖5</p><p> 2.3.1 主要芯片6</p><p>
7、2.3.2涉及到的軟件7</p><p> 2.4 基本功能要求7</p><p> 第3章 硬件設(shè)計(jì)8</p><p> 3.1 系統(tǒng)框圖8</p><p> 3.2 單片機(jī)最小系統(tǒng)8</p><p> 3.3 PCF8591芯片9</p><p> 3.3
8、.1 IIC串行總線9</p><p> 3.3.2 PCF8591 AD轉(zhuǎn)換的應(yīng)用13</p><p> 3.4 LCD1602器件14</p><p> 3.4 單片機(jī)外圍電路圖15</p><p> 第4章 軟件設(shè)計(jì)16</p><p> 4.1 主程序16</p>
9、<p> 4.1.1 主程序流程圖16</p><p> 4.1.2 LCD1602與PCF8591程序流程圖17</p><p> 4.1.3 數(shù)據(jù)處理程序流程圖18</p><p> 4.1.4 按鍵檢測(cè)程序流程圖19</p><p> 4.2 上位機(jī)程序介紹20</p><p&
10、gt; 4.2.1 Visual C++ 6.020</p><p> 4.2.2 MSComm控件[9]20</p><p> 4.2 硬件與軟件調(diào)試21</p><p><b> 結(jié) 論22</b></p><p><b> 參考文獻(xiàn)23</b></p>
11、<p><b> 摘 要</b></p><p> 目前,數(shù)據(jù)采集系統(tǒng)廣泛應(yīng)用在科研、教育、工業(yè)、水利等眾多領(lǐng)域。本系統(tǒng)基于89C52單片機(jī),采用PCF8591串行AD芯片,完成對(duì)多路模擬信號(hào)的數(shù)據(jù)采集,并由LCD1602把數(shù)據(jù)顯示出來(lái)。本系統(tǒng)帶有按鍵輸入,可通過(guò)按鍵實(shí)現(xiàn)轉(zhuǎn)換通道的選擇。在windows桌面環(huán)境下,使用Visual C++可視化軟件開(kāi)發(fā)工具,調(diào)用MSComm
12、控件,開(kāi)發(fā)一個(gè)集存儲(chǔ)與顯示的上位機(jī)程序,以便用計(jì)算機(jī)對(duì)大量數(shù)據(jù)的處理。</p><p> 關(guān)鍵詞 89C52 ;PCF8591;LCD1602 ;Visual C++ ;MSComm控件</p><p><b> ABSTRACT</b></p><p> At present, the data acquisition system i
13、s widely used in scientific research, education, industry, water conservancy, and many other fields. This system based on 89C52, using serial AD chip PCF8591, complete the multi-channel analog signal data acquisition, an
14、d data by the LCD1602 display. With pressed key input, the system can be realized through key conversion channel choice. In Windows desktop environments, the use of Visual c + + visualization software development tools,
15、invoke the MSComm c</p><p> Keywords: 89C52; PCF8591; LCD1602; Visual C++; MSComm</p><p><b> 第1章 緒 論</b></p><p> 本章主要介紹數(shù)據(jù)采集系統(tǒng)歷史及發(fā)展,讓我們對(duì)數(shù)據(jù)采集系統(tǒng)有個(gè)初步了解。</p><
16、;p><b> 1.1 課題來(lái)源</b></p><p><b> 自定題目。</b></p><p><b> 1.2 課題背景</b></p><p> 近年來(lái),數(shù)據(jù)采集及其應(yīng)用受到了人們?cè)絹?lái)越廣泛的關(guān)注,數(shù)據(jù)采集系統(tǒng)也有了迅速的發(fā)展,它可以廣泛的應(yīng)用于各種領(lǐng)域。</p&g
17、t;<p> 數(shù)據(jù)采集系統(tǒng)起始于20世紀(jì)50年代,1956年美國(guó)首先研究了用在軍事上的測(cè)試系統(tǒng),日標(biāo)是測(cè)試中不依靠相關(guān)的測(cè)試文件,由非成熟人員進(jìn)行操作,并且測(cè)試任務(wù)是由測(cè)試設(shè)備高速自動(dòng)控制完成的。由于該種數(shù)據(jù)采集測(cè)試系統(tǒng)具有高速性和一定的靈活性,可以滿足眾多傳統(tǒng)方法不能完成的數(shù)據(jù)采集和測(cè)試任務(wù),因而得到了初步的認(rèn)可。大概在60年代后期,國(guó)內(nèi)外就有成套的數(shù)據(jù)采集</p><p> 設(shè)備和系統(tǒng)多屬于
18、專(zhuān)用的系統(tǒng)。[1]</p><p> 20世紀(jì)70年代后期,隨著微型機(jī)的發(fā)展,誕生了采集器、儀表同計(jì)算機(jī)溶為一體的數(shù)據(jù)采集系統(tǒng)。由于這種數(shù)據(jù)采集系統(tǒng)的性能優(yōu)良,超過(guò)了傳統(tǒng)的自動(dòng)檢測(cè)儀表和專(zhuān)用數(shù)據(jù)采集系統(tǒng),因而獲得了驚人的發(fā)展。從70年代起,數(shù)據(jù)采集系統(tǒng)發(fā)展過(guò)程中逐漸分為兩類(lèi),一類(lèi)是實(shí)驗(yàn)室數(shù)據(jù)采集系統(tǒng),一類(lèi)是.工業(yè)現(xiàn)場(chǎng)數(shù)據(jù)采集系統(tǒng)。[1]</p><p> 20世紀(jì)80年代隨著計(jì)算機(jī)的普
19、及應(yīng)用,數(shù)據(jù)采集系統(tǒng)得到了很大的發(fā)展,</p><p> 開(kāi)始出現(xiàn)了通用的數(shù)據(jù)采集與自動(dòng)測(cè)試系統(tǒng)。該階段的數(shù)據(jù)采集系統(tǒng)主要有兩類(lèi),一類(lèi)以儀表儀器和采集器、通用接口總線和計(jì)算機(jī)組成。這類(lèi)系統(tǒng)主要應(yīng)用</p><p> 于實(shí)驗(yàn)室,在工業(yè)生產(chǎn)現(xiàn)場(chǎng)也有一定的應(yīng)用。第二類(lèi)以數(shù)據(jù)采集卡、標(biāo)準(zhǔn)總線和</p><p> 計(jì)算機(jī)構(gòu)成,這一類(lèi)在工業(yè)現(xiàn)場(chǎng)應(yīng)用較多。20世紀(jì)80年代后
20、期,數(shù)據(jù)采集發(fā)生</p><p> 了很大的變化,工業(yè)計(jì)算機(jī)、單片機(jī)和大規(guī)模集成電路的組合,用軟件管理,使系統(tǒng)的成本減低,體積變小,功能成倍增加,數(shù)據(jù)處理能力大大加強(qiáng)。[1]</p><p> 20世紀(jì)90年代至今,在國(guó)際上技術(shù)先進(jìn)的國(guó)家,數(shù)據(jù)采集系統(tǒng)己成功的運(yùn)用到軍事、航空電子設(shè)備及宇航技術(shù)、工業(yè)等領(lǐng)域。由于集成電路制造技術(shù)的不斷提高,出現(xiàn)了高性能、高可靠的單片機(jī)數(shù)據(jù)采集系統(tǒng)(DAS
21、)。數(shù)據(jù)采集技術(shù)已經(jīng)成為一種專(zhuān)門(mén)的技術(shù),在工業(yè)領(lǐng)域得到了廣泛的應(yīng)用。該階段的數(shù)據(jù)采集系統(tǒng)采用模塊式結(jié)構(gòu),根據(jù)不同的應(yīng)用要求,通過(guò)簡(jiǎn)單的增加和更改模塊,井結(jié)合系統(tǒng)編程,就可擴(kuò)展或修改系統(tǒng),迅速組成一個(gè)新的系統(tǒng)。[1]</p><p> 盡管現(xiàn)在以微機(jī)為核心的可編程數(shù)據(jù)采集與處理采集技術(shù)的發(fā)展方向得到了迅速的發(fā)展,而且組成一個(gè)數(shù)據(jù)采集系統(tǒng)只需要一塊數(shù)據(jù)采集卡,把它插在微機(jī)的擴(kuò)展槽內(nèi)并輔以應(yīng)用軟件,就能實(shí)現(xiàn)數(shù)據(jù)采集功
22、能,但這井不會(huì)對(duì)基于單片機(jī)為核心的數(shù)據(jù)采集系統(tǒng)產(chǎn)生影響。相較于數(shù)據(jù)采集板卡成本和功能的限制,單片機(jī)其多功能、高效率、高性能、低電壓、低功耗、低價(jià)格等優(yōu)點(diǎn),而單片機(jī)又其有精度較高、轉(zhuǎn)換速度快、能夠?qū)Χ帱c(diǎn)同時(shí)進(jìn)行采集,因此能夠開(kāi)發(fā)出能滿足實(shí)際應(yīng)用要求的、電路結(jié)構(gòu)簡(jiǎn)單的、可靠性高的數(shù)據(jù)采集系統(tǒng)。這就使得以單片機(jī)為核心的數(shù)據(jù)采集系統(tǒng)在許多領(lǐng)域得到了廣泛的應(yīng)用。</p><p> 1.3 國(guó)內(nèi)外在該方向的研究現(xiàn)狀及分析
23、</p><p> 數(shù)據(jù)采集系統(tǒng)是通過(guò)采集傳感器輸出的模擬信號(hào)并轉(zhuǎn)換成數(shù)字信號(hào),并進(jìn)行析、處理、傳輸、顯示、存儲(chǔ)和顯示。它起始于20世紀(jì)中期,在過(guò)去的幾十年里,隨著信息領(lǐng)域各種技術(shù)的發(fā)展,在數(shù)據(jù)采集方面的技術(shù)也取得了長(zhǎng)足的進(jìn)步,采集數(shù)據(jù)的信息化是日前社會(huì)的發(fā)展主流方向。各種領(lǐng)域都用到了數(shù)據(jù)采集,在石油勘探、科學(xué)實(shí)驗(yàn)、飛機(jī)飛行、地震數(shù)據(jù)采集、衛(wèi)星遙感成像、無(wú)人機(jī)、艦載傳感器系統(tǒng)領(lǐng)域已經(jīng)得到應(yīng)用。[1]</p
24、><p> 1.3.1 國(guó)內(nèi)在該方向的研究現(xiàn)狀</p><p> 早期,對(duì)于大部分制造業(yè)企業(yè),測(cè)量?jī)x器的自動(dòng)數(shù)據(jù)采集一直是個(gè)令人煩惱的事情,即使儀器已經(jīng)具有RS232/485等接口,但仍然在使用一邊測(cè)量,一邊手工記錄到紙張,最后再輸入到PC中處理的方式,不但工作繁重,同時(shí)也無(wú)法保證數(shù)據(jù)的準(zhǔn)確性,常常管理人員得到的數(shù)據(jù)已經(jīng)是滯后了一兩天的數(shù)據(jù);而對(duì)于現(xiàn)場(chǎng)的不良產(chǎn)品信息及相關(guān)的產(chǎn)量數(shù)據(jù),如何
25、實(shí)現(xiàn)高效率、簡(jiǎn)潔、實(shí)時(shí)的數(shù)據(jù)采集更是一大難題。由研究人員研發(fā)的生產(chǎn)現(xiàn)場(chǎng)實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)解決了這一問(wèn)題,整個(gè)系統(tǒng)采用分布式結(jié)構(gòu),軟、硬件均采用了模塊化設(shè)計(jì)。數(shù)據(jù)采集部分采用自行開(kāi)發(fā)的帶光隔離的RS-485網(wǎng),通信效率高,安全性好,結(jié)構(gòu)簡(jiǎn)單。后臺(tái)系統(tǒng)可根據(jù)實(shí)際被監(jiān)控系統(tǒng)規(guī)模大小及要求,構(gòu)成485網(wǎng)、Novell網(wǎng)及Windows NT網(wǎng)等分布式網(wǎng)絡(luò)。由于軟、硬件均為分布式、模塊化結(jié)構(gòu),因而便于系統(tǒng)升級(jí)、維護(hù),且根據(jù)需要組成不同的系統(tǒng)。.數(shù)據(jù)
26、處理在Windows NT平臺(tái)上采用Visual C++語(yǔ)言編程,處理能力強(qiáng)、速度快、界面友好,可實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)共享。[2]</p><p> 我國(guó)的數(shù)字地震觀測(cè)系統(tǒng)主要采用TDE-124C型地震數(shù)據(jù)采集系統(tǒng)。近年來(lái),又成功研制了動(dòng)態(tài)范圍更大、線性度更高,.兼容性更強(qiáng)、低功耗可靠性的TDE-3240型地震數(shù)據(jù)采集系統(tǒng)。該數(shù)據(jù)采集對(duì)地震計(jì)輸出的電信號(hào)模擬放大后送至A/D數(shù)字化,A/D采用同時(shí)采樣,采樣數(shù)據(jù)經(jīng)DSP數(shù)
27、字濾波處理后,變成數(shù)字地震信號(hào)。該數(shù)據(jù)采集系統(tǒng)具備24位A/D轉(zhuǎn)換芯片,采樣率有5 0HZ,100HZ,200HZ。[1]</p><p> 1.3.2 國(guó)外在該方向的研究現(xiàn)狀</p><p> 由美國(guó)PASCO公司生產(chǎn)的“科學(xué)工作室”是將數(shù)據(jù)采集應(yīng)用于物理實(shí)驗(yàn)的嶄新系統(tǒng),它由3部分組成:(1)傳感器:利用先進(jìn)的傳感技術(shù)可實(shí)時(shí)采集技術(shù)可實(shí)時(shí)采集物理實(shí)驗(yàn)中各物理量的數(shù)據(jù);(2)計(jì)算機(jī)接
28、口:將來(lái)自傳感器的數(shù)據(jù)信號(hào)輸入計(jì)算機(jī),采樣速率最高為25萬(wàn)次/S;(3)軟件:中文及英文的應(yīng)用軟件。[1]</p><p> 受需求牽引,新一代機(jī)載數(shù)據(jù)采集系統(tǒng)為滿足飛行實(shí)驗(yàn)應(yīng)用也在快速地發(fā)展。如愛(ài)爾蘭ACRA公司2000年研發(fā)推出的新一代KAM500機(jī)載數(shù)據(jù)采集系統(tǒng)。到了2006年。本系統(tǒng)采用16位模數(shù)轉(zhuǎn)換芯片,總采樣率達(dá)500K/s,可以利用方式組成高達(dá)1000通道的大容量的分布式采集系統(tǒng)。[1]</
29、p><p> 1.4 該課題研究的主要內(nèi)容</p><p> 數(shù)據(jù)采集技術(shù)是信息科學(xué)的重要分支之一,它研究信息數(shù)據(jù)的采集、存儲(chǔ)、</p><p> 處理以及控制等問(wèn)題。它是對(duì)傳感器信一號(hào)的測(cè)量與處理,以微型計(jì)算機(jī)等高技術(shù)為基礎(chǔ)而形成的一門(mén)綜合應(yīng)用技術(shù)。數(shù)據(jù)采集也是從一個(gè)或多個(gè)信號(hào)獲取對(duì)象信息的過(guò)程。隨著微型計(jì)算機(jī)技術(shù)的飛速發(fā)展和普及,數(shù)據(jù)采集監(jiān)測(cè)已成為日益重要的檢
30、測(cè)技術(shù),廣泛應(yīng)用上工農(nóng)業(yè)等需要同時(shí)監(jiān)控溫度、濕度和壓力等場(chǎng)合。數(shù)據(jù)采集是工業(yè)控制等系統(tǒng)中的重要環(huán)節(jié),通常采用一些功能相對(duì)獨(dú)立的單片機(jī)系統(tǒng)來(lái)實(shí)現(xiàn),作為測(cè)控系統(tǒng)不可缺少的部分,數(shù)據(jù)采集的性能特點(diǎn)直接影響到整個(gè)系統(tǒng)。</p><p> 盡管現(xiàn)在以微機(jī)為核心的可編程數(shù)據(jù)采集與處理技術(shù)作為數(shù)據(jù)采集技術(shù)的發(fā)展方向得到了迅速的發(fā)展,并且適于通用微機(jī)(IBM PC系列)使用的板卡級(jí)</p><p>
31、數(shù)據(jù)采集產(chǎn)品也已大量出現(xiàn),組成一個(gè)數(shù)據(jù)采集系統(tǒng)簡(jiǎn)單到只需要一塊數(shù)據(jù)采集</p><p> 卡,把它插在微機(jī)的擴(kuò)展槽內(nèi),并輔以應(yīng)用軟什,就能實(shí)現(xiàn)數(shù)據(jù)采集功能,但這并不會(huì)對(duì)基于單片機(jī)為核心的數(shù)據(jù)采集系統(tǒng)產(chǎn)生影響,因?yàn)閱纹瑱C(jī)功能強(qiáng)大、抗干擾能力強(qiáng)、可靠性高、靈活性好、開(kāi)發(fā)容易等優(yōu)點(diǎn),使得基于單片機(jī)為核心的數(shù)據(jù)采集系統(tǒng)在許多領(lǐng)域得到了廣泛的應(yīng)用。</p><p> 傳統(tǒng)的基于單片機(jī)的數(shù)據(jù)采集系
32、統(tǒng)由于沒(méi)有上位機(jī)的支持,不管采用什么樣的數(shù)據(jù)存儲(chǔ)器,它的存儲(chǔ)容量都是有限的,所以不得不對(duì)存儲(chǔ)的歷史數(shù)據(jù)進(jìn)行覆蓋刷新,這樣不利于用戶對(duì)數(shù)據(jù)進(jìn)行整體分析,因而也不能對(duì)生產(chǎn)過(guò)程的狀況進(jìn)行準(zhǔn)確的把握。</p><p> 本系統(tǒng)采用下位機(jī)負(fù)責(zé)模擬數(shù)據(jù)的采集,從單片機(jī)負(fù)責(zé)采集八路數(shù)據(jù),并應(yīng)答主機(jī)發(fā)送的命令,上位機(jī)即主機(jī)是負(fù)責(zé)處理接受過(guò)來(lái)的數(shù)字量的處理、存儲(chǔ)及顯示,主機(jī)和從機(jī)之間用RS-232進(jìn)行通信。這樣用戶可以在上位機(jī)上
33、編寫(xiě)各種程序?qū)ξ募械臄?shù)據(jù)進(jìn)行有效查詢和分析,有利于工業(yè)過(guò)程的長(zhǎng)期正常運(yùn)行和檢查。由于本人能力有限并未實(shí)現(xiàn)上位機(jī)功能,只利用現(xiàn)有硬件實(shí)現(xiàn)了下位機(jī)功能。</p><p> 第2章 數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)</p><p><b> 數(shù)據(jù)采集系統(tǒng)簡(jiǎn)介。</b></p><p> 2.1 數(shù)據(jù)采集系統(tǒng)</p><p>
34、數(shù)據(jù)采集(DAQ),是指從轉(zhuǎn)感器和其它待測(cè)設(shè)備等模擬和數(shù)字被測(cè)一單元中自動(dòng)采集非電量或者電量信一號(hào),送到上位機(jī)中進(jìn)行分析,處理。數(shù)據(jù)采集系統(tǒng)是結(jié)合基于計(jì)算機(jī)或者其他專(zhuān)用測(cè)試平臺(tái)的測(cè)量軟硬件產(chǎn)品來(lái)實(shí)現(xiàn)靈活的、用戶自定義的測(cè)量系統(tǒng)。數(shù)據(jù)采集技術(shù)廣泛引用在各個(gè)領(lǐng)域。</p><p> 通常,必須在數(shù)據(jù)采集設(shè)備采集之前調(diào)制傳感器信號(hào),包括對(duì)其進(jìn)行增益或衰減和隔離,放大,濾波等.對(duì)待某些傳感器,還需要提供激勵(lì)信號(hào).數(shù)據(jù)采
35、集系統(tǒng)可以將多路模擬信號(hào)自動(dòng)地進(jìn)行采集并進(jìn)行數(shù)字化測(cè)量,再送到計(jì)算機(jī)中進(jìn)行處理、傳輸、顯示、存儲(chǔ)或打印,從而獲得有關(guān)被測(cè)對(duì)象的大量數(shù)據(jù)。數(shù)據(jù)采集系統(tǒng)具有廣泛的應(yīng)用前景,如工廠為對(duì)生產(chǎn)過(guò)程進(jìn)行自動(dòng)控制,必須實(shí)時(shí)測(cè)量出反映工藝流程和產(chǎn)品質(zhì)的各種參量。因此,在工農(nóng)業(yè)、科研、國(guó)防、環(huán)保及日常</p><p> 生活等各個(gè)領(lǐng)域,為了實(shí)現(xiàn)過(guò)程控制、狀態(tài)監(jiān)測(cè)、故障診斷、質(zhì)量檢測(cè)等任務(wù),大多要應(yīng)用數(shù)據(jù)采集系統(tǒng)。</p&g
36、t;<p> 70年代初,隨著計(jì)算機(jī)技術(shù)及大規(guī)模集成電路的發(fā)展,特別是微處理器及</p><p> 高速A/D轉(zhuǎn)換器的出現(xiàn),數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)發(fā)生了重大變革。原來(lái)由小規(guī)模集</p><p> 成的數(shù)字邏輯電路及硬件程序控制器組成的采集系統(tǒng)被微處理器控制的采集系統(tǒng)所代替。由微處理器去完成程序控制,數(shù)據(jù)處理及大部分邏輯操作,使系統(tǒng)的</p><p>
37、 靈活性和可靠性大大地提高,系統(tǒng)硬件成本和系統(tǒng)的重建費(fèi)用大大地降低。</p><p> 2.2 數(shù)據(jù)采集的目的</p><p> 數(shù)據(jù)采集的目的是為了測(cè)量電壓、電流、溫度或聲音等物理現(xiàn)象。給予PC的數(shù)據(jù)采集,通過(guò)模塊化硬件、應(yīng)用軟件和計(jì)算機(jī)的結(jié)合,進(jìn)行測(cè)量。盡管數(shù)據(jù)采集系統(tǒng)根據(jù)不同的應(yīng)用需求有不同的定義,但各個(gè)系統(tǒng)采集、分析和顯示信息的目的卻都相同。數(shù)據(jù)采集系統(tǒng)結(jié)合了信號(hào)、傳感器、激
38、勵(lì)器、信號(hào)調(diào)理、數(shù)據(jù)采集設(shè)備和應(yīng)用軟件。</p><p> 數(shù)據(jù)采集技術(shù)是單片機(jī)應(yīng)用技術(shù)的主要分支。外部現(xiàn)實(shí)對(duì)象(廣義的外部設(shè)備)通過(guò)接口和計(jì)算機(jī)交換信息,在現(xiàn)實(shí)對(duì)象中,.信息表現(xiàn)為不同的形式并有明確的物理意義,通過(guò)對(duì)數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)來(lái)掌握單片機(jī)對(duì)數(shù)據(jù)的采集及其處理的過(guò)程,并將學(xué)習(xí)到的理論知識(shí)聯(lián)系到實(shí)際應(yīng)用當(dāng)中。</p><p> 2.3 數(shù)據(jù)采集系統(tǒng)框圖</p>&
39、lt;p> 數(shù)據(jù)采集系統(tǒng)一般由信號(hào)調(diào)理電路,多路切換電路,采樣保持電路,A/D轉(zhuǎn)換芯片,單片機(jī)或ARM等組成。本系統(tǒng)只對(duì)0V-5V的電壓信號(hào)進(jìn)行采集并轉(zhuǎn)換,所以只包含A/D轉(zhuǎn)換芯片,單片機(jī)/ARM等。</p><p> 數(shù)據(jù)采集系統(tǒng)框圖如圖2-1:</p><p> 圖2-1 多路采集系統(tǒng)系統(tǒng)框圖</p><p> 2.3.1 主要芯片</p&
40、gt;<p> (1)89C52是INTEL公司MCS-51系列單片機(jī)中基本的產(chǎn)品,它采用ATMEL公司可靠的CMOS工藝技術(shù)制造的高性能8位單片機(jī),屬于標(biāo)準(zhǔn)的MCS-51的HCMOS產(chǎn)品。它結(jié)合了CMOS的高速和高密度技術(shù)及CMOS的低功耗特征,它基于標(biāo)準(zhǔn)的MCS-51單片機(jī)體系結(jié)構(gòu)和指令系統(tǒng),屬于89C51增強(qiáng)型單片機(jī)版本,集成了時(shí)鐘輸出和向上或向下計(jì)數(shù)器等更多的功能,適合于類(lèi)似馬達(dá)控制等應(yīng)用場(chǎng)合。89C52內(nèi)置8位
41、中央處理單元、256字節(jié)內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM、8k片內(nèi)程序存儲(chǔ)器(ROM)32個(gè)雙向輸入/輸出(I/O)口、3個(gè)16位定時(shí)/計(jì)數(shù)器和5個(gè)兩級(jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)時(shí)鐘振蕩電路。此外,89C52還可工作于低功耗模式,可通過(guò)兩種軟件選擇空閑和掉電模式。在空閑模式下凍結(jié)CPU而RAM定時(shí)器、串行口和中斷系統(tǒng)維持其功能。掉電模式下,保存RAM數(shù)據(jù),時(shí)鐘振蕩停止,同時(shí)停止芯片內(nèi)其它功能。89C52有PDIP(40pin)和PLCC(
42、44pin)兩種封裝形式。[2]</p><p> (3)PCF8591是一個(gè)單片集成、單獨(dú)供電、低功耗、8-bit CMOS數(shù)據(jù)獲取器件。PCF8591具有4個(gè)模擬輸入、1個(gè)模擬輸出和1個(gè)串行I2C總線接口。PCF8591的3個(gè)地址引腳A0, A1和A2可用于硬件地址編程,允許在同一個(gè)I2C總線上接入8個(gè)PCF8591器件,而無(wú)需額外的硬件。在PCF8591器件上輸入輸出的地址、控制和數(shù)據(jù)信號(hào)都是通過(guò)雙線雙向
43、I2C總線以串行的方式進(jìn)行傳輸。[3] </p><p> (4)LCD1602 工業(yè)字符型液晶,能夠同時(shí)顯示16x02即32個(gè)字符。(16列2行)1602液晶也叫1602字符型液晶,它是一種專(zhuān)門(mén)用來(lái)顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊。它由若干個(gè)5X7或者5X11等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符,每位之間有一個(gè)點(diǎn)距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因?yàn)槿绱怂运荒?/p>
44、很好地顯示圖形。[4]</p><p><b> 涉及到的軟件</b></p><p> (1)KEIL C51是美國(guó)Keil Software公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。KEIL提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)
45、方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境( uVision )將這些部分組合在一起。運(yùn)行K e I l軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。[5]</p><p> (2)Visual C++ 6.0,簡(jiǎn)稱(chēng)VC或者VC6.0,是微軟推出的一款C++編譯器,將“高級(jí)語(yǔ)言”翻譯為“機(jī)器語(yǔ)言(低級(jí)語(yǔ)言)”的程序。Visual C++是一個(gè)功能強(qiáng)大的可視化軟件開(kāi)發(fā)工具。自1993年Microsoft公司推出
46、Visual C++1.0后,隨著其新版本的不斷問(wèn)世,Visual C++已成為專(zhuān)業(yè)程序員進(jìn)行軟件開(kāi)發(fā)的首選工具。雖然微軟公司推出了 Visual C++.NET(Visual C++7.0),但它的應(yīng)用有很大的局限性,只適用于Windows 2000、Windows XP和Windows NT4.0。所以實(shí)際中,更多的是以Visual C++6.0為平臺(tái)。[6]</p><p> 2.4 基本功能要求<
47、;/p><p> (1)利用兩片PCF8591實(shí)現(xiàn)八通道A/D轉(zhuǎn)換按鍵,S0、S1切換當(dāng)前選中的通道,LCD1602把當(dāng)前通道號(hào)和轉(zhuǎn)換后的電壓顯示出來(lái)。</p><p> (2)在windows桌面環(huán)境下,使用Visual C++可視化軟件開(kāi)發(fā)工具,調(diào)用MSCOMM控件,開(kāi)發(fā)一個(gè)集存儲(chǔ)與顯示的上位機(jī)程序,以便用計(jì)算機(jī)對(duì)大量數(shù)據(jù)的處理。(本次畢業(yè)設(shè)計(jì)未實(shí)現(xiàn)此功能)</p>&l
48、t;p><b> 第3章 硬件設(shè)計(jì)</b></p><p> 硬件系統(tǒng)由89C52單片機(jī)最小系統(tǒng)、LCD1602外圍電路、PCF8591外圍電路、獨(dú)立按鍵電路等組成。</p><p><b> 3.1 系統(tǒng)框圖</b></p><p> 單片機(jī)系統(tǒng)框圖如圖3-1所示。</p><p&g
49、t; 圖3-1 單片機(jī)系統(tǒng)框圖</p><p> 3.2 單片機(jī)最小系統(tǒng)</p><p> 單片機(jī)最小系統(tǒng)由復(fù)位電路、晶振電路、電源(VCC和GND)。</p><p> 復(fù)位電路包括上電復(fù)位和按鍵復(fù)位,由10uf電解電容、按鍵、1.2K電阻組成;晶振電路由12MHZ晶振、2個(gè)30pf陶瓷電容組成;VCC=5V,GND=0V。[7]</p>
50、<p> 單片機(jī)最小系統(tǒng)如圖3-1所示,</p><p> 圖3-2 單片機(jī)最小系統(tǒng)</p><p> 3.3 PCF8591芯片</p><p> PCF8591是一個(gè)單片集成、單獨(dú)供電、低功耗、8-bit CMOS數(shù)據(jù)獲取器件。PCF8591具有4個(gè)模擬輸入、1個(gè)模擬輸出和1個(gè)串行I2C總線接口。PCF8591的3個(gè)地址引腳A0、A1和A2可
51、用于硬件地址編程,允許在同一個(gè)IIC總線上接入8個(gè)PCF8591器件,而無(wú)需額外的硬件。在PCF8591器件上輸入輸出的地址、控制和數(shù)據(jù)信號(hào)都是通過(guò)雙線雙向I2C總線以串行的方式進(jìn)行傳輸。</p><p> 3.3.1 IIC串行總線</p><p> I2C總線是PHLIPS公司推出的一種串行總線,是具備多主機(jī)系統(tǒng)所需的包括總線裁決和高低速器件同步功能的高性能串行總線。</p
52、><p> I2C總線只有兩根雙向信號(hào)線。一根是數(shù)據(jù)線SDA,另一根是時(shí)鐘線SCL。</p><p> 如圖3-3所示IIC總線工作原理圖。[8]</p><p> 圖3-3 IIC總線工作原理圖</p><p> I2C總線通過(guò)上拉電阻接VCC。當(dāng)總線空閑時(shí),兩根線均為高電平。連到總線上的任一器件輸出的低電平,都將使總線的信號(hào)變低,即
53、各器件的SDA及SCL都是線“與”關(guān)系。如圖3-4所示,R p常取10K。[8]</p><p> 圖3-4 IIC總線硬件連接圖</p><p> 每個(gè)接到I2C總線上的器件都有唯一的地址。主機(jī)與其它器件間的數(shù)據(jù)傳送可以是由主機(jī)發(fā)送數(shù)據(jù)到其它器件,這時(shí)主機(jī)即為發(fā)送器。由總線上接收數(shù)據(jù)的器件則為接收器。[8]</p><p> 起始和終止信號(hào)都是由主機(jī)發(fā)出的
54、,在起始信號(hào)產(chǎn)生后,總線就處于被占用的狀態(tài);在終止信號(hào)產(chǎn)生后,總線就處于空閑狀態(tài)。[8]</p><p> 連接到I2C總線上的器件,若具有I2C總線的硬件接口,則很容易檢測(cè)到起始和終止信號(hào)。對(duì)于不具備I2C總線硬件接口的有些單片機(jī)來(lái)說(shuō),為了檢測(cè)起始和終止信號(hào),必須保證在每個(gè)時(shí)鐘周期內(nèi)對(duì)數(shù)據(jù)線SDA采樣兩次。[8] </p><p> 接收器件收到一個(gè)完整的數(shù)據(jù)字節(jié)后,有可能需要完成
55、一些其它工作,如處理內(nèi)部中斷服務(wù)等,可能無(wú)法立刻接收下一個(gè)字節(jié),這時(shí)接收器件可以將SCL線拉成低電平,從而使主機(jī)處于等待狀態(tài)。直到接收器件準(zhǔn)備好接收下一個(gè)字節(jié)時(shí),再釋放SCL線使之為高電平,從而使數(shù)據(jù)傳送可以繼續(xù)進(jìn)行。[8]</p><p> 想對(duì)IIC總線進(jìn)行操作就要熟悉IIC常涉及的幾個(gè)信號(hào),如起始信號(hào) S,終止信號(hào) P,應(yīng)答信號(hào)和非應(yīng)答信號(hào)。如圖3-5所示。[8]</p><p>
56、 圖3-5 信號(hào)工作圖</p><p> 以下是IIC總線涉及的信號(hào)在C語(yǔ)言上的實(shí)現(xiàn)。[8]</p><p><b> (1)起始信號(hào) S</b></p><p> void iic_start() //i2c起始信號(hào)</p><p><b> {</b></p><p
57、><b> sda=1;</b></p><p><b> _nop_();</b></p><p><b> scl=1;</b></p><p><b> somenop;</b></p><p><b> sda=0;<
58、;/b></p><p><b> somenop;</b></p><p><b> scl=0;</b></p><p><b> }</b></p><p><b> (2)終止信號(hào) P</b></p><p>
59、; void iic_stop()</p><p><b> {</b></p><p><b> sda=0;</b></p><p><b> _nop_();</b></p><p><b> scl=1;</b></p>&
60、lt;p><b> somenop;</b></p><p><b> sda=1;</b></p><p><b> }</b></p><p><b> (3)應(yīng)答信號(hào)</b></p><p> void ack()</p>
61、;<p><b> {</b></p><p> unsigned char i=0;</p><p> scl=1;somenop;while((sda==1)&&(i<200))</p><p> i++;scl=0;</p><p><b> }</b&
62、gt;</p><p><b> (4)發(fā)送一個(gè)字</b></p><p> void iic_sendbyte(unsigned char byt)</p><p><b> {</b></p><p> unsigned char i;</p><p> for
63、(i=0;i<8;i++)</p><p><b> {</b></p><p> if(byt&0x80)</p><p><b> sda=1;</b></p><p><b> else</b></p><p><b&g
64、t; sda=0;</b></p><p><b> somenop;</b></p><p><b> scl=1;</b></p><p><b> byt<<=1;</b></p><p><b> somenop;</b
65、></p><p><b> scl=0;</b></p><p><b> }</b></p><p><b> ack();</b></p><p><b> }</b></p><p><b> (5
66、)接收一個(gè)字</b></p><p> unsigned char iic_recbyte()</p><p><b> {</b></p><p> uchar i,da;</p><p> for(i=0;i<8;i++)</p><p><b> {&l
67、t;/b></p><p><b> scl=1;</b></p><p><b> somenop;</b></p><p><b> da<<=1;</b></p><p><b> if(sda)</b></p>
68、<p><b> da|=0x01;</b></p><p><b> scl=0;</b></p><p><b> somenop;</b></p><p><b> }</b></p><p> return da;</
69、p><p><b> }</b></p><p> (6)以上程序中的somenop由以下兩條程序?qū)崿F(xiàn):</p><p> #include <intrins.h></p><p> #define somenop{_nop_();_nop_();_nop_();_nop_();_nop_();}<
70、/p><p> 3.3.2 PCF8591 AD轉(zhuǎn)換的應(yīng)用</p><p> FCF8591引腳圖如圖3-6所示。</p><p> 圖3-6 PCF8591引腳圖</p><p> PCF8591芯片的datasheet知AIN0-AIN3為四通道模擬輸入端,A0-A2為編程端口,用于多片PCF8591的情形。當(dāng)IIC總線系統(tǒng)中只有
71、一片PCF8591時(shí),可以把A0-A2都接GND。本系統(tǒng)使用了兩個(gè)PCF8591,其中的一片A0-A2都接GND。另一片A2、A1接GND,A0接VCC。VDD接VCC,VREF接VCC,故模擬通道測(cè)量范圍是0V到5V。AGND和EXT都接GND,使用的是內(nèi)部時(shí)鐘。SCL和SDA接單片機(jī)的P2^0、P2^1。</p><p> 進(jìn)行AD轉(zhuǎn)換的操作順序。</p><p> (1)對(duì)于芯片
72、1是:</p><p><b> IIC起始信號(hào) </b></p><p> 先寫(xiě)0X90;//告訴芯片要進(jìn)行寫(xiě)操作</p><p> 再寫(xiě)控制字;//常用的由0X00,0X01,0X02,0X03</p><p> //0X00選擇通道0,0X01選擇通道</p><p> //1,0
73、X02選擇通道2,0X03選擇</p><p><b> //通道3;</b></p><p><b> IIC停止信號(hào)</b></p><p><b> 延時(shí)5us</b></p><p><b> IIC起始信號(hào)</b></p>
74、<p><b> 寫(xiě)0X91</b></p><p><b> 讀轉(zhuǎn)換結(jié)果 </b></p><p> (2)對(duì)于芯片2是:</p><p><b> IIC起始信號(hào) </b></p><p> 先寫(xiě)0X92;//告訴芯片要進(jìn)行寫(xiě)操作</p>
75、<p> 再寫(xiě)控制字;//常用的由0X00,0X01,0X02,0X03</p><p> //0X00選擇通道0,0X01選擇通道</p><p> //1,0X02選擇通道2,0X03選擇</p><p><b> //通道3;</b></p><p><b> IIC停止信號(hào)</
76、b></p><p><b> 延時(shí)5us</b></p><p><b> IIC起始信號(hào)</b></p><p><b> 寫(xiě)0X93</b></p><p><b> 讀轉(zhuǎn)換結(jié)果</b></p><p> 3.
77、4 LCD1602器件</p><p> 工業(yè)字符型液晶,能夠同時(shí)顯示16x02即32個(gè)字符。(16列2列)</p><p> 1602液晶也叫1602字符型液晶,它是一種專(zhuān)門(mén)用來(lái)顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊。它由若干個(gè)5X7或者5X11等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符,每位之間有一個(gè)點(diǎn)距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因?yàn)槿绱怂?/p>
78、以它不能很好地顯示圖形(用自定義CGRAM,顯示效果也不好)。</p><p> (1)LCD1602的基本操作時(shí)序</p><p> 1)讀狀態(tài):輸入:RS=L,RW=H,E=H, 輸出:D0~D7=狀態(tài)字</p><p> 2)寫(xiě)指令:輸入:RS=L,RW=L,D0~D7=指令碼,E=高脈沖 輸出:無(wú)</p>
79、;<p> 3)讀數(shù)據(jù):輸入:RS=H,RW=H,E=H, 輸出:D0~D7=數(shù)據(jù)</p><p> 4)寫(xiě)數(shù)據(jù):輸入:RS=H,RW=L, D0~D7=指令碼,E=高脈沖 輸出:無(wú)</p><p> 5)狀態(tài)字最高位為1,表示LCD1602忙;狀態(tài)字最高位為0,表示LCD1602空閑</p><p> 6)
80、LCD1602的顯示地址 第一行為00H 01H ……27H</p><p> 第二行為40H 41H……67H</p><p> (2)LCD1602初始化過(guò)程</p><p><b> 延時(shí)15ms</b></p><p> 寫(xiě)指令38H(不檢測(cè)忙信號(hào))</p><p><b&
81、gt; 延時(shí)5ms</b></p><p> 寫(xiě)指令38H(不檢測(cè)忙信號(hào))</p><p><b> 延時(shí)5ms</b></p><p> 寫(xiě)指令38H(不檢測(cè)忙信號(hào))</p><p> (以后每次寫(xiě)指令、讀/寫(xiě)數(shù)據(jù)操作之前均需檢測(cè)忙信號(hào))</p><p> 寫(xiě)指令38H:
82、顯示模式設(shè)置</p><p> 寫(xiě)指令01H:顯示清屏</p><p> 寫(xiě)指令06H:顯示光標(biāo)移動(dòng)設(shè)置</p><p> 寫(xiě)指令OCH:顯示開(kāi)及光標(biāo)設(shè)置</p><p> 寫(xiě)顯示地址 第一行00H~27H 第二行40H~67H</p><p> 寫(xiě)要顯示的字符或數(shù)字(數(shù)字必須是ASCII碼)</p&g
83、t;<p> (3)LCD1602的RS、RW、E引腳分別接單片機(jī)的P1^2、 P1^3、 P1^4,D0~D7接單片機(jī)的P0口。</p><p> 3.4 單片機(jī)外圍電路圖</p><p><b> 如圖3-7所示。</b></p><p> 圖3-7 單片機(jī)外圍電路(除去最小系統(tǒng))
84、 </p><p><b> 第4章 軟件設(shè)計(jì)</b></p><p> 軟件包括主程序和定時(shí)器0中斷程序,主程序由延時(shí)程序、LCD相關(guān)程序、鍵盤(pán)檢測(cè)程序、IIC程序、PCF8591程序等組成。</p><p><b> 4.1 主程序</b></p><p> 主程序由LCD相關(guān)程
85、序、鍵盤(pán)檢測(cè)程序、IIC程序、PCF8591、延時(shí)程序、數(shù)據(jù)處理程序等組成。</p><p> 4.1.1 主程序流程圖</p><p><b> 如圖4-1所示。</b></p><p> 圖4-1 主程序流程圖</p><p> 4.1.2 LCD1602與PCF8591程序流程圖</p>
86、<p><b> 如圖4-2所示。</b></p><p> 圖4-2 LCD1602與PCF8591程序流程圖</p><p> 4.1.3 數(shù)據(jù)處理程序流程圖</p><p><b> 如圖4-3所示。</b></p><p> 圖4-3 數(shù)據(jù)處理程序流程圖</p
87、><p> 4.1.4 按鍵檢測(cè)程序流程圖</p><p><b> 如圖4-4所示。</b></p><p> 圖4-4 按鍵檢測(cè)程序流程圖</p><p> LCD1602顯示程序、AD轉(zhuǎn)換程序、數(shù)據(jù)處理程序?qū)懺诙〞r(shí)器T0中斷函數(shù)中,T0定時(shí)200us。主程序中只有鍵盤(pán)檢測(cè)程序。</p><
88、;p> 4.2 上位機(jī)程序介紹</p><p> 使用visual C++ 6.0可視化軟件開(kāi)發(fā)工具,調(diào)用MSCOMM控件,開(kāi)發(fā)一個(gè)集存儲(chǔ)與顯示的上位機(jī)程序,用于大量數(shù)據(jù)的分析與處理。本設(shè)計(jì)并未實(shí)現(xiàn)上位機(jī)功能,只對(duì)上位機(jī)方面簡(jiǎn)單介紹了一下,主要是下位機(jī)功能的實(shí)現(xiàn)。</p><p> 4.2.1 Visual C++ 6.0</p><p> Vi
89、sual C++6.0由Microsoft開(kāi)發(fā), 它不僅是一個(gè)C++ 編譯器,而且是一個(gè)基于Windows操作系統(tǒng)的可視化集成開(kāi)發(fā)環(huán)境(integrated development environment,IDE)。Visual C++6.0由許多組件組成,包括編輯器、調(diào)試器以及程序向?qū)ppWizard、類(lèi)向?qū)lass Wizard等開(kāi)發(fā)工具。 這些組件通過(guò)一個(gè)名為Developer Studio的組件集成為和諧的開(kāi)發(fā)環(huán)境。Micr
90、osoft的主力軟件產(chǎn)品。Visual C++是一個(gè)功能強(qiáng)大的可視化軟件開(kāi)發(fā)工具。自1993年Microsoft公司推出Visual C++1.0后,隨著其新版本的不斷問(wèn)世,Visual C++已成為專(zhuān)業(yè)程序員進(jìn)行軟件開(kāi)發(fā)的首選工具。雖然微軟公司推出了Visual C++.NET(Visual C++7.0),但它的應(yīng)用的很大的局限性,只適用于Windows 2000,Windows XP和Windows NT4.0。所以實(shí)際中,更多的
91、是以Visual C++6.0為平臺(tái)。[5]</p><p> 4.2.2 MSComm控件[9] </p><p> MSComm 控件通過(guò)串行端口傳輸和接收數(shù)據(jù),為應(yīng)用程序提供串行通訊功能。MSComm控件在串口編程時(shí)非常方便,程序員不必去花時(shí)間去了解較為復(fù)雜的API函數(shù),而且在VC、VB、Delphi等語(yǔ)言中均可使用。 Microsoft Communications Co
92、ntrol(以下簡(jiǎn)稱(chēng)MSComm)是Microsoft公司提供的簡(jiǎn)化Windows下串行通信編程的ActiveX控件,它為應(yīng)用程序提供了通過(guò)串行接口收發(fā)數(shù)據(jù)的簡(jiǎn)便方法。具體的來(lái)說(shuō),它提供了兩種處理通信問(wèn)題的方法:一是事件驅(qū)動(dòng)(Event-driven)方法,一是查詢法。</p><p> MSComm控件提供下列兩種處理通訊的方式:事件驅(qū)動(dòng)方式和查詢方式。</p><p><b&g
93、t; 事件驅(qū)動(dòng)方式</b></p><p> 事件驅(qū)動(dòng)通訊是處理串行端口交互作用的一種非常有效的方法。在許多情況下,在事件發(fā)生時(shí)需要得到通知,例如,在串口接收緩沖區(qū)中有字符,或者 Carrier Detect (CD) 或 Request To Send (RTS) 線上一個(gè)字符到達(dá)或一個(gè)變化發(fā)生時(shí)。在這些情況下,可以利用 MSComm 控件的 OnComm 事件捕獲并處理這些通訊事件。OnCom
94、m 事件還可以檢查和處理通訊錯(cuò)誤。所有通訊事件和通訊錯(cuò)誤的列表,參閱 CommEvent 屬性。在編程過(guò)程中,就可以在OnComm事件處理函數(shù)中加入自己的處理代碼。這種方法的優(yōu)點(diǎn)是程序響應(yīng)及時(shí),可靠性高。每個(gè)MSComm控件對(duì)應(yīng)著一個(gè)串行端口。如果應(yīng)用程序需要訪問(wèn)多個(gè)串行端口,必須使用多個(gè) MSComm 控件。</p><p><b> 查詢方式</b></p><p&
95、gt; 查詢方式實(shí)質(zhì)上還是事件驅(qū)動(dòng),但在有些情況下,這種方式顯得更為便捷。在程序的每個(gè)關(guān)鍵功能之后,可以通過(guò)檢查 CommEvent 屬性的值來(lái)查詢事件和錯(cuò)誤。如果應(yīng)用程序較小,并且是自保持的,這種方法可能是更可取的。例如,如果寫(xiě)一個(gè)簡(jiǎn)單的電話撥號(hào)程序,則沒(méi)有必要對(duì)每接收一個(gè)字符都產(chǎn)生事件,因?yàn)槲ㄒ坏却邮盏淖址钦{(diào)制解調(diào)器的“確定”響應(yīng)。</p><p> 4.2 硬件與軟件調(diào)試</p>&
96、lt;p> 系統(tǒng)調(diào)試以程序?yàn)橹?,硬件調(diào)試先檢測(cè)電路的焊接是否正確,然后用外用表檢測(cè)或通電檢測(cè)其是否有短路或斷路。軟件調(diào)試包括調(diào)試程序和對(duì)硬件準(zhǔn)確性的調(diào)試。利用杜邦線把0V到5V的模擬電壓信號(hào)接到八路模擬輸入通道上,通過(guò)按鍵可以改變當(dāng)檢測(cè)的通道。液晶實(shí)時(shí)顯示通道號(hào)和模擬電壓值。</p><p><b> 結(jié) 論</b></p><p> 我不會(huì)忘記這難忘的
97、幾個(gè)月的時(shí)間里,親手實(shí)現(xiàn)了自己想做的項(xiàng)目。以前總是在51單片機(jī)開(kāi)發(fā)板上寫(xiě)程序,然后看看效果,從沒(méi)有自己設(shè)計(jì)過(guò)硬件電路,哪怕單片機(jī)最小系統(tǒng)也沒(méi)硬件實(shí)現(xiàn)過(guò)。通過(guò)這次畢業(yè)設(shè)計(jì),我學(xué)到了太多的東西,小到電焊鐵的使用,大到使用KEILC51編寫(xiě)全部程序。我真正感覺(jué)到自己的能力得到了提升。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 王琳、商周、王學(xué)
98、偉,數(shù)據(jù)采集系統(tǒng)的發(fā)展及應(yīng)用.電測(cè)與儀表.2004,No.464</p><p> [2] 89C52 百度百科</p><p> [3] PCF8591 百度百科</p><p> [4] LCD1602 百度百科</p><p> [5] KEIL C51 百度百科 </p><p> [6] Visua
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)(論文)多路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
- 基于單片機(jī)的多路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 多路數(shù)據(jù)采集系統(tǒng)畢業(yè)設(shè)計(jì)
- 多路數(shù)據(jù)采集系統(tǒng)畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的多路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 基于單片機(jī)的多路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)【畢業(yè)論文】
- 多路數(shù)據(jù)采集系統(tǒng)pcb
- 多路數(shù)據(jù)采集系統(tǒng).XLS
- 多路數(shù)據(jù)采集系統(tǒng).XLS
- 實(shí)用多路數(shù)據(jù)采集系統(tǒng)
- 畢業(yè)設(shè)計(jì)----多路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
- 精品基于單片機(jī)的多路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)畢業(yè)論文-定
- 畢業(yè)論文范文——基于單片機(jī)的多路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
- 多路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)方案
- 多路數(shù)據(jù)采集系統(tǒng)課程設(shè)計(jì)
- 基于單片機(jī)的多路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)畢業(yè)論文(含外文翻譯)
- 基于c51單片機(jī)的多路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 機(jī)械電子工程畢業(yè)論文-基于單片機(jī)的多路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
- 基于c51單片機(jī)的多路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 畢業(yè)設(shè)計(jì)----多路數(shù)據(jù)采集系統(tǒng)(含外文翻譯)
評(píng)論
0/150
提交評(píng)論