版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 本科畢業(yè)論文(設(shè)計)</p><p> 論文題目:多路數(shù)據(jù)采集系統(tǒng)</p><p> 姓名:裴軍</p><p> 學(xué)號:093001030229</p><p> 班級:通信0902班</p><p> 年級:09級</p><p> 專業(yè):通信工程</p>
2、<p> 系部:信息工程系</p><p> 指導(dǎo)教師:曹海泉(高級工程師)張勝男(工程師)</p><p> 完成時間:2013年5月16日</p><p><b> 作者聲明</b></p><p> 本畢業(yè)論文(設(shè)計)是在導(dǎo)師的指導(dǎo)下由本人獨立撰寫完成的,沒有剽竊、抄襲、造假等違反道德、學(xué)術(shù)規(guī)范和其
3、他侵權(quán)行為。對本論文(設(shè)計)的研究做出重要貢獻的個人和集體,均已在文中以明確方式標明。因本畢業(yè)論文(設(shè)計)引起的法律結(jié)果完全由本人承擔。</p><p> 畢業(yè)論文(設(shè)計)成果歸武漢工業(yè)學(xué)院工商學(xué)院所有。</p><p><b> 特此聲明。</b></p><p><b> 多路數(shù)據(jù)采集系統(tǒng)</b></p&g
4、t;<p><b> X X</b></p><p> Multi-channelDataAcquisitionSystem </p><p><b> X x</b></p><p> 2013 年 5 月 16 日</p><p><b> 摘 要<
5、/b></p><p> 隨著計算機技術(shù)的飛速發(fā)展和普及,數(shù)據(jù)采集系統(tǒng)也迅速地得到應(yīng)用。基于單片機的數(shù)據(jù)采集系統(tǒng)得到了廣泛的應(yīng)用。數(shù)據(jù)采集是工、農(nóng)業(yè)控制系統(tǒng)中至關(guān)重要的一環(huán),在醫(yī)藥、化工、食品、等領(lǐng)域的生產(chǎn)過程中,往往需要隨時檢測各生產(chǎn)環(huán)節(jié)的溫度、濕度、流量及壓力等參數(shù)。同時,還要對某一檢測點任意參數(shù)能夠進行隨機查尋,將其在某一時間段內(nèi)檢測得到的數(shù)據(jù)經(jīng)過轉(zhuǎn)換提取出來,以便進行比較,做出決策,調(diào)整控制方案,
6、提高產(chǎn)品的合格率,產(chǎn)生良好的經(jīng)濟效益。</p><p> 數(shù)據(jù)采集與通信控制采用了模塊化的設(shè)計,數(shù)據(jù)采集與通信控制采用了單片機AT89S52來實現(xiàn),硬件部分是以單片機為核心,還包括A/D模數(shù)轉(zhuǎn)換模塊,顯示模塊,和串行接口部分。該系統(tǒng)從機負責(zé)數(shù)據(jù)采集并應(yīng)答主機的命令。8路被測電壓通過模數(shù)轉(zhuǎn)換器ADC0809進行模數(shù)轉(zhuǎn)換,實現(xiàn)對采集到的數(shù)據(jù)進行模擬量到數(shù)字量的轉(zhuǎn)換,并將轉(zhuǎn)換后的數(shù)據(jù)通過串行口MAX232傳輸?shù)缴衔粰C
7、,由上位機負責(zé)數(shù)據(jù)的接受、處理和顯示,并用LED數(shù)碼顯示器來顯示所采集的結(jié)果。軟件部分應(yīng)用VC++編寫控制軟件,對數(shù)據(jù)采集系統(tǒng)、模數(shù)轉(zhuǎn)換系統(tǒng)、數(shù)據(jù)顯示、數(shù)據(jù)通信等程序進行了設(shè)計</p><p> 關(guān)鍵字::數(shù)據(jù)采集 89C52單片機 ADC0809 MAX232</p><p><b> Abstract</b></p><p>
8、With the rapid development and popularization of computer technology, data acquisition systems quickly. Microcontroller-based data acquisition system has been widely used. For data acquisition, control system of agricult
9、ure a vital part in the pharmaceutical, chemical, food, and other areas of the production process, often need to be detected at any time parameters of each production process, temperature, humidity, flow, and pressure. T
10、he same time, but also to carry out a detection point any pa</p><p> Key words: data acquisition AT89C52 ADC0809 MAX232</p><p><b> 目 錄</b></p><p><b> 1
11、 引 言7</b></p><p> 1.1 課題研究背景及意義7</p><p> 1.2 該課題的研究內(nèi)容7</p><p><b> 2 數(shù)據(jù)采集9</b></p><p> 2.1數(shù)據(jù)采集系統(tǒng)9</p><p> 2.2方案論證10</p>
12、;<p> 2.2.1 A/D模數(shù)轉(zhuǎn)換的選擇10</p><p> 2.2.2單片機的選擇10</p><p> 2.2.3 串行口的選擇10</p><p> 2.2.4 顯示部分11</p><p> 2.2.5 按鍵11</p><p> 3 硬件部分13</p>
13、;<p> 3.1 主機部分13</p><p> 3.1.1 主機部分原理圖設(shè)計13</p><p> 3.1.2 單片機14</p><p> 3.1.3 LED數(shù)碼顯示器的應(yīng)用原理18</p><p> 3.2 從機部分19</p><p> 3.2.1 從機的電路原理圖設(shè)計
14、19</p><p> 3.2.2 單片機之間的通信20</p><p> 3.2.3 模數(shù)轉(zhuǎn)換器ADC080925</p><p><b> 4軟件部分28</b></p><p> 4.1 簡介KeilUvision228</p><p> 4.2 主機程序設(shè)計32<
15、/p><p> 4.3 從機部分程序設(shè)計36</p><p><b> 5調(diào)試結(jié)果38</b></p><p><b> 結(jié) 論43</b></p><p><b> 致謝44</b></p><p><b> 參考文獻
16、45</b></p><p><b> 附 錄47</b></p><p><b> 附件147</b></p><p><b> 附件248</b></p><p><b> 1 引 言</b></p>&
17、lt;p> 1.1 課題研究背景及意義</p><p> 數(shù)據(jù)采集是信息科學(xué)的一個主要組詞成部分,信息技術(shù)的核心是信息獲取,通信和計算機技術(shù),常被稱為3C技術(shù),其中信息獲取是基礎(chǔ)和前提。數(shù)據(jù)采集是獲取信息的主要手段,它隨著科學(xué)技術(shù)的進步而得到迅速發(fā)展。目前各種各樣的數(shù)據(jù)采集系統(tǒng)已得到廣泛應(yīng)用,新型數(shù)據(jù)采集系統(tǒng)仍不斷涌現(xiàn)。</p><p> 隨著科學(xué)技術(shù)的發(fā)展與普及,數(shù)字設(shè)備正越
18、來越多地取代模擬設(shè)備,在生產(chǎn)過程控制和科學(xué)研究等廣泛領(lǐng)域中,計算機控制技術(shù)正發(fā)揮著越來越主要的作用,然而外部世界的大部分信息是以連續(xù)變化的物理量形式出現(xiàn)的,例如溫度、壓力、位移、速度等。要將這些信息送入計算機進行處理,就必須先將這些連續(xù)的物理量離散化,并進行量化編碼,從而變成數(shù)字量,這個過程就是數(shù)據(jù)采集。</p><p> 數(shù)據(jù)采集系統(tǒng)是計算機與外部世界聯(lián)系的橋梁。數(shù)據(jù)采集技術(shù)是信息科學(xué)的主要組成部分,它是以傳
19、感器技術(shù)、信號檢測與處理、電子學(xué)、計算機技術(shù)等方面技術(shù)為基礎(chǔ)而形成的一個綜合應(yīng)用技術(shù)學(xué)科,已廣泛應(yīng)用于國民經(jīng)濟和國防建設(shè)的各個領(lǐng)域,并且隨著科學(xué)技術(shù)的發(fā)展,尤其是計算機技術(shù)的發(fā)展與普及,數(shù)據(jù)采集技術(shù)有廣闊的發(fā)展前景。</p><p> 在國際上技術(shù)先進的國家,數(shù)據(jù)采集系統(tǒng)已成功的運用到軍事、航空電子設(shè)備及宇航技術(shù)、工業(yè)等領(lǐng)域。由于集成電路制造技術(shù)的不斷提高,出現(xiàn)了高性能、高可靠的單片機數(shù)據(jù)采集系統(tǒng)(DAS)。數(shù)
20、據(jù)采集技術(shù)已經(jīng)成為一種專門的技術(shù),在工業(yè)領(lǐng)域得到了廣泛的應(yīng)用。該階段的數(shù)據(jù)采集系統(tǒng)采用模塊式結(jié)構(gòu),根據(jù)不同的應(yīng)用要求,通過簡單的增加和更改模塊,并結(jié)合系統(tǒng)編程,就可擴展或修改系統(tǒng),迅速組成一個新的系統(tǒng)。這就使得以單片機為核心的數(shù)據(jù)采集系統(tǒng)在許多領(lǐng)域得到了廣泛的應(yīng)用。</p><p> 1.2 該課題研究的主要內(nèi)容</p><p> 數(shù)據(jù)采集技術(shù)是信息科學(xué)的重要分支之一, 它研究信息數(shù)據(jù)
21、的采集、存儲、處理以及控制等問題。它是對傳感器信號的測量與處理, 以微型計算機等高技術(shù)為基礎(chǔ)而形成的一門綜合應(yīng)用技術(shù)。數(shù)據(jù)采集也是從一個或多個信號獲取對象信息的過程。隨著微型計算機技術(shù)的飛速發(fā)展和普及,數(shù)據(jù)采集監(jiān)測已成為日益重要的檢測技術(shù),廣泛應(yīng)用于工農(nóng)業(yè)等需要同時監(jiān)控溫度、濕度和壓力等場合。數(shù)據(jù)采集是工業(yè)控制等系統(tǒng)中的重要環(huán)節(jié),通常采用一些功能相對獨立的單片機系統(tǒng)來實現(xiàn),作為測控系統(tǒng)不可缺少的部分,數(shù)據(jù)采集的性能特點直接影響到整個系統(tǒng)
22、?!?lt;/p><p> 盡管現(xiàn)在以微機為核心的可編程數(shù)據(jù)采集與處理技術(shù)作為數(shù)據(jù)采集技術(shù)的發(fā)展方向得到了迅速的發(fā)展,并且適于通用微機(如IBM PC 系列) 使用的板卡級數(shù)據(jù)采集產(chǎn)品也已大量出現(xiàn),組成一個數(shù)據(jù)采集系統(tǒng)簡單到只需要一塊數(shù)據(jù)采集卡,把它插在微機的擴展槽內(nèi),并輔以應(yīng)用軟件,就能實現(xiàn)數(shù)據(jù)采集功能,但這并不會對基于單片機為核心的數(shù)據(jù)采集系統(tǒng)產(chǎn)生影響,因為單片機功能強大、抗干擾能力強、可靠性高、靈活性好、開發(fā)
23、容易等優(yōu)點,使得基于單片機為核心的數(shù)據(jù)采集系統(tǒng)在許多領(lǐng)域得到了廣泛的應(yīng)用.</p><p> 傳統(tǒng)的基于單片機的數(shù)據(jù)采集系統(tǒng)由于沒有上位機的支持,不管采用什么樣的數(shù)據(jù)存儲器,它的存儲容量都是有限的,所以不得不對存儲的歷史數(shù)據(jù)進行覆蓋刷新,這樣不利于用戶對數(shù)據(jù)進行整體分析,因而也不能對生產(chǎn)過程的狀況進行準確的把握。</p><p> 本系統(tǒng)采用下位機負責(zé)模擬數(shù)據(jù)的采集,從單片機負責(zé)采集八
24、路數(shù)據(jù),并應(yīng)答主機發(fā)送的命令,上位機即主機是負責(zé)處理接受過來的數(shù)字量的處理及顯示,主機和從機之間用RS-232進行通信。這樣用戶可以在上位機上編寫各種程序?qū)ξ募械臄?shù)據(jù)進行有效查詢和分析,有利于工業(yè)過程的長期正常運行和檢查。該系統(tǒng)采用的是AT89S52單片機,此芯片功能比較強大,能夠滿足設(shè)計要求。</p><p><b> 第二章 數(shù)據(jù)采集</b></p><p>
25、; 2.1 數(shù)據(jù)采集系統(tǒng)</p><p> 數(shù)據(jù)采集,又稱數(shù)據(jù)獲取,是利用一種裝置,從系統(tǒng)外部采集數(shù)據(jù)并輸入到系統(tǒng)內(nèi)部的一個接口。數(shù)據(jù)采集技術(shù)廣泛引用在各個領(lǐng)域。</p><p> 70年代初,隨著計算機技術(shù)及大規(guī)模集成電路的發(fā)展,特別是微處理器及高速A/D轉(zhuǎn)換器的出現(xiàn),數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)發(fā)生了重大變革。原來由小規(guī)模集成的數(shù)字邏輯電路及硬件程序控制器組成的采集系統(tǒng)被微處理器控制的采集系
26、統(tǒng)所代替。由微處理器去完成程序控制,數(shù)據(jù)處理及大部分邏輯操作,使系統(tǒng)的靈活性和可靠性大大地提高,系統(tǒng)硬件成本和系統(tǒng)的重建費用大大地降低。</p><p> 在該系統(tǒng)中需要將模擬量轉(zhuǎn)換為數(shù)據(jù)量,而 A/D是將模擬量轉(zhuǎn)換為數(shù)字量的器件,他需要考慮的指標有:分辨率、轉(zhuǎn)換時間、轉(zhuǎn)換誤差等等。而單片機是該系統(tǒng)的基本的微處理系統(tǒng),它完成數(shù)據(jù)讀取、處理及邏輯控制,數(shù)據(jù)傳輸?shù)纫幌盗械娜蝿?wù)。在該系統(tǒng)中采用的是8051系列的單片機
27、。雙機通信的串行口可以采用RS232C標準接口,由芯片MAX232實現(xiàn)雙機的通信。而數(shù)據(jù)的顯示則采用的是LED數(shù)碼管,該器件比較簡單,在生活中接觸也較多。</p><p> 數(shù)據(jù)采集系統(tǒng)一般由信號調(diào)理電路,多路切換電路,采樣保持電路,A/D,單片機等組成。</p><p> 完成畢業(yè)設(shè)計所需要的系統(tǒng)框圖如圖2.1所示:</p><p><b> 圖2
28、.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)換器的種類很多,就位數(shù)來說,可以分為8位、10位、12位和16位等。位數(shù)越高其分辨率就越高,價格也就越貴。A/D轉(zhuǎn)換器型號很多,而其轉(zhuǎn)換時間和轉(zhuǎn)換誤差也各不相同。</p
29、><p> (1)逐漸逼近式A/D轉(zhuǎn)換器:它是一種速度快、精度較高、成本較低的直接式轉(zhuǎn)換器,其轉(zhuǎn)換時間在幾微秒到幾百微秒之間。</p><p> (2)雙積分A/D轉(zhuǎn)換器:它是一種間接式的A/D轉(zhuǎn)換器,優(yōu)點是抗干擾能力強,精度比較高,缺點是數(shù)度很慢,適用于對轉(zhuǎn)換數(shù)度要求不高的系統(tǒng)。</p><p> (3)并行式A/D轉(zhuǎn)換器:它又被稱為flash(快速)型,它的轉(zhuǎn)
30、換數(shù)度很高,但她采用了很多個比較器,而n位的轉(zhuǎn)換就需要2n-1個比較器,因此電路規(guī)模也極大,價格也很貴,只適用于視頻A/D轉(zhuǎn)換器等數(shù)度特別高的領(lǐng)域。</p><p> 鑒于上面三種方案,在價格、轉(zhuǎn)換速度等多種標準考量下,在本設(shè)計選用的是逐漸逼近式A/D轉(zhuǎn)換器——ADC0809.</p><p> 2.2.2單片機的選擇</p><p> 單片機是一種面向大規(guī)模
31、的集成電路芯片,是微型計算機中的一個重要的分支。此系統(tǒng)是由CPU、隨即存取數(shù)據(jù)存儲器、只讀程序存儲器、輸入輸出電路(I/O口),還有可能包括定時/計數(shù)器、串行通信口、顯示驅(qū)動電路(LCD和LED驅(qū)動電路)、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器及A/D轉(zhuǎn)換器等電路集成到一個單塊芯片上,構(gòu)成了一個最小但完善的計算機任務(wù)。單片機要使用特定的組譯和編譯軟件編譯程序,在用keiluvision2把程序下載到單片機內(nèi)。</p><p&g
32、t; 而本設(shè)計選用的是AT89C52.</p><p> 2.2.3 串行口的選擇</p><p> 該串行口我選用了標準RS-232C接口,它是電平與TTL電平轉(zhuǎn)換驅(qū)動電路。常用的芯片是MAX232,MAX232的優(yōu)點是:</p><p> ?。?)一片芯片可以完成發(fā)送轉(zhuǎn)換和接收轉(zhuǎn)換的雙重功能。</p><p> ?。?)單一電源+5
33、V供電</p><p> ?。?)它的電路設(shè)計與連接比較簡單而且功能齊全。</p><p> 2.2.4 顯示部分</p><p> LED數(shù)碼顯示管是一種由LED發(fā)光二極管組合顯示字符的顯示器件。它使用了8個LED顯示管,其中7個用于顯示字符,1個用來顯示小數(shù)點,故通常稱之為八段發(fā)光二極管數(shù)碼顯示器。對LED數(shù)碼顯示器的控制可以采用按時間向它提供具有一定驅(qū)動能
34、力的位選和段選信號。LED數(shù)碼顯示有動態(tài)掃描顯示法和靜態(tài)顯示。在單片機中,為了節(jié)省硬件資源,多采用動態(tài)掃描顯示法。</p><p><b> 2.2.5 按鍵</b></p><p> 鍵盤是一種常見的輸入設(shè)備,用戶可以向計算機輸入數(shù)據(jù)或命令。根據(jù)案件的識別方法分類,有編碼鍵盤和非編碼鍵盤兩種。通過硬件識別的鍵盤稱編碼鍵盤;通過軟件識別的鍵盤成為非編碼鍵盤。非編碼
35、鍵盤有兩種接口方法:一種是獨立按鍵接口;另一種是矩陣式按鍵接口。</p><p><b> 1、獨立按鍵接口</b></p><p> 在單片機中,如果所需的按鍵較少,可采用獨立式鍵盤。每只按鍵接單片機的一條I/O線,通過對線的查詢,即可識別各按鍵的狀態(tài)。如圖2.2所示。4只按鍵分別宇單片機的P1.0~P1.3I/O線上。無按鍵按下時,P1.0~P1.3線上均輸入
36、高電平。當某按鍵按下時,與其相連的I/O線將得到低電平輸入。</p><p> 圖2.2 獨立按鍵接口圖</p><p><b> 2.矩陣式按鍵接口</b></p><p> 在單片機中需要的按鍵較多時,通常把鍵排成矩陣形式,這樣可以節(jié)省硬件資源。如對于20只按鍵接口,如采用按鍵獨立方式,需要20個I/O口。如采用矩陣式按鍵方式,則只需
37、要9個I/O 口。如圖2.3所示。單片機系統(tǒng)中的非編碼式鍵盤程序主要由判別是否有鍵按下子程序、鍵的識別子程序、找到閉合鍵后,讀入相應(yīng)的鍵值,再轉(zhuǎn)到相應(yīng)的鍵處理程序幾個部分組成。</p><p> 圖2.3 矩陣式按鍵接口圖</p><p> 在該系統(tǒng)中所用到的按鍵有9個,所以采取矩陣式按鍵接口方式。</p><p><b> 第三章 硬件部分<
38、/b></p><p><b> 3.1 主機部分 </b></p><p> 該系統(tǒng)是一個主從式多路數(shù)據(jù)采集系統(tǒng),主機和從機均用單片機實現(xiàn),它的主機部分負責(zé)數(shù)據(jù)處理和顯示,主機和從機之間用RS-232進行通信。它由AT89S52、MAX232、LED數(shù)碼顯示器組成。</p><p> 3.1.1 主機部分原理圖設(shè)計</p&g
39、t;<p> 由于主機要對從機有一個命令,所以用到按鍵,將按鍵接到單片機AT89C52的P3.4的端口上,按鍵的一端接地,當P3.4這條I/O線是一個低電平時,則表示按鍵按下。主機還要負責(zé)對采集到的數(shù)據(jù)進行處理和LED顯示,用兩個74HC573,一個與單片機AT89C52的P2.7口相連用于位選,一個與單片機AT89C52的P2.6口相連用于段選。單片機的P0口的8位數(shù)據(jù)線與用于段選的74HC573的D0~D7相連,用于
40、數(shù)碼管上具體的數(shù)字的顯示。單片機P0口的八位數(shù)據(jù)線與用于位選的74HC573的D0~D7相連,用于在哪個數(shù)碼管上顯示。主機跟從機的連接,又涉及到一個串行口雙機通信的問題,根據(jù)單片機雙機通信距離、抗干擾性等要求,選擇RS-232C串行接口方法,選擇串行口MAX232來連接主機和從機,將MAX232的11、12腳分別與單片機AT89C52的P3.1,P3.2腳相連,再將MAX232上的13、14腳分別與db-9的3、6腳相連。單片機AT89
41、C52的18、19腳與它的晶振電路相連,第9腳與它的復(fù)位電路相連。其原理圖如圖3.1所示</p><p> 圖3.1 主機部分電路原理圖</p><p><b> 3.1.2 單片機</b></p><p><b> ?。?)單片機的概述</b></p><p> 單片機是一種集成的電路芯塊采
42、用了超大規(guī)模技術(shù)把具有運算能力(如算術(shù)運算、邏輯運算、數(shù)據(jù)傳送、中斷處理)的微處理器(CPU),隨機存取數(shù)據(jù)存儲器(RAM),只讀程序存儲器(ROM),輸入輸出電路(I/O口),可能還包括定時計數(shù)器,串行通信口(SCI),顯示驅(qū)動電路(LCD或LED驅(qū)動電路),脈寬調(diào)制電路(PWM),模擬多路轉(zhuǎn)換及A/D轉(zhuǎn)換器等電路集成到一塊單片機上,構(gòu)成一個最小然而很完善的計算機系統(tǒng)。這些電路能在軟件的控制下準確快速的完成程序設(shè)計者事先規(guī)定的任務(wù)。總
43、的而言單片機的特點可以歸納為以下幾個方面:集成度高、存儲容量大、外部擴展能力強、控制功能強、低電壓、低功耗、性能價格比高、可靠性高這幾個方面。[8]</p><p> 單片機按內(nèi)部數(shù)據(jù)通道的寬度,可分為4位、8位、16位及32位單片機。它們被應(yīng)用在不同領(lǐng)域里,8位單片機由于功能強大,被廣泛的應(yīng)用在工業(yè)控制、智能接口、儀表儀器等各個領(lǐng)域。8位單片機在中、小規(guī)模應(yīng)用場合仍占主流地位,代表了單片機的發(fā)展方向,在單片機
44、應(yīng)用領(lǐng)域發(fā)揮越來越大的作用。隨著移動通訊、網(wǎng)絡(luò)技術(shù)、多媒體技術(shù)等高科技產(chǎn)品進入家庭,32位單片機應(yīng)用得到了長足發(fā)展。縱觀單片機的發(fā)展過程,可以預(yù)示單片機的發(fā)展趨勢:</p><p><b> 微型單片化</b></p><p><b> 低功耗CMOS</b></p><p><b> 3、與多品種共存&l
45、t;/b></p><p> 4、可靠性和應(yīng)用水平越來越高</p><p> 單片機有著微處理器所不具備的功能,它可以獨立地完成現(xiàn)代工業(yè)控制所要求的智能化控制功能這就是單片機的最大特點。然而單片機又不同于單板機,芯片在沒有開發(fā)前,它只是具備功能極強的超大規(guī)模集成電路,如果賦予它特定的程序,它便是一個最小的、完整的微機控制系統(tǒng)。它與單板機或個人電腦有著本質(zhì)的區(qū)別,單片機屬于芯片級應(yīng)
46、用,需要用戶了解單片機芯片的結(jié)構(gòu)和指令系統(tǒng)以及其它集成電路應(yīng)用技術(shù)和系統(tǒng)設(shè)計所需要的理論和技術(shù),用這樣特定的芯片設(shè)計應(yīng)用程序,從而使芯片具備特定的智能。[8]</p><p> ?。?) 簡介AT89C52</p><p> AT89C52是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統(tǒng)可編程Flash 存儲器。使用Atmel 公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51
47、 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。[8]</p><p> AT89S52具有以下標準功能: 8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個16 位定時器/計數(shù)器,一個6向量2級中斷
48、結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。[8]其引腳圖,如圖3.2所示</p><p> 圖3.2 AT89C52的引腳圖</p><p>
49、; 它一共有40個引腳,引腳又分為四類。其中有四個電源引腳,用來接入單片機的工作電源。工作電源又分主電源、備用電源和編程電源。還有兩個時鐘引腳XTAL1、XTAL2。還有由P0口、P1口、P2口、P3口的所有引腳構(gòu)成的單片機的輸入/輸出(I\O)引腳。最后一種是控制引腳,控制引腳有四條,部分引腳具有復(fù)位功能。</p><p> 綜上所述,單片機的引腳特點是:</p><p> 單片機
50、多功能,少引腳,使得引腳復(fù)用現(xiàn)象較多。</p><p> 單片機具有四種總線形式:P0和P2組成的16位地址地址總線;P0分時復(fù)用為8位數(shù)據(jù)總線;ALE、PSEN、RST、EA和P3口的INT0、INT1、T0、T1、WR、RD以及P1口的T2、T2EX組成控制總線;而P3口的RXD、TXD組成串行通信總線。</p><p> 89C52單片機的主要功能</p><
51、p> ?與MCS-51單片機產(chǎn)品兼容</p><p> 8K字節(jié)在系統(tǒng)可編程Flash存儲器</p><p> ?1000次擦寫周期</p><p> ?全靜態(tài)操作:0Hz~33Hz</p><p> ?三級加密程序存儲器</p><p> ?32個可編程I/O口線</p><p&
52、gt; ?三個16位定時器/計數(shù)器</p><p><b> ?八個中斷源</b></p><p> ?全雙工UART串行通道</p><p> ?低功耗空閑和掉電模式</p><p><b> ?掉電后中斷可喚醒</b></p><p><b> ?看
53、門狗定時器</b></p><p><b> ?雙數(shù)據(jù)指針</b></p><p><b> ?掉電標識符</b></p><p> 3.1.3 LED數(shù)碼顯示器的應(yīng)用原理</p><p> 簡單的講,LED數(shù)碼顯示器就是由發(fā)光二極管組成的,其內(nèi)部結(jié)構(gòu)如圖3.3所示,LED數(shù)碼顯
54、示器有兩種連接方式:</p><p> ?。?)共陰極接法:把發(fā)光二極管的陰極連在一起構(gòu)成公共陰極,使用時公共陰極接地。每個發(fā)光二極管的陽極與輸入端相連。如圖3.4所示</p><p> ?。?)共陽極接法。把發(fā)光二極管的陽極連在一起構(gòu)成公共陽極,使用時公共陽極接+5V,每個發(fā)光二極管的陰極通過電阻與輸入端相連。如圖3.5所示</p><p> 圖3.2 LED內(nèi)
55、部結(jié)構(gòu) 圖3.3 共陰極接法 圖3.4 共陽極接法</p><p> 為了顯示字符,要為LED顯示器提供顯示段碼(或稱字形代碼),組成一個“8”字的七段,再加上1個小數(shù)點位,共計八段。各段位碼位的對應(yīng)關(guān)系如表3.1所示。[8]</p><p> 表3.1 段位碼對應(yīng)關(guān)系</p><p><b> 3.2 從機
56、部分 </b></p><p> 該系統(tǒng)的從機負責(zé)A/D模數(shù)轉(zhuǎn)換,并應(yīng)答主機的命令,需要用到ADC0809、AT59C52,又由于它們兩個的時鐘頻率不一樣,所以又要用到一個74LS74。</p><p> 3.2.1 從機的電路原理圖設(shè)計</p><p> 該部分需要對模擬量進行一次模數(shù)轉(zhuǎn)換,則要用到一個ADC0809,又因為它們之間的時鐘頻率不一
57、樣又需要用到一個74LS74對其進行一個二分頻的工作,這個只需要將74LS74的第3根引腳與單片機AT89C52的第30根引腳相連,將74LS74 的第9根引腳與ADC0809的時鐘信號引腳相連。單片機AT89C52的P0口與ADC0809的D0~D7相連,而ADC0809的ADDA、ADDB、ADDC分別與P0口的低三位相連。其用到的MAX232與主機部分的電路連接方法一樣。其電路圖如3.5所示</p><p>
58、; 圖3.5 從機部分電路設(shè)計圖</p><p> 3.2.2 單片機之間的通信</p><p> ?。?)串口通信RS-232C</p><p> 計算機與計算機或計算機與終端之間的數(shù)據(jù)傳送可以采用串行通訊和并行通訊二種方式。由于串行通訊方式具有使用線路少、成本低,特別是在遠程傳輸時,避免了多條線路特性的不一致而被廣泛采用。在串行通訊時,要求通訊雙方都采用一
59、個標準接口,使不同的設(shè)備可以方便地連接起來進行通訊。 RS-232-C接口(又稱 EIA RS-232-C)是目前最常用的一種串行通訊接口。它是在1970年由美國電子工業(yè)協(xié)會(EIA)聯(lián)合貝爾系統(tǒng)、調(diào)制解調(diào)器廠家及計算機終端生產(chǎn)廠家共同制定的用于串行通訊的標 準。它的全名是“數(shù)據(jù)終端設(shè)備(DTE)和數(shù)據(jù)通訊設(shè)備(DCE)之間 串行二進制數(shù)據(jù)交換接口技術(shù)標準”該標準規(guī)定采用一個25個腳的 DB25連接器,對連接器的每個引腳的信號內(nèi)容加以規(guī)
60、定,還對各種信號的電平加以規(guī)定。</p><p> ?。?)接口的信號內(nèi)容 實際上RS-232-C的25條引線中有許多是很少使用的,在計算機與終端通訊中一般只使用3-9條引線。RS-232-C最常用的9條引線的信號內(nèi)容。見表3.2所示</p><p> (2)接口的電氣特性 在RS-232-C中任何一條信號線的電壓均為負邏輯關(guān)系。即:邏輯“1”,-5— -15V;邏輯“0” +5— +1
61、5V 。噪聲容量為2V。即要求接收器能識別低至+3V的信號作為邏輯“0”,高于—3V的信號作為邏輯“1”。 </p><p> 表3.2 常用引線的信號內(nèi)容</p><p> (3)接口的物理結(jié)構(gòu) RS-232C接口連接器一般使用型號為DB-25的25芯插頭座,通常插頭在DCE端,插座在DTE端。一些設(shè)備與PC機連接的RS-232-C接口,因為不使用對方的傳送控制信號,只需三條接口線
62、,即“發(fā)送數(shù)據(jù)”、“接收數(shù)據(jù)”和“信號地”。所以采用DB-9的9芯插頭座,傳輸線采用屏蔽雙絞線。兩個DB-9的連接如圖3.6所示</p><p> 圖3.6 兩個DB-9的連接圖</p><p> (4)傳輸電纜長度 由RS-232C標準規(guī)定在碼元畸變小于4%的情況下,傳輸電纜長度應(yīng)為50英尺,其實這個4%的碼元畸變是很保守的,在實際應(yīng)用中,約有99%的用戶是按碼元畸變10-20%的范
63、圍工作的,所以實際使用中最大距離會遠超過50英尺。 </p><p> ?。?) 簡介MAX232</p><p> MAX232芯片是美信公司專門為電腦的RS-232標準串口設(shè)計的接口電路,使用+5v單電源供電,可以實現(xiàn)TTL電平與RS-232C電平相互轉(zhuǎn)換的IC芯片。</p><p> MAX內(nèi)部結(jié)構(gòu)圖如圖3.7所示</p><p>
64、 圖3.7 MAX232的內(nèi)部結(jié)構(gòu)圖</p><p> 內(nèi)部結(jié)構(gòu)基本可分三個部分:</p><p> 第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩個電源,提供給RS-232串口電平的需要。</p><p> 第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構(gòu)成兩個數(shù)據(jù)通道。其中13腳(R1
65、IN)、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送到電腦DB9插頭;DB9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。</p><p>
66、 第三部分是供電。15腳GND、16腳VCC(+5v)。</p><p> 引腳結(jié)構(gòu)圖如圖3.8所示:</p><p> 圖3.8 MAX232的引腳結(jié)構(gòu)圖</p><p> 其中引腳1-6(C1+、V+、C1_、C2+、C2-、V-)用于電源電壓轉(zhuǎn)換,只要在外部接入相應(yīng)電解電容即可;引腳7-10和引腳11-14構(gòu)成兩組TTL信號電平與RS-232C信號電平
67、的轉(zhuǎn)換電路,對應(yīng)引腳可直接與單片機串行口的TTL電平引腳和PC的RS-232C電平引腳相連。</p><p> 單片機與MAX232的連接如圖3.9所示</p><p> 圖3.9 單片機與MAX232的連接圖</p><p> 3.2.3 模數(shù)轉(zhuǎn)換器ADC0809</p><p> 在我們所測控的信號中軍事連續(xù)變化的物理量,而要對這
68、些信號進行處理,則需要將其轉(zhuǎn)換為數(shù)字量,A/D轉(zhuǎn)換器就是為了將連續(xù)變化的模擬量轉(zhuǎn)換成計算機能接受的數(shù)字量。</p><p> 按模擬量轉(zhuǎn)換成數(shù)字量的原理可以分為3種:雙積分式、逐次逼近式及并行式A/D轉(zhuǎn)換器。而該系統(tǒng)選用的是ADC0809,下面就具體的介紹一下ADC0809的工作原理。</p><p><b> C0809的介紹</b></p>&l
69、t;p> ADC0809是八通道的八位逐次逼近式A/D轉(zhuǎn)換器。由單一的5V電源供電,片內(nèi)帶有鎖存功能的8選1的模擬開關(guān)。由C、B、A的編碼來決定所選的模擬通道。轉(zhuǎn)換時間為100us。轉(zhuǎn)換誤差為1/2LSB。</p><p> 它的引腳的排列及其功能,其引腳圖見3.10</p><p> 圖3.10 ADC0809的引腳圖</p><p> IN7~IN
70、0 :八個通道的模擬輸入量。</p><p> ADDA、ADDB、ADDC:模擬通道地址線。當CBA=000時,IN0輸入,當CBA=111時,IN7輸入。</p><p> ALE:地址鎖存信號。</p><p> START:轉(zhuǎn)換啟動信號,高電平有效。</p><p> D7~D0:數(shù)據(jù)輸出線。三態(tài)輸出,D7是最高位,D0是最低
71、位。</p><p> OE:輸出允許信號,高電平有效。</p><p> CLK:時鐘信號,最高頻率為 640KHZ。</p><p> EOC:轉(zhuǎn)換結(jié)束狀態(tài)信號。上升沿后高電平有效。</p><p> Vcc:+5V電源。</p><p> Vref:參考電壓。</p><p>
72、 2、ADC0809時序圖及其接口電路</p><p> ADC0809的時序圖如圖3.11所示:</p><p> 圖3.11 ADC0809的時序圖</p><p> 其工作過程是:ALE的上升沿將A、B、C端選擇的通道地址鎖存到8位A/D轉(zhuǎn)換器的輸入端。START的下降驗啟動8位A/D轉(zhuǎn)換器進行轉(zhuǎn)換。A/D轉(zhuǎn)換開始使EOC端輸出低電平。A/D轉(zhuǎn)換結(jié)束,E
73、OC輸出高電平。該信號通??勺鳛橹袛嗌暾埿盘?。OE為讀出數(shù)據(jù)允許信號。OE端為高電平時,可以讀出轉(zhuǎn)換的數(shù)字量。硬件電路設(shè)計時,需根據(jù)時序關(guān)系及軟件進行設(shè)計。</p><p> ADC0809與AT89C52單片機的接口方式,如圖3.12所示:</p><p> 圖3.12 ADC0809與單片機的連接圖</p><p> 由于ADC0809具有輸出3態(tài)鎖存器,
74、其八位數(shù)據(jù)輸出引腳可直接與數(shù)據(jù)總線相連。地址譯碼引腳A、B、C分別與地址總線低三位A0、A1、A2相連,以選通IN0~IN7中的一個通道。在啟動A/D轉(zhuǎn)換時,由單片機的P3.4控制A/D轉(zhuǎn)換器的地址鎖存和轉(zhuǎn)換啟動,由于ALE和START連在一起,因此AD0809在鎖存通道的同時,也啟動了A/D轉(zhuǎn)換器。在讀取轉(zhuǎn)換結(jié)果時,用低電平的讀信號RD,產(chǎn)生的正脈沖作為OE信號,用以打開三態(tài)輸出鎖存器。將轉(zhuǎn)換結(jié)果輸出。而低電平的寫信號WR則表示轉(zhuǎn)換結(jié)
75、束狀態(tài)信號。</p><p><b> 第四章 軟件部分</b></p><p> 4.1 簡介KeilUvision2</p><p> Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(UVISION)將這些組合在一起。</p><p>
76、 Keil有以下幾個特點:</p><p> 全功能的源代碼編輯器;</p><p> 器件庫用來配置開發(fā)工具設(shè)置;</p><p> 項目管理器用來創(chuàng)建和維護用戶的項目;</p><p> 集成的MAKE工具可以匯編、編譯和連接用戶嵌入式應(yīng)用;</p><p> 所有開發(fā)工具的設(shè)置都是對話框形式的;<
77、/p><p> 真正的源代碼級的對CPU和外圍器件的調(diào)試器;</p><p> 高級GDI(AGDI)接口用來在目標硬件上進行軟件調(diào)試以及和Monitor-51進行通信</p><p><b> 其使用的過程為:</b></p><p> 首先打開KeilUvision2,在KEIL系統(tǒng)中,每做個獨立的程序,都視為工
78、程。首先從菜單中的工程中“新建工程”,建立我們將要做的工程項目:</p><p> 接下來Keil環(huán)境要求我們?yōu)?2工程選擇一個單片機型號;我們選擇Ateml公司的89C51(雖然我使用的是AT89S52,但由于89S51與89C51內(nèi)外部的結(jié)構(gòu)完全一樣,所以這里仍然用“89C51”)。“確定”后工程就算建立好了。</p><p> 立了工程項目以后現(xiàn)在就要為工程添加程序,點擊“文件”
79、中的新建,新建一個空白文檔;這個空白文檔就是我們編寫單片機程序的場所。在這里可以進行編輯、修改等操作。根據(jù)題意,在文檔中寫入代碼,寫完后再檢查一下,然后保存,然后再將保存好的文檔添加到工程中,具體做法如下:</p><p> 程序文件添加完畢后,對其進行編譯當前程序、編譯修改過的文件并生成應(yīng)用程序、重新編譯所有文件并生成應(yīng)用程序后,再點擊TARGET,則其頁面為:</p><p> 再
80、點擊圖案上的Output鍵</p><p> 接下來就是點擊上圖中的select folder for objects鍵,得到下圖將其產(chǎn)生的HEX文件存儲在E盤zh文件夾中。</p><p> 最后一步就是利用STC-ISP將HEX文件燒錄到單片機里。</p><p> 4.2 主機程序設(shè)計</p><p> 本軟件系統(tǒng)有一個主程序,
81、五個子程序,五個子程序分別為向串口發(fā)送數(shù)據(jù)子程序putc_to_serialport()、鍵盤掃描子程序Keys_Scan()、LED數(shù)據(jù)顯示子程序Display_Result(int d)、延時子程序Delay()、主機串口接受中斷子程序Serial_INT() interrupt 4。</p><p><b> ?。?)主程序</b></p><p> 主程序?qū)?/p>
82、系統(tǒng)進行初始化,主要是進行定時/計數(shù)的初始化,然后調(diào)用鍵盤掃描程序Keys_Scan(),再根據(jù)按下的鍵來調(diào)用向串口發(fā)送數(shù)據(jù)子程序putc_to_serialport()將相應(yīng)的數(shù)據(jù)發(fā)送給串行口。當沒有鍵按下時,則送一個數(shù)F給LED顯示器。其流程圖見圖4.1</p><p> (2)向串口發(fā)送數(shù)據(jù)子程序putc_to_serialport()</p><p> 該程序首先將數(shù)據(jù)發(fā)送到串
83、行口,當T1=0時,表明傳送結(jié)束。其流程圖如4.2所示</p><p> ?。?)鍵盤掃描子程序Keys_Scan()</p><p> 該程序是先將行選好,然后再選定就可以確定到具體的哪一個按鍵。其流程圖如圖4.3所示</p><p> (4)LED顯示程序Display_Result(int d)</p><p> 該子程序用的數(shù)碼
84、管動態(tài)顯示方式。先將單片機的P2.7口選通進行位選,然后將位選的值發(fā)送給單片機P1口。接著將單片機的P2.6口選通進行段選,然后將要顯示的數(shù)字的值發(fā)送給P0口。然后調(diào)用延時,接著將P2.7、P2.6口置0,下面是重復(fù)上面的過程,直到要顯示的數(shù)字全部顯示在數(shù)碼上。其流程圖如4.4所示。</p><p> ?。?)主機串口接受中斷子程序Serial_INT() interrupt 4。</p><
85、p> 當RI =1時,接受串口過來的數(shù)據(jù),并對該數(shù)據(jù)進行X*05H/0FFH的處理,接下來用處理過的數(shù)據(jù)調(diào)用LED顯示程序Display_Result(int d)。如圖4.4所示</p><p><b> 圖4.1主程序</b></p><p> 圖4.2 向串口發(fā)送數(shù)據(jù)子程序putc_to_serialport()</p><p&g
86、t; 圖4.3鍵盤掃描子程序Keys_Scan()</p><p> 圖4.4 LED顯示程序Display_Result(int d)</p><p> 圖4.5 主機串口接受中斷子程序Serial_INT() interrupt 4</p><p> 4.3 從機部分程序設(shè)計</p><p> 該部分的程序包括一個主程序、三個
87、子程序,三個子程序分別為從機串口接受中斷函數(shù)Serial_INT() interrupt 4、向串口發(fā)送數(shù)據(jù)子程序putc_to_SerialPort(uchar c)和模數(shù)轉(zhuǎn)換子程序ADCON。</p><p><b> (1)主程序</b></p><p> 主程序是進行系統(tǒng)的初始化,由于主從兩個單片機要進行通信,所以兩個單片機的初始化應(yīng)該是相同的,并調(diào)用A/
88、D轉(zhuǎn)換。其流程圖如圖4.6所示</p><p> (2)從機串口接受中斷函數(shù)Serial_INT() interrupt 4</p><p> 因為發(fā)送完成和接受到新字節(jié)都會觸發(fā)串口中斷,因此串口中斷程序里用if(RI)來表示接受中斷,然后將RI清0。再判斷接受到的數(shù)據(jù)第4位是否為1,如果為1,則按照主機發(fā)送過來的通道進行采集,如果為0,則調(diào)用循環(huán)采集程序。如圖4.7所示</p&
89、gt;<p> (3)模數(shù)轉(zhuǎn)換子程序ADCON</p><p> 先要選通ADC0809,又因為ADC0809具有8個通道,利用For循環(huán)進行8次采集,接下來選擇轉(zhuǎn)換通道,F(xiàn)8H~FFH用以選擇輸入模擬信號的通道IN0~IN7的選擇,首先從第一個通道開始,然后執(zhí)行一條讀取轉(zhuǎn)換結(jié)果的指令,再將轉(zhuǎn)換得到的結(jié)果送給串行口,再依次循環(huán),將通道號自增1,直到8個通道全部轉(zhuǎn)換完。其流程圖如圖4.8所示<
90、;/p><p> (4)向串口發(fā)送數(shù)據(jù)子程序putc_to_SerialPort(uchar c)</p><p> 程序首先將數(shù)據(jù)發(fā)送到串行口,當T1=0時,表明傳送結(jié)束。如圖4.2所示</p><p><b> 圖4.6 主程序</b></p><p> 圖4.7 從機串口接受中斷函數(shù)Serial_INT() i
91、nterrupt 4</p><p> 圖4.8模數(shù)轉(zhuǎn)換子程序ADCON</p><p><b> 第五章 調(diào)試結(jié)果</b></p><p> 這個系統(tǒng)是一個主從式的數(shù)據(jù)采集系統(tǒng)。系統(tǒng)調(diào)試以程序為主,硬件調(diào)試應(yīng)先檢測電路的焊接是否正確,然后用外用表檢測或通電檢測其是否有短路或斷路。軟件調(diào)試包括調(diào)試程序和對硬件準確性的調(diào)試。</p&g
92、t;<p> 在整個系統(tǒng)中,主機用到了9個按鍵,按鍵0按下后,發(fā)送一個00H的數(shù)據(jù)給從機,而從機接收到這個信號就開始調(diào)用一個循環(huán)采集方式,然后從機采集完數(shù)據(jù)后再將轉(zhuǎn)換好的數(shù)據(jù)和采集線路的通道號發(fā)送給主機并用LED數(shù)據(jù)顯示器顯示出來;按鍵1-8用于選擇采集方式,分別送相應(yīng)的采集線路的通道號給從機,然后再將從機轉(zhuǎn)換好的數(shù)據(jù)和采集線路的通道號發(fā)送給主機并用LED數(shù)據(jù)顯示器顯示出來;當主機沒有按鍵按下時,則發(fā)送一個數(shù)0給LED。
93、</p><p><b> 參考文獻</b></p><p> [1] 嚴潔.單片機原理及其接口技術(shù).機械工業(yè)出版社,2010,65-105</p><p> [2] 范紅剛.51單片機自學(xué)筆記.北京航空航天大學(xué)出版社,2009</p><p> [3] 高云.基于MSP430的溫室多路數(shù)據(jù)采集系統(tǒng).農(nóng)機化研究,
94、2009,No.8</p><p> [4] 常鐵原,王欣,陳文軍. 多路數(shù)據(jù)采集系統(tǒng)的設(shè)計.電子技術(shù)應(yīng)用,2008,No.11</p><p> [5] 葉紅海,李麗敏.基于單片機的多路數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn).2008,No.4</p><p> [6] 彭偉.單片機C語言程序設(shè)計實訓(xùn)100例.電子工業(yè)出版社,2009,46-48,104-110</
95、p><p> [7] 楊居義,楊曉琴,王益斌等.單片機課程設(shè)計指導(dǎo).清華大學(xué)出版社,2009,135-141</p><p> [8] 劉剛,秦永左,朱杰斌.單片機原理及應(yīng)用.北京大學(xué)出版社,2006,76-98,134-155</p><p> [9] 林祝亮,武林,楊金華.基于雙單片機的多路數(shù)據(jù)采集系統(tǒng)設(shè)計.儀器儀表學(xué)報,2006,No.6</p>
96、<p> [10] 元增民,張文希.單片機原理與應(yīng)用基礎(chǔ).國防科技大學(xué)出版社,2006,205-266</p><p> [11] 王琳,商周,王學(xué)偉.數(shù)據(jù)采集的發(fā)展及應(yīng)用.電測與儀表,2004,No.464</p><p> [12] V. Schmidt, Control, data acquisition, and remote participation for
97、 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 82(2007)1359-1364.</
98、p><p><b> 附錄1</b></p><p><b> 系統(tǒng)硬件圖</b></p><p><b> 附錄2</b></p><p><b> 主機部分程序</b></p><p> #include<reg52
99、.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> sbit smgk=P2^7;<
100、/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> /*****延時子程序*****/</p
101、><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><p> /*******
102、*******LED顯示子程序***************/</p><p> void Display_Result(int d)</p><p><b> { </b></p><p> smgk=1; </p><p><b> P0=0X7C;</b
103、></p><p><b> smgd=1;</b></p><p> P0=LEDData[d/100]; //顯示百位</p><p><b> Delay(5);</b></p><p><b> smgd=0;</b></p>&l
104、t;p><b> smgk=0;</b></p><p><b> smgk=1;</b></p><p> P0=0X7D; </p><p><b> smgd=1;</b></p><p> P0=LEDData[d/10%10]; //顯示
105、十位</p><p><b> Delay(5);</b></p><p><b> smgd=0;</b></p><p><b> smgk=0;</b></p><p><b> P0=0x7E;</b></p><p&g
106、t;<b> smgd=1;</b></p><p> P0=LEDData[d%10]; //顯示個位</p><p><b> Delay(5);</b></p><p><b> smgk=0;</b></p><p><b> smgd=0;&l
107、t;/b></p><p><b> smgk=1;</b></p><p><b> P0=0X7C;</b></p><p><b> smgd=1;</b></p><p> P0=0x80; //顯示小數(shù)點</p><p>
108、;<b> Delay(5);</b></p><p><b> smgd=0;</b></p><p><b> smgk=0;</b></p><p><b> }</b></p><p> /************鍵盤掃描子程序*****
109、*********/</p><p> void Keys_Scan()</p><p> { uchar Tmp,An;</p><p> P3=0XF0; //低四位置1,放入4行</p><p><b> Delay(1);</b><
110、/p><p> An=P3^0XF0; //按鍵后11110000將變成XXXX0000,X中有一個為0,3個仍為1,而異或操作會把3個1變成0,唯一的0變成1</p><p> Tmp=An>>4; //該表達式將高4位移到低四位
111、 </p><p> swith(Tmp) //判斷按鍵發(fā)生在哪列</p><p><b> {</b></p><p> case 1:KeyNo=0;break;</p><p> case 2:KeyNo=1;bre
112、ak;</p><p> case 4:KeyNo=2;break;</p><p> case 8:KeyNo=3;break;</p><p> default: KeyNo=16; //無鍵按下</p><p><b> }</b></p>&
113、lt;p> P3=0X0F; //高4位置0,放入4列</p><p><b> Delay(1);</b></p><p> Tmp=P3^0xF0; // 按鍵后00001111將變成0000XXXX,X中有一個為0,3個仍為1,而
114、異或操作會把3個1變成0,唯一的0變成1</p><p> switch(Tmp) //0—3行分別附加起始值0,4,8,12</p><p> { case 1:KeyNo+=0;break;</p><p> case 2:KeyNo+=4;break;</p><p>
115、; case 4:KeyNo+=8;break;</p><p> case 8:KeyNo+=12;break;</p><p><b> }</b></p><p><b> }</b></p><p> /********向串口發(fā)送數(shù)據(jù)子程序*********/</p>
116、<p> void putc_to_serialport(uchar C)</p><p><b> { SBUF=C;</b></p><p> while(T1==0);</p><p><b> TI=0;</b></p><p><b> }</b>
117、;</p><p><b> Display()</b></p><p><b> { smgK=1;</b></p><p><b> P1=0X01;</b></p><p><b> Smgd=1;</b></p><p&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 多路數(shù)據(jù)采集系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計----多路數(shù)據(jù)采集系統(tǒng)設(shè)計
- 畢業(yè)設(shè)計(論文)多路數(shù)據(jù)采集系統(tǒng)設(shè)計
- 畢業(yè)設(shè)計----多路數(shù)據(jù)采集系統(tǒng)(含外文翻譯)
- 基于cpld的多路數(shù)據(jù)采集系統(tǒng)的畢業(yè)設(shè)計
- 多路數(shù)據(jù)采集系統(tǒng)畢業(yè)論文
- 畢業(yè)設(shè)計---單片機的多路數(shù)據(jù)采集系統(tǒng)設(shè)計
- 畢業(yè)設(shè)計----多路數(shù)據(jù)采集系統(tǒng)的模塊化設(shè)計
- 多路數(shù)據(jù)采集系統(tǒng)pcb
- 多路數(shù)據(jù)采集系統(tǒng)設(shè)計方案
- 多路數(shù)據(jù)采集系統(tǒng).XLS
- 多路數(shù)據(jù)采集系統(tǒng).XLS
- 實用多路數(shù)據(jù)采集系統(tǒng)
- 多路數(shù)據(jù)采集系統(tǒng)課程設(shè)計
- 課程設(shè)計---多路數(shù)據(jù)采集系統(tǒng)設(shè)計
- 畢業(yè)設(shè)計(論文)基于單片機的多路數(shù)據(jù)采集系統(tǒng)設(shè)計
- 基于arm的遠程多路數(shù)據(jù)采集設(shè)計研究【畢業(yè)設(shè)計】
- 基于fpga的多路數(shù)據(jù)采集系統(tǒng)設(shè)計
- 多路數(shù)據(jù)采集系統(tǒng)設(shè)計與實現(xiàn).pdf
- 基于fpga的多路數(shù)據(jù)采集系統(tǒng)的設(shè)計
評論
0/150
提交評論