版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 基于單片機(jī)的數(shù)字式大氣壓計的設(shè)計</p><p> [摘要]數(shù)字式大氣壓計是利用壓敏元件將待測氣壓,直接變換為容易檢測、傳輸?shù)碾娏骰螂妷盒盘?,然后再?jīng)過后續(xù)電路處理并進(jìn)行實(shí)時顯示的一種設(shè)備。本設(shè)計介紹了一種基于氣壓傳感器MPX4115的精密數(shù)字大氣壓計系統(tǒng)的實(shí)時顯示設(shè)備。該設(shè)計主要通過氣壓傳感器MPX4115獲得與大氣壓相對應(yīng)的模擬電壓值,并經(jīng)過電壓/頻率(V/F)轉(zhuǎn)換模塊轉(zhuǎn)換為數(shù)字脈沖,
2、通過單片機(jī)接收該脈沖信號,得到單位時間內(nèi)獲得的脈沖數(shù),依據(jù)電壓與頻率的線性關(guān)系式計算出所對應(yīng)的實(shí)際氣壓值,最后在單片機(jī)的控制下由液晶顯示電路顯示出實(shí)際氣壓值。</p><p> [關(guān)鍵詞]單片機(jī);氣壓傳感器;V/F轉(zhuǎn)換器;液晶顯示</p><p> Based on single-chip digital pressure gauge design</p><p&g
3、t; Abstract: Digital barometer is the use of a pressure sensitive element to be tested directly converted to pressure, easy detection, transmission of the current or voltage signal, and then after a follow-up circuit pr
4、ocessing and real-time display of a device. This design introduced one kind based on the pressure sensor MPX4115 precision digital pressure gauge system real time display device. This design mainly through the pressure s
5、ensor MPX4115obtained with atmospheric pressure corresponding to</p><p> Key words: Single chip microcomputer, Pressure sensor, V/F converter, Liquid crystal display</p><p> 基于單片機(jī)的數(shù)字式大氣壓計的設(shè)計&l
6、t;/p><p><b> 1緒論1</b></p><p> 1.1課題原理和背景1</p><p> 1.2技術(shù)概況及發(fā)展趨勢1</p><p> 1.2.1 傳感器的技術(shù)性能1</p><p> 1.2.2 傳感器的發(fā)展趨勢2</p><p>
7、 1.3數(shù)字式大氣壓計系統(tǒng)設(shè)計意義2</p><p> 2系統(tǒng)總體設(shè)計2</p><p> 2.1整體設(shè)計思想2</p><p> 2.2系統(tǒng)總體框圖3</p><p> 2.3系統(tǒng)各功能模塊的設(shè)計思想3</p><p> 3硬件電路設(shè)計4</p><p>
8、3.1數(shù)據(jù)采集模塊4</p><p> 3.1.1 數(shù)據(jù)采集模塊的芯片選擇4</p><p> 3.1.2 數(shù)據(jù)采集模塊的原理圖4</p><p> 3.1.3 氣壓傳感器MPX4115的原理5</p><p> 3.2數(shù)據(jù)轉(zhuǎn)換模塊6</p><p> 3.2.1 數(shù)據(jù)轉(zhuǎn)換芯片選擇6</
9、p><p> 3.2.2 數(shù)據(jù)轉(zhuǎn)換電路部分電路原理圖6</p><p> 3.2.3 LM331的結(jié)構(gòu)7</p><p> 3.3數(shù)據(jù)處理模塊8</p><p> 3.3.1 數(shù)據(jù)處理模塊的芯片選擇8</p><p> 3.3.2 數(shù)據(jù)處理模塊電路的原理圖8</p><p>
10、 3.3.3 STC89C52引腳及功能9</p><p> 3.3.4 單片機(jī)中斷技術(shù)10</p><p> 3.3.5單片機(jī)的定時/計數(shù)器11</p><p> 3.4數(shù)據(jù)顯示模塊12</p><p> 3.4.1 顯示模塊的芯片選擇12</p><p> 3.4.2 LCD1602介紹
11、13</p><p> 3.5電源電路模塊14</p><p> 3.5.1 電源模塊的芯片選擇14</p><p> 3.5.2 芯片78L05原理14</p><p> 3.6總體電路及電路原理圖15</p><p> 3.6.1 氣壓傳感器電路和V/F轉(zhuǎn)換電路的原理15</p&g
12、t;<p> 3.6.2單片機(jī)及顯示電路的原理16</p><p> 3.6.3 總體電路原理圖17</p><p><b> 4軟件設(shè)計17</b></p><p> 4.1用C語言開發(fā)單片機(jī)的優(yōu)勢17</p><p> 4.2如何由頻率計算出氣壓值18</p>&
13、lt;p> 4.3程序流程圖18</p><p> 5仿真與調(diào)試19</p><p> 5.1Keil軟件介紹19</p><p> 5.2Protues軟件介紹20</p><p> 5.3Proteus & Keil調(diào)試仿真20</p><p> 5.3.1 調(diào)試的步驟
14、及方法20</p><p> 5.3.2 程序仿真21</p><p> 5.3.3 總電路仿真21</p><p> 6設(shè)計總結(jié)及體會22</p><p><b> 參考文獻(xiàn)23</b></p><p> 附錄A 程序代碼24</p><p>
15、 附錄B 硬件實(shí)物圖29</p><p><b> 緒論</b></p><p><b> 課題原理和背景</b></p><p> 數(shù)字式大氣壓計:是利用壓敏元件將待測氣壓直接變換為容易檢測、傳輸?shù)碾娏骰螂妷盒盘?,然后再?jīng)過后續(xù)電路處理并進(jìn)行實(shí)時顯示的一種設(shè)備。它是一種測量大氣壓的裝置,一般把作用于單位面積
16、上空氣柱的重量稱為大氣壓力,簡稱氣壓。氣象學(xué)研究表明,在空間垂直方向上氣壓隨高度增加而降低,這種變化的幅度在近表面和高空時又有所不同,近地表時氣壓隨高度增加而降低的幅度最大,越到高空這種變化越緩慢。氣壓還會受空氣中的氣流影響,若空氣中有下降氣流,氣壓會增加;若空氣中有上升氣流,氣壓會減小。</p><p> 隨著科技的發(fā)展,氣壓測量技術(shù)不僅在科研、工業(yè)等領(lǐng)域發(fā)揮重要作用,也廣泛的運(yùn)用到了民用領(lǐng)域。特別是微電子制
17、造技術(shù)的進(jìn)步,更促使氣壓計趨向于向數(shù)字化、小型化、無線化發(fā)展。數(shù)字化和無線化氣壓計的出現(xiàn)使得各個領(lǐng)域?qū)鈮旱臏y量更為便捷和直觀。</p><p> 本文介紹基于氣壓傳感器MPX4115的精密數(shù)字式大氣壓計系統(tǒng)的軟、硬件實(shí)現(xiàn)方法。通過氣壓傳感器MPX4115獲得與待測氣壓相對的模擬電壓值,并經(jīng)過電壓/頻率(V/F)轉(zhuǎn)換模塊轉(zhuǎn)換為數(shù)字脈沖,通過單片機(jī)接收該脈沖信號,得到單位時間內(nèi)獲得的脈沖數(shù),依據(jù)電壓與頻率的線性關(guān)
18、系式計算出所對應(yīng)的實(shí)際氣壓值,最后在單片機(jī)的控制下由液晶顯示電路顯示出實(shí)際氣壓值。以C語言為開發(fā)工具,進(jìn)行了設(shè)計和編碼。總體目標(biāo)是實(shí)現(xiàn)系統(tǒng)的可靠性、穩(wěn)定性、安全性和經(jīng)濟(jì)性。</p><p><b> 技術(shù)概況及發(fā)展趨勢</b></p><p> 基于傳感器在本設(shè)計中的重要作用,下面詳細(xì)地介紹一下傳感器目前的技術(shù)性能以及發(fā)展趨勢。</p><p&
19、gt; 1.2.1 傳感器的技術(shù)性能</p><p> 差動技術(shù):差動技術(shù)是傳感器中普遍采用的技術(shù)。它的應(yīng)用可顯著地減小溫度變化、電源波動、外界干擾等對傳感器精度的影響,抵消了共模誤差,減小非線性誤差等。不少傳感器由于采用了差動技術(shù),還可使靈敏度增大。 </p><p> 平均技術(shù):在傳感器中普遍采用平均技術(shù)可產(chǎn)生平均效應(yīng),其原理是利用若干個傳感單元同時感
20、受被測量,其輸出則是這些單元輸出的平均值,若將每個單元可能帶來的誤差均可看作隨機(jī)誤差且服從正態(tài)分布,根據(jù)誤差理論,總的誤差將減小。可見,在傳感器中利用平均技術(shù)不僅可使傳感器誤差減小,且可增大信號量,即增大傳感器靈敏度。</p><p> 補(bǔ)償與修正技術(shù):補(bǔ)償與修正技術(shù)在傳感器中得到了廣泛的應(yīng)用。這種技術(shù)的運(yùn)用大致是針對下列兩種情況。一種是針對傳感器本身特性的,另一種是針對傳感器的工作條件或外界環(huán)境的。對于傳感器
21、特性,可以找出誤差的變化規(guī)律,或者測出其大小和方向,采用適當(dāng)?shù)姆椒右匝a(bǔ)償或修正。針對傳感器工作條件或外界環(huán)境進(jìn)行誤差補(bǔ)償,也是提高傳感器精度的有力技術(shù)措施。不少傳感器對溫度敏感,由于溫度變化引起的誤差十分可觀。為了解決這個問題,必要時可以控制溫度,搞恒溫裝置,但往往費(fèi)用太高,或使用現(xiàn)場不允許。而在傳感器內(nèi)引入溫度誤差補(bǔ)償又常常是可行的。這時應(yīng)找出溫度對測量值影響的規(guī)律,然后引入溫度補(bǔ)償措施。</p><p>
22、 造成傳感器性能不穩(wěn)定的原因有:隨著時間的推移和環(huán)境條件的變化,構(gòu)成傳感器的各種材料與元器件性能將發(fā)生變化。</p><p> 為了提高傳感器性能的穩(wěn)定性,應(yīng)該對材料、元器件或傳感器整體進(jìn)行必要的穩(wěn)定性處理。如結(jié)構(gòu)材料的時效處理、冰冷處理、永磁材料的時間老化、溫度老化、機(jī)械老化及交流穩(wěn)磁處理,電氣元件的老化篩選等。</p><p> 1.2.2 傳感器的發(fā)展趨勢</p>
23、<p> 傳感器的發(fā)展就如同其他產(chǎn)品的發(fā)展一樣,不僅取決于專業(yè)的技術(shù)水平、材料的使用,還取決于工藝等很多方面。</p><p> 傳感器集成化包括兩種定義,一是同一功能的多元件并列化,即將同一類型的單個傳感元件用集成工藝在同一平面上排列起來,排成1維的為線性傳感器,CCD圖象傳感器就屬于這種情況。集成化的另一個定義是多功能一體化,即將傳感器與放大、運(yùn)算以及溫度補(bǔ)償?shù)拳h(huán)節(jié)一體化,組裝成一個器件。<
24、;/p><p> 目前,各類集成化傳感器已有許多系列產(chǎn)品,有些已得到廣泛應(yīng)用。集成化已經(jīng)成為傳感器技術(shù)發(fā)展的一個重要方向。隨著集成化技術(shù)的發(fā)展,各類混合集成和單片集成式壓力傳感器相繼出現(xiàn),有的已經(jīng)成為商品。集成化壓力傳感器有壓阻式、電容式、等類型,其中壓阻式集成化傳感器發(fā)展快、應(yīng)用廣。自從壓阻效應(yīng)發(fā)現(xiàn)后,有人把4個力敏電阻構(gòu)成的全橋做在硅膜上,就成為一個集成化壓力傳感器。國內(nèi)在80年代就研制出了把壓敏電阻、電橋、電
25、壓放大器和溫度補(bǔ)償電路集成在一起的單塊壓力傳感器,其性能與國外同類產(chǎn)品相當(dāng)。由于采用了集成工藝,將壓敏部分和集成電路分為幾個芯片,然后混合集成為一體。提高了輸出性能及可靠性,有較強(qiáng)的抗干擾能力,完全消除了二次儀表帶來的誤差。</p><p> 傳感器的多功能化也是其發(fā)展方向之一。為同時測量幾種不同被測參數(shù),可將幾種不同的傳感器元件復(fù)合在一起,作成集成塊。例如一種溫、氣、濕三功能陶瓷傳感器已經(jīng)研制成功。把多個功能
26、不同的傳感元件集成在一起,除可同時進(jìn)行多種參數(shù)的測量外,還可對這些參數(shù)的測量結(jié)果進(jìn)行綜合處理和評價,可反映出被測系統(tǒng)的整體狀態(tài)。由上還可以看出,集成化對固態(tài)傳感器帶來了許多新的機(jī)會,同時它也是多功能化的基礎(chǔ)。</p><p> 傳感器與微處理機(jī)相結(jié)合,使之不僅具有檢測功能,還具有信息處理、邏輯判斷、自診斷、以及“思維”等人工智能,就稱之為傳感器的智能化。借助于半導(dǎo)體集成化技術(shù)把傳感器部分與信號預(yù)處理電路、輸入輸
27、出接口、微處理器等制作在同一塊芯片上,即成為大規(guī)模集成智能傳感器??梢哉f智能傳感器是傳感器技術(shù)與大規(guī)模集成電路技術(shù)相結(jié)合的產(chǎn)物,它的實(shí)現(xiàn)將取決于傳感技術(shù)與半導(dǎo)體集成化工藝水平的提高與發(fā)展。這類傳感器具有多能、高性能、體積小、適宜大批量生產(chǎn)和使用方便等優(yōu)點(diǎn),可以肯定地說,是傳感器重要的方向之一。</p><p> 數(shù)字式大氣壓計系統(tǒng)設(shè)計意義</p><p> 隨著我國經(jīng)濟(jì)的不斷成長,國家
28、越來越重視電子測量相關(guān)領(lǐng)域的發(fā)展,先進(jìn)的測量儀器成為現(xiàn)代化產(chǎn)品開發(fā)的必備條件,也是電子行業(yè)發(fā)展的重中之重,而氣壓計被廣泛應(yīng)用于科研和工業(yè)等領(lǐng)域以及我們?nèi)粘<彝ド钪?。傳統(tǒng)的氣壓計(空盒式、彎管式等)精度低、實(shí)時顯示時穩(wěn)定性較差,而采用單片機(jī)控制的數(shù)字氣壓計,使用方便、顯示簡單、精度高、抗干擾能力強(qiáng)、擴(kuò)展性方面可靈活的加入超壓、低壓報警、無線傳輸?shù)忍厥夤δ?,而且可以大幅提高被控氣壓的技術(shù)指標(biāo)。因此,對高精度便攜式數(shù)字大氣壓計的研究有著非常
29、重要的意義。</p><p><b> 系統(tǒng)總體設(shè)計</b></p><p><b> 整體設(shè)計思想</b></p><p> 在系統(tǒng)構(gòu)建過程中, 需要考慮穩(wěn)定性、復(fù)雜程度、造價和調(diào)試的難易程度等因素。圖2.1 所示框圖中的每一部分就是一個單元電路, 可完成各自的功能。模塊之間沒有復(fù)雜的信號傳輸,且干擾很少,因而系統(tǒng)
30、整體比較穩(wěn)定。本設(shè)計是基于MPX4115的數(shù)字大氣壓計,包括軟、硬件的設(shè)計與調(diào)試。軟件部分通過對C語言的學(xué)習(xí)和對單片機(jī)知識的了解,根據(jù)系統(tǒng)的特點(diǎn)編寫出單片機(jī)程序。硬件部分分為四大塊,包括大氣壓的非電信號數(shù)據(jù)的采集、轉(zhuǎn)換、處理以及顯示。通過對設(shè)計的了解,選擇適合的器件,畫出原理圖。</p><p><b> 系統(tǒng)總體框圖</b></p><p> 氣壓計硬件部分由五
31、部分構(gòu)成,它們分別是:數(shù)據(jù)采集模塊,數(shù)據(jù)轉(zhuǎn)換模塊,數(shù)據(jù)處理模塊和數(shù)據(jù)顯示模塊以及電源模塊。</p><p> 圖2.1 單片機(jī)數(shù)字大氣壓計系統(tǒng)結(jié)構(gòu)框圖</p><p> 由圖2.1可知,整個系統(tǒng)的工作流程如下:</p><p> 測量時被測氣壓由氣壓傳感器轉(zhuǎn)換為模擬的電壓輸出,此輸出信號不能直接交由單片機(jī)處理。因此,需要經(jīng)過V/F轉(zhuǎn)換模塊把氣壓傳感器輸出的模
32、擬電壓信號轉(zhuǎn)換為數(shù)字脈沖(其頻率隨輸入電壓呈線性變化)。通過單片機(jī)接收該脈沖信號,得到單位時間內(nèi)獲得的脈沖數(shù),依據(jù)電壓與頻率的線性關(guān)系式計算出所對應(yīng)的實(shí)際氣壓值,最后通過顯示電路顯示給用戶。</p><p> 系統(tǒng)各功能模塊的設(shè)計思想</p><p> 通過對單片機(jī)各個端口的設(shè)置,以及定時器工作方式和串行口工作方式的選擇,并對定時器和串行口進(jìn)行初始化用以實(shí)現(xiàn)對單片機(jī)和各個功能模塊芯片之
33、間通訊聯(lián)絡(luò)的設(shè)定。在主程序模塊中我們關(guān)鍵是使單片機(jī)初始化,以及分配地址空間交代程序中各個變量等。其中最為關(guān)鍵的是連接子程序的各個功能模塊。</p><p><b> 數(shù)據(jù)采集模塊</b></p><p> 數(shù)據(jù)采集模塊,主要核心是由氣壓傳感器構(gòu)成,其主要功能是對被測氣壓進(jìn)行實(shí)時穩(wěn)定的測量,并以模擬電壓的形式輸出,交由后面的數(shù)據(jù)轉(zhuǎn)化模塊處理。</p>
34、<p><b> A/D轉(zhuǎn)換模塊</b></p><p> A/D轉(zhuǎn)換模塊,主要功能是將氣壓傳感器輸出的模擬電壓信號經(jīng)過A/D轉(zhuǎn)換電路,轉(zhuǎn)換為單片機(jī)能直接處理的數(shù)字信號。</p><p><b> 數(shù)據(jù)處理模塊</b></p><p> 數(shù)據(jù)處理模塊,主要是對A/D轉(zhuǎn)換模塊的數(shù)據(jù)進(jìn)行多次采集,并且對采集的
35、數(shù)據(jù)進(jìn)行處理,此處理過程主要是對采集的數(shù)據(jù)進(jìn)行初值定義以及相應(yīng)的移位處理,并且把處理好的數(shù)據(jù)送入相應(yīng)的緩沖區(qū),為后面的顯示模塊作好準(zhǔn)備。</p><p><b> 數(shù)據(jù)顯示模塊</b></p><p> 數(shù)據(jù)顯示模塊,主要是對單片機(jī)處理后的數(shù)據(jù)進(jìn)行實(shí)時顯示,顯示內(nèi)容,即為測量氣壓值。該模塊,可使用7段LED數(shù)碼管構(gòu)成,也可以使用字符液晶顯示器件構(gòu)成。</p&
36、gt;<p><b> 硬件電路設(shè)計</b></p><p><b> 數(shù)據(jù)采集模塊</b></p><p> 3.1.1 數(shù)據(jù)采集模塊的芯片選擇</p><p> 氣壓傳感器對于系統(tǒng)至關(guān)重要,需要綜合實(shí)際的需求和各類氣壓傳感器的性能參數(shù)加以選擇。一般要選用有溫度補(bǔ)償作用的氣壓傳感器,因?yàn)闇囟妊a(bǔ)償特性
37、可以克服半導(dǎo)體壓力傳感器件存在的溫度漂移問題。</p><p> 絕對氣壓值對應(yīng)的既是實(shí)際的氣壓值,顯然本設(shè)計要實(shí)現(xiàn)的數(shù)字氣壓計需要能測量絕對氣壓值的氣壓傳感器。</p><p> 本設(shè)計要實(shí)現(xiàn)的數(shù)字大氣壓計顯示的是絕對氣壓值,同時為了簡化電路,提高穩(wěn)定性和抗干擾能力,要求使用具有溫度補(bǔ)償能力的氣壓傳感器。經(jīng)過綜合考慮,本設(shè)計選用美國摩托羅拉公司的集成壓力傳感器。MPX4115可以產(chǎn)生
38、與所加氣壓呈線性關(guān)系的高精度模擬輸出電壓。</p><p><b> 具體輸出關(guān)系如下:</b></p><p> Vout = Vs ( 0. 01059 P - 0. 09528) ±Error (3-1)</p><p> 式中, Vs 是工作電壓,,P 是大氣壓值,,Vout 為輸出電
39、壓。</p><p> 3.1.2 數(shù)據(jù)采集模塊的原理圖</p><p> 數(shù)據(jù)采集模塊由氣壓傳感器MPX4115構(gòu)成,采集的是大氣壓值。其中1腳是輸出信號端,輸出的是與氣壓值相對應(yīng)的模擬電壓信號。數(shù)據(jù)采集模塊的原理如圖3.1所示。</p><p> 圖3.1 數(shù)據(jù)采集模塊原理圖</p><p> 3.1.3 氣壓傳感器MPX411
40、5的原理</p><p> MPX4115系列壓電電阻傳感器是一個硅壓力傳感器。這個傳感器結(jié)合了高級的微電機(jī)技術(shù),薄膜鍍金屬。還能為高水準(zhǔn)模擬輸出信號提供一個均衡壓力。在0℃-85℃的溫度下誤差不超過1.5%,溫度補(bǔ)償是-40℃-125℃。</p><p> 圖3.2 MPX4115實(shí)物圖及引腳排列圖</p><p> 氣壓傳感器MPX4115的管腳說明如表
41、3.1所示:</p><p> 表3.1 氣壓傳感器MPX4115的管腳說明</p><p> 氣壓傳感器MPX4114的特性參數(shù)如表3.2所示:</p><p> 表3.2 氣壓傳感器MPX4114的特性參數(shù)</p><p><b> 數(shù)據(jù)轉(zhuǎn)換模塊</b></p><p> 3.2
42、.1 數(shù)據(jù)轉(zhuǎn)換芯片選擇</p><p> 氣壓傳感器MPX4115輸出的是模擬電壓,因此,必須進(jìn)行模擬到數(shù)字的轉(zhuǎn)換才能交由單片機(jī)處理。關(guān)于A/D轉(zhuǎn)換,本設(shè)計中采用一種電壓頻率轉(zhuǎn)換電路來實(shí)現(xiàn)模擬電壓數(shù)字化的處理。</p><p> V/F轉(zhuǎn)換電路由V/F器件實(shí)現(xiàn)。V/F器件的作用是將輸入電壓的幅值轉(zhuǎn)換成頻率與輸入電壓幅值成正比的脈沖序列,雖然V/F器件本身還不能算作量化器,但加上定時器與
43、計數(shù)器以后也可以實(shí)現(xiàn)A/D轉(zhuǎn)換。V/F器件的突出特點(diǎn)就是它能夠把模擬電壓轉(zhuǎn)換成抗干擾能力強(qiáng)、可以遠(yuǎn)距離傳輸并能直接輸入到單片機(jī)接口的脈沖序列。通過測量V/F輸出頻率,可以實(shí)現(xiàn)A/D轉(zhuǎn)換功能。針對電路的實(shí)際需求,并考慮到外圍電路實(shí)現(xiàn)的難易程度和相應(yīng)的性能指標(biāo),選用芯片LM331來實(shí)現(xiàn)A/D轉(zhuǎn)換。LM331是一款由美國NS公司生產(chǎn)的高精度電壓頻率轉(zhuǎn)換芯片,由于采用新的溫度補(bǔ)償能隙基準(zhǔn)電路, 在整個工作溫度范圍內(nèi)和低到4.0V 電源電壓下都有
44、極高的精度。</p><p> 3.2.2 數(shù)據(jù)轉(zhuǎn)換電路部分電路原理圖</p><p> LM331構(gòu)成的V/F轉(zhuǎn)換器的電路如圖3.3。其中圖中的7號引腳Vin是數(shù)據(jù)轉(zhuǎn)換模塊的數(shù)據(jù)輸入端,接到上一個數(shù)據(jù)采集模塊的輸出端。而3號引腳F0是數(shù)據(jù)轉(zhuǎn)換模塊的輸出端。</p><p> 圖3.3 數(shù)據(jù)轉(zhuǎn)換模塊原理圖</p><p> 3.2.
45、3 LM331的結(jié)構(gòu)</p><p> LM331是一種非常理想的精密電壓/頻率轉(zhuǎn)換器,可用于制作簡潔、低成本的模數(shù)轉(zhuǎn)換器,特長積分周期的數(shù)字積分器,線性頻率調(diào)制與解調(diào)及其他各功能電路。當(dāng)作為電壓/頻率轉(zhuǎn)換器使用時,其輸出脈沖鏈的頻率精確地與輸入端施加的電壓成比例變化,體現(xiàn)了電壓/頻率轉(zhuǎn)換器的特有優(yōu)勢。</p><p> 由于LM331采用了新的溫度補(bǔ)償能隙基準(zhǔn)電路,所以在整個工作溫
46、度范圍內(nèi)和低到4.0V電源電壓下都有極高的精度。內(nèi)部精密計時器電路在很低偏置電流的情況下,也不會降低對100KHz電壓/頻率轉(zhuǎn)換器的響應(yīng)。LM331的輸出可驅(qū)動3個TTL負(fù)載,其輸出端可承受高達(dá)40V的電壓沖擊。</p><p> 其引腳圖如圖3.4所示。</p><p> 圖3.4 LM331引腳圖</p><p> LM331 各引腳功能說明如下:<
47、;/p><p> CO(1腳):電流輸出腳。內(nèi)部相當(dāng)于脈沖恒流源,脈沖寬度與內(nèi)部單穩(wěn)態(tài)電路相同。</p><p> RefC(2腳):基準(zhǔn)電流腳。此引腳可接一固定電阻串聯(lián)一個可變電阻器的組合,用于調(diào)整轉(zhuǎn)換增益。</p><p> FO(3腳):脈沖序列輸出腳。該序列的頻率值對應(yīng)于輸入電壓的脈沖序列,OC 門結(jié)構(gòu),輸出脈沖寬度及相位同單穩(wěn)態(tài),不用時可懸空或接地。&l
48、t;/p><p> GND(4腳):接地端。</p><p> R/C(5腳):阻容網(wǎng)絡(luò)引腳。外接定時時間常數(shù)RC。</p><p> Thre(6腳):閾值電壓腳。芯片內(nèi)部的電壓比較器會對此引腳上的電壓和7腳CmpIn上的電壓作比較,低于腳7 電壓觸發(fā)有效,要求輸入負(fù)脈沖寬度小于單穩(wěn)態(tài)輸出脈沖寬度Tw。</p><p> CmpIn(7
49、腳):比較器電壓輸入腳。需要進(jìn)行V/F轉(zhuǎn)換的電壓經(jīng)過低通濾波后由此引腳輸入。</p><p> VCC(8腳):電源腳??刹捎脝巍㈦p電源供電,輸入電壓4~40V。</p><p> LM331的性能特點(diǎn):</p><p> ?。?)變換精度高,數(shù)字分辨率可達(dá)12 位;</p><p> (2)數(shù)字脈沖輸出端電平與所有5V的標(biāo)準(zhǔn)邏輯電路兼
50、容;</p><p> (3) 線性度好, 最大非線性失真小于0. 01 % , 工作頻率低到0. 1Hz 時尚有較好的線性;</p><p> ?。?)外接電路簡單, 只需接入幾個外部元件就可方便構(gòu)成V/F或F/V等變換電路,并且容易保證轉(zhuǎn)換精度;</p><p> ?。?)低成本,低功耗。</p><p><b> 數(shù)據(jù)處理
51、模塊</b></p><p> 3.3.1 數(shù)據(jù)處理模塊的芯片選擇</p><p> 對于LM331輸出的頻率信號要經(jīng)過單片機(jī)的數(shù)據(jù)處理,通過頻率與氣壓之間的關(guān)系計算出氣壓值。本設(shè)計中選用STC89C52單片機(jī)來實(shí)現(xiàn),STC89C52單片機(jī)最為核心的部分是中央處理器CPU,它由運(yùn)算器和控制邏輯構(gòu)成,其中包括若干特殊功能寄存器。STC89C52是一個低功耗,高性能CMOS 8
52、位單片機(jī)片內(nèi)含8kbytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀存儲器,該器件采用高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用的8位中央處理器和ISP Flash存儲單元。功能強(qiáng)大STC89C52 單片機(jī)以其超高的性價比,可靈活應(yīng)用于各種控制領(lǐng)域。</p><p> STC89C52具有以下標(biāo)準(zhǔn)功能:8
53、k字節(jié)Flash,512字節(jié)RAM,32位I/O口線,看門狗定時器,2個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,STC89C52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。</p>
54、<p> 本設(shè)計中,電路仿真選用AT89C52代替STC89C52,兩者功能及編程方式基本一致,只是AT89C52不支持在線編程,而S系列支持。</p><p> 3.3.2 數(shù)據(jù)處理模塊電路的原理圖</p><p> 單片機(jī)部分的原理如下圖所示: </p><p> 圖3.5 數(shù)據(jù)處理模塊原理圖</p><p> 3.
55、3.3 STC89C52引腳及功能</p><p> 圖3.6 單片機(jī)引腳圖</p><p> ·P0口: P0 口是一組8 位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時,每位能驅(qū)動8個TTL邏輯門電路,對端口寫“1”可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8 位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在
56、Flash 編程時,P0口接收指令字節(jié),而在程序校驗(yàn)時,輸出指令字節(jié),校驗(yàn)時,要求外接上拉電阻。 </p><p> ·P1口: P1 是一個帶內(nèi)部上拉電阻的8 位雙向I /O 口,P1 的輸出緩沖級可驅(qū)動 4 個TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因?yàn)閮?nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(TTL)。Flash 編
57、程和程序校驗(yàn)期間,P1 接收低8 位地址。 </p><p> ·P2口:P2 是一個帶有內(nèi)部上拉電阻的8 位雙向I/O口,P2 的輸出緩沖級可驅(qū)動4 個TTL 邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因?yàn)閮?nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流。在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX @DPTR 指令
58、)時,P2口送出高8 位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVX @RI 指令)時,P2 口線上的內(nèi)容(也即特殊功能寄存器區(qū) R2 寄存器的內(nèi)容),在整個訪問期間不改變。Flash 編程或校驗(yàn)時,P2 亦接收高位地址和其它控制信號。</p><p> ·P3口: P3 口是一組帶有內(nèi)部上拉電阻的8 位雙向I/O 口。P3口輸出緩沖級可驅(qū)動4 個TTL 邏輯門電路。對P3口寫入“1”時
59、,它們被內(nèi)部上拉電阻拉高并可作為輸入端口。作輸入端時,被外部拉低的P3口將用上拉電阻輸出電流。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能,如表3.3所示:</p><p> 表3.3 P3口第二功能</p><p> ·RST復(fù)位輸入。當(dāng)振蕩器工作時,RST 引腳出現(xiàn)兩個機(jī)器周期以上高電平將使單片機(jī)復(fù)位。 </p><p>
60、183;ALE/PROG:當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8 位字節(jié)。即使不訪問外部存儲器,ALE仍以時鐘振蕩頻率的l/6 輸出固定的正脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時將跳過一個ALE 脈沖。對Flash 存儲器編程期間,該引腳還用于輸入編程脈沖 (PROG)。 </p><p> 如有必要,可通過對特殊功能寄
61、存器(SFR)區(qū)中的8EH 單元的DO 位置位,可禁止ALE 操作。該位置位后,只有一條MOVX 和MOVC 指令A(yù)LE 才會被激活。此外,該引腳會被微弱拉高,單片機(jī)執(zhí)行外部程序時,應(yīng)設(shè)置ALE 無 。</p><p> ·PSEN:程序儲存允許(PSEN )輸出是外部程序存儲器的讀選通信號,當(dāng)AT89C51 由外部程序存儲器取指令(或數(shù)據(jù))時,每個機(jī)器周期有兩次PSEN ,即輸出兩個脈沖。在此期間
62、,當(dāng)訪問外部數(shù)據(jù)存儲器,這兩次有的PSEN信號不出現(xiàn)。 </p><p> ·EA /VPP 外部訪問允許。欲使CPU 僅訪問外部程序存儲器(地址為0000H—FFFFH),EA 端必須保持低電平(接地)。需注意的是:如果加密位LB1 被編程,復(fù)位時內(nèi)部會鎖存EA 端狀態(tài)。 如EA 端為高電平 (接VCC 端),CPU 則執(zhí)行內(nèi)部程序存儲器中的指令。 </p><p>
63、183;XTAL1 振蕩器反相放大器的及內(nèi)部時鐘發(fā)生器的輸入端。 </p><p> ·XTAL2 振蕩器反相放大器的輸出端。</p><p> ·Vcc 電源電壓 </p><p> ·GND 地</p><p> 3.3.4 單片機(jī)中斷技術(shù)</p><p&
64、gt; 單片機(jī)中斷是指CPU暫時停止當(dāng)前程序執(zhí)行轉(zhuǎn)而為其他程序服務(wù),并在中斷服務(wù)完成后自動返回原程序執(zhí)行的過程。中斷可以提高CPU的工作效率,使CPU可以通過分時操作啟動多個外設(shè)同時工作,并能對他們進(jìn)行統(tǒng)一的管理。中斷可以提高實(shí)時數(shù)據(jù)的處理實(shí)效,及時發(fā)現(xiàn)并處理報警和故障信息,提高產(chǎn)品的質(zhì)量和系統(tǒng)的安全性,對系統(tǒng)做出應(yīng)急處理側(cè)。采用中斷技術(shù)能實(shí)現(xiàn)以下的功能:</p><p> (1) 分時操作。計算機(jī)的中斷系統(tǒng)
65、可以使CPU與外設(shè)同時工作。CPU在啟動外設(shè)后,便繼續(xù)執(zhí)行主程序,而外設(shè)被啟動后,開始進(jìn)行準(zhǔn)備工作。當(dāng)外設(shè)準(zhǔn)備就緒時,就CPU發(fā)中斷請求,CPU響應(yīng)該中斷請求并為其服務(wù)完畢后,返回到原來的斷點(diǎn)處繼續(xù)運(yùn)行主程序。外設(shè)在得到服務(wù)后,也繼續(xù)進(jìn)行自己的工作。因此,CPU可以使多個外設(shè)同時工作,并分時為各外設(shè)提供服務(wù),從而大大提高CPU的利用率和輸入/輸出的速度。</p><p> ?。?)實(shí)時處理。當(dāng)計算機(jī)用于實(shí)時控制時
66、,請求CPU提供服務(wù)時隨機(jī)發(fā)生的。有了中斷系統(tǒng),CPU就可以立即響應(yīng)并加以處理。</p><p> ?。?)故障處理。計算機(jī)在運(yùn)行時會出現(xiàn)一些故障,如電源斷電,存儲器奇偶校驗(yàn)出錯,運(yùn)算溢出等。有了中斷系統(tǒng),當(dāng)出現(xiàn)上述情況時,CPU可及時轉(zhuǎn)去執(zhí)行故障處理程序,自行處理故障而不必停機(jī)。</p><p> STC89C52的中斷系統(tǒng)包括六個中斷源,分別為:</p><p&g
67、t; (1) INT0 — 外部中斷0請求,低電平有效,通過P3.2引腳輸入。</p><p> (2) INT1 — 外部中斷1請求,低電平有效,通過P3.3引腳輸入。</p><p> (3) T0 — 定時器/計數(shù)器0溢出中斷請求。</p><p> (4) T1 — 定時器/計數(shù)器1溢出中斷請求。</p><p>
68、(5) TX/RX — 串行口中斷請求。</p><p> 每一個中斷源都對應(yīng)一個中斷請求標(biāo)志位,他們設(shè)置在特殊功能寄存器TCON和SCON 中,當(dāng)這些中斷源請求中斷時,相應(yīng)的標(biāo)志分別由TCON和SCON中的相應(yīng)位來鎖存。對中斷源的開放或屏蔽是由中斷允許寄存器IE控制的。</p><p> 3.3.5單片機(jī)的定時/計數(shù)器</p><p> STC89C52單片
69、機(jī)內(nèi)部有三個16位的可編程的定時/計數(shù)器,他們均是二進(jìn)制加法計數(shù)器,當(dāng)計數(shù)器計滿回零時能自動產(chǎn)生溢出中斷請求,表示定時時間已到或計數(shù)己終止。三個定時器/ 計數(shù)器均可編程設(shè)定為定時模式和計數(shù)模式兩種,在這兩種模式下又均可設(shè)定四種工作方式,其控制和狀態(tài)均在相應(yīng)的特殊功能寄存器中,通過對控制寄存器的編程,就可方便地選擇適當(dāng)?shù)墓ぷ鞣绞?。定時模式下的定時時間和計數(shù)模式下的計數(shù)均可通過程序設(shè)定。通過軟件寫入TMOD和TCON兩個8位寄存器來設(shè)置定時
70、/計數(shù)器的操作模式和控制功能。</p><p> (1)工作模式寄存器TMOD的位定義如下表3.4所示:</p><p> 表3.4 工作模式寄存器TMOD的位定義</p><p> ?。?)M1、M0控制定時器T1和定時器T0的四種工作模式如下表3.5所示:</p><p> 表3.5 四種工作模式</p><p
71、> ?。?)控制寄存器TCON的位定義和功能如下表3.6所示:</p><p> 表3.6 控制寄存器TCON的位定義和功能</p><p> ?。?)TCON各位的作用如下:</p><p> TF1:T1溢出標(biāo)志位,當(dāng)T1溢出時,由硬件自動使中斷觸發(fā)器TF1置1,并向CPU申請中斷。</p><p> TF0:T0溢出標(biāo)志位,
72、其功能情況同TF1 </p><p> TR1:TI運(yùn)行控制位??赏ㄟ^軟件置1或清0來啟動或關(guān)閉T1</p><p> TR0:T0運(yùn)行控制位。其功能操作情況同TR1</p><p> IE1:外部中斷1的中斷請求標(biāo)志</p><p> IT1:外部中斷1 的中斷觸發(fā)方式控制位</p><p> IE:外部中
73、斷0 的中斷請求標(biāo)志</p><p> IT:外部中斷0 的中斷觸發(fā)方式控制位</p><p><b> 數(shù)據(jù)顯示模塊</b></p><p> 3.4.1 顯示模塊的芯片選擇</p><p> 液晶顯示器簡稱LCD顯示器,它是利用液晶經(jīng)過處理后能夠改變光線的傳輸方向的特性實(shí)現(xiàn)顯示信息的,液晶顯示模塊具有體積小、
74、功耗低、顯示內(nèi)容豐富超薄輕巧等優(yōu)點(diǎn),在單片機(jī)應(yīng)用系統(tǒng)中得到日益廣泛的應(yīng)用。液晶顯示器按其功能分為三類:筆端式液晶顯示器、字符點(diǎn)陣式液晶顯示器、圖形點(diǎn)陣式液晶顯示器。前兩種能夠顯示數(shù)字、字符等,而圖形點(diǎn)陣式液晶顯示器還可以顯示漢字和任意圖形。</p><p> 本設(shè)計中選擇經(jīng)濟(jì)實(shí)惠的字符型液晶顯示器LCD1602。LCD1602可以顯示兩行,每行16個字符,采用+5V電源供電,外圍電路配置簡單,價格便宜,具有很高
75、的性價比。</p><p> 顯示器部分的電路如圖3.7所示:</p><p> 圖3.7 顯示模塊原理圖</p><p> 3.4.2 LCD1602介紹</p><p> LCD1602是一種專門用于顯示字母、數(shù)字、符號等點(diǎn)陣式LCD,實(shí)物如圖3.8所示。</p><p> 圖3.8 LCD1602實(shí)
76、物圖</p><p> LCD1602的外圍引腳及作用:</p><p> 第1腳:VSS為地電源;</p><p> 第2腳:VDD接5V正電源;</p><p> 第3腳:V0 為液晶顯示器對比度調(diào)整端,接正極電源時對比度最弱,接地電源時</p><p> 對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可
77、以通過一個10K的電位器調(diào)整對比度;</p><p> 第4腳:RS 為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器,低電平時選擇指令寄存器;</p><p> 第5腳:RW 為讀寫信號線,高電平時進(jìn)行讀操作,低電平時進(jìn)行寫操作。當(dāng)RS和RW共同為低電平時可以寫入指令或者顯示地址,當(dāng)RS為低電平,RW為高電平時可以讀取忙信號,當(dāng)RS為高電平RW為低電平時可以寫入數(shù)據(jù);</p>&l
78、t;p> 第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令;</p><p> 第7-14腳: D0~D7為8位雙向數(shù)據(jù)線;</p><p> 第15-16腳:空腳。</p><p> 1602液晶顯示器內(nèi)部的控制器共有11條控制指令,如表3.7所示:</p><p> 表3.7 1602的內(nèi)部指令表&l
79、t;/p><p><b> 電源電路模塊</b></p><p> 3.5.1 電源模塊的芯片選擇</p><p> 由于數(shù)據(jù)轉(zhuǎn)換模塊中核心器件LM331工作于+15V,但是單片機(jī)、MPX4105等其他芯片需要+5V供電,因此還需要設(shè)計專門的供電電路以滿足整個系統(tǒng)的電源需求。本設(shè)計電源電路中選用摩托羅拉公司的三端低電流線性穩(wěn)壓芯片MC78L0
80、5。</p><p> 電源電路如圖3.9所示:</p><p> 圖3.9 電源模塊原理圖</p><p> 3.5.2 芯片78L05原理</p><p> MC78L05具有內(nèi)部短路電路限制和熱過載保護(hù)功能的特點(diǎn),輸入電壓范圍為2.6—24V,輸出+5V固定電壓。</p><p> 三端穩(wěn)壓器78L
81、05實(shí)物圖如圖3.10所示。</p><p> 圖3.10 三端穩(wěn)壓器實(shí)物</p><p> 引腳說明如表3.8所示:</p><p> 表3.8 引腳說明</p><p> 最大額定值如表3.9所示:</p><p> 表3.9 最大額定值</p><p> 總體電路及電路
82、原理圖</p><p> 3.6.1 氣壓傳感器電路和V/F轉(zhuǎn)換電路的原理</p><p> 圖3.11 氣壓傳感電路和V/F轉(zhuǎn)換電路原理圖</p><p> 氣壓傳感電路和V/F轉(zhuǎn)換電路原理圖如圖3.11所示,其中U3 為氣壓傳感器芯片MPX4115,工作電壓+5V,將被測氣壓轉(zhuǎn)換為輸出電壓(對應(yīng)圖中網(wǎng)絡(luò)標(biāo)號為Vin),送至V/F 轉(zhuǎn)換電路。電阻R5 和電容
83、C7構(gòu)成典型的去耦合濾波電路。U2 為V/F 轉(zhuǎn)換芯片LM331,工作電壓+15V,在此電路中,電壓Vin 和輸出脈沖FO 的頻率fo 的轉(zhuǎn)換關(guān)系滿足公式(3-2)。</p><p> fo=K*Vin (3-2)</p><p><b> 其中,</b></p><p> K=,
84、 Rs=R2+R3 (3-3)</p><p> 電路中,Rt、Ct和RL的典型值分別為6.8k?、0.01和100k?,Rs由一個定值電阻R2和一個可變電路R3串聯(lián)組成,其中,R2為22k?,R3的最大阻值為12k?,通過可變電阻R3調(diào)節(jié)Rs的阻值可以實(shí)現(xiàn)對電路轉(zhuǎn)換增益的調(diào)整。</p><p> 氣壓的變化引起Vin的變化,而Vin在滿刻度輸出電壓
85、間距V內(nèi)變化,V典型值為4.590V,所以Vin變化范圍很小,那么根據(jù)fo=KVin的關(guān)系式,必須增大K值,才能提高測量的精度。fo通過單片機(jī)的定時/計數(shù)器1的計數(shù)測得,該計數(shù)器的計數(shù)范圍為0~65536,1s計數(shù)頻率1次。因此,K值的選取還要考慮到計數(shù)器的計數(shù)范圍。綜合考慮之后,將K值設(shè)為2000,這樣代入式(2)計算,可知R3的阻值應(yīng)調(diào)節(jié)到6.424k?。</p><p> 圖3.11中,Cin和Rin構(gòu)成
86、低通濾波器,濾除輸入電壓信號中的干擾脈沖。其中,Cin取0.1,Rin取100k?,C的取容值為1的漏極電流小的電容。</p><p> 3.6.2單片機(jī)及顯示電路的原理</p><p> 圖3.12 單片機(jī)及顯示電路原理圖</p><p> 設(shè)計中的電源及單片機(jī)電路原理圖如圖3.12 所示。U1 為單片機(jī)芯片AT89C52, 工作于11.0590MHz時鐘,
87、 它的P3.4 腳(定時/計數(shù)器0 外部脈沖輸入端)和A/D轉(zhuǎn)換模塊輸出脈沖 FO 相連, 對脈沖序列進(jìn)行計數(shù),以獲取頻率信息,從而轉(zhuǎn)換為氣壓值。U1 的P0 口和P2 口是和液晶顯示電路的接口。</p><p> 3.6.3 總體電路原理圖</p><p> 圖3.13 系統(tǒng)總體電路原理圖</p><p><b> 軟件設(shè)計</b>&
88、lt;/p><p> 就該設(shè)計的單片機(jī)而言,它的輸入信號是具有一定頻率的脈沖序列,通過單片機(jī)內(nèi)部的計數(shù)器可以獲得此脈沖序列的頻率,此頻率對應(yīng)于某個氣壓值,如何將頻率換算成該氣壓值是軟件設(shè)計首先需要考慮的問題。</p><p> 用C語言開發(fā)單片機(jī)的優(yōu)勢</p><p> C語言是一種編譯型的結(jié)構(gòu)化程序設(shè)計語言,具有簡單的語法結(jié)構(gòu)和強(qiáng)大的處理功能,具有運(yùn)行速度快、編
89、譯效率高,移植性好和可讀性強(qiáng)等多種優(yōu)點(diǎn),可以實(shí)現(xiàn)對系統(tǒng)便件的直接操作。用C語言來編寫目標(biāo)系統(tǒng)軟件,可以大大縮短開發(fā)周期,且明顯地增加軟件的可讀性,便于改進(jìn)和擴(kuò)充,從而開發(fā)出大規(guī)模、高性能的應(yīng)用系統(tǒng)。其優(yōu)勢如下:</p><p> ?。?)可以大幅度加快開發(fā)進(jìn)度,程序量越大,用C語言就越有優(yōu)勢。</p><p> ?。?)無需精通單片機(jī)指令集和具體的硬件,也能夠編出符合硬件實(shí)際專業(yè)水平的程序
90、。</p><p> ?。?)可以實(shí)現(xiàn)軟件的結(jié)構(gòu)化編程,使得軟件的邏輯結(jié)構(gòu)變得清晰、有條理、便于開發(fā)小組計劃任務(wù)、分工合作。源程序的可讀性和可維護(hù)性都很好。</p><p> ?。?)省去了人工分配單片機(jī)資源的工作,在匯編語言中要為每一個子程序分配單片機(jī)的資源。在使用C語言后,只要在代碼中申明一下變量的類型,編譯器就會自動分配相關(guān)資源,根本不需要人工干預(yù),從而有效地避免了人工分配單片機(jī)資源
91、的差錯。</p><p> ?。?)匯編語言的可移植性很差,而C語言只要將一些與硬件相關(guān)的代碼作適當(dāng)?shù)男薷?,就可以方便地移植到其它種類的單片機(jī)上。</p><p> ?。?)C語言提供auto、static、flash等存儲類型,針對單片機(jī)的程序存儲空間、數(shù)據(jù)存儲空間及EEPROM空間自動為變量合理地分配空間,而且C語言提供復(fù)雜的數(shù)據(jù)類型,極大地增強(qiáng)了程序處理能力和靈活性。C編譯器能夠自動
92、實(shí)現(xiàn)中斷服務(wù)程序的現(xiàn)場保護(hù)和恢復(fù),并且提供常用的標(biāo)準(zhǔn)函數(shù)庫,供用戶使用。并且C編譯器能自動生成一些硬件的初始化代碼。</p><p> ?。?)對于一些復(fù)雜系統(tǒng)的開發(fā),可以通過移植(或C編譯器提供)的實(shí)時操作系統(tǒng)來實(shí)現(xiàn)。</p><p> 正由于C語言在系統(tǒng)開發(fā)中的優(yōu)勢,這次設(shè)計的所有程序設(shè)計都將采用C語言編寫。</p><p> 如何由頻率計算出氣壓值<
93、/p><p> 信號每一步的變換過程如下:</p><p> 第一步,被測氣壓經(jīng)過氣壓傳感器MPX4115轉(zhuǎn)換成電壓輸出,根據(jù)MPX4115的芯片資料可知,輸出電壓VOUT和大氣壓P的關(guān)系如下</p><p> VOUT=VCC * (0.01P-0.09) (4-1)</p><p> 這里VCC
94、為+5V,因此可得:</p><p> VOUT=5(0.01P-0.09) (4-2)</p><p> 第二步,MPX4115的輸出電壓VOUT作為輸入電壓Vin,經(jīng)過V/F轉(zhuǎn)換電路轉(zhuǎn)變?yōu)榫哂袑?yīng)頻率fo的脈沖序列FO。Vin和FO的這種對應(yīng)關(guān)系如上一節(jié)的式(3-1)所示。</p><p> 綜合式(3-2)和
95、式(4-2),根據(jù)VOUT=Vin,可得:</p><p> P==+9 (4-3)</p><p> 式(4-3)中,fo的單位為Hz,P的單位為kPa,K為V/F轉(zhuǎn)換增益,設(shè)計中K值為2000。在軟件中,根據(jù)式(4-3)編程計算得到氣壓值P。</p><p> 程序設(shè)定如下:T0為定時器,基本的定時時基50ms。
96、T1為計數(shù)器運(yùn)用內(nèi)部中斷0可保證T0定時滿1s后就讀取此時計數(shù)器的值以計算氣壓值,使T0、T1均工作于方式1并在P0口及P2口輸出到液晶屏顯示。</p><p><b> 程序流程圖</b></p><p> 單片機(jī)實(shí)現(xiàn)數(shù)字氣壓計的程序流程如圖4.1所示。</p><p> 圖4.1 程序流程圖</p><p>
97、<b> 仿真與調(diào)試</b></p><p> 本設(shè)計的仿真主要由Keil軟件結(jié)合Proteus軟件來完成。</p><p><b> Keil軟件介紹</b></p><p> Keil C51是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng)。與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀
98、性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(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文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的H
99、ex文件,以供調(diào)試器dScope51或tScope51使用進(jìn)行源代碼級調(diào)試,也可由仿真器使用直接對目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存儲器中。</p><p> Keil uVision 4是Keil software公司的產(chǎn)品,它集項(xiàng)目管理、編譯工具、代碼編寫工具、代碼調(diào)試以及完全仿真于一體,適合個人開發(fā)或人數(shù)少、對開發(fā)過程的管理還不成熟的開發(fā)團(tuán)體。</p><p> uVision
100、 4本身自帶項(xiàng)目管理器,其開發(fā)流程步驟如下:</p><p> ·開啟uVision 4,建立工程文件并且從器件數(shù)據(jù)庫里挑選出項(xiàng)目實(shí)際使用的器件。</p><p> ·建立一個新的源文件,并且把這個源文件添加到工程中去。</p><p> ·為單片機(jī)添加并且設(shè)置啟動代碼。</p><p> ·設(shè)
101、置硬件相關(guān)的選項(xiàng)。</p><p> ·編譯整個工程并且生成下載到存儲器用的HEX文件。</p><p> Protues軟件介紹</p><p> Proteus與其它單片機(jī)仿真軟件不同的是,它不僅能仿真單片機(jī)CPU 的工作情況,也能仿真單片機(jī)外圍電路或沒有單片機(jī)參與的其它電路的工作情況。因此在仿真和程序調(diào)試時,關(guān)心的不再是某些語句執(zhí)行時
102、單片機(jī)寄存器和存儲器內(nèi)容的改變,而是從工程的角度直接看程序運(yùn)行和電路工作的過程和結(jié)果。對于這樣的仿真實(shí)驗(yàn),從某種意義上講,是彌補(bǔ)了實(shí)驗(yàn)和工程應(yīng)用間脫節(jié)的矛盾和現(xiàn)象。</p><p> Proteus提供了比較豐富的測試信號用于電路的測試。這些測試信號包括模擬信號和數(shù)字信號。對于單片機(jī)硬件電路和軟件的調(diào)試,Proteus提供了兩種方法:一種是系統(tǒng)總體執(zhí)行效果,一種是對軟件的分步調(diào)試以看具體的執(zhí)行情況。 對于總體執(zhí)
103、行效果的調(diào)試方法,只需要執(zhí)行debug菜單下的execute菜單項(xiàng)或F12 快捷鍵啟動執(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)行。對于軟件的分步調(diào)試,應(yīng)先執(zhí)行debug菜單下的start/restart debugging菜單項(xiàng)命令,此
104、時可以選擇stepover、step into和step out命令執(zhí)行程序(可以用快捷鍵F10、F11和ctrl+F11),執(zhí)行的效果是單句執(zhí)行、進(jìn)入子程序執(zhí)行和跳出子程序執(zhí)行。在執(zhí)行了start / restart debuging命令后,在debug菜單的下面要出現(xiàn)仿真中所涉及到的軟件列表和單片機(jī)的系統(tǒng)資源等,可供調(diào)試時分析和查看。</p><p> 運(yùn)行proteus的ISIS程序后,進(jìn)入該仿真軟件的主
105、界面。在工作前,要設(shè)置view菜單下的捕捉對齊和system下的顏色、圖形界面大小等項(xiàng)目。通過工具欄中的p(從庫中選擇元件命令)命令,在pick devices窗口中選擇電路所需的元件,放置元件并調(diào)整其相對位置,元件參數(shù)設(shè)置,元器件間連線,編寫程序;在source菜單的Definecode generation tools菜單命令下,選擇程序編譯的工具、路徑、擴(kuò)展名等項(xiàng)目;在source菜單的Add/removesource files
106、命令下,加入單片機(jī)硬件電路的對應(yīng)程序;通過debug菜單的相應(yīng)命令仿真程序和電路的運(yùn)行情況。</p><p> Proteus & Keil調(diào)試仿真</p><p> 5.3.1 調(diào)試的步驟及方法</p><p> 1.在搭建硬件電路之前,首先要在仿真軟件中對整個系統(tǒng)做仿真。本設(shè)計使用的仿真軟件是proteus 7.0,這個仿真軟件包含了系統(tǒng)所需的液晶
107、模塊、單片機(jī)及A/D轉(zhuǎn)換芯片等主要元器件,大大縮短了系統(tǒng)設(shè)計及調(diào)試時間。如果是硬件部分電路圖的錯誤,則要對其修改,反復(fù)測試,直到硬件的連接完全無錯,并且設(shè)計合理。整個軟件仿真需在PROTEUS軟件和KEIL 4編譯軟件中進(jìn)行聯(lián)合調(diào)試完成。</p><p> 2.在系統(tǒng)硬件部分制作完成后,首先,要對電路的各個線路進(jìn)行仔細(xì)檢查,看是否連接正確,同時也要查看制作過程中是否存在錯焊、虛焊等情況,排除了焊接錯誤。其次,給
108、系統(tǒng)通上電后,用萬用表檢查電源電壓及各個模塊的工作電壓是否正常。再次,檢查單片機(jī)是否能正常工作,測試硬件部分是否能夠完成其相應(yīng)的功能。</p><p> 3.在設(shè)計系統(tǒng)的軟件部分時,要結(jié)合PROTEUS仿真軟件和KEIL 4編譯軟件依次對液晶數(shù)據(jù)顯示程序、中斷程序進(jìn)行反復(fù)調(diào)試和修改,以達(dá)到顯示美觀,系統(tǒng)各部分正常穩(wěn)定運(yùn)行的效果。</p><p> 4.在仿真軟件中調(diào)試通過后,就要將編譯
109、軟件生成的HEX文件燒寫到實(shí)物單片機(jī)內(nèi),再將單片機(jī)安裝到焊接好的實(shí)物上,通電運(yùn)行同時進(jìn)行按鍵操作,觀察系統(tǒng)運(yùn)行是否達(dá)到預(yù)期效果;若未達(dá)到預(yù)期效果,則要先找出原因,然后對程序做相應(yīng)的修改。</p><p> 5.3.2 程序仿真</p><p> 程序仿真如圖5.1,結(jié)果正確,0處錯誤,0處警告。</p><p> 圖5.1 程序仿真結(jié)果</p>
110、<p> 5.3.3 總電路仿真</p><p> 圖5.2 系統(tǒng)上電仿真</p><p><b> 圖5.3 電路仿真</b></p><p> 電路仿真結(jié)果:電路上電,系統(tǒng)初始化,仿真開始。LCD1602顯示預(yù)置內(nèi)容,過一段時間,經(jīng)過數(shù)據(jù)采集、數(shù)據(jù)轉(zhuǎn)換及數(shù)據(jù)處理,最后顯示在液晶屏上,實(shí)際氣壓值設(shè)置為100.5KPa,對應(yīng)測
111、量值為100.4KPa,電路基本正確,但存在很小的誤差。</p><p><b> 設(shè)計總結(jié)及體會</b></p><p> 本文介紹了基于單片機(jī)的數(shù)字式大氣壓計系統(tǒng)的設(shè)計,對整個硬件電路和軟件程序設(shè)計做了分析,介紹了數(shù)字大氣壓計的設(shè)計方案及原理,以此加深51單片機(jī)的結(jié)構(gòu)、特點(diǎn)等知識的了解,并給出主程序設(shè)計流程圖,更直觀的把軟件設(shè)計呈現(xiàn)出來,最后基于仿真軟件Pro
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機(jī)的數(shù)字氣壓計設(shè)計-畢業(yè)設(shè)計
- 畢業(yè)設(shè)計——基于單片機(jī)的數(shù)字氣壓計設(shè)計
- 畢業(yè)設(shè)計(論文)-基于單片機(jī)的氣壓計設(shè)計
- 基于單片機(jī)的數(shù)字氣壓計設(shè)計畢業(yè)論文
- 基于單片機(jī)控制的數(shù)字氣壓計的設(shè)計與實(shí)現(xiàn)畢業(yè)設(shè)計
- 單片機(jī)控制的數(shù)字氣壓計的設(shè)計與實(shí)現(xiàn)畢業(yè)設(shè)計
- 基于單片機(jī)的數(shù)字氣壓計的設(shè)計與實(shí)現(xiàn)
- 基于單片機(jī)的數(shù)字式頻率計-畢業(yè)設(shè)計
- 單片機(jī)氣壓計課程設(shè)計
- 單片機(jī)氣壓計課程設(shè)計報告
- 單片機(jī)畢業(yè)設(shè)計---數(shù)字式智能時鐘設(shè)計
- 畢業(yè)設(shè)計---基于mpx4105數(shù)字氣壓計的設(shè)計
- 畢業(yè)設(shè)計-----基于單片機(jī)的數(shù)字溫控計
- 畢業(yè)設(shè)計----基于單片機(jī)的數(shù)字溫控計
- 基于單片機(jī)的數(shù)字式競賽搶答器畢業(yè)設(shè)計
- 畢業(yè)設(shè)計——基于單片機(jī)的數(shù)字溫度計設(shè)計
- 基于單片機(jī)的數(shù)字溫度計畢業(yè)設(shè)計
- 基于單片機(jī)的數(shù)字溫度計畢業(yè)設(shè)計
- 基于單片機(jī)的數(shù)字溫度計設(shè)計 畢業(yè)設(shè)計
- 基于單片機(jī)數(shù)字溫度計畢業(yè)設(shè)計
評論
0/150
提交評論