【正文】
BRD=時鐘頻率/(16Baud) (41)如:Baud=1200bps,則BRD=106/(161200)=0060H。要實現(xiàn)單片機與PC際之間順利的通訊,首先要對PC機串行接口由簡單的了解,PC的串行通訊接口使用的是8程序中,通過PCPC3模擬進行I2C協(xié)議進行通信。當(dāng)發(fā)出了溫濕度測量命令后,控制器需要等到測量完成,方可讀取結(jié)果。第4章 軟件設(shè)計 軟件總體設(shè)計框架系統(tǒng)啟動系統(tǒng)初始化是否接到采集命令?執(zhí)行采集命令進行數(shù)據(jù)采集處理現(xiàn)場顯示并存儲數(shù)據(jù)傳送數(shù)據(jù)到上位機是否接到傳輸命令圖41 總體流程圖采集系統(tǒng)軟件設(shè)計采用模塊化結(jié)構(gòu),用C語言編寫,總體設(shè)計流程圖如圖41所示:系統(tǒng)上電后首先進行自檢,檢查各功能模塊電子器件是否正常工作,檢查完畢后進行各功能模塊初始化,掃描鍵盤,當(dāng)有“按鍵1”按下時,系統(tǒng)可讀到PB0口為低電平,此時系統(tǒng)開始執(zhí)行測量數(shù)據(jù)的工作,將采集到的溫濕度及壓力儲存到特定寄存器,當(dāng)有“按鍵2”按下時,系統(tǒng)將儲存在寄存器中的溫濕度及壓力數(shù)據(jù)組送LCD顯示,同時將該組數(shù)據(jù)通過I2C總線傳送至片外E2PROM,當(dāng)“按鍵3”按下時,系統(tǒng)檢查是否與上位機已經(jīng)建立連接,若連接成功則通過RS232接口進行數(shù)據(jù)傳送。如圖312所示為1602引腳圖:312 1602引腳圖1602采用標(biāo)準(zhǔn)的16腳接口。在外型上有圓形、方形等形狀。DH公司采用數(shù)字式石英壓力傳感器研制生產(chǎn)多量程(三量程或六量程)的手動或自動數(shù)字式壓力計。芯片通過I2C接口與Atmega64單片機相連接。芯片與單片機之間使用I2C接口通信,接口電路簡單、操作方便,適合存儲單片機系統(tǒng)中一些重要的數(shù)據(jù)。I2C總線在傳輸數(shù)據(jù)過程中共有3種類型信號,分別是:開始信號、結(jié)束信號和應(yīng)答信號。接口電路見附錄C. 外存儲器擴展 I2C總線簡介I2C(InterIntegrated Circuit)總線是一種Philips公司開發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備。MAX232的主要性能如下:;;;4.+30V輸出電平;,典型值是8mA;;MAX232與單片機接口電路如圖35所示圖35 MAX232與單片機接口電路圖 標(biāo)準(zhǔn)RS422接口擴展RS422接口是一種基于平衡發(fā)送和差分接收的串行總線,具有抗共模干擾、傳輸速率高、距離遠(yuǎn)、易于網(wǎng)絡(luò)擴展等優(yōu)點,被廣泛的應(yīng)用在很多工業(yè)現(xiàn)場。RS232C采用負(fù)邏輯,規(guī)定+3V~+15V任意電壓表示邏輯0(或信號有效),3V~15V任意電壓表示邏輯1(或信號無效)。單片機系統(tǒng)必須把采集的數(shù)據(jù)傳輸給PC機,以便進行存儲和處理。圖32 時鐘電路與Atmega64連接圖晶振Y1的頻率范圍為0~16MHz,本系統(tǒng)中采用8MHz的晶振頻率,電容器CC2均為22pF。:反向震蕩放大器的輸出。其輸出緩沖器具有對稱的驅(qū)動特性,可以輸出和吸收大電流。如果不作為ADC的模擬輸入,端口F可以作為8位雙向I/O端口,并具有可編程的內(nèi)部上拉電阻。 ATmega64單片機引腳功能:數(shù)字電路的電源。? 6種睡眠模式:空閑模式、ADC噪聲抑制模式、省電模式、掉電模式、Standby(待機)模式以及擴展的Standby模式。? 面向字節(jié)的兩線接口(TWI)。? 通過JTAG接口實現(xiàn)對Flash存儲器,E2PROM、熔絲位和鎖定位的編程。? 具有獨立鎖定位、可選擇的啟動代碼區(qū),通過片內(nèi)的啟動程序?qū)崿F(xiàn)系統(tǒng)內(nèi)編程真正的讀—修改—寫操作。Atmega64 AVR單片機有整套的開發(fā)工具,包括C語言編譯器、宏匯編語言、程序調(diào)試器/仿真器和評估板。這種結(jié)構(gòu)大大提高了代碼效率,并且具有比普通的復(fù)雜指令集處理器高10倍的數(shù)據(jù)吞吐率。系統(tǒng)主程序及頭文件“include”完整代碼見附錄D。它的主要功能是完成數(shù)據(jù)采集、處理、顯示、控制以及與PC機之間的通信等。該階段并行總線數(shù)據(jù)采集系統(tǒng)向高速、模塊化和即插即用方向發(fā)展,典型系統(tǒng)有VXI總線系統(tǒng),PCI、PXI總線系統(tǒng)等,數(shù)據(jù)位已達(dá)到32位總線寬度,采樣頻率可以達(dá)到100MSps。第二類系統(tǒng)在工業(yè)現(xiàn)場應(yīng)用較多。從70年代起,數(shù)據(jù)采集系統(tǒng)發(fā)展過程中逐漸分為兩類,一類是實驗室數(shù)據(jù)采集系統(tǒng),另一類是工業(yè)現(xiàn)場數(shù)據(jù)采集系統(tǒng)。數(shù)據(jù)采集是信號與信息采集學(xué)科的一個重要組成部分,也是諸多計算機領(lǐng)域中最為活躍的領(lǐng)域之一。 should bine with the structure of concrete hardware and characteristics ofrelevant software to design the purpose of this thesis is to design a practicalrealtime data collection system.This thesis mainly discuss the design and realization of the data collection system whichrefers to the temperature、humidity、pressure inside the system is mainly used tofinish the data collection、processing、display and the correlative control and municationwith the the analysis of the system structure and function requirement,the system inthis thesis adopts the Atmega64 core,expands the power、reset、LCD interface circuit withstandard RS232 series municate the entironment the system in use isplex with serious should ensure the reliability and security besides the basicfunction in the design of the this thesis we discuss the antijamming measuresthrough hardware and talk about the realization of munication with the software design with assemble language,and adopts modularize framework design.Keywords Embedded System。本論文的目的就是設(shè)計實現(xiàn)一個具有一定實用性的實時數(shù)據(jù)采集系統(tǒng)?;趯?shù)據(jù)采集系統(tǒng)體系結(jié)構(gòu)及功能要求的分析,本文設(shè)計并實現(xiàn)的采集系統(tǒng)采用Atmega64單片機為核心,擴展了電源電路、復(fù)位電路、LCD接口電路以及監(jiān)控電路等,并配有標(biāo)準(zhǔn)RS232及RS422串行通信接口。sensors不要刪除行尾的分節(jié)符,此行不會被打印 II 目錄摘要 IAbstract II第1章 緒論 1 課題背景 1 數(shù)據(jù)采集系統(tǒng)的發(fā)展 1 課題設(shè)計內(nèi)容 2第2章 系統(tǒng)總體設(shè)計 3 系統(tǒng)總體設(shè)計框架 3 系統(tǒng)主程序設(shè)計 3 系統(tǒng)主要功能 5 本章小結(jié) 5第3章 硬件設(shè)計 6 單片機最小系統(tǒng)設(shè)計 6 ATmega64單片機概述 6 ATmega64單片機引腳功能 8 系統(tǒng)時鐘電路 10 系統(tǒng)復(fù)位電路 10 系統(tǒng)電源電路 10 標(biāo)準(zhǔn)RS232接口擴展 11 RS232接口的機械指標(biāo) 11 RS232接口的電氣規(guī)范 12 RS232接口的電氣規(guī)范 12 標(biāo)準(zhǔn)RS422接口擴展 13 MAX485芯片簡介 13 硬件設(shè)計 14 外存儲器擴展 14 I2C總線簡介 14 AT24C64簡介 15 AT24C64與ATmega64單片機接口連接 16 溫濕度采集端設(shè)計 16 SHT75的主要性能 16 硬件設(shè)計 17 壓力采集端設(shè)計 17 ATmega64單片機概述 17 26PCB壓力傳感器簡介 18 鍵盤接口設(shè)計 19 顯示接口設(shè)計 20 LCD1602簡介 20 硬件設(shè)計 21 本章小結(jié) 21第4章 軟件設(shè)計 22 軟件總體設(shè)計框架 22 溫濕度及壓力數(shù)據(jù)采集模塊軟件設(shè)計 23 標(biāo)準(zhǔn)RS232及RS422接口擴展軟件設(shè)計 24 RS232接口擴展軟件設(shè)計 24 RS422接口擴展軟件設(shè)計 27 片外存儲器擴展軟件設(shè)計 28 鍵盤及顯示模塊軟件設(shè)計 28 鍵盤讀取程序設(shè)計 28 LCD顯示子程序設(shè)計 29 本章小結(jié) 30結(jié)論 31致謝 32參考文獻 33附錄A 34附錄B 37附錄C 40附錄D 41千萬不要刪除行尾的分節(jié)符,此行不會被打印。 數(shù)據(jù)采集系統(tǒng)的發(fā)展數(shù)據(jù)采集系統(tǒng)起始于20世紀(jì)50年代1956年美國首先研究了用在軍事上的測試系統(tǒng),目標(biāo)是測試中不依靠相關(guān)的測試文件,由非熟練人員進行操作,并且測試任務(wù)是由測試設(shè)備高速自動控制完成的。該階段的數(shù)據(jù)采集系統(tǒng)主要有兩類,一類以儀器儀表和采集器、通用接口總線和計算機等構(gòu)成。20世紀(jì)90年代至今,在國際上技術(shù)先進的國家,數(shù)據(jù)采集技術(shù)已經(jīng)在軍事、航空電子設(shè)備及宇航技術(shù)、工業(yè)等領(lǐng)域被廣泛應(yīng)用。串行總線數(shù)據(jù)采集系統(tǒng)向分布式系統(tǒng)結(jié)構(gòu)和智能化方向發(fā)展,可靠性不斷提高。數(shù)據(jù)采集系統(tǒng)需采取硬件和軟件方面的抗干擾措施。通過本章可對數(shù)據(jù)采集系統(tǒng)在硬件和軟件方面有一個總體的認(rèn)識。Atmega64單片機元器件是以ATMEL公司的高密度非易失性內(nèi)存技術(shù)生產(chǎn)的。? 32KB*8bit通用工作寄存器和外設(shè)控制寄存器。? 多達(dá)64KB的優(yōu)化的外部存儲器空間。? 具有預(yù)分頻器的實時時鐘計數(shù)器。? 具有獨立片內(nèi)振蕩器的可編程看門狗定時器。? 全局上拉禁止功能。其輸出緩沖器具有對稱的驅(qū)動特性,可以輸出和吸收大電流。復(fù)位發(fā)生時端口F為三態(tài)。在Atmega103單片機兼容模式下,端口G只能作為外部存儲器的所存信號以及32KHz振蕩器的輸入,并且在復(fù)位時,這些引腳初始化為PG0=PG1=1以及PG2=0。:AREF為ADC的模擬基準(zhǔn)輸入引腳。S1未按下時,RESET處于高電平,當(dāng)S1按鍵按下時,RESET接地,處于低電平,單片機進入復(fù)位狀態(tài),復(fù)位電路如圖33所示。本設(shè)計采用MAX232電平轉(zhuǎn)換芯片進行接口擴展。基本的數(shù)據(jù)傳送引腳包括RXD、TXD、SG;Modem的控制引腳狀態(tài)包括DTR、RTS、DSR、CTS、DCD和RI。MAX485的管腳定義如表34所示:表34 MAX485管腳定義管腳名稱功能8Vcc電源5GND電源地1RO接收器輸出2RE接收器輸出允許3DE驅(qū)動器輸出允許4DI驅(qū)動器輸入,當(dāng)DI=0,則Y=0,Z=0;當(dāng)DI=1,則Y=1,Z=06A接收器非反向輸入和驅(qū)動器非反向輸出7B接收器反向輸出 硬件設(shè)計如圖36所示為MAX485與ATmega64單片機及PC機的典型連接示意圖??偩€的長度可達(dá)25英尺,并且能夠以10Kbit/s的最大傳輸和時鐘頻率支持40個組件。:接收數(shù)據(jù)的IC在接收到8位數(shù)據(jù)后,向發(fā)送數(shù)據(jù)的IC發(fā)出特定的低電平脈沖,表示已收到數(shù)據(jù)。AT24C64的串行時鐘線SCL與PD0相連,串行數(shù)據(jù)線SDA與PD1相連。按照I2C協(xié)議的接線要求,對DATA線接上拉電阻,保證其數(shù)據(jù)傳輸?shù)目煽啃浴8鶕?jù)以上五點要求,總結(jié)出了要選用的傳感器所應(yīng)該具備的一些參數(shù)要求,如表37表37 傳感器特性工作溫度量程精度輸出信號適用環(huán)境功耗30~50℃0~%~%FSO電壓固體、液體低經(jīng)過反復(fù)比較,從候選的幾十種傳感器中篩選了中國大恒(集團)有限公司銷售的26PC系列無放大帶溫補器的傳感器。為了保證電平的有效性,按照圖311的接線方式,對每一路的按鍵都需要加一個上拉電阻。這些字符包括:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號和日文假名等。,首先發(fā)出“傳輸開始”命令,命令包括SCK為高時,DATA由高電平變?yōu)榈碗娖剑⒃谙乱粋€SCK為高時將DATA置為高。然后傳送兩字節(jié)測量數(shù)據(jù)和一字節(jié)CRC校驗和。設(shè)置SHT75為+5V電源下,14位精度的溫度測量和12位精度的濕度采集。8250通訊編程的步驟:,即寫波特率除數(shù)鎖存器BRD先使用線路控制寄存器LCR的最高位D7(DLAB)為“1”,以選中除數(shù)鎖存器,然后分別將波特率除數(shù)的高8位和低8位寫入BRDH和BRDL。完成PC和單片機的串行雙工通信,要求單片機發(fā)送的數(shù)據(jù)能顯示在PC的屏幕上,采用查詢方式,波特率為1200,具體發(fā)送流程圖如圖43所示。R7發(fā)送數(shù)據(jù)計數(shù)NEXT: MOV SBUF,R0 。在I2C的讀函數(shù)中,完成器件尋址,地址設(shè)定和讀取結(jié)果等操作,以實現(xiàn)對AT24C64芯片指定單元的數(shù)據(jù)讀取功能。1602共有11條指令,各指令說明如下:指令1:清屏。指令5:光標(biāo)或顯示移位;S/C為1時移動顯示的文字,0時移動光標(biāo)。程序清單見附錄5,程序流程圖如圖46所示:初始化LCD寫入數(shù)據(jù)顯示的起始地址顯示數(shù)據(jù)代碼執(zhí)行顯示判斷液晶顯示器是否忙?圖46 顯示子程序流程圖 本章小結(jié)本章主要說明了數(shù)據(jù)采集系統(tǒng)主程序及各功能模塊軟件設(shè)計。圍繞該系統(tǒng)方案,把本系統(tǒng)實時內(nèi)核的具體實現(xiàn)步驟分為系統(tǒng)硬件設(shè)計和軟件編程設(shè)計兩個階段。時光荏苒,彈指一揮間,大學(xué)生活即將畫上一個圓滿的句