版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 基于單片機(jī)的多路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)</p><p> The Design Of Multi-channel Data Acquisition System Based On SCM</p><p><b> 摘要</b></p><p> 本文介紹了基于單片機(jī)的數(shù)據(jù)采集的硬件設(shè)計(jì)和軟件設(shè)計(jì),數(shù)據(jù)采集系統(tǒng)是模擬域與數(shù)字
2、域之間必不可少的紐帶,它的存在具有著非常重要的作用。本文介紹的重點(diǎn)是數(shù)據(jù)采集系統(tǒng),而該系統(tǒng)硬件部分的重心在于單片機(jī)。數(shù)據(jù)采集與通信控制采用了模塊化的設(shè)計(jì),數(shù)據(jù)采集與通信控制采用了單片機(jī)AT89S52來(lái)實(shí)現(xiàn),硬件部分是以單片機(jī)為核心,還包括A/D模數(shù)轉(zhuǎn)換模塊,顯示模塊,和串行接口部分。該系統(tǒng)從機(jī)負(fù)責(zé)數(shù)據(jù)采集并應(yīng)答主機(jī)的命令。8路被測(cè)電壓通過(guò)模數(shù)轉(zhuǎn)換器ADC0809進(jìn)行模數(shù)轉(zhuǎn)換,實(shí)現(xiàn)對(duì)采集到的數(shù)據(jù)進(jìn)行模擬量到數(shù)字量的轉(zhuǎn)換,并將轉(zhuǎn)換后的數(shù)據(jù)通
3、過(guò)串行口MAX232傳輸?shù)缴衔粰C(jī),由上位機(jī)負(fù)責(zé)數(shù)據(jù)的接受、處理和顯示,并用LED數(shù)碼顯示器來(lái)顯示所采集的結(jié)果。軟件部分應(yīng)用VC++編寫控制軟件,對(duì)數(shù)據(jù)采集系統(tǒng)、模數(shù)轉(zhuǎn)換系統(tǒng)、數(shù)據(jù)顯示、數(shù)據(jù)通信等程序進(jìn)行了設(shè)計(jì)。</p><p> 關(guān)鍵詞:數(shù)據(jù)采集 89C52單片機(jī) ADC0809 MAX232</p><p><b> Abstract</b></p&
4、gt;<p> This article describes the hardware design and software design of the data on which based on signal-chip microcomputer .The data collection system is the link between the digital domain and analog domain.
5、 It has an very important function. The introductive point of this text is a data to collect the system. The hardware of the system focuses on signal-chip microcomputer .Data collection and communication control use modu
6、lar design. The data collected to control with correspondence to adopt a mac</p><p> Keyword: data acquisition AT89C52 ADC0809 MAX232</p><p><b> 目錄</b></p><p>
7、<b> 第一章 緒論1</b></p><p> 1.1 研究背景及其目的意義1</p><p> 1.2 國(guó)內(nèi)外研究現(xiàn)狀2</p><p> 1.3 該課題研究的主要內(nèi)容內(nèi)容2</p><p> 第二章 數(shù)據(jù)采集4</p><p> 2.1 數(shù)據(jù)采集系統(tǒng)4</p
8、><p> 2.2 方案論證5</p><p> 2.2.1 A/D模數(shù)轉(zhuǎn)換的選擇5</p><p> 2.2.2單片機(jī)的選擇5</p><p> 2.2.3 串行口的選擇5</p><p> 2.2.4 顯示部分6</p><p> 2.2.5 按鍵6</p>
9、<p> 第三章 硬件部分8</p><p> 3.1 主機(jī)部分8</p><p> 3.1.1 主機(jī)部分原理圖設(shè)計(jì)8</p><p> 3.1.2 單片機(jī)9</p><p> 3.2 從機(jī)部分13</p><p> 3.2.1 從機(jī)的電路原理圖設(shè)計(jì)13</p><
10、;p> 3.2.2 單片機(jī)之間的通信14</p><p> 3.2.3 模數(shù)轉(zhuǎn)換器ADC080918</p><p> 第四章 軟件部分22</p><p> 4.1 簡(jiǎn)介KeilUvision222</p><p> 4.2 主機(jī)程序設(shè)計(jì)26</p><p> 4.3 從機(jī)部分程序設(shè)計(jì)
11、30</p><p> 第五章 調(diào)試結(jié)果33</p><p><b> 總結(jié)34</b></p><p><b> 致謝35</b></p><p><b> 參考文獻(xiàn)36</b></p><p><b> 附錄137&l
12、t;/b></p><p><b> 附錄238</b></p><p><b> 第一章 緒論</b></p><p> 1.1 研究背景及其目的意義</p><p> 近年來(lái),數(shù)據(jù)采集及其應(yīng)用受到了人們?cè)絹?lái)越廣泛的關(guān)注,數(shù)據(jù)采集系統(tǒng)也有了迅速的發(fā)展,它可以廣泛的應(yīng)用于各種領(lǐng)域。&
13、lt;/p><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ù)采集設(shè)備和系統(tǒng)多屬于專用的系統(tǒng)。[11]</p
14、><p> 20世紀(jì)70年代后期,隨著微型機(jī)的發(fā)展,誕生了采集器、儀表同計(jì)算機(jī)溶為一體的數(shù)據(jù)采集系統(tǒng)。由于這種數(shù)據(jù)采集系統(tǒng)的性能優(yōu)良,超過(guò)了傳統(tǒng)的自動(dòng)檢測(cè)儀表和專用數(shù)據(jù)采集系統(tǒng),因而獲得了驚人的發(fā)展。從70年代起,數(shù)據(jù)采集系統(tǒng)發(fā)展過(guò)程中逐漸分為兩類,一類是實(shí)驗(yàn)室數(shù)據(jù)采集系統(tǒng),一類是工業(yè)現(xiàn)場(chǎng)數(shù)據(jù)采集系統(tǒng)。[11]</p><p> 20世紀(jì)80年代隨著計(jì)算機(jī)的普及應(yīng)用,數(shù)據(jù)采集系統(tǒng)得到了很大
15、的發(fā)展,開(kāi)始出現(xiàn)了通用的數(shù)據(jù)采集與自動(dòng)測(cè)試系統(tǒng)。該階段的數(shù)據(jù)采集系統(tǒng)主要有兩類,一類以儀表儀器和采集器、通用接口總線和計(jì)算機(jī)組成。這類系統(tǒng)主要應(yīng)用于實(shí)驗(yàn)室,在工業(yè)生產(chǎn)現(xiàn)場(chǎng)也有一定的應(yīng)用。第二類以數(shù)據(jù)采集卡、標(biāo)準(zhǔn)總線和計(jì)算機(jī)構(gòu)成,這一類在工業(yè)現(xiàn)場(chǎng)應(yīng)用較多。20世紀(jì)80年代后期,數(shù)據(jù)采集發(fā)生了很大的變化,工業(yè)計(jì)算機(jī)、單片機(jī)和大規(guī)模集成電路的組合,用軟件管理,是系統(tǒng)的成本減低,體積變小,功能成倍增加,數(shù)據(jù)處理能力大大加強(qiáng)。[11]</p
16、><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)。數(shù)據(jù)采集技術(shù)已經(jīng)成為一種專門的技術(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
17、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ù)采集功能,但這并不會(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)行
18、采集,因此能夠開(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.2 國(guó)內(nèi)外研究現(xiàn)狀</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ù)采集
19、方面的技術(shù)也取得了長(zhǎng)足的進(jìn)步,采集數(shù)據(jù)的信息化是目前社會(huì)的發(fā)展主流方向。各種領(lǐng)域都用到了數(shù)據(jù)采集,在石油勘探、科學(xué)實(shí)驗(yàn)、飛機(jī)飛行、地震數(shù)據(jù)采集領(lǐng)域已經(jīng)得到應(yīng)用。</p><p> 我國(guó)的數(shù)字地震觀測(cè)系統(tǒng)主要采用TDE-124C型TDE-224C型地震數(shù)據(jù)采集系統(tǒng)。近年來(lái),又成功研制了動(dòng)態(tài)范圍更大、線性度更高、兼容性更強(qiáng)、低功耗可靠性的TDE-324C型地震數(shù)據(jù)采集系統(tǒng)。該數(shù)據(jù)采集對(duì)拾震計(jì)輸出的電信號(hào)模擬放大后送
20、至A/D數(shù)字化,A/D采用同時(shí)采樣,采樣數(shù)據(jù)經(jīng)DSP數(shù)字濾波處理后,變成數(shù)字地震信號(hào)。該數(shù)據(jù)采集系統(tǒng)具備24位A/D轉(zhuǎn)化位數(shù),采樣率有50HZ、100HZ、200HZ。[11]</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ī)接口:將來(lái)自傳感器的數(shù)據(jù)信號(hào)輸
21、入計(jì)算機(jī),采樣速率最高為25萬(wàn)次/S;(3)軟件:中文及英文的應(yīng)用軟件。[11]</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位(A/D)模擬數(shù)字變換,總采樣率達(dá)500K/S,同步時(shí)間為+/-250ns,可以利用方式組成高達(dá)1000通道的大容量的分布式采集系統(tǒng)。<
22、;/p><p> 1.3 該課題研究的主要內(nèi)容內(nèi)容</p><p> 數(shù)據(jù)采集技術(shù)是信息科學(xué)的重要分支之一, 它研究信息數(shù)據(jù)的采集、存儲(chǔ)、處理以及控制等問(wèn)題。它是對(duì)傳感器信號(hào)的測(cè)量與處理, 以微型計(jì)算機(jī)等高技術(shù)為基礎(chǔ)而形成的一門綜合應(yīng)用技術(shù)。數(shù)據(jù)采集也是從一個(gè)或多個(gè)信號(hào)獲取對(duì)象信息的過(guò)程。隨著微型計(jì)算機(jī)技術(shù)的飛速發(fā)展和普及,數(shù)據(jù)采集監(jiān)測(cè)已成為日益重要的檢測(cè)技術(shù),廣泛應(yīng)用于工農(nóng)業(yè)等需要同時(shí)監(jiān)
23、控溫度、濕度和壓力等場(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í)數(shù)據(jù)采集產(chǎn)品也已大量出現(xiàn),組成一個(gè)數(shù)據(jù)采集系統(tǒng)簡(jiǎn)單到只需要一塊數(shù)據(jù)采集卡,
24、把它插在微機(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ù)采集系統(tǒng)由于沒(méi)有上位機(jī)的支持,不管采用什么樣的數(shù)據(jù)存儲(chǔ)器,它的存儲(chǔ)容量都是有限的,所以不得不對(duì)存儲(chǔ)的歷史數(shù)據(jù)進(jìn)行覆蓋刷新,這樣
25、不利于用戶對(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ù)字量的處理及顯示,主機(jī)和從機(jī)之間用RS-232進(jìn)行通信。這樣用戶可以在上位機(jī)上編寫各種程序?qū)ξ募械臄?shù)據(jù)進(jìn)行有效查詢和分析,有利于工業(yè)過(guò)程的長(zhǎng)期正常運(yùn)行和檢查。該系統(tǒng)采用的是AT89S52單片機(jī),此芯片功
26、能比較強(qiáng)大,能夠滿足設(shè)計(jì)要求。</p><p><b> 第二章 數(shù)據(jù)采集</b></p><p> 2.1 數(shù)據(jù)采集系統(tǒng)</p><p> 數(shù)據(jù)采集,又稱數(shù)據(jù)獲取,是利用一種裝置,從系統(tǒng)外部采集數(shù)據(jù)并輸入到系統(tǒng)內(nèi)部的一個(gè)接口。數(shù)據(jù)采集技術(shù)廣泛引用在各個(gè)領(lǐng)域。</p><p> 70年代初,隨著計(jì)算機(jī)技術(shù)及大規(guī)
27、模集成電路的發(fā)展,特別是微處理器及高速A/D轉(zhuǎn)換器的出現(xiàn),數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)發(fā)生了重大變革。原來(lái)由小規(guī)模集成的數(shù)字邏輯電路及硬件程序控制器組成的采集系統(tǒng)被微處理器控制的采集系統(tǒng)所代替。由微處理器去完成程序控制,數(shù)據(jù)處理及大部分邏輯操作,使系統(tǒng)的靈活性和可靠性大大地提高,系統(tǒng)硬件成本和系統(tǒng)的重建費(fèi)用大大地降低。</p><p> 在該系統(tǒng)中需要將模擬量轉(zhuǎn)換為數(shù)據(jù)量,而 A/D是將模擬量轉(zhuǎn)換為數(shù)字量的器件,他需要考慮
28、的指標(biāo)有:分辨率、轉(zhuǎn)換時(shí)間、轉(zhuǎn)換誤差等等。而單片機(jī)是該系統(tǒng)的基本的微處理系統(tǒng),它完成數(shù)據(jù)讀取、處理及邏輯控制,數(shù)據(jù)傳輸?shù)纫幌盗械娜蝿?wù)。在該系統(tǒng)中采用的是8051系列的單片機(jī)。雙機(jī)通信的串行口可以采用RS232C標(biāo)準(zhǔn)接口,由芯片MAX232實(shí)現(xiàn)雙機(jī)的通信。而數(shù)據(jù)的顯示則采用的是LED數(shù)碼管,該器件比較簡(jiǎn)單,在生活中接觸也較多。</p><p> 數(shù)據(jù)采集系統(tǒng)一般由信號(hào)調(diào)理電路,多路切換電路,采樣保持電路,A/D,
29、單片機(jī)等組成。</p><p> 完成畢業(yè)設(shè)計(jì)所需要的系統(tǒng)框圖如圖2.1所示:</p><p><b> 圖2.1 系統(tǒng)框圖</b></p><p><b> 2.2 方案論證</b></p><p> 2.2.1 A/D模數(shù)轉(zhuǎn)換的選擇</p><p> A/D轉(zhuǎn)換
30、器的種類很多,就位數(shù)來(lái)說(shuō),可以分為8位、10位、12位和16位等。位數(shù)越高其分辨率就越高,價(jià)格也就越貴。A/D轉(zhuǎn)換器型號(hào)很多,而其轉(zhuǎn)換時(shí)間和轉(zhuǎn)換誤差也各不相同。</p><p> (1)逐漸逼近式A/D轉(zhuǎn)換器:它是一種速度快、精度較高、成本較低的直接式轉(zhuǎn)換器,其轉(zhuǎn)換時(shí)間在幾微秒到幾百微秒之間。</p><p> (2)雙積分A/D轉(zhuǎn)換器:它是一種間接式的A/D轉(zhuǎn)換器,優(yōu)點(diǎn)是抗干擾能力強(qiáng)
31、,精度比較高,缺點(diǎn)是數(shù)度很慢,適用于對(duì)轉(zhuǎn)換數(shù)度要求不高的系統(tǒng)。</p><p> (3)并行式A/D轉(zhuǎn)換器:它又被稱為flash(快速)型,它的轉(zhuǎn)換數(shù)度很高,但她采用了很多個(gè)比較器,而n位的轉(zhuǎn)換就需要2n-1個(gè)比較器,因此電路規(guī)模也極大,價(jià)格也很貴,只適用于視頻A/D轉(zhuǎn)換器等數(shù)度特別高的領(lǐng)域。</p><p> 鑒于上面三種方案,在價(jià)格、轉(zhuǎn)換速度等多種標(biāo)準(zhǔn)考量下,在本設(shè)計(jì)選用的是逐漸逼
32、近式A/D轉(zhuǎn)換器——ADC0809.</p><p> 2.2.2單片機(jī)的選擇</p><p> 單片機(jī)是一種面向大規(guī)模的集成電路芯片,是微型計(jì)算機(jī)中的一個(gè)重要的分支。此系統(tǒng)是由CPU、隨即存取數(shù)據(jù)存儲(chǔ)器、只讀程序存儲(chǔ)器、輸入輸出電路(I/O口),還有可能包括定時(shí)/計(jì)數(shù)器、串行通信口、顯示驅(qū)動(dòng)電路(LCD和LED驅(qū)動(dòng)電路)、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器及A/D轉(zhuǎn)換器等電路集成到一個(gè)單塊
33、芯片上,構(gòu)成了一個(gè)最小但完善的計(jì)算機(jī)任務(wù)。單片機(jī)要使用特定的組譯和編譯軟件編譯程序,在用keiluvision2把程序下載到單片機(jī)內(nèi)。</p><p> 而本設(shè)計(jì)選用的是AT89C52.</p><p> 2.2.3 串行口的選擇</p><p> 該串行口我選用了標(biāo)準(zhǔn)RS-232C接口,它是電平與TTL電平轉(zhuǎn)換驅(qū)動(dòng)電路。常用的芯片是MAX232,MAX232
34、的優(yōu)點(diǎn)是:</p><p> ?。?)一片芯片可以完成發(fā)送轉(zhuǎn)換和接收轉(zhuǎn)換的雙重功能。</p><p> (2)單一電源+5V供電</p><p> ?。?)它的電路設(shè)計(jì)與連接比較簡(jiǎn)單而且功能齊全。</p><p> 2.2.4 顯示部分</p><p> LED數(shù)碼顯示管是一種由LED發(fā)光二極管組合顯示字符的顯示
35、器件。它使用了8個(gè)LED顯示管,其中7個(gè)用于顯示字符,1個(gè)用來(lái)顯示小數(shù)點(diǎn),故通常稱之為八段發(fā)光二極管數(shù)碼顯示器。對(duì)LED數(shù)碼顯示器的控制可以采用按時(shí)間向它提供具有一定驅(qū)動(dòng)能力的位選和段選信號(hào)。LED數(shù)碼顯示有動(dòng)態(tài)掃描顯示法和靜態(tài)顯示。在單片機(jī)中,為了節(jié)省硬件資源,多采用動(dòng)態(tài)掃描顯示法。</p><p><b> 2.2.5 按鍵</b></p><p> 鍵盤是一
36、種常見(jiàn)的輸入設(shè)備,用戶可以向計(jì)算機(jī)輸入數(shù)據(jù)或命令。根據(jù)案件的識(shí)別方法分類,有編碼鍵盤和非編碼鍵盤兩種。通過(guò)硬件識(shí)別的鍵盤稱編碼鍵盤;通過(guò)軟件識(shí)別的鍵盤成為非編碼鍵盤。非編碼鍵盤有兩種接口方法:一種是獨(dú)立按鍵接口;另一種是矩陣式按鍵接口。</p><p><b> 1、獨(dú)立按鍵接口</b></p><p> 在單片機(jī)中,如果所需的按鍵較少,可采用獨(dú)立式鍵盤。每只按鍵
37、接單片機(jī)的一條I/O線,通過(guò)對(duì)線的查詢,即可識(shí)別各按鍵的狀態(tài)。如圖2.2所示。4只按鍵分別宇單片機(jī)的P1.0~P1.3I/O線上。無(wú)按鍵按下時(shí),P1.0~P1.3線上均輸入高電平。當(dāng)某按鍵按下時(shí),與其相連的I/O線將得到低電平輸入。</p><p> 圖2.2 獨(dú)立按鍵接口圖</p><p><b> 2.矩陣式按鍵接口</b></p><p&
38、gt; 在單片機(jī)中需要的按鍵較多時(shí),通常把鍵排成矩陣形式,這樣可以節(jié)省硬件資源。如對(duì)于20只按鍵接口,如采用按鍵獨(dú)立方式,需要20個(gè)I/O口。如采用矩陣式按鍵方式,則只需要9個(gè)I/O 口。如圖2.3所示。單片機(jī)系統(tǒng)中的非編碼式鍵盤程序主要由判別是否有鍵按下子程序、鍵的識(shí)別子程序、找到閉合鍵后,讀入相應(yīng)的鍵值,再轉(zhuǎn)到相應(yīng)的鍵處理程序幾個(gè)部分組成。</p><p> 圖2.3 矩陣式按鍵接口圖</p>
39、<p> 在該系統(tǒng)中所用到的按鍵有9個(gè),所以采取矩陣式按鍵接口方式。</p><p><b> 第三章 硬件部分</b></p><p><b> 3.1 主機(jī)部分 </b></p><p> 該系統(tǒng)是一個(gè)主從式多路數(shù)據(jù)采集系統(tǒng),主機(jī)和從機(jī)均用單片機(jī)實(shí)現(xiàn),它的主機(jī)部分負(fù)責(zé)數(shù)據(jù)處理和顯示,主機(jī)和從機(jī)之間
40、用RS-232進(jìn)行通信。它由AT89S52、MAX232、LED數(shù)碼顯示器組成。</p><p> 3.1.1 主機(jī)部分原理圖設(shè)計(jì)</p><p> 由于主機(jī)要對(duì)從機(jī)有一個(gè)命令,所以用到按鍵,將按鍵接到單片機(jī)AT89C52的P3.4的端口上,按鍵的一端接地,當(dāng)P3.4這條I/O線是一個(gè)低電平時(shí),則表示按鍵按下。主機(jī)還要負(fù)責(zé)對(duì)采集到的數(shù)據(jù)進(jìn)行處理和LED顯示,用兩個(gè)74HC573,一個(gè)與
41、單片機(jī)AT89C52的P2.7口相連用于位選,一個(gè)與單片機(jī)AT89C52的P2.6口相連用于段選。單片機(jī)的P0口的8位數(shù)據(jù)線與用于段選的74HC573的D0~D7相連,用于數(shù)碼管上具體的數(shù)字的顯示。單片機(jī)P0口的八位數(shù)據(jù)線與用于位選的74HC573的D0~D7相連,用于在哪個(gè)數(shù)碼管上顯示。主機(jī)跟從機(jī)的連接,又涉及到一個(gè)串行口雙機(jī)通信的問(wèn)題,根據(jù)單片機(jī)雙機(jī)通信距離、抗干擾性等要求,選擇RS-232C串行接口方法,選擇串行口MAX232來(lái)連
42、接主機(jī)和從機(jī),將MAX232的11、12腳分別與單片機(jī)AT89C52的P3.1,P3.2腳相連,再將MAX232上的13、14腳分別與db-9的3、6腳相連。單片機(jī)AT89C52的18、19腳與它的晶振電路相連,第9腳與它的復(fù)位電路相連。其原理圖如圖3.1所示</p><p> 圖3.1 主機(jī)部分電路原理圖</p><p><b> 3.1.2 單片機(jī)</b>&l
43、t;/p><p><b> ?。?)單片機(jī)的概述</b></p><p> 單片機(jī)是一種集成的電路芯塊采用了超大規(guī)模技術(shù)把具有運(yùn)算能力(如算術(shù)運(yùn)算、邏輯運(yùn)算、數(shù)據(jù)傳送、中斷處理)的微處理器(CPU),隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),只讀程序存儲(chǔ)器(ROM),輸入輸出電路(I/O口),可能還包括定時(shí)計(jì)數(shù)器,串行通信口(SCI),顯示驅(qū)動(dòng)電路(LCD或LED驅(qū)動(dòng)電路),脈寬調(diào)
44、制電路(PWM),模擬多路轉(zhuǎn)換及A/D轉(zhuǎn)換器等電路集成到一塊單片機(jī)上,構(gòu)成一個(gè)最小然而很完善的計(jì)算機(jī)系統(tǒng)。這些電路能在軟件的控制下準(zhǔn)確快速的完成程序設(shè)計(jì)者事先規(guī)定的任務(wù)??偟亩詥纹瑱C(jī)的特點(diǎn)可以歸納為以下幾個(gè)方面:集成度高、存儲(chǔ)容量大、外部擴(kuò)展能力強(qiáng)、控制功能強(qiáng)、低電壓、低功耗、性能價(jià)格比高、可靠性高這幾個(gè)方面。[8]</p><p> 單片機(jī)按內(nèi)部數(shù)據(jù)通道的寬度,可分為4位、8位、16位及32位單片機(jī)。它們被
45、應(yīng)用在不同領(lǐng)域里,8位單片機(jī)由于功能強(qiáng)大,被廣泛的應(yīng)用在工業(yè)控制、智能接口、儀表儀器等各個(gè)領(lǐng)域。8位單片機(jī)在中、小規(guī)模應(yīng)用場(chǎng)合仍占主流地位,代表了單片機(jī)的發(fā)展方向,在單片機(jī)應(yīng)用領(lǐng)域發(fā)揮越來(lái)越大的作用。隨著移動(dòng)通訊、網(wǎng)絡(luò)技術(shù)、多媒體技術(shù)等高科技產(chǎn)品進(jìn)入家庭,32位單片機(jī)應(yīng)用得到了長(zhǎng)足發(fā)展。縱觀單片機(jī)的發(fā)展過(guò)程,可以預(yù)示單片機(jī)的發(fā)展趨勢(shì):</p><p><b> 微型單片化</b></
46、p><p><b> 低功耗CMOS</b></p><p><b> 3、與多品種共存</b></p><p> 4、可靠性和應(yīng)用水平越來(lái)越高</p><p> 單片機(jī)有著微處理器所不具備的功能,它可以獨(dú)立地完成現(xiàn)代工業(yè)控制所要求的智能化控制功能這就是單片機(jī)的最大特點(diǎn)。然而單片機(jī)又不同于單板機(jī)
47、,芯片在沒(méi)有開(kāi)發(fā)前,它只是具備功能極強(qiáng)的超大規(guī)模集成電路,如果賦予它特定的程序,它便是一個(gè)最小的、完整的微機(jī)控制系統(tǒng)。它與單板機(jī)或個(gè)人電腦有著本質(zhì)的區(qū)別,單片機(jī)屬于芯片級(jí)應(yīng)用,需要用戶了解單片機(jī)芯片的結(jié)構(gòu)和指令系統(tǒng)以及其它集成電路應(yīng)用技術(shù)和系統(tǒng)設(shè)計(jì)所需要的理論和技術(shù),用這樣特定的芯片設(shè)計(jì)應(yīng)用程序,從而使芯片具備特定的智能。[8]</p><p> (2) 簡(jiǎn)介AT89C52</p><p&g
48、t; AT89C52是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統(tǒng)可編程Flash 存儲(chǔ)器。使用Atmel 公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。[8]</p><p>
49、 AT89S52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線,看門狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16 位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下
50、一個(gè)中斷或硬件復(fù)位為止。[8]其引腳圖,如圖3.2所示</p><p> 圖3.2 AT89C52的引腳圖</p><p> 它一共有40個(gè)引腳,引腳又分為四類。其中有四個(gè)電源引腳,用來(lái)接入單片機(jī)的工作電源。工作電源又分主電源、備用電源和編程電源。還有兩個(gè)時(shí)鐘引腳XTAL1、XTAL2。還有由P0口、P1口、P2口、P3口的所有引腳構(gòu)成的單片機(jī)的輸入/輸出(I\O)引腳。最后一種是控制
51、引腳,控制引腳有四條,部分引腳具有復(fù)位功能。</p><p> 綜上所述,單片機(jī)的引腳特點(diǎn)是:</p><p> 單片機(jī)多功能,少引腳,使得引腳復(fù)用現(xiàn)象較多。</p><p> 單片機(jī)具有四種總線形式:P0和P2組成的16位地址地址總線;P0分時(shí)復(fù)用為8位數(shù)據(jù)總線;ALE、PSEN、RST、EA和P3口的INT0、INT1、T0、T1、WR、RD以及P1口的T
52、2、T2EX組成控制總線;而P3口的RXD、TXD組成串行通信總線。</p><p> 89C52單片機(jī)的主要功能</p><p> ?與MCS-51單片機(jī)產(chǎn)品兼容</p><p> 8K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器</p><p> ?1000次擦寫周期</p><p> ?全靜態(tài)操作:0Hz~33Hz
53、</p><p> ?三級(jí)加密程序存儲(chǔ)器</p><p> ?32個(gè)可編程I/O口線</p><p> ?三個(gè)16位定時(shí)器/計(jì)數(shù)器</p><p><b> ?八個(gè)中斷源</b></p><p> ?全雙工UART串行通道</p><p> ?低功耗空閑和掉電模
54、式</p><p><b> ?掉電后中斷可喚醒</b></p><p><b> ?看門狗定時(shí)器</b></p><p><b> ?雙數(shù)據(jù)指針</b></p><p><b> ?掉電標(biāo)識(shí)符</b></p><p>
55、3.1.3 LED數(shù)碼顯示器的應(yīng)用原理</p><p> 簡(jiǎn)單的講,LED數(shù)碼顯示器就是由發(fā)光二極管組成的,其內(nèi)部結(jié)構(gòu)如圖3.3所示,LED數(shù)碼顯示器有兩種連接方式:</p><p> ?。?)共陰極接法:把發(fā)光二極管的陰極連在一起構(gòu)成公共陰極,使用時(shí)公共陰極接地。每個(gè)發(fā)光二極管的陽(yáng)極與輸入端相連。如圖3.4所示</p><p> (2)共陽(yáng)極接法。把發(fā)光二極管
56、的陽(yáng)極連在一起構(gòu)成公共陽(yáng)極,使用時(shí)公共陽(yáng)極接+5V,每個(gè)發(fā)光二極管的陰極通過(guò)電阻與輸入端相連。如圖3.5所示</p><p> 圖3.2 LED內(nèi)部結(jié)構(gòu) 圖3.3 共陰極接法 圖3.4 共陽(yáng)極接法</p><p> 為了顯示字符,要為L(zhǎng)ED顯示器提供顯示段碼(或稱字形代碼),組成一個(gè)“8”字的七段,再加上1個(gè)小數(shù)點(diǎn)位,共計(jì)八段。各段位碼位的對(duì)應(yīng)關(guān)系
57、如表3.1所示。[8]</p><p> 表3.1 段位碼對(duì)應(yīng)關(guān)系</p><p><b> 3.2 從機(jī)部分 </b></p><p> 該系統(tǒng)的從機(jī)負(fù)責(zé)A/D模數(shù)轉(zhuǎn)換,并應(yīng)答主機(jī)的命令,需要用到ADC0809、AT59C52,又由于它們兩個(gè)的時(shí)鐘頻率不一樣,所以又要用到一個(gè)74LS74。</p><p>
58、 3.2.1 從機(jī)的電路原理圖設(shè)計(jì)</p><p> 該部分需要對(duì)模擬量進(jìn)行一次模數(shù)轉(zhuǎn)換,則要用到一個(gè)ADC0809,又因?yàn)樗鼈冎g的時(shí)鐘頻率不一樣又需要用到一個(gè)74LS74對(duì)其進(jìn)行一個(gè)二分頻的工作,這個(gè)只需要將74LS74的第3根引腳與單片機(jī)AT89C52的第30根引腳相連,將74LS74 的第9根引腳與ADC0809的時(shí)鐘信號(hào)引腳相連。單片機(jī)AT89C52的P0口與ADC0809的D0~D7相連,而ADC0
59、809的ADDA、ADDB、ADDC分別與P0口的低三位相連。其用到的MAX232與主機(jī)部分的電路連接方法一樣。其電路圖如3.5所示</p><p> 圖3.5 從機(jī)部分電路設(shè)計(jì)圖</p><p> 3.2.2 單片機(jī)之間的通信</p><p> ?。?)串口通信RS-232C</p><p> 計(jì)算機(jī)與計(jì)算機(jī)或計(jì)算機(jī)與終端之間的數(shù)據(jù)傳
60、送可以采用串行通訊和并行通訊二種方式。由于串行通訊方式具有使用線路少、成本低,特別是在遠(yuǎn)程傳輸時(shí),避免了多條線路特性的不一致而被廣泛采用。在串行通訊時(shí),要求通訊雙方都采用一個(gè)標(biāo)準(zhǔn)接口,使不同的設(shè)備可以方便地連接起來(lái)進(jìn)行通訊。 RS-232-C接口(又稱 EIA RS-232-C)是目前最常用的一種串行通訊接口。它是在1970年由美國(guó)電子工業(yè)協(xié)會(huì)(EIA)聯(lián)合貝爾系統(tǒng)、調(diào)制解調(diào)器廠家及計(jì)算機(jī)終端生產(chǎn)廠家共同制定的用于串行通訊的標(biāo) 準(zhǔn)。它的
61、全名是“數(shù)據(jù)終端設(shè)備(DTE)和數(shù)據(jù)通訊設(shè)備(DCE)之間 串行二進(jìn)制數(shù)據(jù)交換接口技術(shù)標(biāo)準(zhǔn)”該標(biāo)準(zhǔn)規(guī)定采用一個(gè)25個(gè)腳的 DB25連接器,對(duì)連接器的每個(gè)引腳的信號(hào)內(nèi)容加以規(guī)定,還對(duì)各種信號(hào)的電平加以規(guī)定。</p><p> (1)接口的信號(hào)內(nèi)容 實(shí)際上RS-232-C的25條引線中有許多是很少使用的,在計(jì)算機(jī)與終端通訊中一般只使用3-9條引線。RS-232-C最常用的9條引線的信號(hào)內(nèi)容。見(jiàn)表3.2所示</
62、p><p> (2)接口的電氣特性 在RS-232-C中任何一條信號(hào)線的電壓均為負(fù)邏輯關(guān)系。即:邏輯“1”,-5— -15V;邏輯“0” +5— +15V 。噪聲容量為2V。即要求接收器能識(shí)別低至+3V的信號(hào)作為邏輯“0”,高于—3V的信號(hào)作為邏輯“1”。 </p><p> 表3.2 常用引線的信號(hào)內(nèi)容</p><p> (3)接口的物理結(jié)構(gòu) RS-232C接
63、口連接器一般使用型號(hào)為DB-25的25芯插頭座,通常插頭在DCE端,插座在DTE端。一些設(shè)備與PC機(jī)連接的RS-232-C接口,因?yàn)椴皇褂脤?duì)方的傳送控制信號(hào),只需三條接口線,即“發(fā)送數(shù)據(jù)”、“接收數(shù)據(jù)”和“信號(hào)地”。所以采用DB-9的9芯插頭座,傳輸線采用屏蔽雙絞線。兩個(gè)DB-9的連接如圖3.6所示</p><p> 圖3.6 兩個(gè)DB-9的連接圖</p><p> ?。?)傳輸電纜長(zhǎng)度
64、 由RS-232C標(biāo)準(zhǔn)規(guī)定在碼元畸變小于4%的情況下,傳輸電纜長(zhǎng)度應(yīng)為50英尺,其實(shí)這個(gè)4%的碼元畸變是很保守的,在實(shí)際應(yīng)用中,約有99%的用戶是按碼元畸變10-20%的范圍工作的,所以實(shí)際使用中最大距離會(huì)遠(yuǎn)超過(guò)50英尺。 </p><p> ?。?) 簡(jiǎn)介MAX232</p><p> MAX232芯片是美信公司專門為電腦的RS-232標(biāo)準(zhǔn)串口設(shè)計(jì)的接口電路,使用+5v單電源供電,可以
65、實(shí)現(xiàn)TTL電平與RS-232C電平相互轉(zhuǎn)換的IC芯片。</p><p> MAX內(nèi)部結(jié)構(gòu)圖如圖3.7所示</p><p> 圖3.7 MAX232的內(nèi)部結(jié)構(gòu)圖</p><p> 內(nèi)部結(jié)構(gòu)基本可分三個(gè)部分:</p><p> 第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩個(gè)電源,提供給RS
66、-232串口電平的需要。</p><p> 第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構(gòu)成兩個(gè)數(shù)據(jù)通道。其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道。8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。TTL/CMOS數(shù)據(jù)從T1IN、T2IN輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從T1OUT、T2OUT
67、送到電腦DB9插頭;DB9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。</p><p> 第三部分是供電。15腳GND、16腳VCC(+5v)。</p><p> 引腳結(jié)構(gòu)圖如圖3.8所示:</p><p> 圖3.8 MAX232的引腳結(jié)構(gòu)圖</p><p> 其中引腳1-
68、6(C1+、V+、C1_、C2+、C2-、V-)用于電源電壓轉(zhuǎn)換,只要在外部接入相應(yīng)電解電容即可;引腳7-10和引腳11-14構(gòu)成兩組TTL信號(hào)電平與RS-232C信號(hào)電平的轉(zhuǎn)換電路,對(duì)應(yīng)引腳可直接與單片機(jī)串行口的TTL電平引腳和PC的RS-232C電平引腳相連。</p><p> 單片機(jī)與MAX232的連接如圖3.9所示</p><p> 圖3.9 單片機(jī)與MAX232的連接圖<
69、;/p><p> 3.2.3 模數(shù)轉(zhuǎn)換器ADC0809</p><p> 在我們所測(cè)控的信號(hào)中軍事連續(xù)變化的物理量,而要對(duì)這些信號(hào)進(jìn)行處理,則需要將其轉(zhuǎn)換為數(shù)字量,A/D轉(zhuǎn)換器就是為了將連續(xù)變化的模擬量轉(zhuǎn)換成計(jì)算機(jī)能接受的數(shù)字量。</p><p> 按模擬量轉(zhuǎn)換成數(shù)字量的原理可以分為3種:雙積分式、逐次逼近式及并行式A/D轉(zhuǎn)換器。而該系統(tǒng)選用的是ADC0809,下
70、面就具體的介紹一下ADC0809的工作原理。</p><p><b> C0809的介紹</b></p><p> ADC0809是八通道的八位逐次逼近式A/D轉(zhuǎn)換器。由單一的5V電源供電,片內(nèi)帶有鎖存功能的8選1的模擬開(kāi)關(guān)。由C、B、A的編碼來(lái)決定所選的模擬通道。轉(zhuǎn)換時(shí)間為100us。轉(zhuǎn)換誤差為1/2LSB。</p><p> 它的引腳
71、的排列及其功能,其引腳圖見(jiàn)3.10</p><p> 圖3.10 ADC0809的引腳圖</p><p> IN7~IN0 :八個(gè)通道的模擬輸入量。</p><p> ADDA、ADDB、ADDC:模擬通道地址線。當(dāng)CBA=000時(shí),IN0輸入,當(dāng)CBA=111時(shí),IN7輸入。</p><p> ALE:地址鎖存信號(hào)。</p&g
72、t;<p> START:轉(zhuǎn)換啟動(dòng)信號(hào),高電平有效。</p><p> D7~D0:數(shù)據(jù)輸出線。三態(tài)輸出,D7是最高位,D0是最低位。</p><p> OE:輸出允許信號(hào),高電平有效。</p><p> CLK:時(shí)鐘信號(hào),最高頻率為 640KHZ。</p><p> EOC:轉(zhuǎn)換結(jié)束狀態(tài)信號(hào)。上升沿后高電平有效。&l
73、t;/p><p> Vcc:+5V電源。</p><p> Vref:參考電壓。</p><p> 2、ADC0809時(shí)序圖及其接口電路</p><p> ADC0809的時(shí)序圖如圖3.11所示:</p><p> 圖3.11 ADC0809的時(shí)序圖</p><p> 其工作過(guò)程是:AL
74、E的上升沿將A、B、C端選擇的通道地址鎖存到8位A/D轉(zhuǎn)換器的輸入端。START的下降驗(yàn)啟動(dòng)8位A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。A/D轉(zhuǎn)換開(kāi)始使EOC端輸出低電平。A/D轉(zhuǎn)換結(jié)束,EOC輸出高電平。該信號(hào)通??勺鳛橹袛嗌暾?qǐng)信號(hào)。OE為讀出數(shù)據(jù)允許信號(hào)。OE端為高電平時(shí),可以讀出轉(zhuǎn)換的數(shù)字量。硬件電路設(shè)計(jì)時(shí),需根據(jù)時(shí)序關(guān)系及軟件進(jìn)行設(shè)計(jì)。</p><p> ADC0809與AT89C52單片機(jī)的接口方式,如圖3.12所示:
75、</p><p> 圖3.12 ADC0809與單片機(jī)的連接圖</p><p> 由于ADC0809具有輸出3態(tài)鎖存器,其八位數(shù)據(jù)輸出引腳可直接與數(shù)據(jù)總線相連。地址譯碼引腳A、B、C分別與地址總線低三位A0、A1、A2相連,以選通IN0~IN7中的一個(gè)通道。在啟動(dòng)A/D轉(zhuǎn)換時(shí),由單片機(jī)的P3.4控制A/D轉(zhuǎn)換器的地址鎖存和轉(zhuǎn)換啟動(dòng),由于ALE和START連在一起,因此AD0809在鎖存
76、通道的同時(shí),也啟動(dòng)了A/D轉(zhuǎn)換器。在讀取轉(zhuǎn)換結(jié)果時(shí),用低電平的讀信號(hào)RD,產(chǎn)生的正脈沖作為OE信號(hào),用以打開(kāi)三態(tài)輸出鎖存器。將轉(zhuǎn)換結(jié)果輸出。而低電平的寫信號(hào)WR則表示轉(zhuǎn)換結(jié)束狀態(tài)信號(hào)。</p><p><b> 第四章 軟件部分</b></p><p> 4.1 簡(jiǎn)介KeilUvision2</p><p> Keil提供了包括C編譯器
77、、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(UVISION)將這些組合在一起。</p><p> Keil有以下幾個(gè)特點(diǎn):</p><p> 全功能的源代碼編輯器;</p><p> 器件庫(kù)用來(lái)配置開(kāi)發(fā)工具設(shè)置;</p><p> 項(xiàng)目管理器用來(lái)創(chuàng)建和維護(hù)用戶的項(xiàng)目;</p>
78、;<p> 集成的MAKE工具可以匯編、編譯和連接用戶嵌入式應(yīng)用;</p><p> 所有開(kāi)發(fā)工具的設(shè)置都是對(duì)話框形式的;</p><p> 真正的源代碼級(jí)的對(duì)CPU和外圍器件的調(diào)試器;</p><p> 高級(jí)GDI(AGDI)接口用來(lái)在目標(biāo)硬件上進(jìn)行軟件調(diào)試以及和Monitor-51進(jìn)行通信</p><p><b
79、> 其使用的過(guò)程為:</b></p><p> 首先打開(kāi)KeilUvision2,在KEIL系統(tǒng)中,每做個(gè)獨(dú)立的程序,都視為工程。首先從菜單中的工程中“新建工程”,建立我們將要做的工程項(xiàng)目:</p><p> 接下來(lái)Keil環(huán)境要求我們?yōu)?2工程選擇一個(gè)單片機(jī)型號(hào);我們選擇Ateml公司的89C51(雖然我使用的是AT89S52,但由于89S51與89C51內(nèi)外部的
80、結(jié)構(gòu)完全一樣,所以這里仍然用“89C51”)。“確定”后工程就算建立好了。</p><p> 立了工程項(xiàng)目以后現(xiàn)在就要為工程添加程序,點(diǎn)擊“文件”中的新建,新建一個(gè)空白文檔;這個(gè)空白文檔就是我們編寫單片機(jī)程序的場(chǎng)所。在這里可以進(jìn)行編輯、修改等操作。根據(jù)題意,在文檔中寫入代碼,寫完后再檢查一下,然后保存,然后再將保存好的文檔添加到工程中,具體做法如下:</p><p> 程序文件添加完畢
81、后,對(duì)其進(jìn)行編譯當(dāng)前程序、編譯修改過(guò)的文件并生成應(yīng)用程序、重新編譯所有文件并生成應(yīng)用程序后,再點(diǎn)擊TARGET,則其頁(yè)面為:</p><p> 再點(diǎn)擊圖案上的Output鍵</p><p> 接下來(lái)就是點(diǎn)擊上圖中的select folder for objects鍵,得到下圖將其產(chǎn)生的HEX文件存儲(chǔ)在E盤zh文件夾中。</p><p> 最后一步就是利用STC
82、-ISP將HEX文件燒錄到單片機(jī)里。</p><p> 4.2 主機(jī)程序設(shè)計(jì)</p><p> 本軟件系統(tǒng)有一個(gè)主程序,五個(gè)子程序,五個(gè)子程序分別為向串口發(fā)送數(shù)據(jù)子程序putc_to_serialport()、鍵盤掃描子程序Keys_Scan()、LED數(shù)據(jù)顯示子程序Display_Result(int d)、延時(shí)子程序Delay()、主機(jī)串口接受中斷子程序Serial_INT() i
83、nterrupt 4。</p><p><b> ?。?)主程序</b></p><p> 主程序?qū)ο到y(tǒng)進(jìn)行初始化,主要是進(jìn)行定時(shí)/計(jì)數(shù)的初始化,然后調(diào)用鍵盤掃描程序Keys_Scan(),再根據(jù)按下的鍵來(lái)調(diào)用向串口發(fā)送數(shù)據(jù)子程序putc_to_serialport()將相應(yīng)的數(shù)據(jù)發(fā)送給串行口。當(dāng)沒(méi)有鍵按下時(shí),則送一個(gè)數(shù)F給LED顯示器。其流程圖見(jiàn)圖4.1</
84、p><p> ?。?)向串口發(fā)送數(shù)據(jù)子程序putc_to_serialport()</p><p> 該程序首先將數(shù)據(jù)發(fā)送到串行口,當(dāng)T1=0時(shí),表明傳送結(jié)束。其流程圖如4.2所示</p><p> ?。?)鍵盤掃描子程序Keys_Scan()</p><p> 該程序是先將行選好,然后再選定列就可以確定到具體的哪一個(gè)按鍵。其流程圖如圖4.3
85、所示</p><p> ?。?)LED顯示程序Display_Result(int d)</p><p> 該子程序用的數(shù)碼管動(dòng)態(tài)顯示方式。先將單片機(jī)的P2.7口選通進(jìn)行位選,然后將位選的值發(fā)送給單片機(jī)P1口。接著將單片機(jī)的P2.6口選通進(jìn)行段選,然后將要顯示的數(shù)字的值發(fā)送給P0口。然后調(diào)用延時(shí),接著將P2.7、P2.6口置0,下面是重復(fù)上面的過(guò)程,直到要顯示的數(shù)字全部顯示在數(shù)碼上。其流
86、程圖如4.4所示。</p><p> ?。?)主機(jī)串口接受中斷子程序Serial_INT() interrupt 4。</p><p> 當(dāng)RI =1時(shí),接受串口過(guò)來(lái)的數(shù)據(jù),并對(duì)該數(shù)據(jù)進(jìn)行X*05H/0FFH的處理,接下來(lái)用處理過(guò)的數(shù)據(jù)調(diào)用LED顯示程序Display_Result(int d)。如圖4.4所示</p><p><b> 圖4.1主程序
87、</b></p><p> 圖4.2 向串口發(fā)送數(shù)據(jù)子程序putc_to_serialport()</p><p> 圖4.3鍵盤掃描子程序Keys_Scan()</p><p> 圖4.4 LED顯示程序Display_Result(int d)</p><p> 圖4.5 主機(jī)串口接受中斷子程序Serial_INT(
88、) interrupt 4</p><p> 4.3 從機(jī)部分程序設(shè)計(jì)</p><p> 該部分的程序包括一個(gè)主程序、三個(gè)子程序,三個(gè)子程序分別為從機(jī)串口接受中斷函數(shù)Serial_INT() interrupt 4、向串口發(fā)送數(shù)據(jù)子程序putc_to_SerialPort(uchar c)和模數(shù)轉(zhuǎn)換子程序ADCON。</p><p><b> ?。?)
89、主程序</b></p><p> 主程序是進(jìn)行系統(tǒng)的初始化,由于主從兩個(gè)單片機(jī)要進(jìn)行通信,所以兩個(gè)單片機(jī)的初始化應(yīng)該是相同的,并調(diào)用A/D轉(zhuǎn)換。其流程圖如圖4.6所示</p><p> ?。?)從機(jī)串口接受中斷函數(shù)Serial_INT() interrupt 4</p><p> 因?yàn)榘l(fā)送完成和接受到新字節(jié)都會(huì)觸發(fā)串口中斷,因此串口中斷程序里用if(
90、RI)來(lái)表示接受中斷,然后將RI清0。再判斷接受到的數(shù)據(jù)第4位是否為1,如果為1,則按照主機(jī)發(fā)送過(guò)來(lái)的通道進(jìn)行采集,如果為0,則調(diào)用循環(huán)采集程序。如圖4.7所示</p><p> (3)模數(shù)轉(zhuǎn)換子程序ADCON</p><p> 先要選通ADC0809,又因?yàn)锳DC0809具有8個(gè)通道,利用For循環(huán)進(jìn)行8次采集,接下來(lái)選擇轉(zhuǎn)換通道,F(xiàn)8H~FFH用以選擇輸入模擬信號(hào)的通道IN0~IN
91、7的選擇,首先從第一個(gè)通道開(kāi)始,然后執(zhí)行一條讀取轉(zhuǎn)換結(jié)果的指令,再將轉(zhuǎn)換得到的結(jié)果送給串行口,再依次循環(huán),將通道號(hào)自增1,直到8個(gè)通道全部轉(zhuǎn)換完。其流程圖如圖4.8所示</p><p> (4)向串口發(fā)送數(shù)據(jù)子程序putc_to_SerialPort(uchar c)</p><p> 程序首先將數(shù)據(jù)發(fā)送到串行口,當(dāng)T1=0時(shí),表明傳送結(jié)束。如圖4.2所示</p><
92、;p><b> 圖4.6 主程序</b></p><p> 圖4.7 從機(jī)串口接受中斷函數(shù)Serial_INT() interrupt 4</p><p> 圖4.8模數(shù)轉(zhuǎn)換子程序ADCON</p><p><b> 第五章 調(diào)試結(jié)果</b></p><p> 這個(gè)系統(tǒng)是一個(gè)主從式的
93、數(shù)據(jù)采集系統(tǒng)。系統(tǒng)調(diào)試以程序?yàn)橹?,硬件調(diào)試應(yīng)先檢測(cè)電路的焊接是否正確,然后用外用表檢測(cè)或通電檢測(cè)其是否有短路或斷路。軟件調(diào)試包括調(diào)試程序和對(duì)硬件準(zhǔn)確性的調(diào)試。</p><p> 在整個(gè)系統(tǒng)中,主機(jī)用到了9個(gè)按鍵,按鍵0按下后,發(fā)送一個(gè)00H的數(shù)據(jù)給從機(jī),而從機(jī)接收到這個(gè)信號(hào)就開(kāi)始調(diào)用一個(gè)循環(huán)采集方式,然后從機(jī)采集完數(shù)據(jù)后再將轉(zhuǎn)換好的數(shù)據(jù)和采集線路的通道號(hào)發(fā)送給主機(jī)并用LED數(shù)據(jù)顯示器顯示出來(lái);按鍵1-8用于選擇
94、采集方式,分別送相應(yīng)的采集線路的通道號(hào)給從機(jī),然后再將從機(jī)轉(zhuǎn)換好的數(shù)據(jù)和采集線路的通道號(hào)發(fā)送給主機(jī)并用LED數(shù)據(jù)顯示器顯示出來(lái);當(dāng)主機(jī)沒(méi)有按鍵按下時(shí),則發(fā)送一個(gè)數(shù)0給LED。</p><p><b> 總結(jié)</b></p><p> 本設(shè)計(jì)主要完成了基于AT89S51單片機(jī)控制的數(shù)據(jù)采集系統(tǒng)的硬件電路設(shè)計(jì)以及相應(yīng)的軟件設(shè)計(jì)。本系統(tǒng)的硬件設(shè)計(jì)主要包括:多路轉(zhuǎn)換開(kāi)關(guān)及
95、前置放大電路的設(shè)計(jì),采樣保持電路的設(shè)計(jì),模數(shù)轉(zhuǎn)換電路的設(shè)計(jì),數(shù)模轉(zhuǎn)換電路的設(shè)計(jì)。多路轉(zhuǎn)換開(kāi)關(guān)及前置放大電路的設(shè)計(jì)中重點(diǎn)介紹了多路開(kāi)關(guān)的選擇、AD521放大倍數(shù)的計(jì)算以及多路開(kāi)關(guān)CD4051和放大器AD521硬件連接電路。采樣保持電路的設(shè)計(jì)中重點(diǎn)介紹了采樣保持電路的原理和主要參數(shù)以及采樣保持器的選擇和連接電路。模數(shù)轉(zhuǎn)換電路的設(shè)計(jì)中重點(diǎn)介紹了系統(tǒng)A/D通道的選擇和A/D轉(zhuǎn)換器的各項(xiàng)誤差分析以及A/D轉(zhuǎn)換器AD574的介紹、輸入方式和連接電路
96、。數(shù)模轉(zhuǎn)換電路的設(shè)計(jì)中重點(diǎn)介紹了D/A通道的選擇,D/A轉(zhuǎn)換器的選擇以及D/A轉(zhuǎn)換器DAC0832的介紹、連接電路和DAC0832的輸出方式。硬件設(shè)計(jì)中還介紹了單片機(jī)的選擇,單片機(jī)AT89S51的時(shí)鐘電路和復(fù)位電路。本系統(tǒng)的軟件設(shè)計(jì)主要包括編譯器的選擇,各部分的流程圖以及程序的設(shè)計(jì)。本設(shè)計(jì)中還分析了系統(tǒng)的性能及誤差。 </p><p> 當(dāng)然,因?yàn)闀r(shí)間緊湊以及自己的知識(shí)水平有限等原因,本次設(shè)計(jì)也留下了一點(diǎn)遺憾。
97、比如不能對(duì)所設(shè)計(jì)的整個(gè)系統(tǒng)進(jìn)行調(diào)試及仿真,因而也就沒(méi)能做出實(shí)物出來(lái)。畢業(yè)設(shè)計(jì)是對(duì)大學(xué)階段所學(xué)知識(shí)的一個(gè)總結(jié)。由于本身知識(shí)水平以及時(shí)間有限,可能有很多問(wèn)題還沒(méi)有發(fā)現(xiàn),希望老師和同學(xué)給予指出</p><p><b> 致謝</b></p><p> 從論文選題到搜集資料,從寫稿到反復(fù)修改,期間經(jīng)歷了喜悅、聒噪、痛苦和彷徨,在寫作論文的過(guò)程中心情是如此復(fù)雜。如今,伴隨著
98、這篇畢業(yè)論文的最終成稿,復(fù)雜的心情煙消云散,自己甚至還有一點(diǎn)成就感。這篇畢業(yè)論文的就是我的舞臺(tái),以下的言語(yǔ)便是有點(diǎn)成就感后在舞臺(tái)上發(fā)表的發(fā)自肺腑的誠(chéng)摯謝意與感想。</p><p> 研究及學(xué)位論文是在我的導(dǎo)師**老師的親切關(guān)懷和悉心指導(dǎo)下完成的。他嚴(yán)肅的科學(xué)態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神,精益求精的工作作風(fēng),深深地感染和激勵(lì)著我。*老師不僅在學(xué)業(yè)上給我以精心指導(dǎo),同時(shí)還在思想、生活上給我以無(wú)微不至的關(guān)懷,在此謹(jǐn)向*老師致
99、以誠(chéng)摯的謝意和崇高的敬意。我還要感謝在一起愉快的度過(guò)畢業(yè)論文小組的同學(xué)們,正是由于你們的幫助和支持,我才能克服一個(gè)一個(gè)的困難和疑惑,直至本文的順利完成。</p><p> 在論文即將完成之際,我的心情無(wú)法平靜,從開(kāi)始進(jìn)入課題到論文的順利完成,有多少可敬的師長(zhǎng)、同學(xué)、朋友給了我無(wú)言的幫助,在這里請(qǐng)接受我誠(chéng)摯的謝意!最后我還要感謝培養(yǎng)我長(zhǎng)大含辛茹苦的父母,謝謝你們!</p><p> 最后
100、,再次對(duì)關(guān)心、幫助我的老師和同學(xué)表示衷心地感謝!</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 嚴(yán)潔.單片機(jī)原理及其接口技術(shù).機(jī)械工業(yè)出版社,2010,65-105</p><p> [2] 范紅剛.51單片機(jī)自學(xué)筆記.北京航空航天大學(xué)出版社,2009</p><p> [3] 高云.基于
101、MSP430的溫室多路數(shù)據(jù)采集系統(tǒng).農(nóng)機(jī)化研究,2009,No.8</p><p> [4] 常鐵原,王欣,陳文軍. 多路數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì).電子技術(shù)應(yīng)用,2008,No.11</p><p> [5] 葉紅海,李麗敏.基于單片機(jī)的多路數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).2008,No.4</p><p> [6] 彭偉.單片機(jī)C語(yǔ)言程序設(shè)計(jì)實(shí)訓(xùn)100例.電子工業(yè)出版社
102、,2009,46-48,104-110</p><p> [7] 楊居義,楊曉琴,王益斌等.單片機(jī)課程設(shè)計(jì)指導(dǎo).清華大學(xué)出版社,2009,135-141</p><p> [8] 劉剛,秦永左,朱杰斌.單片機(jī)原理及應(yīng)用.北京大學(xué)出版社,2006,76-98,134-155</p><p> [9] 林祝亮,武林,楊金華.基于雙單片機(jī)的多路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì).儀器
103、儀表學(xué)報(bào),2006,No.6</p><p> [10] 元增民,張文希.單片機(jī)原理與應(yīng)用基礎(chǔ).國(guó)防科技大學(xué)出版社,2006,205-266</p><p> [11] 王琳,商周,王學(xué)偉.數(shù)據(jù)采集的發(fā)展及應(yīng)用.電測(cè)與儀表,2004,No.464</p><p> [12] V. Schmidt, Control, data acquisition, and
104、remote participation for fusion research, Fusion Eng. Des. 81 (2006) 1702–1712.</p><p> [13] A.Neto,H.Fernandes,A.Duarte, Firesignal-Data acquisition and control system software.FusionEngineering and Design
105、 82(2007)1359-1364.</p><p><b> 附錄1</b></p><p><b> 系統(tǒng)硬件圖</b></p><p><b> 附錄2</b></p><p><b> 主機(jī)部分程序</b></p><
106、p> #include<reg52.h></p><p> #define uchar unsigned char</p><p> #define uint unsigned int</p><p> sbit k1=P3^4;</p><p> sbit smgd=P2^6;</p><p&
107、gt; sbit smgk=P2^7;</p><p> uchar Pre_KeyNo=16,KeyNo=16;</p><p> uchar code LEDData[]={0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07, 0X7F,0X6F,0X77,0X7C,0X39,0X5E,0X79, 0X71}</p><p>
108、 /*****延時(shí)子程序*****/</p><p> void Delay(uint x)</p><p> { uchar i;</p><p> while(x--)</p><p> for(i=0;i<120;i++);</p><p><b> }</b></p&
109、gt;<p> /**************LED顯示子程序***************/</p><p> void Display_Result(int d)</p><p><b> { </b></p><p> smgk=1; </p><p>&
110、lt;b> P0=0X7C;</b></p><p><b> smgd=1;</b></p><p> P0=LEDData[d/100]; //顯示百位</p><p><b> Delay(5);</b></p><p><b> smgd=0;
111、</b></p><p><b> smgk=0;</b></p><p><b> smgk=1;</b></p><p> P0=0X7D; </p><p><b> smgd=1;</b></p><p> P0=
112、LEDData[d/10%10]; //顯示十位</p><p><b> Delay(5);</b></p><p><b> smgd=0;</b></p><p><b> smgk=0;</b></p><p><b> P0=0x7E;</
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機(jī)的多路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 基于單片機(jī)的多路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)【畢業(yè)論文】
- 精品基于單片機(jī)的多路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)畢業(yè)論文-定
- 畢業(yè)論文范文——基于單片機(jī)的多路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
- 基于單片機(jī)的多路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)(論文)基于單片機(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ì)
- 基于單片機(jī)的多路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
- 基于c51單片機(jī)的多路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 基于單片機(jī)的無(wú)線多路數(shù)據(jù)(溫度)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 畢業(yè)設(shè)計(jì)---單片機(jī)的多路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
- 基于單片機(jī)的多路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)【開(kāi)題報(bào)告】
- 單片機(jī)控制的多路數(shù)據(jù)采集系統(tǒng)
- 基于c51單片機(jī)的多路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)論文
- 基于SOC單片機(jī)的多路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì).pdf
- 基于單片機(jī)的多路數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)【任務(wù)書】
- 多路數(shù)據(jù)采集系統(tǒng)畢業(yè)論文
- 畢業(yè)設(shè)計(jì)(論文)-基于單片機(jī)的無(wú)線多路數(shù)據(jù)(溫度)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
評(píng)論
0/150
提交評(píng)論