版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于單片機(jī)的多路數(shù)據(jù)采集系統(tǒng)設(shè)計The Design Of Multi-channel Data Acquisition System Based On SCM摘要本文介紹了基于單片機(jī)的數(shù)據(jù)采集的硬件設(shè)計和軟件設(shè)計,數(shù)據(jù)采集系統(tǒng)是模擬域與數(shù)字域之間必不可少的紐帶,它的存在具有著非常重要的作用。本文介紹的重點(diǎn)是數(shù)據(jù)采集系統(tǒng),而該系統(tǒng)硬件部分的重心在于單片機(jī)。數(shù)據(jù)采集與通信控制采用了模塊化的設(shè)計,數(shù)據(jù)采集與通信控制采用了單片機(jī)AT89S52來實(shí)現(xiàn),硬件部分是以單片機(jī)為核心,還包括A/D模數(shù)轉(zhuǎn)換模塊,顯示模塊,和串行接口部分。該系統(tǒng)從機(jī)負(fù)責(zé)數(shù)據(jù)采集并應(yīng)答主機(jī)的命令。8路被測電壓通過模數(shù)轉(zhuǎn)換器ADC0
2、809進(jìn)行模數(shù)轉(zhuǎn)換,實(shí)現(xiàn)對采集到的數(shù)據(jù)進(jìn)行模擬量到數(shù)字量的轉(zhuǎn)換,并將轉(zhuǎn)換后的數(shù)據(jù)通過串行口MAX232傳輸?shù)缴衔粰C(jī),由上位機(jī)負(fù)責(zé)數(shù)據(jù)的接受、處理和顯示,并用LED數(shù)碼顯示器來顯示所采集的結(jié)果。軟件部分應(yīng)用VC+編寫控制軟件,對數(shù)據(jù)采集系統(tǒng)、模數(shù)轉(zhuǎn)換系統(tǒng)、數(shù)據(jù)顯示、數(shù)據(jù)通信等程序進(jìn)行了設(shè)計。關(guān)鍵詞:數(shù)據(jù)采集 89C52單片機(jī) ADC0809 MAX232AbstractThis article describes the hardware design and software design of the data on which based on signal-chip microcompu
3、ter .The data collection system is the link between the digital domain and analog domain. 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
4、 use modular design. The data collected to control with correspondence to adopt a machine 8051 to carry out. The part of hardwares core is AT89S52, is also includes A/D conversion module, display module, and the serial interface. Slave machine is responsible for data acquisition and answering the ho
5、st machine.8 roads were measured the electric voltage to pass the in general use mold-few conversion of ADC0809,the realization carries on the conversion that imitates to measure the numeral to measure towards the data that collect .Then send the data to the host machine through MAX232.the host mach
6、ine is responsible for data and display, LED digital display is responsible display the data. The software is partly programmed with VC+. The software can realize the function of monitoring and controlling the whole system. It designs much program like data-acquisition treatment,data-display and dat
7、a-communication ect.Keyword: data acquisition AT89C52 ADC0809 MAX232目錄第一章 緒論11.1 研究背景及其目的意義11.2 國內(nèi)外研究現(xiàn)狀21.3 該課題研究的主要內(nèi)容內(nèi)容2第二章 數(shù)據(jù)采集42.1 數(shù)據(jù)采集系統(tǒng)42.2 方案論證52.2.1 A/D模數(shù)轉(zhuǎn)換的選擇52.2.2單片機(jī)的選擇52.2.3 串行口的選擇52.2.4 顯示部分62.2.5 按鍵6第三章 硬件部分83.1 主機(jī)部分83.1.1 主機(jī)部分原理圖設(shè)計83.1.2 單片機(jī)93.2 從機(jī)部分133.2.1 從機(jī)的電路原理圖設(shè)計133.2.2 單片機(jī)之間的通信14
8、3.2.3 模數(shù)轉(zhuǎn)換器ADC080918第四章 軟件部分224.1 簡介KeilUvision2224.2 主機(jī)程序設(shè)計264.3 從機(jī)部分程序設(shè)計30第五章 調(diào)試結(jié)果33總結(jié)34致謝36參考文獻(xiàn)37附錄138附錄240第一章 緒論1.1 研究背景及其目的意義近年來,數(shù)據(jù)采集及其應(yīng)用受到了人們越來越廣泛的關(guān)注,數(shù)據(jù)采集系統(tǒng)也有了迅速的發(fā)展,它可以廣泛的應(yīng)用于各種領(lǐng)域。數(shù)據(jù)采集系統(tǒng)起始于20世紀(jì)50年代,1956年美國首先研究了用在軍事上的測試系統(tǒng),目標(biāo)是測試中不依靠相關(guān)的測試文件,由非成熟人員進(jìn)行操作,并且測試任務(wù)是由測試設(shè)備高速自動控制完成的。由于該種數(shù)據(jù)采集測試系統(tǒng)具有高速性和一定的靈活性
9、,可以滿足眾多傳統(tǒng)方法不能完成的數(shù)據(jù)采集和測試任務(wù),因而得到了初步的認(rèn)可。大概在60年代后期,國內(nèi)外就有成套的數(shù)據(jù)采集設(shè)備和系統(tǒng)多屬于專用的系統(tǒng)。1120世紀(jì)70年代后期,隨著微型機(jī)的發(fā)展,誕生了采集器、儀表同計算機(jī)溶為一體的數(shù)據(jù)采集系統(tǒng)。由于這種數(shù)據(jù)采集系統(tǒng)的性能優(yōu)良,超過了傳統(tǒng)的自動檢測儀表和專用數(shù)據(jù)采集系統(tǒng),因而獲得了驚人的發(fā)展。從70年代起,數(shù)據(jù)采集系統(tǒng)發(fā)展過程中逐漸分為兩類,一類是實(shí)驗室數(shù)據(jù)采集系統(tǒng),一類是工業(yè)現(xiàn)場數(shù)據(jù)采集系統(tǒng)。1120世紀(jì)80年代隨著計算機(jī)的普及應(yīng)用,數(shù)據(jù)采集系統(tǒng)得到了很大的發(fā)展,開始出現(xiàn)了通用的數(shù)據(jù)采集與自動測試系統(tǒng)。該階段的數(shù)據(jù)采集系統(tǒng)主要有兩類,一類以儀表儀器
10、和采集器、通用接口總線和計算機(jī)組成。這類系統(tǒng)主要應(yīng)用于實(shí)驗室,在工業(yè)生產(chǎn)現(xiàn)場也有一定的應(yīng)用。第二類以數(shù)據(jù)采集卡、標(biāo)準(zhǔn)總線和計算機(jī)構(gòu)成,這一類在工業(yè)現(xiàn)場應(yīng)用較多。20世紀(jì)80年代后期,數(shù)據(jù)采集發(fā)生了很大的變化,工業(yè)計算機(jī)、單片機(jī)和大規(guī)模集成電路的組合,用軟件管理,是系統(tǒng)的成本減低,體積變小,功能成倍增加,數(shù)據(jù)處理能力大大加強(qiáng)。1120世紀(jì)90年代至今,在國際上技術(shù)先進(jìn)的國家,數(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)用。該階段的
11、數(shù)據(jù)采集系統(tǒng)采用模塊式結(jié)構(gòu),根據(jù)不同的應(yīng)用要求,通過簡單的增加和更改模塊,并結(jié)合系統(tǒng)編程,就可擴(kuò)展或修改系統(tǒng),迅速組成一個新的系統(tǒng)。11盡管現(xiàn)在以微機(jī)為核心的可編程數(shù)據(jù)采集與處理采集技術(shù)的發(fā)展方向得到了迅速的發(fā)展,而且組成一個數(shù)據(jù)采集系統(tǒng)只需要一塊數(shù)據(jù)采集卡,把它插在微機(jī)的擴(kuò)展槽內(nèi)并輔以應(yīng)用軟件,就能實(shí)現(xiàn)數(shù)據(jù)采集功能,但這并不會對基于單片機(jī)為核心的數(shù)據(jù)采集系統(tǒng)產(chǎn)生影響。相較于數(shù)據(jù)采集板卡成本和功能的限制,單片機(jī)具多功能、高效率、高性能、低電壓、低功耗、低價格等優(yōu)點(diǎn),而雙單片機(jī)又具有精度較高、轉(zhuǎn)換速度快、能夠?qū)Χ帱c(diǎn)同時進(jìn)行采集,因此能夠開發(fā)出能滿足實(shí)際應(yīng)用要求的、電路結(jié)構(gòu)簡單的、可靠性高的數(shù)據(jù)采
12、集系統(tǒng)。這就使得以單片機(jī)為核心的數(shù)據(jù)采集系統(tǒng)在許多領(lǐng)域得到了廣泛的應(yīng)用。1.2 國內(nèi)外研究現(xiàn)狀數(shù)據(jù)采集系統(tǒng)是通過采集傳感器輸出的模擬信號并轉(zhuǎn)換成數(shù)字信號,并進(jìn)行分析、處理、傳輸、顯示、存儲和顯示。它起始于20世紀(jì)中期,在過去的幾十年里,隨著信息領(lǐng)域各種技術(shù)的發(fā)展,在數(shù)據(jù)采集方面的技術(shù)也取得了長足的進(jìn)步,采集數(shù)據(jù)的信息化是目前社會的發(fā)展主流方向。各種領(lǐng)域都用到了數(shù)據(jù)采集,在石油勘探、科學(xué)實(shí)驗、飛機(jī)飛行、地震數(shù)據(jù)采集領(lǐng)域已經(jīng)得到應(yīng)用。我國的數(shù)字地震觀測系統(tǒng)主要采用TDE-124C型TDE-224C型地震數(shù)據(jù)采集系統(tǒng)。近年來,又成功研制了動態(tài)范圍更大、線性度更高、兼容性更強(qiáng)、低功耗可靠性的TDE-3
13、24C型地震數(shù)據(jù)采集系統(tǒng)。該數(shù)據(jù)采集對拾震計輸出的電信號模擬放大后送至A/D數(shù)字化,A/D采用同時采樣,采樣數(shù)據(jù)經(jīng)DSP數(shù)字濾波處理后,變成數(shù)字地震信號。該數(shù)據(jù)采集系統(tǒng)具備24位A/D轉(zhuǎn)化位數(shù),采樣率有50HZ、100HZ、200HZ。11由美國PASCO公司生產(chǎn)的“科學(xué)工作室”是將數(shù)據(jù)采集應(yīng)用于物理實(shí)驗的嶄新系統(tǒng),它由3部分組成:(1)傳感器:利用先進(jìn)的傳感技術(shù)可實(shí)時采集技術(shù)可實(shí)時采集物理實(shí)驗中各物理量的數(shù)據(jù);(2)計算機(jī)接口:將來自傳感器的數(shù)據(jù)信號輸入計算機(jī),采樣速率最高為25萬次/S;(3)軟件:中文及英文的應(yīng)用軟件。11受需求牽引,新一代機(jī)載數(shù)據(jù)采集系統(tǒng)為滿足飛行實(shí)驗應(yīng)用也在快速地發(fā)展
14、。如愛爾蘭ACRA公司2000年研發(fā)推出的新一代KAM500機(jī)載數(shù)據(jù)采集系統(tǒng)到了2006年。本系統(tǒng)采用16位(A/D)模擬數(shù)字變換,總采樣率達(dá)500K/S,同步時間為+/-250ns,可以利用方式組成高達(dá)1000通道的大容量的分布式采集系統(tǒng)。1.3 該課題研究的主要內(nèi)容內(nèi)容數(shù)據(jù)采集技術(shù)是信息科學(xué)的重要分支之一, 它研究信息數(shù)據(jù)的采集、存儲、處理以及控制等問題。它是對傳感器信號的測量與處理, 以微型計算機(jī)等高技術(shù)為基礎(chǔ)而形成的一門綜合應(yīng)用技術(shù)。數(shù)據(jù)采集也是從一個或多個信號獲取對象信息的過程。隨著微型計算機(jī)技術(shù)的飛速發(fā)展和普及,數(shù)據(jù)采集監(jiān)測已成為日益重要的檢測技術(shù),廣泛應(yīng)用于工農(nóng)業(yè)等需要同時監(jiān)控溫
15、度、濕度和壓力等場合。數(shù)據(jù)采集是工業(yè)控制等系統(tǒng)中的重要環(huán)節(jié),通常采用一些功能相對獨(dú)立的單片機(jī)系統(tǒng)來實(shí)現(xiàn),作為測控系統(tǒng)不可缺少的部分,數(shù)據(jù)采集的性能特點(diǎn)直接影響到整個系統(tǒng)。盡管現(xiàn)在以微機(jī)為核心的可編程數(shù)據(jù)采集與處理技術(shù)作為數(shù)據(jù)采集技術(shù)的發(fā)展方向得到了迅速的發(fā)展,并且適于通用微機(jī)(如IBM PC 系列) 使用的板卡級數(shù)據(jù)采集產(chǎn)品也已大量出現(xiàn),組成一個數(shù)據(jù)采集系統(tǒng)簡單到只需要一塊數(shù)據(jù)采集卡,把它插在微機(jī)的擴(kuò)展槽內(nèi),并輔以應(yīng)用軟件,就能實(shí)現(xiàn)數(shù)據(jù)采集功能,但這并不會對基于單片機(jī)為核心的數(shù)據(jù)采集系統(tǒng)產(chǎn)生影響,因為單片機(jī)功能強(qiáng)大、抗干擾能力強(qiáng)、可靠性高、靈活性好、開發(fā)容易等優(yōu)點(diǎn),使得基于單片機(jī)為核心的數(shù)據(jù)采
16、集系統(tǒng)在許多領(lǐng)域得到了廣泛的應(yīng)用.傳統(tǒng)的基于單片機(jī)的數(shù)據(jù)采集系統(tǒng)由于沒有上位機(jī)的支持,不管采用什么樣的數(shù)據(jù)存儲器,它的存儲容量都是有限的,所以不得不對存儲的歷史數(shù)據(jù)進(jìn)行覆蓋刷新,這樣不利于用戶對數(shù)據(jù)進(jìn)行整體分析,因而也不能對生產(chǎn)過程的狀況進(jìn)行準(zhǔn)確的把握。本系統(tǒng)采用下位機(jī)負(fù)責(zé)模擬數(shù)據(jù)的采集,從單片機(jī)負(fù)責(zé)采集八路數(shù)據(jù),并應(yīng)答主機(jī)發(fā)送的命令,上位機(jī)即主機(jī)是負(fù)責(zé)處理接受過來的數(shù)字量的處理及顯示,主機(jī)和從機(jī)之間用RS-232進(jìn)行通信。這樣用戶可以在上位機(jī)上編寫各種程序?qū)ξ募械臄?shù)據(jù)進(jìn)行有效查詢和分析,有利于工業(yè)過程的長期正常運(yùn)行和檢查。該系統(tǒng)采用的是AT89S52單片機(jī),此芯片功能比較強(qiáng)大,能夠滿足設(shè)計
17、要求。第二章 數(shù)據(jù)采集2.1 數(shù)據(jù)采集系統(tǒng)數(shù)據(jù)采集,又稱數(shù)據(jù)獲取,是利用一種裝置,從系統(tǒng)外部采集數(shù)據(jù)并輸入到系統(tǒng)內(nèi)部的一個接口。數(shù)據(jù)采集技術(shù)廣泛引用在各個領(lǐng)域。70年代初,隨著計算機(jī)技術(shù)及大規(guī)模集成電路的發(fā)展,特別是微處理器及高速A/D轉(zhuǎn)換器的出現(xiàn),數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)發(fā)生了重大變革。原來由小規(guī)模集成的數(shù)字邏輯電路及硬件程序控制器組成的采集系統(tǒng)被微處理器控制的采集系統(tǒng)所代替。由微處理器去完成程序控制,數(shù)據(jù)處理及大部分邏輯操作,使系統(tǒng)的靈活性和可靠性大大地提高,系統(tǒng)硬件成本和系統(tǒng)的重建費(fèi)用大大地降低。在該系統(tǒng)中需要將模擬量轉(zhuǎn)換為數(shù)據(jù)量,而 A/D是將模擬量轉(zhuǎn)換為數(shù)字量的器件,他需要考慮的指標(biāo)有:分辨
18、率、轉(zhuǎn)換時間、轉(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ù)碼管,該器件比較簡單,在生活中接觸也較多。數(shù)據(jù)采集系統(tǒng)一般由信號調(diào)理電路,多路切換電路,采樣保持電路,A/D,單片機(jī)等組成。完成畢業(yè)設(shè)計所需要的系統(tǒng)框圖如圖2.1所示:A/D轉(zhuǎn)換器單片機(jī)單片機(jī)LED顯示器鍵盤MAX232采集信號圖2.1 系統(tǒng)框圖2.2 方案論證2.2.1 A/D模數(shù)轉(zhuǎn)換的選擇A/D轉(zhuǎn)換器的種類很多,就位數(shù)來說,
19、可以分為8位、10位、12位和16位等。位數(shù)越高其分辨率就越高,價格也就越貴。A/D轉(zhuǎn)換器型號很多,而其轉(zhuǎn)換時間和轉(zhuǎn)換誤差也各不相同。(1)逐漸逼近式A/D轉(zhuǎn)換器:它是一種速度快、精度較高、成本較低的直接式轉(zhuǎn)換器,其轉(zhuǎn)換時間在幾微秒到幾百微秒之間。(2)雙積分A/D轉(zhuǎn)換器:它是一種間接式的A/D轉(zhuǎn)換器,優(yōu)點(diǎn)是抗干擾能力強(qiáng),精度比較高,缺點(diǎn)是數(shù)度很慢,適用于對轉(zhuǎn)換數(shù)度要求不高的系統(tǒng)。(3)并行式A/D轉(zhuǎn)換器:它又被稱為flash(快速)型,它的轉(zhuǎn)換數(shù)度很高,但她采用了很多個比較器,而n位的轉(zhuǎn)換就需要2n-1個比較器,因此電路規(guī)模也極大,價格也很貴,只適用于視頻A/D轉(zhuǎn)換器等數(shù)度特別高的領(lǐng)域。鑒于
20、上面三種方案,在價格、轉(zhuǎn)換速度等多種標(biāo)準(zhǔn)考量下,在本設(shè)計選用的是逐漸逼近式A/D轉(zhuǎn)換器ADC0809.2.2.2單片機(jī)的選擇單片機(jī)是一種面向大規(guī)模的集成電路芯片,是微型計算機(jī)中的一個重要的分支。此系統(tǒng)是由CPU、隨即存取數(shù)據(jù)存儲器、只讀程序存儲器、輸入輸出電路(I/O口),還有可能包括定時/計數(shù)器、串行通信口、顯示驅(qū)動電路(LCD和LED驅(qū)動電路)、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器及A/D轉(zhuǎn)換器等電路集成到一個單塊芯片上,構(gòu)成了一個最小但完善的計算機(jī)任務(wù)。單片機(jī)要使用特定的組譯和編譯軟件編譯程序,在用keiluvision2把程序下載到單片機(jī)內(nèi)。而本設(shè)計選用的是AT89C52.2.2.3 串行口的
21、選擇該串行口我選用了標(biāo)準(zhǔn)RS-232C接口,它是電平與TTL電平轉(zhuǎn)換驅(qū)動電路。常用的芯片是MAX232,MAX232的優(yōu)點(diǎn)是:(1)一片芯片可以完成發(fā)送轉(zhuǎn)換和接收轉(zhuǎn)換的雙重功能。(2)單一電源+5V供電(3)它的電路設(shè)計與連接比較簡單而且功能齊全。2.2.4 顯示部分LED數(shù)碼顯示管是一種由LED發(fā)光二極管組合顯示字符的顯示器件。它使用了8個LED顯示管,其中7個用于顯示字符,1個用來顯示小數(shù)點(diǎn),故通常稱之為八段發(fā)光二極管數(shù)碼顯示器。對LED數(shù)碼顯示器的控制可以采用按時間向它提供具有一定驅(qū)動能力的位選和段選信號。LED數(shù)碼顯示有動態(tài)掃描顯示法和靜態(tài)顯示。在單片機(jī)中,為了節(jié)省硬件資源,多采用動態(tài)
22、掃描顯示法。2.2.5 按鍵鍵盤是一種常見的輸入設(shè)備,用戶可以向計算機(jī)輸入數(shù)據(jù)或命令。根據(jù)案件的識別方法分類,有編碼鍵盤和非編碼鍵盤兩種。通過硬件識別的鍵盤稱編碼鍵盤;通過軟件識別的鍵盤成為非編碼鍵盤。非編碼鍵盤有兩種接口方法:一種是獨(dú)立按鍵接口;另一種是矩陣式按鍵接口。1、獨(dú)立按鍵接口在單片機(jī)中,如果所需的按鍵較少,可采用獨(dú)立式鍵盤。每只按鍵接單片機(jī)的一條I/O線,通過對線的查詢,即可識別各按鍵的狀態(tài)。如圖2.2所示。4只按鍵分別宇單片機(jī)的P1.0P1.3I/O線上。無按鍵按下時,P1.0P1.3線上均輸入高電平。當(dāng)某按鍵按下時,與其相連的I/O線將得到低電平輸入。圖2.2 獨(dú)立按鍵接口圖2
23、.矩陣式按鍵接口在單片機(jī)中需要的按鍵較多時,通常把鍵排成矩陣形式,這樣可以節(jié)省硬件資源。如對于20只按鍵接口,如采用按鍵獨(dú)立方式,需要20個I/O口。如采用矩陣式按鍵方式,則只需要9個I/O 口。如圖2.3所示。單片機(jī)系統(tǒng)中的非編碼式鍵盤程序主要由判別是否有鍵按下子程序、鍵的識別子程序、找到閉合鍵后,讀入相應(yīng)的鍵值,再轉(zhuǎn)到相應(yīng)的鍵處理程序幾個部分組成。 圖2.3 矩陣式按鍵接口圖在該系統(tǒng)中所用到的按鍵有9個,所以采取矩陣式按鍵接口方式。第三章 硬件部分3.1 主機(jī)部分 該系統(tǒng)是一個主從式多路數(shù)據(jù)采集系統(tǒng),主機(jī)和從機(jī)均用單片機(jī)實(shí)現(xiàn),它的主機(jī)部分負(fù)責(zé)數(shù)據(jù)處理和顯示,主機(jī)和從機(jī)之間用RS-232進(jìn)行
24、通信。它由AT89S52、MAX232、LED數(shù)碼顯示器組成。3.1.1 主機(jī)部分原理圖設(shè)計由于主機(jī)要對從機(jī)有一個命令,所以用到按鍵,將按鍵接到單片機(jī)AT89C52的P3.4的端口上,按鍵的一端接地,當(dāng)P3.4這條I/O線是一個低電平時,則表示按鍵按下。主機(jī)還要負(fù)責(zé)對采集到的數(shù)據(jù)進(jìn)行處理和LED顯示,用兩個74HC573,一個與單片機(jī)AT89C52的P2.7口相連用于位選,一個與單片機(jī)AT89C52的P2.6口相連用于段選。單片機(jī)的P0口的8位數(shù)據(jù)線與用于段選的74HC573的D0D7相連,用于數(shù)碼管上具體的數(shù)字的顯示。單片機(jī)P0口的八位數(shù)據(jù)線與用于位選的74HC573的D0D7相連,用于在哪
25、個數(shù)碼管上顯示。主機(jī)跟從機(jī)的連接,又涉及到一個串行口雙機(jī)通信的問題,根據(jù)單片機(jī)雙機(jī)通信距離、抗干擾性等要求,選擇RS-232C串行接口方法,選擇串行口MAX232來連接主機(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所示圖3.1 主機(jī)部分電路原理圖3.1.2 單片機(jī)(1)單片機(jī)的概述單片機(jī)是一種集成的電路芯塊采用了超大規(guī)模技術(shù)把具有運(yùn)算能力(如算術(shù)運(yùn)算、邏輯運(yùn)算、數(shù)據(jù)傳送、中斷處理)的微處理
26、器(CPU),隨機(jī)存取數(shù)據(jù)存儲器(RAM),只讀程序存儲器(ROM),輸入輸出電路(I/O口),可能還包括定時計數(shù)器,串行通信口(SCI),顯示驅(qū)動電路(LCD或LED驅(qū)動電路),脈寬調(diào)制電路(PWM),模擬多路轉(zhuǎn)換及A/D轉(zhuǎn)換器等電路集成到一塊單片機(jī)上,構(gòu)成一個最小然而很完善的計算機(jī)系統(tǒng)。這些電路能在軟件的控制下準(zhǔn)確快速的完成程序設(shè)計者事先規(guī)定的任務(wù)??偟亩詥纹瑱C(jī)的特點(diǎn)可以歸納為以下幾個方面:集成度高、存儲容量大、外部擴(kuò)展能力強(qiáng)、控制功能強(qiáng)、低電壓、低功耗、性能價格比高、可靠性高這幾個方面。8單片機(jī)按內(nèi)部數(shù)據(jù)通道的寬度,可分為4位、8位、16位及32位單片機(jī)。它們被應(yīng)用在不同領(lǐng)域里,8位單
27、片機(jī)由于功能強(qiáng)大,被廣泛的應(yīng)用在工業(yè)控制、智能接口、儀表儀器等各個領(lǐng)域。8位單片機(jī)在中、小規(guī)模應(yīng)用場合仍占主流地位,代表了單片機(jī)的發(fā)展方向,在單片機(jī)應(yīng)用領(lǐng)域發(fā)揮越來越大的作用。隨著移動通訊、網(wǎng)絡(luò)技術(shù)、多媒體技術(shù)等高科技產(chǎn)品進(jìn)入家庭,32位單片機(jī)應(yīng)用得到了長足發(fā)展??v觀單片機(jī)的發(fā)展過程,可以預(yù)示單片機(jī)的發(fā)展趨勢:1、 微型單片化2、 低功耗CMOS3、與多品種共存4、可靠性和應(yīng)用水平越來越高單片機(jī)有著微處理器所不具備的功能,它可以獨(dú)立地完成現(xiàn)代工業(yè)控制所要求的智能化控制功能這就是單片機(jī)的最大特點(diǎn)。然而單片機(jī)又不同于單板機(jī),芯片在沒有開發(fā)前,它只是具備功能極強(qiáng)的超大規(guī)模集成電路,如果賦予它特定的程
28、序,它便是一個最小的、完整的微機(jī)控制系統(tǒng)。它與單板機(jī)或個人電腦有著本質(zhì)的區(qū)別,單片機(jī)屬于芯片級應(yīng)用,需要用戶了解單片機(jī)芯片的結(jié)構(gòu)和指令系統(tǒng)以及其它集成電路應(yīng)用技術(shù)和系統(tǒng)設(shè)計所需要的理論和技術(shù),用這樣特定的芯片設(shè)計應(yīng)用程序,從而使芯片具備特定的智能。8(2) 簡介AT89C52AT89C52是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統(tǒng)可編程Flash 存儲器。使用Atmel 公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使AT89S
29、52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。8AT89S52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個16 位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。8其引腳圖,如圖3.2所示圖3.2 AT89C52的引腳圖它一共有40個引腳,
30、引腳又分為四類。其中有四個電源引腳,用來接入單片機(jī)的工作電源。工作電源又分主電源、備用電源和編程電源。還有兩個時鐘引腳XTAL1、XTAL2。還有由P0口、P1口、P2口、P3口的所有引腳構(gòu)成的單片機(jī)的輸入/輸出(IO)引腳。最后一種是控制引腳,控制引腳有四條,部分引腳具有復(fù)位功能。綜上所述,單片機(jī)的引腳特點(diǎn)是:1、 單片機(jī)多功能,少引腳,使得引腳復(fù)用現(xiàn)象較多。2、 單片機(jī)具有四種總線形式:P0和P2組成的16位地址地址總線;P0分時復(fù)用為8位數(shù)據(jù)總線;ALE、PSEN、RST、EA和P3口的INT0、INT1、T0、T1、WR、RD以及P1口的T2、T2EX組成控制總線;而P3口的RXD、T
31、XD組成串行通信總線。89C52單片機(jī)的主要功能l 與MCS-51單片機(jī)產(chǎn)品兼容l 8K字節(jié)在系統(tǒng)可編程Flash存儲器l 1000次擦寫周期l 全靜態(tài)操作:0Hz33Hzl 三級加密程序存儲器l 32個可編程I/O口線l 三個16位定時器/計數(shù)器l 八個中斷源l 全雙工UART串行通道l 低功耗空閑和掉電模式l 掉電后中斷可喚醒l 看門狗定時器l 雙數(shù)據(jù)指針l 掉電標(biāo)識符3.1.3 LED數(shù)碼顯示器的應(yīng)用原理簡單的講,LED數(shù)碼顯示器就是由發(fā)光二極管組成的,其內(nèi)部結(jié)構(gòu)如圖3.3所示,LED數(shù)碼顯示器有兩種連接方式:(1)共陰極接法:把發(fā)光二極管的陰極連在一起構(gòu)成公共陰極,使用時公共陰極接地。
32、每個發(fā)光二極管的陽極與輸入端相連。如圖3.4所示(2)共陽極接法。把發(fā)光二極管的陽極連在一起構(gòu)成公共陽極,使用時公共陽極接+5V,每個發(fā)光二極管的陰極通過電阻與輸入端相連。如圖3.5所示 圖3.2 LED內(nèi)部結(jié)構(gòu) 圖3.3 共陰極接法 圖3.4 共陽極接法為了顯示字符,要為LED顯示器提供顯示段碼(或稱字形代碼),組成一個“8”字的七段,再加上1個小數(shù)點(diǎn)位,共計八段。各段位碼位的對應(yīng)關(guān)系如表3.1所示。8 表3.1 段位碼對應(yīng)關(guān)系段位碼D7D6D5D4D3D2D1D0位碼段dpgfedcba 3.2 從機(jī)部分 該系統(tǒng)的從機(jī)負(fù)責(zé)A/D模數(shù)轉(zhuǎn)換,并應(yīng)答主機(jī)的命令,需要用到ADC0809、AT59C
33、52,又由于它們兩個的時鐘頻率不一樣,所以又要用到一個74LS74。3.2.1 從機(jī)的電路原理圖設(shè)計該部分需要對模擬量進(jìn)行一次模數(shù)轉(zhuǎn)換,則要用到一個ADC0809,又因為它們之間的時鐘頻率不一樣又需要用到一個74LS74對其進(jìn)行一個二分頻的工作,這個只需要將74LS74的第3根引腳與單片機(jī)AT89C52的第30根引腳相連,將74LS74 的第9根引腳與ADC0809的時鐘信號引腳相連。單片機(jī)AT89C52的P0口與ADC0809的D0D7相連,而ADC0809的ADDA、ADDB、ADDC分別與P0口的低三位相連。其用到的MAX232與主機(jī)部分的電路連接方法一樣。其電路圖如3.5所示 圖3.5
34、 從機(jī)部分電路設(shè)計圖3.2.2 單片機(jī)之間的通信(1)串口通信RS-232C計算機(jī)與計算機(jī)或計算機(jī)與終端之間的數(shù)據(jù)傳送可以采用串行通訊和并行通訊二種方式。由于串行通訊方式具有使用線路少、成本低,特別是在遠(yuǎn)程傳輸時,避免了多條線路特性的不一致而被廣泛采用。在串行通訊時,要求通訊雙方都采用一個標(biāo)準(zhǔn)接口,使不同的設(shè)備可以方便地連接起來進(jìn)行通訊。 RS-232-C接口(又稱 EIA RS-232-C)是目前最常用的一種串行通訊接口。它是在1970年由美國電子工業(yè)協(xié)會(EIA)聯(lián)合貝爾系統(tǒng)、調(diào)制解調(diào)器廠家及計算機(jī)終端生產(chǎn)廠家共同制定的用于串行通訊的標(biāo) 準(zhǔn)。它的全名是“數(shù)據(jù)終端設(shè)備(DTE)和數(shù)據(jù)通訊設(shè)備
35、(DCE)之間 串行二進(jìn)制數(shù)據(jù)交換接口技術(shù)標(biāo)準(zhǔn)”該標(biāo)準(zhǔn)規(guī)定采用一個25個腳的 DB25連接器,對連接器的每個引腳的信號內(nèi)容加以規(guī)定,還對各種信號的電平加以規(guī)定。(1)接口的信號內(nèi)容 實(shí)際上RS-232-C的25條引線中有許多是很少使用的,在計算機(jī)與終端通訊中一般只使用3-9條引線。RS-232-C最常用的9條引線的信號內(nèi)容。見表3.2所示(2)接口的電氣特性 在RS-232-C中任何一條信號線的電壓均為負(fù)邏輯關(guān)系。即:邏輯“1”,-5 -15V;邏輯“0” +5 +15V 。噪聲容量為2V。即要求接收器能識別低至+3V的信號作為邏輯“0”,高于3V的信號作為邏輯“1”。 表3.2 常用引線的信
36、號內(nèi)容引腳序號信號名稱符號流向功能2發(fā)送數(shù)據(jù)TXDDTE-DCEDTE發(fā)送串行數(shù)據(jù)3接收數(shù)據(jù)RXDDTEDCEDTE請求DCE將線路切換到發(fā)送方式5允許發(fā)送CTSDTE-DCEDCE告訴DTE線路已接通可以發(fā)送數(shù)據(jù)6數(shù)據(jù)設(shè)備準(zhǔn)備好DSRDTE-DCEDCE準(zhǔn)備好7信號地信號公共地8載波檢測DCDDTEDCEDTE準(zhǔn)備好22振鈴指示RIDTE-DCE表示DCE與線路接通,出現(xiàn)振鈴(3)接口的物理結(jié)構(gòu) RS-232C接口連接器一般使用型號為DB-25的25芯插頭座,通常插頭在DCE端,插座在DTE端。一些設(shè)備與PC機(jī)連接的RS-232-C接口,因為不使用對方的傳送控制信號,只需三條接口線,即“發(fā)送
37、數(shù)據(jù)”、“接收數(shù)據(jù)”和“信號地”。所以采用DB-9的9芯插頭座,傳輸線采用屏蔽雙絞線。兩個DB-9的連接如圖3.6所示圖3.6 兩個DB-9的連接圖(4)傳輸電纜長度 由RS-232C標(biāo)準(zhǔn)規(guī)定在碼元畸變小于4%的情況下,傳輸電纜長度應(yīng)為50英尺,其實(shí)這個4%的碼元畸變是很保守的,在實(shí)際應(yīng)用中,約有99%的用戶是按碼元畸變10-20%的范圍工作的,所以實(shí)際使用中最大距離會遠(yuǎn)超過50英尺。 (2) 簡介MAX232MAX232芯片是美信公司專門為電腦的RS-232標(biāo)準(zhǔn)串口設(shè)計的接口電路,使用+5v單電源供電,可以實(shí)現(xiàn)TTL電平與RS-232C電平相互轉(zhuǎn)換的IC芯片。MAX內(nèi)部結(jié)構(gòu)圖如圖3.7所示圖
38、3.7 MAX232的內(nèi)部結(jié)構(gòu)圖內(nèi)部結(jié)構(gòu)基本可分三個部分:第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩個電源,提供給RS-232串口電平的需要。第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構(gòu)成兩個數(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送到電腦DB9插頭;DB9插頭的RS
39、-232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。第三部分是供電。15腳GND、16腳VCC(+5v)。引腳結(jié)構(gòu)圖如圖3.8所示: 圖3.8 MAX232的引腳結(jié)構(gòu)圖其中引腳1-6(C1+、V+、C1_、C2+、C2-、V-)用于電源電壓轉(zhuǎn)換,只要在外部接入相應(yīng)電解電容即可;引腳7-10和引腳11-14構(gòu)成兩組TTL信號電平與RS-232C信號電平的轉(zhuǎn)換電路,對應(yīng)引腳可直接與單片機(jī)串行口的TTL電平引腳和PC的RS-232C電平引腳相連。單片機(jī)與MAX232的連接如圖3.9所示圖3.9 單片機(jī)與MAX232的連接圖3.2.3 模數(shù)轉(zhuǎn)換器ADC0809
40、在我們所測控的信號中軍事連續(xù)變化的物理量,而要對這些信號進(jìn)行處理,則需要將其轉(zhuǎn)換為數(shù)字量,A/D轉(zhuǎn)換器就是為了將連續(xù)變化的模擬量轉(zhuǎn)換成計算機(jī)能接受的數(shù)字量。按模擬量轉(zhuǎn)換成數(shù)字量的原理可以分為3種:雙積分式、逐次逼近式及并行式A/D轉(zhuǎn)換器。而該系統(tǒng)選用的是ADC0809,下面就具體的介紹一下ADC0809的工作原理。1、 C0809的介紹ADC0809是八通道的八位逐次逼近式A/D轉(zhuǎn)換器。由單一的5V電源供電,片內(nèi)帶有鎖存功能的8選1的模擬開關(guān)。由C、B、A的編碼來決定所選的模擬通道。轉(zhuǎn)換時間為100us。轉(zhuǎn)換誤差為1/2LSB。它的引腳的排列及其功能,其引腳圖見3.10圖3.10 ADC080
41、9的引腳圖IN7IN0 :八個通道的模擬輸入量。ADDA、ADDB、ADDC:模擬通道地址線。當(dāng)CBA=000時,IN0輸入,當(dāng)CBA=111時,IN7輸入。ALE:地址鎖存信號。START:轉(zhuǎn)換啟動信號,高電平有效。D7D0:數(shù)據(jù)輸出線。三態(tài)輸出,D7是最高位,D0是最低位。OE:輸出允許信號,高電平有效。CLK:時鐘信號,最高頻率為 640KHZ。EOC:轉(zhuǎn)換結(jié)束狀態(tài)信號。上升沿后高電平有效。Vcc:+5V電源。Vref:參考電壓。2、ADC0809時序圖及其接口電路ADC0809的時序圖如圖3.11所示: 圖3.11 ADC0809的時序圖其工作過程是:ALE的上升沿將A、B、C端選擇的
42、通道地址鎖存到8位A/D轉(zhuǎn)換器的輸入端。START的下降驗啟動8位A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。A/D轉(zhuǎn)換開始使EOC端輸出低電平。A/D轉(zhuǎn)換結(jié)束,EOC輸出高電平。該信號通??勺鳛橹袛嗌暾埿盘?。OE為讀出數(shù)據(jù)允許信號。OE端為高電平時,可以讀出轉(zhuǎn)換的數(shù)字量。硬件電路設(shè)計時,需根據(jù)時序關(guān)系及軟件進(jìn)行設(shè)計。ADC0809與AT89C52單片機(jī)的接口方式,如圖3.12所示:圖3.12 ADC0809與單片機(jī)的連接圖由于ADC0809具有輸出3態(tài)鎖存器,其八位數(shù)據(jù)輸出引腳可直接與數(shù)據(jù)總線相連。地址譯碼引腳A、B、C分別與地址總線低三位A0、A1、A2相連,以選通IN0IN7中的一個通道。在啟動A/D轉(zhuǎn)換時,
43、由單片機(jī)的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é)束狀態(tài)信號。第四章 軟件部分4.1 簡介KeilUvision2Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(UVISION)將這些組合在一起。Keil有以下幾個特點(diǎn):1、 全功能的源代碼編輯器;2、 器件庫用來配置開發(fā)工具設(shè)置;3、 項目管理
44、器用來創(chuàng)建和維護(hù)用戶的項目;4、 集成的MAKE工具可以匯編、編譯和連接用戶嵌入式應(yīng)用;5、 所有開發(fā)工具的設(shè)置都是對話框形式的;6、 真正的源代碼級的對CPU和外圍器件的調(diào)試器;7、 高級GDI(AGDI)接口用來在目標(biāo)硬件上進(jìn)行軟件調(diào)試以及和Monitor-51進(jìn)行通信其使用的過程為:首先打開KeilUvision2,在KEIL系統(tǒng)中,每做個獨(dú)立的程序,都視為工程。首先從菜單中的工程中“新建工程”,建立我們將要做的工程項目:接下來Keil環(huán)境要求我們?yōu)?2工程選擇一個單片機(jī)型號;我們選擇Ateml公司的89C51(雖然我使用的是AT89S52,但由于89S51與89C51內(nèi)外部的結(jié)構(gòu)完全一
45、樣,所以這里仍然用“89C51”)?!按_定”后工程就算建立好了。立了工程項目以后現(xiàn)在就要為工程添加程序,點(diǎn)擊“文件”中的新建,新建一個空白文檔;這個空白文檔就是我們編寫單片機(jī)程序的場所。在這里可以進(jìn)行編輯、修改等操作。根據(jù)題意,在文檔中寫入代碼,寫完后再檢查一下,然后保存,然后再將保存好的文檔添加到工程中,具體做法如下:程序文件添加完畢后,對其進(jìn)行編譯當(dāng)前程序、編譯修改過的文件并生成應(yīng)用程序、重新編譯所有文件并生成應(yīng)用程序后,再點(diǎn)擊TARGET,則其頁面為:再點(diǎn)擊圖案上的Output鍵 接下來就是點(diǎn)擊上圖中的select folder for objects鍵,得到下圖將其產(chǎn)生的HEX文件存儲
46、在E盤zh文件夾中。最后一步就是利用STC-ISP將HEX文件燒錄到單片機(jī)里。4.2 主機(jī)程序設(shè)計本軟件系統(tǒng)有一個主程序,五個子程序,五個子程序分別為向串口發(fā)送數(shù)據(jù)子程序putc_to_serialport()、鍵盤掃描子程序Keys_Scan()、LED數(shù)據(jù)顯示子程序Display_Result(int d)、延時子程序Delay()、主機(jī)串口接受中斷子程序Serial_INT() interrupt 4。(1)主程序主程序?qū)ο到y(tǒng)進(jìn)行初始化,主要是進(jìn)行定時/計數(shù)的初始化,然后調(diào)用鍵盤掃描程序Keys_Scan(),再根據(jù)按下的鍵來調(diào)用向串口發(fā)送數(shù)據(jù)子程序putc_to_serialport(
47、)將相應(yīng)的數(shù)據(jù)發(fā)送給串行口。當(dāng)沒有鍵按下時,則送一個數(shù)F給LED顯示器。其流程圖見圖4.1(2)向串口發(fā)送數(shù)據(jù)子程序putc_to_serialport() 該程序首先將數(shù)據(jù)發(fā)送到串行口,當(dāng)T1=0時,表明傳送結(jié)束。其流程圖如4.2所示(3)鍵盤掃描子程序Keys_Scan() 該程序是先將行選好,然后再選定列就可以確定到具體的哪一個按鍵。其流程圖如圖4.3所示(4)LED顯示程序Display_Result(int d)該子程序用的數(shù)碼管動態(tài)顯示方式。先將單片機(jī)的P2.7口選通進(jìn)行位選,然后將位選的值發(fā)送給單片機(jī)P1口。接著將單片機(jī)的P2.6口選通進(jìn)行段選,然后將要顯示的數(shù)字的值發(fā)送給P0口
48、。然后調(diào)用延時,接著將P2.7、P2.6口置0,下面是重復(fù)上面的過程,直到要顯示的數(shù)字全部顯示在數(shù)碼上。其流程圖如4.4所示。(5)主機(jī)串口接受中斷子程序Serial_INT() interrupt 4。當(dāng)RI =1時,接受串口過來的數(shù)據(jù),并對該數(shù)據(jù)進(jìn)行X*05H/0FFH的處理,接下來用處理過的數(shù)據(jù)調(diào)用LED顯示程序Display_Result(int d)。如圖4.4所示開始初始化啟動定時器1開中斷再根據(jù)掃描到的鍵盤號,發(fā)送相應(yīng)的數(shù)據(jù)給串口,調(diào)用一個Display()在LED上顯示F判斷是否有按鍵按下YN圖4.1主程序數(shù)據(jù)發(fā)送到串行口當(dāng)T1=0時,則傳送結(jié)束TI=0圖4.2 向串口發(fā)送數(shù)據(jù)
49、子程序putc_to_serialport() 開始先將低4位置1選定4行然后判斷該按鍵發(fā)生在哪一列是否有按鍵按下YN將列數(shù)賦給KeyNoKeyNo=16將高4位置1選定4列再判斷發(fā)生在那一行03行分別附加起始值0,4,8,12返回圖4.3鍵盤掃描子程序Keys_Scan()開始顯示個位顯示十分位顯示百分位顯示小數(shù)點(diǎn)結(jié)束圖4.4 LED顯示程序Display_Result(int d)開始接受數(shù)據(jù)對數(shù)據(jù)進(jìn)行相關(guān)處理調(diào)用Display_Result(m)圖4.5 主機(jī)串口接受中斷子程序Serial_INT() interrupt 44.3 從機(jī)部分程序設(shè)計該部分的程序包括一個主程序、三個子程序,
50、三個子程序分別為從機(jī)串口接受中斷函數(shù)Serial_INT() interrupt 4、向串口發(fā)送數(shù)據(jù)子程序putc_to_SerialPort(uchar c)和模數(shù)轉(zhuǎn)換子程序ADCON。(1)主程序主程序是進(jìn)行系統(tǒng)的初始化,由于主從兩個單片機(jī)要進(jìn)行通信,所以兩個單片機(jī)的初始化應(yīng)該是相同的,并調(diào)用A/D轉(zhuǎn)換。其流程圖如圖4.6所示(2)從機(jī)串口接受中斷函數(shù)Serial_INT() interrupt 4因為發(fā)送完成和接受到新字節(jié)都會觸發(fā)串口中斷,因此串口中斷程序里用if(RI)來表示接受中斷,然后將RI清0。再判斷接受到的數(shù)據(jù)第4位是否為1,如果為1,則按照主機(jī)發(fā)送過來的通道進(jìn)行采集,如果為0
51、,則調(diào)用循環(huán)采集程序。如圖4.7所示(3)模數(shù)轉(zhuǎn)換子程序ADCON先要選通ADC0809,又因為ADC0809具有8個通道,利用For循環(huán)進(jìn)行8次采集,接下來選擇轉(zhuǎn)換通道,F(xiàn)8HFFH用以選擇輸入模擬信號的通道IN0IN7的選擇,首先從第一個通道開始,然后執(zhí)行一條讀取轉(zhuǎn)換結(jié)果的指令,再將轉(zhuǎn)換得到的結(jié)果送給串行口,再依次循環(huán),將通道號自增1,直到8個通道全部轉(zhuǎn)換完。其流程圖如圖4.8所示(4)向串口發(fā)送數(shù)據(jù)子程序putc_to_SerialPort(uchar c)程序首先將數(shù)據(jù)發(fā)送到串行口,當(dāng)T1=0時,表明傳送結(jié)束。如圖4.2所示開始初始化啟動定時器1開中斷調(diào)用Adcon()結(jié)束圖4.6 主
52、程序開始接收串口數(shù)據(jù)判斷接受到的數(shù)據(jù)第4位是否為1YN按選定的通道號采集選定循環(huán)采集方式結(jié)束圖4.7 從機(jī)串口接受中斷函數(shù)Serial_INT() interrupt 4開始選定通道號開始轉(zhuǎn)換轉(zhuǎn)換結(jié)束將得到的數(shù)據(jù)發(fā)送給串口結(jié)束圖4.8模數(shù)轉(zhuǎn)換子程序ADCON第五章 調(diào)試結(jié)果 這個系統(tǒng)是一個主從式的數(shù)據(jù)采集系統(tǒng)。系統(tǒng)調(diào)試以程序為主,硬件調(diào)試應(yīng)先檢測電路的焊接是否正確,然后用外用表檢測或通電檢測其是否有短路或斷路。軟件調(diào)試包括調(diào)試程序和對硬件準(zhǔn)確性的調(diào)試。在整個系統(tǒng)中,主機(jī)用到了9個按鍵,按鍵0按下后,發(fā)送一個00H的數(shù)據(jù)給從機(jī),而從機(jī)接收到這個信號就開始調(diào)用一個循環(huán)采集方式,然后從機(jī)采集完數(shù)據(jù)后再將轉(zhuǎn)換
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東外語外貿(mào)大學(xué)南國商學(xué)院《蒙臺梭利教育法》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東體育職業(yè)技術(shù)學(xué)院《特殊兒童早期干預(yù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東司法警官職業(yè)學(xué)院《通信系統(tǒng)制圖》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東食品藥品職業(yè)學(xué)院《教師領(lǐng)導(dǎo)力》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東女子職業(yè)技術(shù)學(xué)院《統(tǒng)計學(xué)原理實(shí)驗》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東農(nóng)工商職業(yè)技術(shù)學(xué)院《環(huán)境工程項目管理與概預(yù)算》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東梅州職業(yè)技術(shù)學(xué)院《油畫速寫》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東女子職業(yè)技術(shù)學(xué)院《小學(xué)德育》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東理工職業(yè)學(xué)院《宏觀經(jīng)濟(jì)學(xué)原理(全英文)》2023-2024學(xué)年第一學(xué)期期末試卷
- 四年級數(shù)學(xué)(上)計算題專項練習(xí)及答案匯編
- 中石油職稱英語
- 2023年副主任醫(yī)師(副高)-神經(jīng)內(nèi)科學(xué)(副高)考試歷年真題薈萃帶答案
- 國家義務(wù)教育質(zhì)量監(jiān)測科學(xué)四年級創(chuàng)新作業(yè)測試卷【附答案】
- 硫磺安全技術(shù)說明書MSDS
- 工程施工現(xiàn)場存在的環(huán)保問題及解決建議
- 鍋爐過熱蒸汽溫度控制系統(tǒng)課程設(shè)計
- 四川省成都市2021-2022學(xué)年高一(上)期末調(diào)研考試物理試題 Word版
- 2023-2024江蘇小高考思想政治試卷及答案
- OFM軟件的一些使用技巧
- 2023-2024學(xué)年四川省樂山市小學(xué)數(shù)學(xué)四年級上冊期末模考考試題
- 工程進(jìn)度管理制度
評論
0/150
提交評論