數(shù)字氣壓計設(shè)計_第1頁
數(shù)字氣壓計設(shè)計_第2頁
數(shù)字氣壓計設(shè)計_第3頁
數(shù)字氣壓計設(shè)計_第4頁
數(shù)字氣壓計設(shè)計_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 目錄 TOC o 1-5 h z 引言 2課題背景 . 2本課題國內(nèi)外研究現(xiàn)狀 2本課題的研究意義 . 3本課題相關(guān)理論綜述 3系統(tǒng)總體設(shè)計 設(shè)計思路分析 . 5系統(tǒng)總體結(jié)構(gòu) . 5系統(tǒng)各功能模塊的設(shè)計思想 6數(shù)據(jù)采集模塊的芯片選擇 6A/D 轉(zhuǎn)換模塊 . 7單片機控制模塊 8顯示模塊 . 11硬件電路設(shè)計 13氣壓傳感電路 13單片機控制電路 . 13A/D轉(zhuǎn)換模塊 14顯示模塊 14系統(tǒng)總體電路圖 15軟件設(shè)計 164.1用C語言開發(fā)單片機的優(yōu)勢 16 HYPERLINK l bookmark20 o Current Document 程序流程圖 17系統(tǒng)程序 18源程序代碼 1823系

2、統(tǒng)調(diào)試與仿真 KEIL 軟件介紹 23PROTEU軟件介紹23單片機調(diào)試仿真 24結(jié)束語 參考文獻 2627引言課題背景數(shù)字氣壓計是利用壓敏元件將待測氣壓直接變換為容易檢測、 傳輸?shù)碾娏骰螂妷?信號,然后再經(jīng)過后續(xù)電路處理并進行實時顯示的一種設(shè)備。其中的核心元件就是氣 壓傳感器,它在監(jiān)視壓力大小、控制壓力變化以及物理參量的測量等方面起著重要作 用。運用于氣壓計的氣壓傳感器基本都是依靠不同高度時的氣壓變化來獲取氣壓值的。 相對比于普通的水銀氣壓計,有準確易讀,易攜帶的優(yōu)點。氣象學(xué)研究表明, 在垂直方向上氣壓隨高度增加而降低。 例如在低層,每上升 100m 氣壓便降低10hPa;在56km的高空,

3、高度每增加100m氣壓便會降低7hPa;而當(dāng) 高度進一步增加時,即到910km的高空之后,高度每增加100m氣壓便會降低5hPa; 同樣,若空氣中有下降氣流時,氣壓會增加;若空氣中有上升氣流時,作用于空氣柱 底部的氣壓就會減小。一般把作用于單位面積上空氣柱的重量稱為大氣壓力。 數(shù)字氣壓計大量應(yīng)用在各種工礦企業(yè),野外作業(yè),消費類電子產(chǎn)品等等的地方。需求 極為廣泛。本課題國內(nèi)外研究現(xiàn)狀常見氣壓計有液體氣壓計和盒式氣壓計。 飛機上使用的高度計實際上是用盒式氣壓 計改裝成的。常見的液體氣壓計有水銀氣壓計和酒精氣壓計 2 種,這 2 種都是老式的 氣壓計,體積大,精度低,不方便攜帶且容易壞,當(dāng)今社會科技

4、高速發(fā)展,各行各業(yè) 不斷出現(xiàn)新技術(shù)新材料,氣壓測量這塊也是這樣,盒式氣壓計的出現(xiàn)部分的解決了液 體氣壓計所無法解決的缺點,比如體積、方便攜帶等等。人類社會進入 20世紀 90年 代以后微電子行業(yè)發(fā)展極為迅速, 各種各樣的電子傳感器被發(fā)明且被運用到各行各業(yè), 為人們的生產(chǎn)生活創(chuàng)造了極大的便利。數(shù)字氣壓傳感器亦已出現(xiàn),并大量被運用,甚 至現(xiàn)在很多手持設(shè)備中都已經(jīng)加入了氣壓計功能,比如手機,GPS等,方便了人們的出行旅游。目前國際國內(nèi)很多公司都推出了其數(shù)字氣壓傳感器,如摩托羅拉公司的 MPX4105 和Intersema公司的MS5534b另外還有華普微電子的HP03系列數(shù)字氣壓傳感器。眾多 數(shù)字氣

5、壓傳感器的出現(xiàn)使得多樣化的數(shù)字化氣壓測量裝置、用品大量出現(xiàn),并越來越 普及,精度也越來越高。數(shù)字氣壓計一般不會只有測量氣壓一種功能,一般都有其他 的功能,比如測溫度、指南針、碼表等等的功能。微控制器是將微型計算機的主要部分集成在一個芯片上的單芯片微型計算機。微 控制器誕生于 20 世紀 70 年代中期,經(jīng)過 20多年的發(fā)展,其成本越來越低,而性能越 來越強大,這使其應(yīng)用已經(jīng)無處不在,遍及各個領(lǐng)域。例如電機控制、條碼閱讀器 掃描器、消費類電子、游戲設(shè)備、電話、 HVAC樓宇安全與門禁控制、工業(yè)控制與自 動化和白色家電 ( 洗衣機、微波爐 ) 等。本次設(shè)計也將采用微控制器作為電子氣壓計的 數(shù)據(jù)采集

6、處理和控制元件。微控制器可從不同方面進行分類:根據(jù)數(shù)據(jù)總線寬度可分為 8 位、 16 位和 32 位 機;根據(jù)存儲器結(jié)構(gòu)可分為 Harvard結(jié)構(gòu)和Von Neumanr結(jié)構(gòu);根據(jù)內(nèi)嵌程序存儲器 的類別可分為 OTR掩膜、EPROJMEEPROM和閃存Flash ;根據(jù)指令結(jié)構(gòu)又可分為 CISC(ComplexlnstructionSet Computer)和 RISC(ReducedlnstructionSet Computer)微控制器。氣壓傳感器和微電子控制器的結(jié)合,可以創(chuàng)造出很多應(yīng)用,可以說只要能有好的 想法,一般都可以實現(xiàn),氣壓計已經(jīng)由以前的只有專業(yè)場合專業(yè)人士才能使用的測量 器具變

7、成今天的隨處可見,方便使用的電子產(chǎn)品,并集成到眾多的電子產(chǎn)品中,都歸 功于電子行業(yè)技術(shù)發(fā)展和很多有創(chuàng)新精神開發(fā)者。本課題的研究意義本課題是要設(shè)計一個利用微控制和數(shù)字化氣壓傳感器為核心元件組成的電子氣壓 計系統(tǒng)。微控制和數(shù)字化氣壓傳感器的結(jié)合可以使得氣壓計的設(shè)計更具靈活性,測量 精度相對于液體氣壓計也有了顯著提高。測量結(jié)果的顯示也更直觀,并可靈活的加入 超壓、低壓報警等特殊功能,以滿足某些特定需要。通過本次設(shè)計也較好的鍛煉了本人的動手能力,為將來的工作打下了一定的基礎(chǔ),同 時可以充分利用課堂所學(xué)知識進行本課題的設(shè)計,在運用這些知識的過程中,加深了 對這些知識的理解。本課題相關(guān)理論綜述在設(shè)計電子氣

8、壓計之前首先要搞清楚氣壓的定義。氣壓是作用在單位面積上的大 氣壓力,即等于單位面積上向上延伸到大氣上界的垂直空氣柱的重量。氣壓以百帕(hPa)為單位,取一位小數(shù)。國際制單位:帕斯卡,簡稱帕,符號是Pa。常用單位:標(biāo)準大氣壓。表示氣壓的單位,習(xí)慣上常用水銀柱高度。例如,一個標(biāo)準大氣壓等于 760 毫米高的水銀柱的重量,它相當(dāng)于一平方厘米面積上承受1.0336 公斤重的大氣壓力。由于各國所用的重量和長度單位不同,因而氣壓單位也不統(tǒng)一,這不便于對全球 的氣壓進行比較分析。因此,國際上統(tǒng)一規(guī)定用百帕作為氣壓單位。經(jīng)過換算:一個標(biāo)準大氣壓二1013百帕(毫巴)1毫米水銀(汞柱)柱高=4/3百帕(毫巴)1

9、個標(biāo)準大氣壓=760mn水銀(汞柱)柱高。氣壓產(chǎn)生的原因:從分子動理論可知,氣體的壓強是大量分子頻繁地碰撞容器壁而產(chǎn) 生的。單個分子對容器壁的碰撞時間極短,作用是不連續(xù)的,但大量分子頻繁的碰撞 器壁,對器壁的作用力是持續(xù)的、均勻的,這個壓力與器壁面積的比值就是壓強大小。影響壓強的因素:氣壓的大小與海拔高度、大氣溫度 、大氣密度等有關(guān),一般 隨高度升高按指數(shù)律遞減。氣壓有日變化和年變化。一年之中,冬季比夏季氣壓高。 一天中,氣壓有一個最高值、一個最低值,分別出現(xiàn)在 910時和1516時,還有一 個次高值和一個次低值,分別出現(xiàn)在 2122時和34時。氣壓日變化幅度較小,一 般為 0.1 0.4 千

10、帕,并隨緯度增高而減小。氣壓變化與風(fēng)、天氣的好壞等關(guān)系密切, 因而是重要氣象因子。通常所用的氣壓單位有帕 (Pa)、毫米水銀柱高(mmHg)、毫巴 (mb)。它們之間的換算關(guān)系為:100帕=1毫巴3/4毫米水銀柱高。氣象觀測中常 用的測量氣壓的儀器有水銀氣壓表、空盒氣壓表、氣壓計。溫度為0C時760毫米垂直水銀柱高的壓力 ,標(biāo)準大氣壓最先由意大利科學(xué)家 托里拆利 測出。系統(tǒng)總體設(shè)計2.1設(shè)計思路分析基于MPX4115的數(shù)字氣壓計包括軟硬件的設(shè)計與調(diào)試。軟件部分通過對C語言的學(xué)習(xí)和對單片機知識的了解,根據(jù)系統(tǒng)的特點編寫出單片機程序。硬件部分分為四 大塊,包括非電信號數(shù)據(jù)的采集、轉(zhuǎn)換、處理以及顯示

11、:。通過對設(shè)計的了解,選擇適合的器件,畫出原理圖。2.2系統(tǒng)總體結(jié)構(gòu)硬件部分由四部分構(gòu)成,它們分別是:信息采集模塊,數(shù)據(jù)轉(zhuǎn)換模塊,信息處理 模塊和數(shù)據(jù)顯示模塊。采用單片機主控,通過壓力傳感器、A/D轉(zhuǎn)換采集數(shù)據(jù)信息,經(jīng)過含有單片機的檢測系統(tǒng)檢測,將結(jié)果傳送到單片機控制的主控器,數(shù)據(jù)通過顯示 器顯示。原理框圖如圖2-1所示。壓力傳感器A/D轉(zhuǎn)換器單片機電源模塊LED顯示器圖2-1系統(tǒng)結(jié)構(gòu)框圖設(shè)計51單片機數(shù)字氣壓計系統(tǒng)時,需要考慮下面4個方面的內(nèi)容。選擇合適的氣壓傳感器芯片,這要根據(jù)實際需要以及各種氣壓傳感器的性能參數(shù)來 決定。選擇合適的A/D轉(zhuǎn)換器件,它的作用是將氣壓傳感器輸出的模擬電流或電壓

12、信號轉(zhuǎn) 換為數(shù)字信號。設(shè)計單片機和A/D轉(zhuǎn)換器件的接口電路。實現(xiàn)氣壓信息采集并輸出的軟件設(shè)計。2.3系統(tǒng)各功能模塊的設(shè)計思想2.3.1數(shù)據(jù)采集模塊的芯片選擇壓力傳感器對于系統(tǒng)至關(guān)重要,需要綜合實際的需求和各類壓力傳感器的性能參數(shù) 加以選擇。一般要選用有溫度補償作用的壓力傳感器,因為溫度補償特性可以克服半 導(dǎo)體壓力傳感器件存在的溫度漂移問題。本設(shè)計要實現(xiàn)的數(shù)字氣壓計顯示的是絕對氣壓值,同時為了簡化電路,提高穩(wěn)定性和 抗干擾能力,要求使用具有溫度補償能力的壓力傳感器。經(jīng)過綜合考慮,本設(shè)計選用 美國摩托羅拉公司的集成壓力傳感器。MPX4115可以產(chǎn)生高精度模擬輸出電壓。MPX4115系列壓電電阻傳感

13、器是一個硅壓力傳感器。這個傳感器結(jié)合了高級的微電機技術(shù),薄膜鍍金屬。還能為高水準模擬輸出信號提供一個均衡壓力。在OC -85C的溫度下誤差不超過1.5%,溫度補償是-40C-125C。數(shù)據(jù)采集模塊由壓力傳感器 MPX4115 構(gòu)成。其中1腳是輸出信號端,輸出的是與氣壓值相對應(yīng)的模擬電壓信號。MPX4115的實物圖如圖2-2所示。圖2-2 MPX4115的實物圖2.3.2 A/D 轉(zhuǎn)換模塊ADC0832 是美國國家半導(dǎo)體公司生產(chǎn)的一種 8位分辨率、雙通道 A/D 轉(zhuǎn)換芯片。 由于它體積小,兼容性強,性價比高而深受單片機愛好者及企業(yè)歡迎,其目前已經(jīng)有 很高的普及率。學(xué)習(xí)并使用 ADC0832 可是

14、使我們了解 A/D 轉(zhuǎn)換器的原理,有助于我 們單片機技術(shù)水平的提高。ADC0832 具有以下特點: 8位分辨率; 雙通道 A/D 轉(zhuǎn)換; 輸入輸出電平與 TTL/CMOS 相兼容;5V電源供電時輸入電壓在05V之間;工作頻率為250KHZ,轉(zhuǎn)換時間為32卩$一般功耗僅為 15mW;8P 14P DIP (雙列直插)、PICC多種封裝;商用級芯片溫寬為0C to +70 C?,工業(yè)級芯片溫寬為40C to +85CADC0832為8位分辨率A/D轉(zhuǎn)換芯片,其最高分辨可達 256級,可以適應(yīng)一般的模擬 量轉(zhuǎn)換要求。其內(nèi)部電源輸入與參考電壓的復(fù)用, 使得芯片的模擬電壓輸入在05V之 間。芯片轉(zhuǎn)換時間

15、僅為 32卩S,據(jù)有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗,以減少數(shù)據(jù)誤差, 轉(zhuǎn)換速度快且穩(wěn)定性能強。獨立的芯片使能輸入,使多器件掛接和處理器控制變的更 加方便。通過 DI 數(shù)據(jù)輸入端,可以輕易的實現(xiàn)通道功能的選擇。正常情況下 ADC0832 與單片機的接口應(yīng)為4條數(shù)據(jù)線,分別是CS CLK DO DI。但由于DO端與DI端在 通信時并未同時有效并與單片機的接口是雙向的,所以電路設(shè)計時可以將DO和 DI并聯(lián)在一根數(shù)據(jù)線上使用。當(dāng)ADC0832未工作時其CS輸入端應(yīng)為高電平,此時芯片禁用, CLK和DO/DI的電平可任意。當(dāng)要進行 A/D轉(zhuǎn)換時,須先將CS使能端置于低電平并 且保持低電平直到轉(zhuǎn)換完全結(jié)束。此時

16、芯片開始轉(zhuǎn)換工作,同時由處理器向芯片時鐘 輸入端CLK輸入時鐘脈沖,DO/DI端則使用DI端輸入通道功能選擇的數(shù)據(jù)信號。 在第 1 個時鐘脈沖的下沉之前 DI 端必須是高電平,表示啟始信號。在第 2、3個脈沖下沉 之前 DI 端應(yīng)輸入 2 位數(shù)據(jù)用于選擇通道功能,其功能項見官方資料。如資料所示,當(dāng)此 2 位數(shù)據(jù)為“ 1”、“0”時,只對 CH0 進行單通道轉(zhuǎn)換。當(dāng) 2位數(shù)據(jù)為“ 1”、“1 ”時,只對CH1進行單通道轉(zhuǎn)換。當(dāng)2位數(shù)據(jù)為“ 0”、“ 0”時,將CH0乍為正輸入端IN+, CH1作為負輸入端IN-進行輸入。當(dāng)2位數(shù)據(jù)為“ 0”、“T時,將CH0作為負輸入端IN- , CH1作為正輸

17、入端IN+進行輸入。到第3個脈沖 的下沉之后DI端的輸入電平就失去輸入作用,此后 DO/DI端則開始利用數(shù)據(jù)輸出DO 進行轉(zhuǎn)換數(shù)據(jù)的讀取。從第4個脈沖下沉開始由DO端輸出轉(zhuǎn)換數(shù)據(jù)最高位DATA?隨 后每一個脈沖下沉DO端輸出下一位數(shù)據(jù)。直到第11個脈沖時發(fā)出最低位數(shù)據(jù) DATA0 一個字節(jié)的數(shù)據(jù)輸出完成。也正是從此位開始輸出下一個相反字節(jié)的數(shù)據(jù),即從第11個字節(jié)的下沉輸出DATA0隨后輸出8位數(shù)據(jù),到第19個脈沖時數(shù)據(jù)輸出完成,也標(biāo) 志著一次A/D轉(zhuǎn)換的結(jié)束。最后將CS置高電平禁用芯片,直接將轉(zhuǎn)換后的數(shù)據(jù)進行處 理就可以了,如圖2-3為ADC0832實物圖。圖2-3 ADC0832實物圖2.3

18、.3單片機控制模塊AT89C51是一個低電壓,高性能CMOS 8位單片機帶有4K字節(jié)的可反復(fù)擦寫的 程序存儲器(PENROM)。和128字節(jié)的存取數(shù)據(jù)存儲器(RAM ),這種器件采用 ATMEL公司的高密度、不容易丟失存儲技術(shù)生產(chǎn),并且能夠與MCS-51系列的單片機 兼容。片內(nèi)含有8位中央處理器和閃爍存儲單元, 有較強的功能的AT89C51單片機能 夠被應(yīng)用到控制領(lǐng)域中。如圖 2-4為AT89C51單片機實物圖。Pl Q tFi.i rpi J cPI爭RSTI A: SCO P3 0 - ctxP) py i jtHTlli FA 2 匸 匸(T Pl 4 1*3 S (WW F3 inoi

19、 叭 vXTAL-2 i XIA LI GNDVCC:PO. 0 | AD&I Jl P0.1 4 AD I)P0 2 4 AQ2) :P0.3 fAOl) 陽 d 4 AD) POP 1AQ5)W 1A0)p&.r iadt) C ArPP A|_EPH3Gi:P5CHf*l.T lAtllPJ 0 P2 1i 、 J P2 0 4At|iRST/VPP 1HXD) P3.0 (TXD) P3 1X7AL2 匚XTAL1 C (INTCl氏衛(wèi) (tNTl P3.3 (TO) P3.4 (Tl) F3 5GIYDVCC Pi,7P1SPi.$P1.4J Pt 3Pt.2I P1.I (AN1)

20、 Pl o (AINC) .1 P3.7AT89C51AT89C2051圖2-4引腳描述VCC :電源電壓GND : 地P0 口:P0 口是一組8位漏極開路雙向I/O 口,即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口時,每一 個管腳都能夠驅(qū)動8個TTL電路。當(dāng)“ 1被寫入P0 口時,每個管腳都能夠作為高阻抗 輸入端。P0 口還能夠在訪問外部數(shù)據(jù)存儲器或程序存儲器時,轉(zhuǎn)換地址和數(shù)據(jù)總線復(fù) 用,并在這時激活內(nèi)部的上拉電阻。P0 口在閃爍編程時,P0 口接收指令,在程序校驗 時,輸出指令,需要接電阻。P1 口:P1 口一個帶內(nèi)部上拉電阻的8位雙向I/O 口,P1的輸出緩沖級可驅(qū)動4個TTL電路。 對端口寫“

21、1,通過內(nèi)部的電阻把端口拉到高電平,此時可作為輸入口。因為內(nèi)部有電 阻,某個引腳被外部信號拉低時輸出一個電流。閃爍編程時和程序校驗時,P1 口接收低8位地址。P2 口:P2 口是一個內(nèi)部帶有上拉電阻的 8位雙向I/O 口,P2的輸出緩沖級可驅(qū)動4個TTL 電路。對端口寫“ 1,通過內(nèi)部的電阻把端口拉到高電平,此時,可作為輸入口。因為 內(nèi)部有電阻,某個引腳被外部信號拉低時會輸出一個電流。在訪問外部程序存儲器或 16位地址的外部數(shù)據(jù)存儲器時,P2 口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù) 據(jù)存儲器時,P2 口線上的內(nèi)容在整個運行期間不變。 閃爍編程或校驗時,P2 口接收高 位地址和其它控制信號

22、。P3 口:P3 口是一組帶有內(nèi)部電阻的8位雙向I/O 口,P3 口輸出緩沖故可驅(qū)動4個TTL電路。 對P3 口寫如“1時,它們被內(nèi)部電阻拉到高電平并可作為輸入端時,被外部拉低的 P3 口將用電阻輸出電流。P3 口除了作為一般的I/O 口外,更重要的用途是它的第二功能,如下表所示。表2-1 P3 口第二功能端口引腳第二功能P3.0RXDP3.1TXDP3.2INTOP3.3INT1P3.4TOP3.5T1P3.6WRP3.7RDP3 口還接收一些用于閃爍存儲器編程和程序校驗的控制信號。RST:復(fù)位輸入。當(dāng)震蕩器工作時,RET引腳出現(xiàn)兩個機器周期以上的高電平將使單片機復(fù) 位。ALE/MG :當(dāng)訪

23、問外部程序存儲器或數(shù)據(jù)存儲器時,ALE輸出脈沖用于鎖存地址的低8位字節(jié)。 即使不訪問外部存儲器,ALE以時鐘震蕩頻率的1/16輸出固定的正脈沖信號,因此它 可對輸出時鐘或用于定時目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時將跳過一個 ALE脈沖時,閃爍存儲器編程時,這個引腳還用于輸入編程脈沖。如果必要,可對特 殊寄存器區(qū)中的8EH單元的DO位置禁止ALE操作。這個位置后只有一條 MOVX和 MOVC指令A(yù)LE才會被應(yīng)用。此外,這個引腳會微弱拉高,單片機執(zhí)行外部程序時, 應(yīng)設(shè)置ALE無效。PSEN:程序儲存允許輸出是外部程序存儲器的讀選通信號,當(dāng)AT89C51由外部程序存儲器讀 取指令時,每個機器

24、周期兩次 PSEN有效,即輸出兩個脈沖。在此期間,當(dāng)訪問外部 數(shù)據(jù)存儲器時,這兩次有效的 PSEN信號不出現(xiàn)。EA/VPP :外部訪問允許。欲使中央處理器僅訪問外部程序存儲器, EA端必須保持低電平。需要 注意的是:如果加密位LBI被編程,復(fù)位時內(nèi)部會鎖存 EA端狀態(tài)。如EA端為高電 平,CPU則執(zhí)行內(nèi)部程序存儲器中的指令。閃爍存儲器編程時,該引腳加上 +12V的 編程允許電壓VPP,當(dāng)然這必須是該器件是使用12V編程電壓VPP。XTAL1 :震蕩器反相放大器及內(nèi)部時鐘發(fā)生器的輸入端。XTAL2 :震蕩器反相放大器的輸出端。2.3.4顯示模塊本設(shè)計采用四位一體共陰二極管顯示器74SE-MPX4

25、-CC顯示,1234為共陰端,其實物圖如圖2-5所示。圖 2-5 74SE-MPX4-CC 實物圖(6)本設(shè)計采用LED動態(tài)掃描顯示,原理如下:(1)P23、P22、P21、P20輸出高電平,關(guān)閉所有數(shù)碼管;(2)顯示個位一一把要顯示的數(shù)據(jù)送到P10P17, P23送低電平,延時5豪秒(時間 不能太長,否則數(shù)碼管會閃爍),P23送高電平;(3)顯示十位一一把要顯示的數(shù)據(jù)送到P10P17, P22送低電平,延時5豪秒(時間 不能太長,否則數(shù)碼管會閃爍) ,P22 送高電平;(4) 顯示百位把要顯示的數(shù)據(jù)送到P10P17, P21送低電平,延時5豪秒(時間 不能太長,否則數(shù)碼管會閃爍) , P21

26、 送高電平;(5) 顯示千位把要顯示的數(shù)據(jù)送到P10P17, P20送低電平,延時5豪秒(時間 不能太長,否則數(shù)碼管會閃爍),P20送高電平。( 6)以此順序循環(huán),把它做成子程序,在主循環(huán)中調(diào)用。硬件電路設(shè)計3.1氣壓傳感電路數(shù)據(jù)采集模塊由壓力傳感器 MPX4115構(gòu)成,電路原理圖如圖3-1所示R.1.51k -.I C2 :D.lklf Jk T:圖3-1 MPX4115原理圖3.2單片機控制電路單片機控制模塊采用AT89C5仲片機,控制原理圖如圖3-2所示U1FTSTk1 2|K2 3n 4PEEMA1.E EAPD.4MAM PQj 加 PC JJtAM PO.軸 D3 RO.百型N P

27、O.SfADSpo.cwicePO.7XAD7P2.O/A0 P2.1/A9 F2 2/AIQ P2 3A11P3 5A13 *P2 7A15P3.yRx&P3.imT1P3.6Mfidl耳S7d24貫453flc!4扣d5733一日33d?打d. 1TOH_UL1臨圖3-2單片機控制原理圖A/D轉(zhuǎn)換模塊A/D 轉(zhuǎn)換模塊采用A/D轉(zhuǎn)換芯片ADC0832原理圖如圖3-3所示COM4TEXTC0N2P2fD U1CHO CH?話VCCCHOCLKCHIDIGNDDOADC0S3275 par?圖3-3 ADC0832原理圖3.4顯示模塊本設(shè)計采用四位一體共陰二極管顯示器 74SE-MPX4-C顯示

28、,原理圖如圖3-4所示1234匸5$ IASCDEFG DP:a i is aA U2/ USA. U6 :*、同GT才 、耳 NQyNOT -o圖 3-4 74SE-MPX4-CC 原理圖3.5系統(tǒng)總體電路圖本系統(tǒng)對應(yīng)的總體電路原理圖如圖3-5所示R9TOiTALi1XTAL2PQOMiHL1MEI1 fnaoz ID3D3口 MX fDA*E.M1ABCD叵巨G DPR0133Tn*X03D1-3sTEraS3Zfl?卄rt:tnALEO7fAD7rznr. h.i 陽FJ-aMTD r 3i iT IFJ.irrn rajirri Is aS FJ-Ti-KB-MH汕 F2.AiZ 口P

29、2.SAUFZ.TrA.fi5CLXVI O圖3-5系統(tǒng)總體原理圖軟件設(shè)計4.1 用 C 語言開發(fā)單片機的優(yōu)勢C 語言是一種編譯型的結(jié)構(gòu)化程序設(shè)計語言,具有簡單的語法結(jié)構(gòu)和強大的處理 功能,具有運行速度快、編譯效率高,移植性好和可讀性強等多種優(yōu)點,可以實現(xiàn)對 系統(tǒng)便件的直接操作。用 C 語言來編寫目標(biāo)系統(tǒng)軟件,可以大大縮短開發(fā)周期,且明 顯地增加軟件的可讀性,便于改進和擴充,從而開發(fā)出大規(guī)模、高性能的應(yīng)用系統(tǒng) 11 。 其優(yōu)勢如下:( 1)可以大幅度加快開發(fā)進度,程序量越大,用 C 語言就越有優(yōu)勢。( 2)無需精通單片機指令集和具體的硬件, 也能夠編出符合硬件實際專業(yè)水平的程序。 (3)可以實

30、現(xiàn)軟件的結(jié)構(gòu)化編程,使得軟件的邏輯結(jié)構(gòu)變得清晰、有條理、便于開發(fā) 小組計劃任務(wù)、分工合作。源程序的可讀性和可維護性都很好。( 4)省去了人工分配單片機資源的工作, 在匯編語言中要為每一個子程序分配單片機 的資源。在使用 C 語言后,只要在代碼中申明一下變量的類型,編譯器就會自動分配 相關(guān)資源,根本不需要人工干預(yù),從而有效地避免了人工分配單片機資源的差錯。 (5)匯編語言的可移植性很差, 而 C 語言只要將一些與硬件相關(guān)的代碼作適當(dāng)?shù)男薷模?就可以方便地移植到其它種類的單片機上。(6)C語言提供auto、static、flash等存儲類型,針對單片機的程序存儲空間、數(shù)據(jù)存儲空間及EEPRO空間自

31、動為變量合理地分配空間,而且C語言提供復(fù)雜的數(shù)據(jù)類 型,極大地增強了程序處理能力和靈活性。 C 編譯器能夠自動實現(xiàn)中斷服務(wù)程序的現(xiàn) 場保護和恢復(fù),并且提供常用的標(biāo)準函數(shù)庫,供用戶使用。并且C編譯器能自動生成一些硬件的初始化代碼。(7)對于一些復(fù)雜系統(tǒng)的開發(fā),可以通過移植(或C編譯器提供)的實時操作系統(tǒng)來實 現(xiàn)。正由于C語言在系統(tǒng)開發(fā)中的優(yōu)勢,這次設(shè)計的所有程序設(shè)計都將采用C語言編寫。4.2程序流程圖A/D轉(zhuǎn)換程序流程圖系統(tǒng)總流程圖顯示流程圖主函數(shù)流程圖系統(tǒng)程序4.3.1 源程序代碼#include #include intrins.h#define uint unsigned int#defi

32、ne uchar unsigned charsbit ADCS =P2A0; /ADC0832 chip seclectsbit ADDI =P3A7; /ADC0832 k insbit ADDO =P3A7; /ADC0832 k outsbit ADCLK =P3A6; /ADC0832 clock signal080307208unsigned chardispbitcode8=0 xf7,0 xfb,0 xfd,0 xfe,0 xef,0 xdf,0 xbf,0 x7 f;unsigned chardispcode11=0 xC0,0 xF9,0 xA4,0 xB0,0 x99,0

33、x92,0 x82,0 xF8,0 x80,0 x90,0 xff;unsigned char dispbuf4;uint temp;uchar getdata;void delay_1ms(void)unsigned char x,y;x=3;while(x-)y=40;while(y-);void display(void)char k;for(k=0;k1)&0 x1;_nop_();_nop_();ADCLK=0;ADDI=1;_nop_();_nop_();dat=0;for(i=0;i8;i+)dat|=ADDO;ADCLK=1;_nop_();_nop_();ADCLK=0;_n

34、op_();_nop_();dat=1;if(i=7)dat|=ADDO;for(i=0;i8;i+)j=0;j=j|ADDO;ADCLK=1;_nop_();_nop_();ADCLK=0;_nop_();_nop_();j=j7;ndat=ndat|j; if(i=1;ADCS=1;ADCLK=0;ADDO=1;dat=8;dat|=ndat;return(dat); /return ad kvoid main(void)while(1) unsigned int temp;float press; getdata=Adc0832(0); if(14getdata243)int vary=

35、getdata;press=(10.0/23.0)*vary)+9.3;dispbuf3=temp/1000;temp=(int)(press*10);dispbuf2=(temp%1000)/100;dispbuf1=(temp%1000)%100)/10;dispbuf0=(temp%1000)%100)%10;display();系統(tǒng)調(diào)試與仿真本設(shè)計的仿真軟件主要講述的是 Keil軟件與Proteus軟件的結(jié)合與應(yīng)用。Keil 軟件介紹Keil C51 是美國Keil Software 公司出品的51系列兼容單片機C語言軟件開發(fā)系 統(tǒng)。與匯編相比, C 語言在功能上、結(jié)構(gòu)性、可讀性、可維

36、護性上有明顯的優(yōu)勢,因 而易學(xué)易用。 Keil C51 軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全 Windows界面。Keil可以完成編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程。開發(fā) 人員可用IDE本身或其它編輯器編輯 C或匯編源文件。然后分別由 C51及A51編譯器 編譯生成目標(biāo)文件 (.OBJ) 。目標(biāo)文件可由 LIB51 創(chuàng)建生成庫文件,也可以與庫文件一 起經(jīng)L51連接定位生成絕對目標(biāo)文件(.ABS)ABS文件由0H51轉(zhuǎn)換成標(biāo)準的Hex文件, 以供調(diào)試器 dScope51 或 tScope51 使用進行源代碼級調(diào)試,也可由仿真器使用直接對 目標(biāo)板進行調(diào)試,也可以直接寫入程序

37、存儲器中。Keil u Vision2 ADE 是 Keil software 公司的產(chǎn)品,它集項目管理、編譯工具、 代碼編寫工具、代碼調(diào)試以及完全仿真于一體,適合個人開發(fā)或人數(shù)少、對開發(fā)過程 的管理還不成熟的開發(fā)團體。u Vision2 本身自帶項目管理器,其開發(fā)流程步驟如下:開啟u Vision2,建立工程文件并且從器件數(shù)據(jù)庫里挑選出項目實際使用的器件。建立一個新的源文件,并且把這個源文件添加到工程中去。為單片機添加并且設(shè)置啟動代碼。設(shè)置硬件相關(guān)的選項。編譯整個工程并且生成下載到存儲器用的HEX文件。PR0TEUS 軟件介紹Proteus 與其它單片機仿真軟件不同的是,它不僅能仿真單片機

38、CPU 的工作情 況,也能仿真單片機外圍電路或沒有單片機參與的其它電路的工作情況。因此在仿真 和程序調(diào)試時,關(guān)心的不再是某些語句執(zhí)行時單片機寄存器和存儲器內(nèi)容的改變,而 是從工程的角度直接看程序運行和電路工作的過程和結(jié)果。對于這樣的仿真實驗,從某種意義上講,是彌補了實驗和工程應(yīng)用間脫節(jié)的矛盾和現(xiàn)象Proteus 提供了比較豐富的測試信號用于電路的測試。這些測試信號包括模擬信 號和數(shù)字信號。對于單片機硬件電路和軟件的調(diào)試, Proteus 提供了兩種方法:一種 是系統(tǒng)總體執(zhí)行效果, 一種是對軟件的分步調(diào)試以看具體的執(zhí)行情況。 對于總體執(zhí)行 效果的調(diào)試方法,只需要執(zhí)行 debug 菜單下的 exe

39、cute 菜單項或 F12 快捷鍵啟動執(zhí) 行,用debug菜單下的pause animation 菜單項或pause鍵暫停系統(tǒng)的運行;或用debug 菜單下的 stop animation 菜單項或 shift-break 組合鍵停止系統(tǒng)的運行。其運行方式 也可以選擇工具欄中的相應(yīng)工具進行。對于軟件的分步調(diào)試,應(yīng)先執(zhí)行 debug 菜單下 的 start/restart debugging 菜單項命令, 此時可以選擇 stepover 、step into 和 step out命令執(zhí)行程序(可以用快捷鍵F10、F11和ctrl+F11),執(zhí)行的效果是單句執(zhí)行、進 入子程序執(zhí)行和跳出子程序執(zhí)行。

40、在執(zhí)行了 start / restart debuging命令后,在debug 菜單的下面要出現(xiàn)仿真中所涉及到的軟件列表和單片機的系統(tǒng)資源等,可供調(diào) 試時分析和查看。運行 proteus 的 ISIS 程序后, 進入該仿真軟件的主界面。 在工作前, 要設(shè)置 view 菜單下的捕捉對齊和system下的顏色、圖形界面大小等項目。通過工具欄中的p(從庫中選擇元件命令 )命令,在 pick devices 窗口中選擇電路所需的元件,放置元件并 調(diào)整其相對位置,元件參數(shù)設(shè)置,元器件間連線,編寫程序;在source 菜單的Definecode generation tools 菜單命令下,選擇程序編譯的

41、工具、路徑、擴展名等 項目;在 source 菜單的 Add/removesource files 命令下,加入單片機硬件電路的對 應(yīng)程序;通過 debug 菜單的相應(yīng)命令仿真程序和電路的運行情況。單片機調(diào)試仿真本設(shè)計我采用 proteus 的系統(tǒng)總體執(zhí)行效果調(diào)試方法進行調(diào)試。 這里單片機時鐘工 作在11.0592MHZ如下圖5-1所示為仿真效果圖。WXTAlKTJOFD.VJVI FD3.iZHl 時.iff*EF斯 ruam聞FZCM FZU# Bzjzxin吒LW2JTA1IALE臨HMZ砂FWF1 1ra vr:aF1Zrj JTTEJ2沖REFl.lT2 *T3M5PJ&TlF1KTP1.Trjf

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論