版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 目錄 TOC o 1-5 h z 引言 2課題背景 . 2本課題國(guó)內(nèi)外研究現(xiàn)狀 2本課題的研究意義 . 3本課題相關(guān)理論綜述 3系統(tǒng)總體設(shè)計(jì) 設(shè)計(jì)思路分析 . 5系統(tǒng)總體結(jié)構(gòu) . 5系統(tǒng)各功能模塊的設(shè)計(jì)思想 6數(shù)據(jù)采集模塊的芯片選擇 6A/D 轉(zhuǎn)換模塊 . 7單片機(jī)控制模塊 8顯示模塊 . 11硬件電路設(shè)計(jì) 13氣壓傳感電路 13單片機(jī)控制電路 . 13A/D轉(zhuǎn)換模塊 14顯示模塊 14系統(tǒng)總體電路圖 15軟件設(shè)計(jì) 164.1用C語(yǔ)言開(kāi)發(fā)單片機(jī)的優(yōu)勢(shì) 16 HYPERLINK l bookmark20 o Current Document 程序流程圖 17系統(tǒng)程序 18源程序代碼 1823系
2、統(tǒng)調(diào)試與仿真 KEIL 軟件介紹 23PROTEU軟件介紹23單片機(jī)調(diào)試仿真 24結(jié)束語(yǔ) 參考文獻(xiàn) 2627引言課題背景數(shù)字氣壓計(jì)是利用壓敏元件將待測(cè)氣壓直接變換為容易檢測(cè)、 傳輸?shù)碾娏骰螂妷?信號(hào),然后再經(jīng)過(guò)后續(xù)電路處理并進(jìn)行實(shí)時(shí)顯示的一種設(shè)備。其中的核心元件就是氣 壓傳感器,它在監(jiān)視壓力大小、控制壓力變化以及物理參量的測(cè)量等方面起著重要作 用。運(yùn)用于氣壓計(jì)的氣壓傳感器基本都是依靠不同高度時(shí)的氣壓變化來(lái)獲取氣壓值的。 相對(duì)比于普通的水銀氣壓計(jì),有準(zhǔn)確易讀,易攜帶的優(yōu)點(diǎn)。氣象學(xué)研究表明, 在垂直方向上氣壓隨高度增加而降低。 例如在低層,每上升 100m 氣壓便降低10hPa;在56km的高空,
3、高度每增加100m氣壓便會(huì)降低7hPa;而當(dāng) 高度進(jìn)一步增加時(shí),即到910km的高空之后,高度每增加100m氣壓便會(huì)降低5hPa; 同樣,若空氣中有下降氣流時(shí),氣壓會(huì)增加;若空氣中有上升氣流時(shí),作用于空氣柱 底部的氣壓就會(huì)減小。一般把作用于單位面積上空氣柱的重量稱(chēng)為大氣壓力。 數(shù)字氣壓計(jì)大量應(yīng)用在各種工礦企業(yè),野外作業(yè),消費(fèi)類(lèi)電子產(chǎn)品等等的地方。需求 極為廣泛。本課題國(guó)內(nèi)外研究現(xiàn)狀常見(jiàn)氣壓計(jì)有液體氣壓計(jì)和盒式氣壓計(jì)。 飛機(jī)上使用的高度計(jì)實(shí)際上是用盒式氣壓 計(jì)改裝成的。常見(jiàn)的液體氣壓計(jì)有水銀氣壓計(jì)和酒精氣壓計(jì) 2 種,這 2 種都是老式的 氣壓計(jì),體積大,精度低,不方便攜帶且容易壞,當(dāng)今社會(huì)科技
4、高速發(fā)展,各行各業(yè) 不斷出現(xiàn)新技術(shù)新材料,氣壓測(cè)量這塊也是這樣,盒式氣壓計(jì)的出現(xiàn)部分的解決了液 體氣壓計(jì)所無(wú)法解決的缺點(diǎn),比如體積、方便攜帶等等。人類(lèi)社會(huì)進(jìn)入 20世紀(jì) 90年 代以后微電子行業(yè)發(fā)展極為迅速, 各種各樣的電子傳感器被發(fā)明且被運(yùn)用到各行各業(yè), 為人們的生產(chǎn)生活創(chuàng)造了極大的便利。數(shù)字氣壓傳感器亦已出現(xiàn),并大量被運(yùn)用,甚 至現(xiàn)在很多手持設(shè)備中都已經(jīng)加入了氣壓計(jì)功能,比如手機(jī),GPS等,方便了人們的出行旅游。目前國(guó)際國(guó)內(nèi)很多公司都推出了其數(shù)字氣壓傳感器,如摩托羅拉公司的 MPX4105 和Intersema公司的MS5534b另外還有華普微電子的HP03系列數(shù)字氣壓傳感器。眾多 數(shù)字氣
5、壓傳感器的出現(xiàn)使得多樣化的數(shù)字化氣壓測(cè)量裝置、用品大量出現(xiàn),并越來(lái)越 普及,精度也越來(lái)越高。數(shù)字氣壓計(jì)一般不會(huì)只有測(cè)量氣壓一種功能,一般都有其他 的功能,比如測(cè)溫度、指南針、碼表等等的功能。微控制器是將微型計(jì)算機(jī)的主要部分集成在一個(gè)芯片上的單芯片微型計(jì)算機(jī)。微 控制器誕生于 20 世紀(jì) 70 年代中期,經(jīng)過(guò) 20多年的發(fā)展,其成本越來(lái)越低,而性能越 來(lái)越強(qiáng)大,這使其應(yīng)用已經(jīng)無(wú)處不在,遍及各個(gè)領(lǐng)域。例如電機(jī)控制、條碼閱讀器 掃描器、消費(fèi)類(lèi)電子、游戲設(shè)備、電話、 HVAC樓宇安全與門(mén)禁控制、工業(yè)控制與自 動(dòng)化和白色家電 ( 洗衣機(jī)、微波爐 ) 等。本次設(shè)計(jì)也將采用微控制器作為電子氣壓計(jì)的 數(shù)據(jù)采集
6、處理和控制元件。微控制器可從不同方面進(jìn)行分類(lèi):根據(jù)數(shù)據(jù)總線寬度可分為 8 位、 16 位和 32 位 機(jī);根據(jù)存儲(chǔ)器結(jié)構(gòu)可分為 Harvard結(jié)構(gòu)和Von Neumanr結(jié)構(gòu);根據(jù)內(nèi)嵌程序存儲(chǔ)器 的類(lèi)別可分為 OTR掩膜、EPROJMEEPROM和閃存Flash ;根據(jù)指令結(jié)構(gòu)又可分為 CISC(ComplexlnstructionSet Computer)和 RISC(ReducedlnstructionSet Computer)微控制器。氣壓傳感器和微電子控制器的結(jié)合,可以創(chuàng)造出很多應(yīng)用,可以說(shuō)只要能有好的 想法,一般都可以實(shí)現(xiàn),氣壓計(jì)已經(jīng)由以前的只有專(zhuān)業(yè)場(chǎng)合專(zhuān)業(yè)人士才能使用的測(cè)量 器具變
7、成今天的隨處可見(jiàn),方便使用的電子產(chǎn)品,并集成到眾多的電子產(chǎn)品中,都?xì)w 功于電子行業(yè)技術(shù)發(fā)展和很多有創(chuàng)新精神開(kāi)發(fā)者。本課題的研究意義本課題是要設(shè)計(jì)一個(gè)利用微控制和數(shù)字化氣壓傳感器為核心元件組成的電子氣壓 計(jì)系統(tǒng)。微控制和數(shù)字化氣壓傳感器的結(jié)合可以使得氣壓計(jì)的設(shè)計(jì)更具靈活性,測(cè)量 精度相對(duì)于液體氣壓計(jì)也有了顯著提高。測(cè)量結(jié)果的顯示也更直觀,并可靈活的加入 超壓、低壓報(bào)警等特殊功能,以滿足某些特定需要。通過(guò)本次設(shè)計(jì)也較好的鍛煉了本人的動(dòng)手能力,為將來(lái)的工作打下了一定的基礎(chǔ),同 時(shí)可以充分利用課堂所學(xué)知識(shí)進(jìn)行本課題的設(shè)計(jì),在運(yùn)用這些知識(shí)的過(guò)程中,加深了 對(duì)這些知識(shí)的理解。本課題相關(guān)理論綜述在設(shè)計(jì)電子氣
8、壓計(jì)之前首先要搞清楚氣壓的定義。氣壓是作用在單位面積上的大 氣壓力,即等于單位面積上向上延伸到大氣上界的垂直空氣柱的重量。氣壓以百帕(hPa)為單位,取一位小數(shù)。國(guó)際制單位:帕斯卡,簡(jiǎn)稱(chēng)帕,符號(hào)是Pa。常用單位:標(biāo)準(zhǔn)大氣壓。表示氣壓的單位,習(xí)慣上常用水銀柱高度。例如,一個(gè)標(biāo)準(zhǔn)大氣壓等于 760 毫米高的水銀柱的重量,它相當(dāng)于一平方厘米面積上承受1.0336 公斤重的大氣壓力。由于各國(guó)所用的重量和長(zhǎng)度單位不同,因而氣壓?jiǎn)挝灰膊唤y(tǒng)一,這不便于對(duì)全球 的氣壓進(jìn)行比較分析。因此,國(guó)際上統(tǒng)一規(guī)定用百帕作為氣壓?jiǎn)挝?。?jīng)過(guò)換算:一個(gè)標(biāo)準(zhǔn)大氣壓二1013百帕(毫巴)1毫米水銀(汞柱)柱高=4/3百帕(毫巴)1
9、個(gè)標(biāo)準(zhǔn)大氣壓=760mn水銀(汞柱)柱高。氣壓產(chǎn)生的原因:從分子動(dòng)理論可知,氣體的壓強(qiáng)是大量分子頻繁地碰撞容器壁而產(chǎn) 生的。單個(gè)分子對(duì)容器壁的碰撞時(shí)間極短,作用是不連續(xù)的,但大量分子頻繁的碰撞 器壁,對(duì)器壁的作用力是持續(xù)的、均勻的,這個(gè)壓力與器壁面積的比值就是壓強(qiáng)大小。影響壓強(qiáng)的因素:氣壓的大小與海拔高度、大氣溫度 、大氣密度等有關(guān),一般 隨高度升高按指數(shù)律遞減。氣壓有日變化和年變化。一年之中,冬季比夏季氣壓高。 一天中,氣壓有一個(gè)最高值、一個(gè)最低值,分別出現(xiàn)在 910時(shí)和1516時(shí),還有一 個(gè)次高值和一個(gè)次低值,分別出現(xiàn)在 2122時(shí)和34時(shí)。氣壓日變化幅度較小,一 般為 0.1 0.4 千
10、帕,并隨緯度增高而減小。氣壓變化與風(fēng)、天氣的好壞等關(guān)系密切, 因而是重要?dú)庀笠蜃印MǔK玫臍鈮簡(jiǎn)挝挥信?(Pa)、毫米水銀柱高(mmHg)、毫巴 (mb)。它們之間的換算關(guān)系為:100帕=1毫巴3/4毫米水銀柱高。氣象觀測(cè)中常 用的測(cè)量氣壓的儀器有水銀氣壓表、空盒氣壓表、氣壓計(jì)。溫度為0C時(shí)760毫米垂直水銀柱高的壓力 ,標(biāo)準(zhǔn)大氣壓最先由意大利科學(xué)家 托里拆利 測(cè)出。系統(tǒng)總體設(shè)計(jì)2.1設(shè)計(jì)思路分析基于MPX4115的數(shù)字氣壓計(jì)包括軟硬件的設(shè)計(jì)與調(diào)試。軟件部分通過(guò)對(duì)C語(yǔ)言的學(xué)習(xí)和對(duì)單片機(jī)知識(shí)的了解,根據(jù)系統(tǒng)的特點(diǎn)編寫(xiě)出單片機(jī)程序。硬件部分分為四 大塊,包括非電信號(hào)數(shù)據(jù)的采集、轉(zhuǎn)換、處理以及顯示
11、:。通過(guò)對(duì)設(shè)計(jì)的了解,選擇適合的器件,畫(huà)出原理圖。2.2系統(tǒng)總體結(jié)構(gòu)硬件部分由四部分構(gòu)成,它們分別是:信息采集模塊,數(shù)據(jù)轉(zhuǎn)換模塊,信息處理 模塊和數(shù)據(jù)顯示模塊。采用單片機(jī)主控,通過(guò)壓力傳感器、A/D轉(zhuǎn)換采集數(shù)據(jù)信息,經(jīng)過(guò)含有單片機(jī)的檢測(cè)系統(tǒng)檢測(cè),將結(jié)果傳送到單片機(jī)控制的主控器,數(shù)據(jù)通過(guò)顯示 器顯示。原理框圖如圖2-1所示。壓力傳感器A/D轉(zhuǎn)換器單片機(jī)電源模塊LED顯示器圖2-1系統(tǒng)結(jié)構(gòu)框圖設(shè)計(jì)51單片機(jī)數(shù)字氣壓計(jì)系統(tǒng)時(shí),需要考慮下面4個(gè)方面的內(nèi)容。選擇合適的氣壓傳感器芯片,這要根據(jù)實(shí)際需要以及各種氣壓傳感器的性能參數(shù)來(lái) 決定。選擇合適的A/D轉(zhuǎn)換器件,它的作用是將氣壓傳感器輸出的模擬電流或電壓
12、信號(hào)轉(zhuǎn) 換為數(shù)字信號(hào)。設(shè)計(jì)單片機(jī)和A/D轉(zhuǎn)換器件的接口電路。實(shí)現(xiàn)氣壓信息采集并輸出的軟件設(shè)計(jì)。2.3系統(tǒng)各功能模塊的設(shè)計(jì)思想2.3.1數(shù)據(jù)采集模塊的芯片選擇壓力傳感器對(duì)于系統(tǒng)至關(guān)重要,需要綜合實(shí)際的需求和各類(lèi)壓力傳感器的性能參數(shù) 加以選擇。一般要選用有溫度補(bǔ)償作用的壓力傳感器,因?yàn)闇囟妊a(bǔ)償特性可以克服半 導(dǎo)體壓力傳感器件存在的溫度漂移問(wèn)題。本設(shè)計(jì)要實(shí)現(xiàn)的數(shù)字氣壓計(jì)顯示的是絕對(duì)氣壓值,同時(shí)為了簡(jiǎn)化電路,提高穩(wěn)定性和 抗干擾能力,要求使用具有溫度補(bǔ)償能力的壓力傳感器。經(jīng)過(guò)綜合考慮,本設(shè)計(jì)選用 美國(guó)摩托羅拉公司的集成壓力傳感器。MPX4115可以產(chǎn)生高精度模擬輸出電壓。MPX4115系列壓電電阻傳感
13、器是一個(gè)硅壓力傳感器。這個(gè)傳感器結(jié)合了高級(jí)的微電機(jī)技術(shù),薄膜鍍金屬。還能為高水準(zhǔn)模擬輸出信號(hào)提供一個(gè)均衡壓力。在OC -85C的溫度下誤差不超過(guò)1.5%,溫度補(bǔ)償是-40C-125C。數(shù)據(jù)采集模塊由壓力傳感器 MPX4115 構(gòu)成。其中1腳是輸出信號(hào)端,輸出的是與氣壓值相對(duì)應(yīng)的模擬電壓信號(hào)。MPX4115的實(shí)物圖如圖2-2所示。圖2-2 MPX4115的實(shí)物圖2.3.2 A/D 轉(zhuǎn)換模塊ADC0832 是美國(guó)國(guó)家半導(dǎo)體公司生產(chǎn)的一種 8位分辨率、雙通道 A/D 轉(zhuǎn)換芯片。 由于它體積小,兼容性強(qiáng),性?xún)r(jià)比高而深受單片機(jī)愛(ài)好者及企業(yè)歡迎,其目前已經(jīng)有 很高的普及率。學(xué)習(xí)并使用 ADC0832 可是
14、使我們了解 A/D 轉(zhuǎn)換器的原理,有助于我 們單片機(jī)技術(shù)水平的提高。ADC0832 具有以下特點(diǎn): 8位分辨率; 雙通道 A/D 轉(zhuǎn)換; 輸入輸出電平與 TTL/CMOS 相兼容;5V電源供電時(shí)輸入電壓在05V之間;工作頻率為250KHZ,轉(zhuǎn)換時(shí)間為32卩$一般功耗僅為 15mW;8P 14P DIP (雙列直插)、PICC多種封裝;商用級(jí)芯片溫寬為0C to +70 C?,工業(yè)級(jí)芯片溫寬為40C to +85CADC0832為8位分辨率A/D轉(zhuǎn)換芯片,其最高分辨可達(dá) 256級(jí),可以適應(yīng)一般的模擬 量轉(zhuǎn)換要求。其內(nèi)部電源輸入與參考電壓的復(fù)用, 使得芯片的模擬電壓輸入在05V之 間。芯片轉(zhuǎn)換時(shí)間
15、僅為 32卩S,據(jù)有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗(yàn),以減少數(shù)據(jù)誤差, 轉(zhuǎn)換速度快且穩(wěn)定性能強(qiáng)。獨(dú)立的芯片使能輸入,使多器件掛接和處理器控制變的更 加方便。通過(guò) DI 數(shù)據(jù)輸入端,可以輕易的實(shí)現(xiàn)通道功能的選擇。正常情況下 ADC0832 與單片機(jī)的接口應(yīng)為4條數(shù)據(jù)線,分別是CS CLK DO DI。但由于DO端與DI端在 通信時(shí)并未同時(shí)有效并與單片機(jī)的接口是雙向的,所以電路設(shè)計(jì)時(shí)可以將DO和 DI并聯(lián)在一根數(shù)據(jù)線上使用。當(dāng)ADC0832未工作時(shí)其CS輸入端應(yīng)為高電平,此時(shí)芯片禁用, CLK和DO/DI的電平可任意。當(dāng)要進(jìn)行 A/D轉(zhuǎn)換時(shí),須先將CS使能端置于低電平并 且保持低電平直到轉(zhuǎn)換完全結(jié)束。此時(shí)
16、芯片開(kāi)始轉(zhuǎn)換工作,同時(shí)由處理器向芯片時(shí)鐘 輸入端CLK輸入時(shí)鐘脈沖,DO/DI端則使用DI端輸入通道功能選擇的數(shù)據(jù)信號(hào)。 在第 1 個(gè)時(shí)鐘脈沖的下沉之前 DI 端必須是高電平,表示啟始信號(hào)。在第 2、3個(gè)脈沖下沉 之前 DI 端應(yīng)輸入 2 位數(shù)據(jù)用于選擇通道功能,其功能項(xiàng)見(jiàn)官方資料。如資料所示,當(dāng)此 2 位數(shù)據(jù)為“ 1”、“0”時(shí),只對(duì) CH0 進(jìn)行單通道轉(zhuǎn)換。當(dāng) 2位數(shù)據(jù)為“ 1”、“1 ”時(shí),只對(duì)CH1進(jìn)行單通道轉(zhuǎn)換。當(dāng)2位數(shù)據(jù)為“ 0”、“ 0”時(shí),將CH0乍為正輸入端IN+, CH1作為負(fù)輸入端IN-進(jìn)行輸入。當(dāng)2位數(shù)據(jù)為“ 0”、“T時(shí),將CH0作為負(fù)輸入端IN- , CH1作為正輸
17、入端IN+進(jìn)行輸入。到第3個(gè)脈沖 的下沉之后DI端的輸入電平就失去輸入作用,此后 DO/DI端則開(kāi)始利用數(shù)據(jù)輸出DO 進(jìn)行轉(zhuǎn)換數(shù)據(jù)的讀取。從第4個(gè)脈沖下沉開(kāi)始由DO端輸出轉(zhuǎn)換數(shù)據(jù)最高位DATA?隨 后每一個(gè)脈沖下沉DO端輸出下一位數(shù)據(jù)。直到第11個(gè)脈沖時(shí)發(fā)出最低位數(shù)據(jù) DATA0 一個(gè)字節(jié)的數(shù)據(jù)輸出完成。也正是從此位開(kāi)始輸出下一個(gè)相反字節(jié)的數(shù)據(jù),即從第11個(gè)字節(jié)的下沉輸出DATA0隨后輸出8位數(shù)據(jù),到第19個(gè)脈沖時(shí)數(shù)據(jù)輸出完成,也標(biāo) 志著一次A/D轉(zhuǎn)換的結(jié)束。最后將CS置高電平禁用芯片,直接將轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行處 理就可以了,如圖2-3為ADC0832實(shí)物圖。圖2-3 ADC0832實(shí)物圖2.3
18、.3單片機(jī)控制模塊AT89C51是一個(gè)低電壓,高性能CMOS 8位單片機(jī)帶有4K字節(jié)的可反復(fù)擦寫(xiě)的 程序存儲(chǔ)器(PENROM)。和128字節(jié)的存取數(shù)據(jù)存儲(chǔ)器(RAM ),這種器件采用 ATMEL公司的高密度、不容易丟失存儲(chǔ)技術(shù)生產(chǎn),并且能夠與MCS-51系列的單片機(jī) 兼容。片內(nèi)含有8位中央處理器和閃爍存儲(chǔ)單元, 有較強(qiáng)的功能的AT89C51單片機(jī)能 夠被應(yīng)用到控制領(lǐng)域中。如圖 2-4為AT89C51單片機(jī)實(shí)物圖。Pl Q tFi.i rpi J cPI爭(zhēng)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) 陽(yáng) 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位漏極開(kāi)路雙向I/O 口,即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口時(shí),每一 個(gè)管腳都能夠驅(qū)動(dòng)8個(gè)TTL電路。當(dāng)“ 1被寫(xiě)入P0 口時(shí),每個(gè)管腳都能夠作為高阻抗 輸入端。P0 口還能夠在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),轉(zhuǎn)換地址和數(shù)據(jù)總線復(fù) 用,并在這時(shí)激活內(nèi)部的上拉電阻。P0 口在閃爍編程時(shí),P0 口接收指令,在程序校驗(yàn) 時(shí),輸出指令,需要接電阻。P1 口:P1 口一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O 口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)4個(gè)TTL電路。 對(duì)端口寫(xiě)“
21、1,通過(guò)內(nèi)部的電阻把端口拉到高電平,此時(shí)可作為輸入口。因?yàn)閮?nèi)部有電 阻,某個(gè)引腳被外部信號(hào)拉低時(shí)輸出一個(gè)電流。閃爍編程時(shí)和程序校驗(yàn)時(shí),P1 口接收低8位地址。P2 口:P2 口是一個(gè)內(nèi)部帶有上拉電阻的 8位雙向I/O 口,P2的輸出緩沖級(jí)可驅(qū)動(dòng)4個(gè)TTL 電路。對(duì)端口寫(xiě)“ 1,通過(guò)內(nèi)部的電阻把端口拉到高電平,此時(shí),可作為輸入口。因?yàn)?內(nèi)部有電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流。在訪問(wèn)外部程序存儲(chǔ)器或 16位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí),P2 口送出高8位地址數(shù)據(jù)。在訪問(wèn)8位地址的外部數(shù) 據(jù)存儲(chǔ)器時(shí),P2 口線上的內(nèi)容在整個(gè)運(yùn)行期間不變。 閃爍編程或校驗(yàn)時(shí),P2 口接收高 位地址和其它控制信號(hào)
22、。P3 口:P3 口是一組帶有內(nèi)部電阻的8位雙向I/O 口,P3 口輸出緩沖故可驅(qū)動(dòng)4個(gè)TTL電路。 對(duì)P3 口寫(xiě)如“1時(shí),它們被內(nèi)部電阻拉到高電平并可作為輸入端時(shí),被外部拉低的 P3 口將用電阻輸出電流。P3 口除了作為一般的I/O 口外,更重要的用途是它的第二功能,如下表所示。表2-1 P3 口第二功能端口引腳第二功能P3.0RXDP3.1TXDP3.2INTOP3.3INT1P3.4TOP3.5T1P3.6WRP3.7RDP3 口還接收一些用于閃爍存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)。RST:復(fù)位輸入。當(dāng)震蕩器工作時(shí),RET引腳出現(xiàn)兩個(gè)機(jī)器周期以上的高電平將使單片機(jī)復(fù) 位。ALE/MG :當(dāng)訪
23、問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE輸出脈沖用于鎖存地址的低8位字節(jié)。 即使不訪問(wèn)外部存儲(chǔ)器,ALE以時(shí)鐘震蕩頻率的1/16輸出固定的正脈沖信號(hào),因此它 可對(duì)輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè) ALE脈沖時(shí),閃爍存儲(chǔ)器編程時(shí),這個(gè)引腳還用于輸入編程脈沖。如果必要,可對(duì)特 殊寄存器區(qū)中的8EH單元的DO位置禁止ALE操作。這個(gè)位置后只有一條 MOVX和 MOVC指令A(yù)LE才會(huì)被應(yīng)用。此外,這個(gè)引腳會(huì)微弱拉高,單片機(jī)執(zhí)行外部程序時(shí), 應(yīng)設(shè)置ALE無(wú)效。PSEN:程序儲(chǔ)存允許輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89C51由外部程序存儲(chǔ)器讀 取指令時(shí),每個(gè)機(jī)器
24、周期兩次 PSEN有效,即輸出兩個(gè)脈沖。在此期間,當(dāng)訪問(wèn)外部 數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的 PSEN信號(hào)不出現(xiàn)。EA/VPP :外部訪問(wèn)允許。欲使中央處理器僅訪問(wèn)外部程序存儲(chǔ)器, EA端必須保持低電平。需要 注意的是:如果加密位LBI被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存 EA端狀態(tài)。如EA端為高電 平,CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。閃爍存儲(chǔ)器編程時(shí),該引腳加上 +12V的 編程允許電壓VPP,當(dāng)然這必須是該器件是使用12V編程電壓VPP。XTAL1 :震蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。XTAL2 :震蕩器反相放大器的輸出端。2.3.4顯示模塊本設(shè)計(jì)采用四位一體共陰二極管顯示器74SE-MPX4
25、-CC顯示,1234為共陰端,其實(shí)物圖如圖2-5所示。圖 2-5 74SE-MPX4-CC 實(shí)物圖(6)本設(shè)計(jì)采用LED動(dòng)態(tài)掃描顯示,原理如下:(1)P23、P22、P21、P20輸出高電平,關(guān)閉所有數(shù)碼管;(2)顯示個(gè)位一一把要顯示的數(shù)據(jù)送到P10P17, P23送低電平,延時(shí)5豪秒(時(shí)間 不能太長(zhǎng),否則數(shù)碼管會(huì)閃爍),P23送高電平;(3)顯示十位一一把要顯示的數(shù)據(jù)送到P10P17, P22送低電平,延時(shí)5豪秒(時(shí)間 不能太長(zhǎng),否則數(shù)碼管會(huì)閃爍) ,P22 送高電平;(4) 顯示百位把要顯示的數(shù)據(jù)送到P10P17, P21送低電平,延時(shí)5豪秒(時(shí)間 不能太長(zhǎng),否則數(shù)碼管會(huì)閃爍) , P21
26、 送高電平;(5) 顯示千位把要顯示的數(shù)據(jù)送到P10P17, P20送低電平,延時(shí)5豪秒(時(shí)間 不能太長(zhǎng),否則數(shù)碼管會(huì)閃爍),P20送高電平。( 6)以此順序循環(huán),把它做成子程序,在主循環(huán)中調(diào)用。硬件電路設(shè)計(jì)3.1氣壓傳感電路數(shù)據(jù)采集模塊由壓力傳感器 MPX4115構(gòu)成,電路原理圖如圖3-1所示R.1.51k -.I C2 :D.lklf Jk T:圖3-1 MPX4115原理圖3.2單片機(jī)控制電路單片機(jī)控制模塊采用AT89C5仲片機(jī),控制原理圖如圖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單片機(jī)控制原理圖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è)計(jì)采用四位一體共陰二極管顯示器 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)對(duì)應(yīng)的總體電路原理圖如圖3-5所示R9TOiTALi1XTAL2PQOMiHL1MEI1 fnaoz ID3D3口 MX fDA*E.M1ABCD叵巨G DPR0133Tn*X03D1-3sTEraS3Zfl?卄rt:tnALEO7fAD7rznr. h.i 陽(yáng)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è)計(jì)4.1 用 C 語(yǔ)言開(kāi)發(fā)單片機(jī)的優(yōu)勢(shì)C 語(yǔ)言是一種編譯型的結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,具有簡(jiǎn)單的語(yǔ)法結(jié)構(gòu)和強(qiáng)大的處理 功能,具有運(yùn)行速度快、編譯效率高,移植性好和可讀性強(qiáng)等多種優(yōu)點(diǎn),可以實(shí)現(xiàn)對(duì) 系統(tǒng)便件的直接操作。用 C 語(yǔ)言來(lái)編寫(xiě)目標(biāo)系統(tǒng)軟件,可以大大縮短開(kāi)發(fā)周期,且明 顯地增加軟件的可讀性,便于改進(jìn)和擴(kuò)充,從而開(kāi)發(fā)出大規(guī)模、高性能的應(yīng)用系統(tǒng) 11 。 其優(yōu)勢(shì)如下:( 1)可以大幅度加快開(kāi)發(fā)進(jìn)度,程序量越大,用 C 語(yǔ)言就越有優(yōu)勢(shì)。( 2)無(wú)需精通單片機(jī)指令集和具體的硬件, 也能夠編出符合硬件實(shí)際專(zhuān)業(yè)水平的程序。 (3)可以實(shí)
30、現(xiàn)軟件的結(jié)構(gòu)化編程,使得軟件的邏輯結(jié)構(gòu)變得清晰、有條理、便于開(kāi)發(fā) 小組計(jì)劃任務(wù)、分工合作。源程序的可讀性和可維護(hù)性都很好。( 4)省去了人工分配單片機(jī)資源的工作, 在匯編語(yǔ)言中要為每一個(gè)子程序分配單片機(jī) 的資源。在使用 C 語(yǔ)言后,只要在代碼中申明一下變量的類(lèi)型,編譯器就會(huì)自動(dòng)分配 相關(guān)資源,根本不需要人工干預(yù),從而有效地避免了人工分配單片機(jī)資源的差錯(cuò)。 (5)匯編語(yǔ)言的可移植性很差, 而 C 語(yǔ)言只要將一些與硬件相關(guān)的代碼作適當(dāng)?shù)男薷模?就可以方便地移植到其它種類(lèi)的單片機(jī)上。(6)C語(yǔ)言提供auto、static、flash等存儲(chǔ)類(lèi)型,針對(duì)單片機(jī)的程序存儲(chǔ)空間、數(shù)據(jù)存儲(chǔ)空間及EEPRO空間自
31、動(dòng)為變量合理地分配空間,而且C語(yǔ)言提供復(fù)雜的數(shù)據(jù)類(lèi) 型,極大地增強(qiáng)了程序處理能力和靈活性。 C 編譯器能夠自動(dòng)實(shí)現(xiàn)中斷服務(wù)程序的現(xiàn) 場(chǎng)保護(hù)和恢復(fù),并且提供常用的標(biāo)準(zhǔn)函數(shù)庫(kù),供用戶使用。并且C編譯器能自動(dòng)生成一些硬件的初始化代碼。(7)對(duì)于一些復(fù)雜系統(tǒng)的開(kāi)發(fā),可以通過(guò)移植(或C編譯器提供)的實(shí)時(shí)操作系統(tǒng)來(lái)實(shí) 現(xiàn)。正由于C語(yǔ)言在系統(tǒng)開(kāi)發(fā)中的優(yōu)勢(shì),這次設(shè)計(jì)的所有程序設(shè)計(jì)都將采用C語(yǔ)言編寫(xiě)。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è)計(jì)的仿真軟件主要講述的是 Keil軟件與Proteus軟件的結(jié)合與應(yīng)用。Keil 軟件介紹Keil C51 是美國(guó)Keil Software 公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系 統(tǒng)。與匯編相比, C 語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維
36、護(hù)性上有明顯的優(yōu)勢(shì),因 而易學(xué)易用。 Keil C51 軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具,全 Windows界面。Keil可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開(kāi)發(fā)流程。開(kāi)發(fā) 人員可用IDE本身或其它編輯器編輯 C或匯編源文件。然后分別由 C51及A51編譯器 編譯生成目標(biāo)文件 (.OBJ) 。目標(biāo)文件可由 LIB51 創(chuàng)建生成庫(kù)文件,也可以與庫(kù)文件一 起經(jīng)L51連接定位生成絕對(duì)目標(biāo)文件(.ABS)ABS文件由0H51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件, 以供調(diào)試器 dScope51 或 tScope51 使用進(jìn)行源代碼級(jí)調(diào)試,也可由仿真器使用直接對(duì) 目標(biāo)板進(jìn)行調(diào)試,也可以直接寫(xiě)入程序
37、存儲(chǔ)器中。Keil u Vision2 ADE 是 Keil software 公司的產(chǎn)品,它集項(xiàng)目管理、編譯工具、 代碼編寫(xiě)工具、代碼調(diào)試以及完全仿真于一體,適合個(gè)人開(kāi)發(fā)或人數(shù)少、對(duì)開(kāi)發(fā)過(guò)程 的管理還不成熟的開(kāi)發(fā)團(tuán)體。u Vision2 本身自帶項(xiàng)目管理器,其開(kāi)發(fā)流程步驟如下:開(kāi)啟u Vision2,建立工程文件并且從器件數(shù)據(jù)庫(kù)里挑選出項(xiàng)目實(shí)際使用的器件。建立一個(gè)新的源文件,并且把這個(gè)源文件添加到工程中去。為單片機(jī)添加并且設(shè)置啟動(dòng)代碼。設(shè)置硬件相關(guān)的選項(xiàng)。編譯整個(gè)工程并且生成下載到存儲(chǔ)器用的HEX文件。PR0TEUS 軟件介紹Proteus 與其它單片機(jī)仿真軟件不同的是,它不僅能仿真單片機(jī)
38、CPU 的工作情 況,也能仿真單片機(jī)外圍電路或沒(méi)有單片機(jī)參與的其它電路的工作情況。因此在仿真 和程序調(diào)試時(shí),關(guān)心的不再是某些語(yǔ)句執(zhí)行時(shí)單片機(jī)寄存器和存儲(chǔ)器內(nèi)容的改變,而 是從工程的角度直接看程序運(yùn)行和電路工作的過(guò)程和結(jié)果。對(duì)于這樣的仿真實(shí)驗(yàn),從某種意義上講,是彌補(bǔ)了實(shí)驗(yàn)和工程應(yīng)用間脫節(jié)的矛盾和現(xiàn)象Proteus 提供了比較豐富的測(cè)試信號(hào)用于電路的測(cè)試。這些測(cè)試信號(hào)包括模擬信 號(hào)和數(shù)字信號(hào)。對(duì)于單片機(jī)硬件電路和軟件的調(diào)試, Proteus 提供了兩種方法:一種 是系統(tǒng)總體執(zhí)行效果, 一種是對(duì)軟件的分步調(diào)試以看具體的執(zhí)行情況。 對(duì)于總體執(zhí)行 效果的調(diào)試方法,只需要執(zhí)行 debug 菜單下的 exe
39、cute 菜單項(xiàng)或 F12 快捷鍵啟動(dòng)執(zhí) 行,用debug菜單下的pause animation 菜單項(xiàng)或pause鍵暫停系統(tǒng)的運(yùn)行;或用debug 菜單下的 stop animation 菜單項(xiàng)或 shift-break 組合鍵停止系統(tǒng)的運(yùn)行。其運(yùn)行方式 也可以選擇工具欄中的相應(yīng)工具進(jìn)行。對(duì)于軟件的分步調(diào)試,應(yīng)先執(zhí)行 debug 菜單下 的 start/restart debugging 菜單項(xiàng)命令, 此時(shí)可以選擇 stepover 、step into 和 step out命令執(zhí)行程序(可以用快捷鍵F10、F11和ctrl+F11),執(zhí)行的效果是單句執(zhí)行、進(jìn) 入子程序執(zhí)行和跳出子程序執(zhí)行。
40、在執(zhí)行了 start / restart debuging命令后,在debug 菜單的下面要出現(xiàn)仿真中所涉及到的軟件列表和單片機(jī)的系統(tǒng)資源等,可供調(diào) 試時(shí)分析和查看。運(yùn)行 proteus 的 ISIS 程序后, 進(jìn)入該仿真軟件的主界面。 在工作前, 要設(shè)置 view 菜單下的捕捉對(duì)齊和system下的顏色、圖形界面大小等項(xiàng)目。通過(guò)工具欄中的p(從庫(kù)中選擇元件命令 )命令,在 pick devices 窗口中選擇電路所需的元件,放置元件并 調(diào)整其相對(duì)位置,元件參數(shù)設(shè)置,元器件間連線,編寫(xiě)程序;在source 菜單的Definecode generation tools 菜單命令下,選擇程序編譯的
41、工具、路徑、擴(kuò)展名等 項(xiàng)目;在 source 菜單的 Add/removesource files 命令下,加入單片機(jī)硬件電路的對(duì) 應(yīng)程序;通過(guò) debug 菜單的相應(yīng)命令仿真程序和電路的運(yùn)行情況。單片機(jī)調(diào)試仿真本設(shè)計(jì)我采用 proteus 的系統(tǒng)總體執(zhí)行效果調(diào)試方法進(jìn)行調(diào)試。 這里單片機(jī)時(shí)鐘工 作在11.0592MHZ如下圖5-1所示為仿真效果圖。WXTAlKTJOFD.VJVI FD3.iZHl 時(shí).iff*EF斯 ruam聞FZCM FZU# Bzjzxin吒LW2JTA1IALE臨HMZ砂FWF1 1ra vr:aF1Zrj JTTEJ2沖REFl.lT2 *T3M5PJ&TlF1KTP1.Trjf
溫馨提示
- 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年中國(guó)土壤修復(fù)行業(yè)十三五規(guī)劃及發(fā)展前景展望報(bào)告
- 2024全新服務(wù)員工作時(shí)長(zhǎng)與休息休假合同范本下載3篇
- 2024年版高級(jí)管理人員勞動(dòng)合同書(shū)
- 2024年環(huán)保責(zé)任:無(wú)鹵物料環(huán)保承諾協(xié)議書(shū)3篇
- 眉山藥科職業(yè)學(xué)院《python與數(shù)據(jù)處理基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 馬鞍山職業(yè)技術(shù)學(xué)院《數(shù)字音視頻制作》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年度異地離婚手續(xù)下載及婚姻法律咨詢(xún)與服務(wù)合同3篇
- 2024年版水電安裝工程承包合同版B版
- 2024年智慧醫(yī)療信息化軟件委托開(kāi)發(fā)合同范本2篇
- 2025年南通貨運(yùn)從業(yè)資格證網(wǎng)上考試答案
- 波形護(hù)欄安裝施工合同
- 七年級(jí)上冊(cè)歷史-七上歷史 期中復(fù)習(xí)【課件】
- 瑜伽合同范本
- 魔術(shù)表演娛樂(lè)行業(yè)研究報(bào)告
- 2024風(fēng)電光伏組合箱變技術(shù)規(guī)范
- JT∕T 795-2023 事故汽車(chē)修復(fù)技術(shù)規(guī)范
- 幼兒園健康領(lǐng)域《臉上的表情》課件
- 二年級(jí)乘除法口算題計(jì)算練習(xí)大全2000題(可直接打印)
- 格蘭氣吸精量播種機(jī)
- 2024年馬原試題及完整答案(歷年真題)
- 天津在津居住情況承諾書(shū)
評(píng)論
0/150
提交評(píng)論