數(shù)字氣壓計(jì)(共25頁(yè))_第1頁(yè)
數(shù)字氣壓計(jì)(共25頁(yè))_第2頁(yè)
數(shù)字氣壓計(jì)(共25頁(yè))_第3頁(yè)
數(shù)字氣壓計(jì)(共25頁(yè))_第4頁(yè)
數(shù)字氣壓計(jì)(共25頁(yè))_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、智能儀表綜合課程設(shè)計(jì)摘 要隨著時(shí)代的進(jìn)步和發(fā)展,智能儀表已經(jīng)普及到我們生活、工作、科研、各個(gè)領(lǐng)域,已經(jīng)成為一種比較成熟的技術(shù), 本文主要介紹了一個(gè)基于89C51單片機(jī)的測(cè)溫系統(tǒng),詳細(xì)描述了利用數(shù)字溫度傳感器DS18B20開(kāi)發(fā)測(cè)溫系統(tǒng)的過(guò)程,重點(diǎn)對(duì)傳感器在單片機(jī)下的硬件連接,軟件編程以及各模塊系統(tǒng)流程進(jìn)行了詳盡分析,對(duì)各部分的電路也一一進(jìn)行了介紹,該系統(tǒng)可以方便的實(shí)現(xiàn)實(shí)現(xiàn)溫度采集和顯示,并可根據(jù)需要任意設(shè)定上下限報(bào)警溫度,它使用起來(lái)相當(dāng)方便,具有精度高、量程寬、靈敏度高、體積小、功耗低等優(yōu)點(diǎn),適合于我們?nèi)粘I詈凸ぁ⑥r(nóng)業(yè)生產(chǎn)中的溫度測(cè)量,也可以當(dāng)作溫度處理模塊嵌入其它系統(tǒng)中,作為其他主系統(tǒng)的輔助

2、擴(kuò)展。DS18B20與AT89C51結(jié)合實(shí)現(xiàn)最簡(jiǎn)溫度檢測(cè)系統(tǒng),該系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,抗干擾能力強(qiáng),適合于惡劣環(huán)境下進(jìn)行現(xiàn)場(chǎng)溫度測(cè)量,有廣泛的應(yīng)用前景。關(guān)鍵字:數(shù)字氣壓計(jì);89C51單片機(jī);DS18B20溫度傳感器目錄摘 要I1 緒論11.1數(shù)字氣壓計(jì)的簡(jiǎn)介11.2數(shù)字氣壓計(jì)的背景和意義12 系統(tǒng)的總體設(shè)計(jì)22.1 設(shè)計(jì)思路分析22.2 系統(tǒng)的總體結(jié)構(gòu)23 硬件電路設(shè)計(jì)33.1數(shù)據(jù)采集模塊的芯片選擇33.2 A/D轉(zhuǎn)換模塊33.3 單片機(jī)控制模塊53.4顯示模塊73.5系統(tǒng)總體原理電路圖84軟件設(shè)計(jì)104.1 用C語(yǔ)言開(kāi)發(fā)單片機(jī)的優(yōu)勢(shì)104.2系統(tǒng)總流程圖11系統(tǒng)總流程圖如下圖所示:114.4 顯示流

3、程圖 124.5 程序流程圖125系統(tǒng)調(diào)試與仿真135.1 Keil軟件介紹135.2 PROTEUS軟件介紹135.3 單片機(jī)調(diào)試仿真14總結(jié)16參考文獻(xiàn)17附錄1 數(shù)字氣壓計(jì)源程序18231 緒論1.1數(shù)字氣壓計(jì)的簡(jiǎn)介數(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)。1.2數(shù)字氣壓計(jì)的背景和意義數(shù)字

4、氣壓計(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的高空,高度每增加100m,氣壓便會(huì)降低7hPa;而當(dāng)高度進(jìn)一步增加時(shí),即到910km的高空之后,高度每增加100m,氣壓便會(huì)降低5hPa;同樣,若

5、空氣中有下降氣流時(shí),氣壓會(huì)增加;若空氣中有上升氣流時(shí),作用于空氣柱底部的氣壓就會(huì)減小。一般把作用于單位面積上空氣柱的重量稱為大氣壓力。數(shù)字氣壓計(jì)大量應(yīng)用在各種工礦企業(yè),野外作業(yè),消費(fèi)類電子產(chǎn)品等等的地方。需求極為廣泛。本課題是要設(shè)計(jì)一個(gè)利用微控制和數(shù)字化氣壓傳感器為核心元件組成的電子氣壓計(jì)系統(tǒng)。微控制和數(shù)字化氣壓傳感器的結(jié)合可以使得氣壓計(jì)的設(shè)計(jì)更具靈活性,測(cè)量精度相對(duì)于液體氣壓計(jì)也有了顯著提高。測(cè)量結(jié)果的顯示也更直觀,并可靈活的加入超壓、低壓報(bào)警等特殊功能,以滿足某些特定需要。 2 系統(tǒng)的總體設(shè)計(jì) 2.1 設(shè)計(jì)思路分析基于MPX4115的數(shù)字氣壓計(jì)包括軟硬件的設(shè)計(jì)與調(diào)試。軟件部分通過(guò)對(duì)C語(yǔ)言的

6、學(xué)習(xí)和對(duì)單片機(jī)知識(shí)的了解,根據(jù)系統(tǒng)的特點(diǎn)編寫(xiě)出單片機(jī)程序。硬件部分分為四大塊,包括非電信號(hào)數(shù)據(jù)的采集、轉(zhuǎn)換、處理以及顯示:。通過(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所示。 圖 21原理框圖3 硬件電路設(shè)計(jì)3.1數(shù)據(jù)采集模塊的芯片選擇壓力傳感器對(duì)于系統(tǒng)至關(guān)重要,需要綜合實(shí)際的需求和各類壓力傳感器的性能參數(shù)加以選擇。一般要選用有

7、溫度補(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系列壓電電阻傳感器是一個(gè)硅壓力傳感器。這個(gè)傳感器結(jié)合了高級(jí)的微電機(jī)技術(shù),薄膜鍍金屬。還能為高水準(zhǔn)模擬輸出信號(hào)提供一個(gè)均衡壓力。在0-85的溫度下誤差不超過(guò)1.5%,溫度補(bǔ)償是-40-125。數(shù)據(jù)采集模塊由壓力傳感器MPX4115構(gòu)成。其中1腳是輸出信號(hào)端,輸出的是與氣壓值相

8、對(duì)應(yīng)的模擬電壓信號(hào)。MPX4115的實(shí)物圖如圖2-2所示。 圖3-1 數(shù)字氣壓計(jì)實(shí)物圖3.2 A/D轉(zhuǎn)換模塊ADC0832是美國(guó)國(guó)家半導(dǎo)體公司生產(chǎn)的一種8位分辨率、雙通道A/D轉(zhuǎn)換芯片。由于它體積小,兼容性強(qiáng),性價(jià)比高而深受單片機(jī)愛(ài)好者及企業(yè)歡迎,其目前已經(jīng)有很高的普及率。學(xué)習(xí)并使用ADC0832可是使我們了解A/D轉(zhuǎn)換器的原理,有助于我們單片機(jī)技術(shù)水平的提高。ADC0832具有以下特點(diǎn): 8位分辨率; 雙通道A/D轉(zhuǎn)換; 輸入輸出電平與TTL/CMOS相兼容; 5V電源供電時(shí)輸入電壓在05V之間; 工作頻率為250KHZ,轉(zhuǎn)換時(shí)間為32S; 一般功耗僅為15mW; 8P、14PDIP(雙列直

9、插)、PICC多種封裝; 商用級(jí)芯片溫寬為0°C to +70°C?,工業(yè)級(jí)芯片溫寬為40 to +85 ADC0832 為8位分辨率A/D轉(zhuǎn)換芯片,其最高分辨可達(dá)256級(jí),可以適應(yīng)一般的模擬量轉(zhuǎn)換要求。其內(nèi)部電源輸入與參考電壓的復(fù)用,使得芯片的模擬電壓輸入在05V之間。芯片轉(zhuǎn)換時(shí)間僅為32S,據(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端與D

10、I端在通信時(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í)芯片開(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ù)用于選擇通道功能。 當(dāng)此2 位數(shù)據(jù)為“1”、“0”時(shí),只對(duì)CH0 進(jìn)行單通道轉(zhuǎn)換。當(dāng)

11、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”、“1”時(shí),將CH0作為負(fù)輸入端IN-,CH1 作為正輸入端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ù)最高位DATA7,隨后每一個(gè)脈沖下沉DO端輸出下一位數(shù)據(jù)。直到第11個(gè)脈沖時(shí)發(fā)出最低位數(shù)據(jù)DATA0,一個(gè)字節(jié)的數(shù)據(jù)輸出完成。也正是從此位開(kāi)始輸出下一個(gè)相反字節(jié)的數(shù)據(jù),即從第11個(gè)字節(jié)的下沉輸出DATA

12、0。隨后輸出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í)物圖。 圖3-2 ADC0832實(shí)物圖3.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)域中。如圖3-3為AT8

13、9C51單片機(jī)實(shí)物圖。 圖3-3AT89C51單片機(jī)實(shí)物圖管腳介紹: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)部的上拉電阻。P1口:P1口一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)4個(gè)TTL電路。對(duì)端口寫(xiě)“1”,通過(guò)內(nèi)部的電阻把端口拉到高電平,此時(shí)可作為輸入口。因?yàn)閮?nèi)部有電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)輸出一個(gè)電流。P2口:P2口是一

14、個(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è)電流。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口外,更重要的用途是它的第二功能,如下表所示:表3.1 P3口第二功能端口引腳第二功能P3.0RXDP3.1TXDP3.2INT0P3.3INT1P3.4T0P3.5T1P3.6WRP

15、3.7RDRST:復(fù)位輸入。當(dāng)震蕩器工作時(shí),RET引腳出現(xiàn)兩個(gè)機(jī)器周期以上的高電平將使單片機(jī)復(fù)位。ALE/:當(dāng)訪問(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單元的D0位置禁止ALE操作。這個(gè)位置后只有一條MOVX和MOVC指令A(yù)LE才會(huì)被應(yīng)用。此外,這個(gè)引腳會(huì)微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE無(wú)效。:程序儲(chǔ)存允

16、許輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89C51由外部程序存儲(chǔ)器讀取指令時(shí),每個(gè)機(jī)器周期兩次 有效,即輸出兩個(gè)脈沖。在此期間,當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的 信號(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:震蕩器反相放大器的輸出端。3.4顯示模塊 本

17、設(shè)計(jì)采用四位一體共陰二極管顯示器74SE-MPX4-CC顯示,1234為共陰端,其實(shí)物圖如圖3-4所示。圖3-4 74SE-MPX4-CC實(shí)物圖本設(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ù)碼

18、管會(huì)閃爍),P21送高電平; (5)顯示千位把要顯示的數(shù)據(jù)送到P10P17,P20送低電平,延時(shí)5豪秒(時(shí)間不能太長(zhǎng),否則數(shù)碼管會(huì)閃爍),P20送高電平。 (6)以此順序循環(huán),把它做成子程序,在主循環(huán)中調(diào)用。 3.5系統(tǒng)總體原理電路圖系統(tǒng)的總體電路原理電路由四大部分組成,即氣壓傳感器電路,A/D轉(zhuǎn)換電路,單片機(jī)處理電路和顯示電路,如下圖所示是系統(tǒng)總體原理圖:圖3-5 系統(tǒng)總體原理圖4軟件設(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ǔ)言

19、來(lái)編寫(xiě)目標(biāo)系統(tǒng)軟件,可以大大縮短開(kāi)發(fā)周期,且明顯地增加軟件的可讀性,便于改進(jìn)和擴(kuò)充,從而開(kāi)發(fā)出大規(guī)模、高性能的應(yīng)用系統(tǒng)。其優(yōu)勢(shì)如下:(1)可以大幅度加快開(kāi)發(fā)進(jìn)度,程序量越大,用C語(yǔ)言就越有優(yōu)勢(shì)。(2)無(wú)需精通單片機(jī)指令集和具體的硬件,也能夠編出符合硬件實(shí)際專業(yè)水平的程序。(3)可以實(shí)現(xiàn)軟件的結(jié)構(gòu)化編程,使得軟件的邏輯結(jié)構(gòu)變得清晰、有條理、便于開(kāi)發(fā)小組計(jì)劃任務(wù)、分工合作。源程序的可讀性和可維護(hù)性都很好。(4)省去了人工分配單片機(jī)資源的工作,在匯編語(yǔ)言中要為每一個(gè)子程序分配單片機(jī)的資源。在使用C語(yǔ)言后,只要在代碼中申明一下變量的類型,編譯器就會(huì)自動(dòng)分配相關(guān)資源,根本不需要人工干預(yù),從而有效地避免了

20、人工分配單片機(jī)資源的差錯(cuò)。(5)匯編語(yǔ)言的可移植性很差,而C語(yǔ)言只要將一些與硬件相關(guān)的代碼作適當(dāng)?shù)男薷?,就可以方便地移植到其它種類的單片機(jī)上。(6)C語(yǔ)言提供auto、static、flash等存儲(chǔ)類型,針對(duì)單片機(jī)的程序存儲(chǔ)空間、數(shù)據(jù)存儲(chǔ)空間及EEPROM空間自動(dòng)為變量合理地分配空間,而且C語(yǔ)言提供復(fù)雜的數(shù)據(jù)類型,極大地增強(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ì),這

21、次設(shè)計(jì)的所有程序設(shè)計(jì)都將采用C語(yǔ)言編寫(xiě)。4.2系統(tǒng)總流程圖制作系統(tǒng)流程圖的過(guò)程是操作員對(duì)系統(tǒng)的總體流程的全面了解的情況下對(duì)系統(tǒng)所作出的整個(gè)概況,系統(tǒng)總流程圖如下圖所示: 圖4-1 系統(tǒng)總流程圖 4.3 A/D轉(zhuǎn)換流程圖 模數(shù)轉(zhuǎn)換器可分為數(shù)字和模擬兩部分,模擬部分是一個(gè)調(diào)制器,以遠(yuǎn)大于奈奎斯特頻率的采樣率對(duì)模擬信號(hào)進(jìn)行采樣和量化輸出以為的數(shù)字位流;數(shù)字部分是一個(gè)數(shù)字濾波器,實(shí)現(xiàn)低通濾波和減取樣的功能,作用是濾除大部分經(jīng)過(guò)調(diào)制器整形后的量化噪聲,并對(duì)以為的數(shù)據(jù)流進(jìn)行減取樣,得到最終的量化結(jié)果。A/D轉(zhuǎn)換流程圖如下圖所示:圖4-2 A/D轉(zhuǎn)換程序流程圖4.4 顯示流程圖 LED圖文顯示屏軟件系統(tǒng)的功

22、能是實(shí)現(xiàn)需要聯(lián)機(jī)動(dòng)態(tài)顯示和更新部分或全部LED圖文顯示屏系統(tǒng)顯示內(nèi)容,動(dòng)態(tài)顯示只是對(duì)文字而言的,在應(yīng)用軟件的支持下,錄入的文字實(shí)時(shí)由計(jì)算機(jī)下載給主控制器,并進(jìn)行實(shí)時(shí)顯示。如下圖所示是顯示流程圖:圖4-3 顯示流程圖4.5 程序流程圖程序流程圖是程序分析的中最基本、最重要的分析技術(shù),它是進(jìn)行程序流程分析過(guò)程中最基本的工具。程序流程圖如下圖所示: 圖 4-4 程序流程圖5系統(tǒng)調(diào)試與仿真5.1 Keil軟件介紹 Keil C51是美國(guó)Keil Software公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng)。與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。Keil C

23、51軟件提供豐富的庫(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文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,以供調(diào)試器dScope51或tScope51使用進(jìn)行源代碼級(jí)調(diào)試,也可由仿真器使用直接對(duì)目標(biāo)板進(jìn)行調(diào)試,也可以直接寫(xiě)入程序存儲(chǔ)器中。 Keil u Vision2 ADE是Keil software公司的

24、產(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文件。5.2 PROTEUS軟件介紹 Proteus與其它單片機(jī)仿真軟件不同的是,它不僅能仿真單片機(jī)CPU 的工作情況

25、,也能仿真單片機(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菜單下的execute菜單項(xiàng)或F12 快捷鍵

26、啟動(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í)行。在執(zhí)行了start / restart debuging命令后,在deb

27、ug菜單的下面要出現(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菜單命令下,選擇程序編譯的工具、路徑、擴(kuò)展名等項(xiàng)目;在source菜單的Add/removesource files命令下,加入單片機(jī)

28、硬件電路的對(duì)應(yīng)程序;通過(guò)debug菜單的相應(yīng)命令仿真程序和電路的運(yùn)行情況。5.3 單片機(jī)調(diào)試仿真 本設(shè)計(jì)我采用proteus的系統(tǒng)總體執(zhí)行效果調(diào)試方法進(jìn)行調(diào)試。這里單片機(jī)時(shí)鐘工作在11.0592MHZ。如下圖5-1所示為仿真效果圖:圖5-1 仿真效果圖總結(jié)通過(guò)這次實(shí)驗(yàn),我學(xué)會(huì)了熟練運(yùn)用protues,keil,protel等軟件,在做本次課程設(shè)計(jì)的過(guò)程中,我用了很長(zhǎng)的時(shí)間才得以顯示出相應(yīng)數(shù)字與字符,我用的顯示器和書(shū)上的不一樣,連圖的不一樣,結(jié)果顯示出來(lái)的數(shù)字和字符不是想要得到的那些,可是跟書(shū)上一樣的時(shí)候沒(méi)有任何反應(yīng),連的跟書(shū)上不一樣的時(shí)候反而顯示出大概的數(shù)字和字符了,我可以說(shuō)試了無(wú)數(shù)次,我一次

29、次改變掃描代碼的每一位想從中的出到底是哪位數(shù)控制了顯示字符中間的那一橫,最后還是沒(méi)有結(jié)果,還請(qǐng)教了同學(xué),他們建議我在AT89C51左邊接上相應(yīng)的時(shí)鐘信號(hào)電路圖,可是這個(gè)電路依然跟我太較真,對(duì)我的努力無(wú)動(dòng)于衷,我依然沒(méi)有放棄,到第二天上課的時(shí)候想讓老師給我指導(dǎo)一下,老師聽(tīng)了我敘述的問(wèn)題后,讓我試試顯示器的其他引腳,回來(lái)試的時(shí)候真有一種豁然開(kāi)朗的感覺(jué),我找到了那個(gè)橫線的控制口,沒(méi)到十分鐘就改成功了,也許很多的時(shí)候咱們就需要那么指點(diǎn)一下,省很多時(shí)間。謝謝老師,也許這次只會(huì)了這一種類型,但是我對(duì)它印象深刻,同時(shí)也深深體會(huì)到keilc這門(mén)課的目的和應(yīng)用。我覺(jué)得我的收獲是很大了。也可以說(shuō)是受益終身。雖然說(shuō)

30、沒(méi)有閱讀大量書(shū)籍與資料,但是對(duì)它的反復(fù)修改和調(diào)試也是對(duì)那些資料的應(yīng)用呀,這次的課設(shè)也算是受益匪淺了。參考文獻(xiàn)1 趙繼文. 傳感器與應(yīng)用電路設(shè)計(jì) 科學(xué)出版社,20062 胡漢才.單片機(jī)原理及其接口技術(shù)M 北京:清華大學(xué)出版社3 戴佳. 51單片機(jī)C語(yǔ)言應(yīng)用程序設(shè)計(jì)實(shí)例精講 電子工業(yè)出版社,20064 馬忠梅. 單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì) 北京航空航天大學(xué)出版社,20065 嚴(yán)天峰. 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)與仿真調(diào)試 北京航空航天大學(xué)出版社,2001附錄1 數(shù)字氣壓計(jì)源程序#include <reg51.H> #include "intrins.h"#define ui

31、nt unsigned int#define uchar unsigned charsbit ADCS =P20; /ADC0832 chip seclectsbit ADDI =P37; /ADC0832 k insbit ADDO =P37; /ADC0832 k outsbit ADCLK =P36; /ADC0832 clock signal080307208unsigned chardispbitcode8=0xf7,0xfb,0xfd,0xfe,0xef,0xdf,0xbf,0x7 f; unsigned chardispcode11=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff; 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;k<4;k+) P1 = dispbitcodek; P0 = dispcodedispbufk; if(k=1) P0&=

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論