版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 畢 業(yè) 論 文</p><p> 摘要: 本設(shè)計就介紹了一種基于氣壓傳感器MPX4105的精密數(shù)字氣壓計系統(tǒng)的實時顯示設(shè)備。它通過氣壓傳感器MPX4105獲得與大氣壓相對應(yīng)的模擬電壓值,并經(jīng)過電壓/頻率(V/F)轉(zhuǎn)換模塊轉(zhuǎn)換為數(shù)字脈沖,通過單片機接收該脈沖信號,得到單位時間內(nèi)獲得的脈沖數(shù),依據(jù)電壓與頻率的線性關(guān)系式計算出所對應(yīng)的實際氣壓值,最后在單片機的控制下由液晶顯示電路顯示出
2、實際氣壓值。闡述了系統(tǒng)的軟件設(shè)計,以C語言為開發(fā)工具,進(jìn)行了詳細(xì)設(shè)計和編碼??傮w目標(biāo)是實現(xiàn)系統(tǒng)的可靠性、穩(wěn)定性、安全性和經(jīng)濟(jì)性。 </p><p> 關(guān)鍵詞:氣壓傳感器,電壓/頻率轉(zhuǎn)換,單片機,液晶顯示</p><p> Abstract: This design is introduced which is based on pressure sensor MPX4105 preci
3、sion digital barometer of real-time display device. System It through the air pressure sensor MPX4105 was obtained with the atmospheric pressure corresponding simulation voltage values, and through voltage/frequency (V/F
4、) conversion module converted to digital pulse, through the microcontroller receives the pulse signal, receive an unit time get, according to the number of pulses of linear equation of voltage and </p><p>
5、Keywords: mcu,pressure sensor,v/f transferor,lcd</p><p><b> 目錄</b></p><p><b> 1 緒論3</b></p><p> 1.1 課題背景3</p><p> 1.2 技術(shù)概況及發(fā)展趨勢3</p&
6、gt;<p> 1.3 數(shù)字氣壓計系統(tǒng)設(shè)計的意義5</p><p> 2 系統(tǒng)總體設(shè)計5</p><p> 2.1 設(shè)計思路分析5</p><p> 2.2 系統(tǒng)總體結(jié)構(gòu)6</p><p> 2.3 系統(tǒng)各功能模塊的設(shè)計思想7</p><p> 2.4 氣壓傳感器的選擇
7、8</p><p> 2.5 A/D轉(zhuǎn)換器件的選擇9</p><p> 2.6 三端穩(wěn)壓器10</p><p> 2.7 系統(tǒng)配置10</p><p> 3 硬件電路設(shè)計10</p><p> 3.1 單片機電路部分10</p><p> 3.2 氣壓傳感和V/F
8、轉(zhuǎn)換電路部分13</p><p> 3.3 氣壓計電源與單片機電路部分16</p><p> 4 軟件設(shè)計18</p><p> 4.1 如何由頻率計算出氣壓值18</p><p> 4.2 程序流程圖19</p><p> 5 系統(tǒng)調(diào)試與仿真19</p><p>
9、 5.1 Keil軟件介紹19</p><p> 5.2 PROTEUS軟件介紹20</p><p><b> 結(jié)論22</b></p><p><b> 參考文獻(xiàn)23</b></p><p><b> 致 謝24</b></p><
10、;p><b> 程序代碼25</b></p><p><b> 1 緒論</b></p><p><b> 1.1 課題背景</b></p><p> 壓計是一種測量大氣壓的裝置,一般把作用于單位面積上空氣柱的重量稱為大氣壓力,簡稱氣壓。氣象學(xué)研究表明,在空間垂直方向上氣壓隨高度增加
11、而降低,這種變化的幅度在近表面和高空時又有所不同,近地表時氣壓隨高度增加而降低的幅度最大,越到高空這種變化越緩慢。氣壓還會受空氣中的氣流影響,若空氣中有下降氣流,氣壓會增加;若空氣中有上升氣流,氣壓會減小。</p><p> 本課題要求利用單片機控制實現(xiàn)氣壓計功能,而單片機的接口信號必須是數(shù)字信號,因此想要用單片機獲取氣壓這類非電信號的信息,必須使用氣壓傳感器。通過氣壓傳感器MPX4105獲得與待測氣壓相對的模
12、擬電壓值,并經(jīng)過電壓/頻率(V/F)轉(zhuǎn)換模塊轉(zhuǎn)換為數(shù)字脈沖,得到單位時間內(nèi)獲得的脈沖數(shù),依據(jù)電壓與頻率的線性關(guān)系式計算出所對應(yīng)的實際氣壓值,最后在單片機的控制下由液晶顯示電路顯示出實際氣壓值。以C語言為開發(fā)工具,進(jìn)行了設(shè)計和編碼。總體目標(biāo)是實現(xiàn)系統(tǒng)的可靠性、穩(wěn)定性、安全性和經(jīng)濟(jì)性。</p><p> 1.2 技術(shù)概況及發(fā)展趨勢</p><p> 隨著科技的不斷發(fā)展,傳感器技術(shù)也在不斷
13、的進(jìn)步和創(chuàng)新, 利用新工藝傳感器技術(shù)的氣壓計將會越來越先進(jìn)和精準(zhǔn),系統(tǒng)的可靠性、穩(wěn)定性、安全性和經(jīng)濟(jì)性將會大幅的提高。而且趨于小型化、無線化、智能化、多功能化的發(fā)展?;趥鞲衅髟诒驹O(shè)計中的重要作用,下面介紹一下傳感器目前的技術(shù)性能和發(fā)展趨勢。</p><p> 1.2.1 技術(shù)性能</p><p> ?。?)高精度[1] 隨著科學(xué)研究的深入,工程控制的精確,要求傳感器的精度盡可能的提高,
14、對“在線”加工檢測要求高于0.1μm,對火箭發(fā)動機內(nèi)的動態(tài)壓力測量精度應(yīng)優(yōu)于0.1%,對材料微觀結(jié)構(gòu)的測量達(dá)到 m量級。 (2) 智能化 傳感器技術(shù)要有認(rèn)識廣闊空間狀態(tài)的功能,首先遇到的問題是自動化系統(tǒng)的復(fù)雜化。例如鋼鐵工業(yè),首先是控制鋼板的厚度與成分,其次是檢測表面的缺陷和管理形狀。隨著從點管理到形狀等面管理的復(fù)雜化,暴露了敏感器件和信號處理的弱點。機器人出現(xiàn)后,對傳感器智能化要求更加迫切,沒有視覺和觸覺的
15、機器人,其作業(yè)受到很大的限制,通用性明顯減小。又如宇宙飛船和衛(wèi)星向地球傳送的信息,龐大的數(shù)據(jù)應(yīng)先由智</p><p> 能傳感器分散處理后再向地球傳送壓縮數(shù)據(jù),這樣才能提高系統(tǒng)的效率。傳感器分散處理信號,說明更接近人的五官,因此,傳感器的智能化是進(jìn)步的必然結(jié)果。 (3) 微型化與集成化 在很多測試場合,要求傳感器有盡可能小的尺寸,如彈載傳感器,生物醫(yī)學(xué)中插入人體內(nèi)的傳感器,
16、風(fēng)洞中測壓力場分布的傳感器等,都要求盡量微型化。實現(xiàn)微型化除了傳感器變換元件必須微型化外,更重要的是與傳感元件密切關(guān)聯(lián)的放大器、溫度補償器、信號儲存與處理電路等也必須微型化。采用集成電路技術(shù)成功地將傳感元件和電路集成在一塊芯片上,做到既微型又穩(wěn)定,是傳感器發(fā)展的必然趨勢。</p><p> 1.2.2 發(fā)展趨勢</p><p> 1 新材料開發(fā)[2]</p><p
17、> 傳感器材料是傳感器技術(shù)的重要基礎(chǔ), 是傳感器技術(shù)升級的重要支撐。隨著材料科學(xué)的進(jìn)步,傳感器技術(shù)日臻成熟,其種類越來越多,除了早期使用的半導(dǎo)體材料、陶瓷材料以外,光導(dǎo)纖維以及超導(dǎo)材料的開發(fā),為傳感器的發(fā)展提供了物質(zhì)基礎(chǔ)。例如,根據(jù)以硅為基體的許多半導(dǎo)體材料易于微型化、集成化、多功能化、智能化,以及半導(dǎo)體光熱探測器具有靈敏度高、精度高、非接觸性等特點,發(fā)展紅外傳感器、激光傳感器、光纖傳感器等現(xiàn)代傳感器;在敏感材料中,陶瓷材料、有
18、機材料發(fā)展很快,可采用不同的配方混合原料,在精密調(diào)配化學(xué)成分的基礎(chǔ)上,經(jīng)過高精度成型燒結(jié),得到對某一種或某幾種氣體具有識別功能的敏感材料,用于制成新型氣體傳感器。此外,高分子有機敏感材料,是近幾年人們極為關(guān)注的具有應(yīng)用潛力的新型敏感材料,可制成熱敏、光敏、氣敏、濕敏、力敏、離子敏和生物敏等傳感器。傳感器技術(shù)的不斷發(fā)展,也促進(jìn)了更新型材料的開發(fā),如納米材料等。美國NRC公司已開發(fā)出納米ZrO2 氣體傳感器,控制機動車輛尾氣的排放,對凈化環(huán)
19、境效果很好,應(yīng)用前景比較廣闊。由于采用納米材料制作的傳感器,具有龐大的界面,能提供大量的氣體通道,而且導(dǎo)通電阻很小,有利于傳感器向微</p><p><b> 2、智能化發(fā)展</b></p><p> 80 年代發(fā)展起來的智能化傳感器是微電子技術(shù)、微型電子計算機技術(shù)與檢測技術(shù)相結(jié)合的產(chǎn)物,具有測量、存貯、通信、控制等特點。</p><p>
20、 智能化傳感器一般主要由主傳感器、輔助傳感器及微機硬件系統(tǒng)三大部分構(gòu)成。也就是說,智能化傳感器是一種帶有微處理器的傳感器,它兼有檢測判斷和信息處理功能。例如美國霍尼爾公司的ST - 3000 型傳感器,是一種能夠進(jìn)行檢測和信號處理的智能傳感器,具有微處理器和存貯器功能,可測量差壓、靜壓及溫度等。又如一典型智能化壓力傳感器,其中主傳感器為壓力傳感器,它的作用是用來測量被測壓力參數(shù)的。</p><p> 20 多
21、年來,智能化傳感器有了很大的發(fā)展。近年來,智能化傳感器開始同人工智能相結(jié)合,創(chuàng)造出各種基于模糊推理、人工神經(jīng)網(wǎng)絡(luò)、專家系統(tǒng)等人工智能技術(shù)的高度智能傳感器,稱為軟傳感器技術(shù)。它已經(jīng)在家用電器方面得到利用,相信未來將會更加成熟。智能化傳感器是傳感器技術(shù)未來發(fā)展的主要方向。在今后的發(fā)展中,智能化傳感器無疑將會進(jìn)一步擴(kuò)展到化學(xué)、電磁、光學(xué)和核物理等研究領(lǐng)域。</p><p> 1.3 數(shù)字氣壓計系統(tǒng)設(shè)計的意義<
22、/p><p> 氣壓計廣泛應(yīng)用于國防 、工業(yè)、醫(yī)療等領(lǐng)域以及我們?nèi)粘<彝ド钪小K暮诵脑褪菤鈮簜鞲衅?,它在監(jiān)視壓力大小、控制壓力變化以及物理參量的測量等方面起著重要作用。運用于氣壓計的氣壓傳感器基本都是依靠不同高度時的氣壓變化來獲取氣壓值的。本課題是要設(shè)計一個利用微控制和數(shù)字化氣壓傳感器為核心元件組成的電子氣壓計系統(tǒng)。其中核心元件就是氣壓傳感器,它在監(jiān)視壓力大小、控制壓力變化以及物理參量的測量等方面起著重要作
23、用。運用于氣壓計的氣壓傳感器基本都是依靠不同高度時的氣壓變化來獲取氣;本課題設(shè)計的數(shù)字氣壓計采用單片機控制,使用方便、精度高、顯示簡單靈活,并可靈活的加入超壓、低壓報警、無線傳輸?shù)忍厥夤δ?,而且可以大幅提高被控氣壓的技術(shù)指標(biāo)。通過本課題的設(shè)計,較好的鍛煉了我的動手能力,為將來的工作打下了一定的基礎(chǔ),在運用過程中,熟悉并掌握了這些知識的理解和運用。</p><p><b> 2 系統(tǒng)總體設(shè)計</
24、b></p><p> 2.1 設(shè)計思路分析</p><p> 2.1.1 設(shè)計方案一</p><p> 采用單片機主控,通過壓力傳感器、A/D轉(zhuǎn)換采集數(shù)據(jù)信息,經(jīng)過含有單片機的檢測系統(tǒng)檢測,將結(jié)果傳送到單片機控制的主控器,數(shù)據(jù)通過顯示器顯示。原理框圖如下:</p><p> 圖2-1 方案一原理圖</p>&
25、lt;p> 2.1.2 設(shè)計方案二</p><p> 采用集成的單片機主控,通過壓力傳感器將氣壓信號送入帶A/D轉(zhuǎn)換的單片機中,以及在相關(guān)模擬分立元件的輔助下進(jìn)行A/D轉(zhuǎn)換以及其它的數(shù)據(jù)處理,將處理的結(jié)果送顯示部分進(jìn)行顯示。原理原理框圖如下:</p><p> 圖2-2 方案二原理圖</p><p> 綜上所述,方案一電路雖然與方案二類似,都較方案一
26、調(diào)整方便、可兼顧的指標(biāo)多,但方案一利用PC機平臺實現(xiàn)軟件操作,在操作運行復(fù)雜,并且性價較底,因為耗費較大,所以在實際應(yīng)用中一般不用,所以我們選擇第二種方案。</p><p> 設(shè)計51單片機數(shù)字氣壓計系統(tǒng)時,需要考慮下面4個方面的內(nèi)容。</p><p> 1·選擇合適的氣壓傳感器芯片,這要根據(jù)實際需要以及各種氣壓傳感器的性能參數(shù)來決定。</p><p>
27、; 2·選擇合適的A/D轉(zhuǎn)換器件,它的作用是將氣壓傳感器輸出的模擬電流或電壓信號轉(zhuǎn)換為數(shù)字信號。</p><p> 3·設(shè)計單片機和A/D轉(zhuǎn)換器件的接口電路。</p><p> 4·實現(xiàn)氣壓信息采集并輸出的軟件設(shè)計。</p><p> 2.2 系統(tǒng)總體結(jié)構(gòu)</p><p> 本系統(tǒng)的總體結(jié)構(gòu)框圖如圖2
28、-3所示。</p><p> 圖2-3 單片機數(shù)字氣壓計系統(tǒng)結(jié)構(gòu)框圖</p><p> 由圖2-3可知,整個系統(tǒng)的工作流程如下。</p><p> 測量時被測氣壓由氣壓傳感器轉(zhuǎn)換為模擬的電壓輸出,此輸出信號不能直接交由單片機處理。因此,需要經(jīng)過V/F轉(zhuǎn)換模塊把氣壓傳感器輸出的模擬電壓信號轉(zhuǎn)換為數(shù)字脈沖(其頻率隨輸入電壓呈線性變化)。通過單片機接收該脈沖信號,
29、得到單位時間內(nèi)獲得的脈沖數(shù),依據(jù)電壓與頻率的線性關(guān)系式計算出所對應(yīng)的實際氣壓值,最后通過LCD顯示電路顯示給用戶。</p><p> 2.3 系統(tǒng)各功能模塊的設(shè)計思想</p><p> 通過對單片機各個端口的設(shè)置,以及定時器工作方式和串行口工作方式的選擇,并對定時器和串行口進(jìn)行初始化用以實現(xiàn)對單片機和各個功能模塊芯片之間通訊聯(lián)絡(luò)的設(shè)定。在主程序模塊中我們關(guān)鍵是使單片機初始化,以及分配
30、地址空間交代程序中各個變量等。其中最為關(guān)鍵的是連接子程序的各個功能模塊。</p><p> 2.3.1 A/D轉(zhuǎn)換模塊</p><p> 單片機接受傳感器的電壓值為模擬信號,它要和A/D轉(zhuǎn)換模塊的鋸齒波發(fā)生裝置發(fā)送過來的標(biāo)準(zhǔn)模擬信號相比較,即通過P1.0和P1.1引腳進(jìn)行比較,同時開發(fā)定時器0,當(dāng)待測模擬信號超過標(biāo)準(zhǔn)模擬信號時,P3.6引腳信號將會發(fā)生變化,此時的定時器0的值通過量綱
31、轉(zhuǎn)化就得到了相應(yīng)的數(shù)字信號。</p><p> 2.3.2 數(shù)據(jù)處理模塊</p><p> 數(shù)據(jù)處理模塊主要是對A/D轉(zhuǎn)換模塊的數(shù)據(jù)進(jìn)行多次采集,并且對采集的數(shù)據(jù)進(jìn)行處理,此處理過程主要是對采集的數(shù)據(jù)進(jìn)行初值定義以及相應(yīng)的移位處理,并且把處理好的數(shù)據(jù)送入相應(yīng)的緩沖區(qū),為后面的顯示模塊作好準(zhǔn)備。</p><p> 2.3.3 顯示模塊</p>
32、<p> 本設(shè)計中選擇經(jīng)濟(jì)實惠的字符型液晶顯示器LCD1602。LCD1602可以顯示兩行,每行16個字符,采用+5V電源供電,外圍電路配置簡單,價格便宜,具有很高的性價比。顯示器部分的電路如圖2-4所示。</p><p> 圖2-4 顯示模塊原理圖</p><p> LCD1602是一種專門用于顯示字母、數(shù)字、符號等點陣式LCD。</p><p>
33、; LCD1602的外圍引腳及作用[6]:</p><p> 第1腳:VSS為地電源;</p><p> 第2腳:VDD接5V正電源;</p><p> 第3腳:VEE 為液晶顯示器對比度調(diào)整端,接正極電源時對比度最弱,接地電源時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度;</p><p>
34、第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><p> 第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時,液晶模塊執(zhí)行
35、命令;</p><p> 第7-14腳: D0~D7為8位雙向數(shù)據(jù)線;</p><p> 第15-16腳:空腳。</p><p> 1602液晶顯示器內(nèi)部的控制器共有11條控制指令,如表2-6所示:</p><p> 表2-6 1602的內(nèi)部指令表</p><p> 2.4 氣壓傳感器的選擇</p&
36、gt;<p> 氣壓傳感器對于數(shù)字氣壓計設(shè)計的實現(xiàn)至關(guān)重要,需要綜合實際的需求和各類氣壓傳感器的性能參數(shù)加以選擇。</p><p> 氣壓傳感器的主要性能參數(shù)如下。</p><p><b> 1·測量范圍</b></p><p> 即所能測量的大氣壓力范圍,單位為kPa。</p><p>
37、<b> 2·測量精度</b></p><p> 測量結(jié)果(電流或電壓)的精度。</p><p><b> 3·溫度補償范圍</b></p><p> 一般要選用具有溫度補償能力的氣壓傳感器,因為溫度補償特性可以克服半導(dǎo)體壓力敏感器件存在的溫度漂移問題。</p><p>
38、 4·測量的是否是絕對氣壓值</p><p> 絕對氣壓值對應(yīng)的即是實際的氣壓值,顯然要實現(xiàn)數(shù)字氣壓計需要測量絕對氣壓值的氣壓傳感器。</p><p> 數(shù)字氣壓計顯示的是絕對氣壓值,同時為了簡化電路,提高穩(wěn)定性和抗干擾能力,要求使用具有溫度補償能力的氣壓傳感器[1]。經(jīng)過綜合考慮,我們選用美國摩托羅拉公司的集成壓力傳感器芯片MPX4105作為氣壓傳感器。MPX4105可以
39、產(chǎn)生于所加氣壓呈線性關(guān)系的高精度模擬輸出電壓,它具有以下特點:</p><p> 1·供電范圍:4.85~5.35V,典型值為5.1V。</p><p> 2·測量范圍:15~105kPa。</p><p> 3·工作溫度范圍:0~85℃。</p><p> 4·溫度補償范圍:-40~+125℃
40、。</p><p> 5·測量精度為±1.7%VFSS。</p><p> 6·最低氣壓對應(yīng)的輸出電壓VOFF為0.184~0.428V,典型值為0.306V;最高氣壓對應(yīng)的輸出電壓VOFF為4.804~4.988V,典型值為4.896V;滿刻度輸出電壓間距VFSS的典型值為4.590V。</p><p> 7·理想的微
41、處理器接口。</p><p> 2.5 A/D轉(zhuǎn)換器件的選擇</p><p> 氣壓傳感器MPX4105輸出的是模擬電壓,因此,必須進(jìn)行A/D轉(zhuǎn)換才能交由單片機處理。關(guān)于A/D轉(zhuǎn)換,其模塊的特點是:轉(zhuǎn)換分辨率為10位,最多含8個輸入通道和一個內(nèi)部溫度傳感器。我采用一種電壓/頻率(V/F)轉(zhuǎn)換電路來實現(xiàn)模擬電壓的數(shù)字化處理。</p><p> V/F轉(zhuǎn)換電路由
42、V/F器件實現(xiàn)。V/F器件的作用是將輸入電壓的幅值轉(zhuǎn)換成頻率與輸入電壓幅值成正比的脈沖序列,雖然V/F器件本身還不能算做量化器,但加上定時器與計數(shù)器以后也可以實現(xiàn)A/D轉(zhuǎn)換。V/F器件的突出特點就是它能夠把模擬電壓轉(zhuǎn)換成抗干擾能力強、可遠(yuǎn)距離傳送并能直接輸入單片機接口的脈沖序列。通過測試V/F的輸出頻率。可以實現(xiàn)A/D轉(zhuǎn)換功能。</p><p> 針對電路的實際需要,并考慮到外圍電路實現(xiàn)的難易程度和相應(yīng)的性能指
43、標(biāo),我選用國家半導(dǎo)體公司的芯片LM331來實現(xiàn)A/D轉(zhuǎn)換。LM331是一款高精度電壓/頻率轉(zhuǎn)換芯片,它具有以下特點:</p><p> 1·最大非線性誤差為0.01%。</p><p> 2·可單、雙電源供電,電壓范圍為5~40V。</p><p> 3·脈沖輸出可兼容任何邏輯形式。</p><p> 4
44、·內(nèi)部具有溫度補償能隙基準(zhǔn)電路,因而具有極佳的溫度穩(wěn)定性,最大溫漂為±50ppm/℃。</p><p> 5·寬的滿量程頻率范圍:1Hz~100KHz。</p><p> 2.6 三端穩(wěn)壓器</p><p> 本設(shè)計中的LM331工作電源采用+15V,但是單片機、MPX4105等其他芯片需要+5V供電,因此還需要設(shè)計專門的供電電
45、路以滿足整個系統(tǒng)的電源需求。選用摩托羅拉公司的三端低電流線性穩(wěn)壓芯片MC78L05作為電源電路。其輸入電壓范圍:2.6~24V,輸出+5V 固定電壓;具有內(nèi)部短路電路限制和熱過載保護(hù)功能,無需外部元器件。</p><p><b> 2.7 系統(tǒng)配置</b></p><p> 我們以AT89C52單片機為整個系統(tǒng)的核心,通過氣壓傳感器對氣壓信號的采集、控制、放大等
46、處理完成氣壓參數(shù)的自動獲取,以及進(jìn)行數(shù)字顯示等等。在此過程中需要利用AT89C52單片機內(nèi)部的定時器對其進(jìn)行度量,再使用軟件模塊對其進(jìn)行處理,即得到了A/D轉(zhuǎn)換的結(jié)果。進(jìn)行多次A/D轉(zhuǎn)換后,我們就可以采集到一脈沖序列的數(shù)據(jù),對這些數(shù)據(jù)進(jìn)行適當(dāng)?shù)奶幚恚詈笸ㄟ^數(shù)碼管顯示電路顯示給用戶,進(jìn)而達(dá)到了我們對整個系統(tǒng)設(shè)計的基本要求。</p><p><b> 3 硬件電路設(shè)計</b></p&
47、gt;<p> 經(jīng)過之前的分析,單片機系統(tǒng)中的數(shù)碼管顯示電路,它通常由譯碼器、驅(qū)動器和顯示器等部分組成,是將采集到得氣壓值通過數(shù)碼管顯示的電路。</p><p> 硬件電路離不開功能性器件,因此首先來看看本數(shù)字氣壓計所采用的主要器件。</p><p> 3.1 單片機電路部分</p><p> 3.1.1 主要芯片介紹</p>
48、<p><b> 89C52單片機</b></p><p> 89C52單片機的40條引腳按功能來分,可以分為3部分,電源及時鐘引腳、控制引腳和輸入/輸出引腳。如下圖3-1所示:</p><p> 89C52單片機引腳功能</p><p><b> 主電源及時鐘引腳</b></p><
49、p> 此類引腳包括電源引腳Vcc、Vss、時鐘引腳XTAL1、XTAL2。</p><p> ?。?)Vcc(40腳):接+5V電源,為單片機芯片提供電能。</p><p> ?。?)Vss(20腳)接地。</p><p> ?。?)XTAL1(19腳)在單片機內(nèi)部,它是一個反向放大器的輸入端,該放大器構(gòu)成了片內(nèi)的振蕩器,可提供單片機的時鐘控制信號。<
50、/p><p> (4)XTAL2(18腳)在單片機內(nèi)部,接至上述振蕩器的反向輸出端。</p><p><b> 控制引腳</b></p><p> 此類引腳包括RESET(即RSR/VPD)、ALE/PROG、PSEN、EA/VPP,可以提供控制信號,有些具有復(fù)用功能。</p><p> 圖3-1 單片機引腳圖<
51、;/p><p> ?。?)RSR/ VPD(9腳):復(fù)位信號輸入端,高電平有效,當(dāng)振蕩器運行時,在此引腳加上兩個機器周期的高電平將使單片機復(fù)位(REST)。復(fù)位后應(yīng)使此引腳電平保持為不高</p><p> 于0.5V的低電平,以保證單片機正常工作。</p><p> 掉電期間,此引腳可接上備用電源(VPD),以保持內(nèi)部RAM中的數(shù)據(jù)不丟失。當(dāng)Vcc下降到低于規(guī)定值,
52、而VPD在其規(guī)定的電壓范圍內(nèi)(5±0.5V)時,VPD就向內(nèi)部RAM提供備用電源。</p><p> (2)ALE/PROG(30腳):ALE為地址鎖存允許信號。當(dāng)單片機訪問外部存儲器時,ALE(地址鎖存允許)輸出脈沖的下降沿用于鎖存16位地址的低8位。即使不訪問外部存儲器,ALE端仍有周期性正脈沖輸出,其頻率為振蕩器頻率的1/6。但是每當(dāng)訪問外部數(shù)據(jù)存儲器時,在兩個機器周期中ALE只出現(xiàn)一次,即丟失
53、一個ALE脈沖。ALE端可以驅(qū)動8個LSTTL負(fù)載。</p><p> ?。?)PSEN(29腳):程序存儲器允許輸出控制端。此輸出為單片內(nèi)訪問外部程序存儲器的讀選通信號。在從外部程序存儲器取指令(或取常數(shù))期間,每個機器周期均PSEN兩次有效。但在此期間,每當(dāng)訪問外部數(shù)據(jù)存儲器時,這兩次有效的PSEN信號將不會出現(xiàn)。PSEN同樣可以驅(qū)動8個LSTTL負(fù)載。</p><p> ?。?)EA
54、/VPP(31腳):EA功能為內(nèi)外程序存儲器選擇控制端。當(dāng)EA端保持高電平時,單片機訪問內(nèi)部程序存儲器,但在PC(程序計數(shù)器)值超過0FFFH時將自動轉(zhuǎn)向執(zhí)行外部程序存儲器內(nèi)的程序。</p><p><b> 輸入/輸出引腳</b></p><p> 此類引腳包括P0口、P1口、P2口和P3口。</p><p> (1)P0(P0.0~P
55、0.7)是一個8位三態(tài)雙向I/O口,在不訪積壓處部存儲器時,做通用I/O口使用,用于傳送CPU的輸入/輸出數(shù)據(jù),當(dāng)訪問外部存儲器時,此口為地址總路線低8位及數(shù)據(jù)總路線分時復(fù)用口,可帶8個LSTTL負(fù)載。</p><p> ?。?)P1(P1.0~P2.7)是一個8位準(zhǔn)雙向I/O口(作為輸入時,口鎖存器置1),帶有內(nèi)部上拉電阻,可帶4個LSTTL負(fù)載。</p><p> ?。?)P2(P2.
56、0~P2.7)是一個8位準(zhǔn)雙向I/O口,與地址總路線高8位復(fù)用,可驅(qū)動4個LSTTL負(fù)載。</p><p> (4)P3口功能表,如下表3-2所示:</p><p> 圖 3-2 P3口功能表</p><p> 3.2 氣壓傳感和V/F轉(zhuǎn)換電路部分</p><p> MPX4105壓力傳感芯片</p><p&
57、gt; 氣壓傳感器選用摩托羅拉公司生產(chǎn)地集成壓力傳感芯片MPX4105,其引腳分布如圖3-3所示。</p><p> 圖3-3 MPX4105引腳分布圖</p><p> 各引腳功能說明如下:</p><p> VOUT(1腳):電壓輸出腳。</p><p> GND(2腳):接地端。</p><p>
58、NC(4、5、6腳):空引腳,用于芯片內(nèi)部連接,懸空不適用。</p><p> LM331電壓/頻率轉(zhuǎn)換器</p><p> 電壓/頻率轉(zhuǎn)換器選用國家半導(dǎo)體公司的高精度V/F轉(zhuǎn)換芯片LM331,其引腳分布如下圖3-4所示。</p><p> 各引腳功能說明如下:</p><p> CO(1腳):電流輸出腳。</p>&l
59、t;p> RefC(2腳):基準(zhǔn)電流腳。此引腳可接一固定電阻串聯(lián)一個可變電阻器的組合,用于調(diào)整轉(zhuǎn)換增益。</p><p> FO(3腳):脈沖序列輸出腳。該序列的頻率值對應(yīng)于輸入電壓的脈沖序列。</p><p> GND(4腳):接地端。</p><p> R/C(5腳):組容網(wǎng)絡(luò)引腳。</p><p> Thre(6腳):閾
60、值電壓腳。芯片內(nèi)部的電壓比較器會對此引腳上的電壓和7腳CmpIn上的電壓作比較。</p><p> CmpIn(7腳):比較器電壓輸入腳。需要進(jìn)行V/F轉(zhuǎn)換的電壓經(jīng)過低通濾波后由此引腳輸入。</p><p> VCC(8腳):電源腳??刹捎脝?、雙電源供電,輸入電壓5~40V。</p><p> 圖3-4 LM331引腳圖</p><p>
61、; MC78L05電源電路</p><p> 由于數(shù)字氣壓計采用的是+15V電源供電,LM331工作于+15V,但是單片機、MPX4105等其他芯片需要+5V供電,因此還需要設(shè)計專門的供電電路以滿足整個系統(tǒng)的電源需求。電源電路選用摩托羅拉公司的三端低電流線性穩(wěn)壓芯片MC78L05。MC78L05具有以下特點:</p><p> 1.輸入電壓范圍:2.6~24V,輸出+5V固定電壓;&
62、lt;/p><p> 2.具有內(nèi)部短路電路限制和熱過載保護(hù)功能;</p><p><b> 3.無須外部器件。</b></p><p> 其引腳分布如圖3-5所示。</p><p> 各引腳功能說明如下:</p><p> Vout(1腳):+5V固定電壓輸出腳。</p>&l
63、t;p> GND(2腳):接地端。</p><p> Vin(3腳):電壓輸入腳,可輸入的電壓范圍為2.6~24V。</p><p> 圖3-5 MC78L05引腳分布圖</p><p> 數(shù)字氣壓計的硬件電路可分為4個部分:氣壓傳感器、V/F轉(zhuǎn)換電路、單片機電路和電源電路。</p><p> 氣壓傳感和V/F轉(zhuǎn)換電路的原理
64、圖如圖3-6所示。 </p><p> 圖3-6 基于MPX4105的數(shù)字胎壓計系統(tǒng)氣壓傳感及V/F轉(zhuǎn)換電路原理圖</p><p> 圖3-5中,M1為氣壓傳感芯片MPX4105,它工作于+5V電壓,將被測電壓轉(zhuǎn)換為輸出電壓(對應(yīng)圖中網(wǎng)絡(luò)標(biāo)號為Vin),送至V/F轉(zhuǎn)換電路。電阻R10和電容C4構(gòu)成典型的去耦合濾波電路。</p><p> U2為V/F轉(zhuǎn)換芯片
65、LM331,它工作于+15V電壓,此電路的設(shè)計可參考LM331的芯片資料。在此電路中,電壓Vin和輸出脈沖FO的頻率fo的轉(zhuǎn)換關(guān)系滿足公式(1)。</p><p> Fo=Kvin (1)</p><p><b> 其中,</b></p><p> K=, Rs=R12+R13
66、 (2)</p><p> 電路中,Rt、Ct和RL的典型值分別為6.8k?、0.01pf和100k?,Rs由一個定值電阻R12和一個可變電路R13串聯(lián)組成,其中,R12為22k?,R13的最大阻值為12k?,通過可變電阻R13調(diào)節(jié)Rs的阻值可以實現(xiàn)對電路轉(zhuǎn)換增益的調(diào)整。</p><p> 氣壓的變化引起Vin的變化,而Vin在滿刻度輸出電壓間距V內(nèi)變化
67、,V典型值為4.590V,所以Vin變化范圍很小,那么根據(jù)fo=KVin的關(guān)系式,必須增大K值,才能提高測量的精度。fo通過單片機的定時/計數(shù)器1的計數(shù)測得,該計數(shù)器的計數(shù)范圍為0~65536,500ms計數(shù)頻率1次。因此,K值的選取還要考慮到計數(shù)器的計數(shù)范圍。綜合考慮之后,將K值設(shè)為2000,這樣代入式(2)計算,可知R13的阻值應(yīng)調(diào)節(jié)到6.424k?。</p><p> 圖3-5中,Cin和Rin構(gòu)成低通濾
68、波器,濾除輸入電壓信號中的干擾脈沖。其中,Cin取0.1,Rin取100k?,C的取容值為1的漏極電流小的電容。</p><p> 3.3 氣壓計電源與單片機電路部分</p><p> 數(shù)字氣壓計的設(shè)計的電源與單片機電路原理圖如圖所示。</p><p> 圖3-7 基于MPX4105的數(shù)字胎壓計系統(tǒng)設(shè)計及單片機電路原理圖</p><p&
69、gt; 圖3-7中,U3為電源轉(zhuǎn)換芯片MC78L05,它將+15V電壓轉(zhuǎn)換為+5V電壓,提供單片機和氣壓傳感芯片使用。U1為單片機芯片AT89C52,工作于11.592MHz時鐘,它的P3.5腳(定時/計數(shù)器1外部脈沖輸入端)和FO相連,對脈沖序列計數(shù),以獲取頻率信息,從而轉(zhuǎn)換為氣壓值。U1的P0口和P2口是和數(shù)碼管顯示電路的接口,其中,P0口味8位段碼,P2口提供5位位碼(5位7段數(shù)碼管顯示),數(shù)字顯示電路是許多數(shù)字設(shè)備不可缺少的部
70、分。數(shù)字顯示電路通常由譯碼器、驅(qū)動器和顯示器等部分組成,如圖3-8所示。</p><p> 圖3-8 數(shù)字顯示電路組成方塊圖</p><p> 數(shù)碼的顯示方式一般有三種:第一種是字型重疊式;第二種是分段式;第三種是點陣式。目前以分段式應(yīng)用最為普遍,主要器件是七段發(fā)光二極管(LED)顯示器。它可分為兩種,一是共陽極顯示器(發(fā)光二極管的陽極都接在一個公共點上),另一是共陰極顯示器(發(fā)光二
71、極管的陽極都接在一個公共點上,使用時公共點接地)。</p><p> 最后給出該課題設(shè)計的完整原理圖,如下圖3-9所示:</p><p> 圖3-9 完整原理圖</p><p><b> 4 軟件設(shè)計</b></p><p> 就該設(shè)計的單片機而言,它的輸入信號是具有一定頻率的脈沖序列,通過單片機內(nèi)部的計數(shù)
72、器可以獲得此脈沖序列的頻率,此頻率對應(yīng)于某個氣壓值,如何將頻率換算成該氣壓值是軟件設(shè)計首先需要考慮的問題。</p><p> C語言是一種編譯型的結(jié)構(gòu)化程序設(shè)計語言,具有簡單的語法結(jié)構(gòu)和強大的處理功能,具有運行速度快、編譯效率高,移植性好和可讀性強等多種優(yōu)點,可以實現(xiàn)對系統(tǒng)便件的直接操作。用C語言來編寫目標(biāo)系統(tǒng)軟件,可以大大縮短開發(fā)周期,且明顯地增加軟件的可讀性,便于改進(jìn)和擴(kuò)充,從而開發(fā)出大規(guī)模、高性能的應(yīng)用系
73、統(tǒng)[4]。其優(yōu)勢如下</p><p> ?。?)可以大幅度加快開發(fā)進(jìn)度,程序量越大,用C語言就越有優(yōu)勢。</p><p> ?。?)無需精通單片機指令集和具體的硬件,也能夠編出符合硬件實際專業(yè)水平的程</p><p> (3)可以實現(xiàn)軟件的結(jié)構(gòu)化編程,使得軟件的邏輯結(jié)構(gòu)變得清晰、有條理、便于開發(fā)小組計劃任務(wù)、分工合作。源程序的可讀性和可維護(hù)性都很好。</p&
74、gt;<p> ?。?)省去了人工分配單片機資源的工作,在匯編語言中要為每一個子程序分配單片機的資源。在使用C語言后,只要在代碼中申明一下變量的類型,編譯器就會自動分配相</p><p> 關(guān)資源,根本不需要人工干預(yù),從而有效地避免了人工分配單片機資源的差錯。</p><p> ?。?)匯編語言的可移植性很差,而C語言只要將一些與硬件相關(guān)的代碼作適當(dāng)?shù)男薷?,就可以方便地移?/p>
75、到其它種類的單片機上。</p><p> ?。?)C語言提供auto、static、flash等存儲類型,針對單片機的程序存儲空間、數(shù)據(jù)存儲空間及EEPROM空間自動為變量合理地分配空間,而且C語言提供復(fù)雜的數(shù)據(jù)類型,極大地增強了程序處理能力和靈活性。C編譯器能夠自動實現(xiàn)中斷服務(wù)程序的現(xiàn)場保護(hù)和恢復(fù),并且提供常用的標(biāo)準(zhǔn)函數(shù)庫,供用戶使用。并且C編譯器能自動生成一些硬件的初始化代碼。</p><
76、p> (7)對于一些復(fù)雜系統(tǒng)的開發(fā),可以通過移植(或C編譯器提供)的實時操作系統(tǒng)來實現(xiàn)。</p><p> 正由于C語言在系統(tǒng)開發(fā)中的優(yōu)勢,這次設(shè)計的所有程序設(shè)計都將采用C語言編寫。</p><p> 4.1 如何由頻率計算出氣壓值</p><p> 信號每一步的變換過程如下:</p><p> 第一步,被測氣壓經(jīng)過氣壓傳感器
77、MPX4105轉(zhuǎn)換成電壓輸出,根據(jù)MPX4105的芯片資料可知,輸出電壓VOUT和大氣壓P的關(guān)系如下</p><p> VOUT=VCC(0.01P-0.09) (3)</p><p> 這里VCC為+5V,因此可得:</p><p> VOUT=5(0.01P-0.09)
78、(4)</p><p> 第二步,MPX4105的輸出電壓VOUT作為輸入電壓Vin,經(jīng)過V/F轉(zhuǎn)換電路轉(zhuǎn)變?yōu)榫哂袑?yīng)頻率fo的脈沖序列FO。Vin和FO的這種對應(yīng)關(guān)系如上一節(jié)的式(1)所示。</p><p> 綜合式(1)和式(4),根據(jù)VOUT=Vin,可得:</p><p> P==+9 (5)<
79、;/p><p> 式(5)中,fo的單位為Hz,P的單位為kPa,K為V/F轉(zhuǎn)換增益,設(shè)計中K值為2000。在軟件中,根據(jù)式(5)編程計算得到氣壓值P。</p><p> 程序設(shè)定如下:T0為定時器,基本的定時時基50ms。T1為計數(shù)器運用內(nèi)部中斷0可保證T0定時滿500ms后就讀取此時計數(shù)器的值以計算氣壓值,使T0、T1均工作于方式1并在P0口送字型碼,同時可用P2.0—P2.4提供片選
80、碼。</p><p> 4.2 程序流程圖</p><p> 單片機實現(xiàn)數(shù)字氣壓計的程序流程如圖4-1所示。</p><p> 圖4-1 單片機實現(xiàn)數(shù)字氣壓計的程序流程圖</p><p> 5 系統(tǒng)調(diào)試與仿真</p><p> 這個設(shè)計的仿真軟件主要講述的是Keil軟件與Proteus軟件的結(jié)合與應(yīng)用
81、。</p><p> 5.1 Keil軟件介紹</p><p> Keil C51[5]是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng)。與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil C51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全Windows界面。Keil可以完成編輯、編譯、連接、調(diào)試、仿真等整
82、個開發(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)的Hex文件,以供調(diào)試器dScope51或tScope51使</p><p> 用進(jìn)行源代碼級調(diào)試,也可由仿真器使用直接對目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序
83、存儲器中。</p><p> Keil u Vision2 ADE是Keil software公司的產(chǎn)品,它集項目管理、編譯工具、代碼編寫工具、代碼調(diào)試以及完全仿真于一體,適合個人開發(fā)或人數(shù)少、對開發(fā)過程的管理還不成熟的開發(fā)團(tuán)體。</p><p> u Vision2本身自帶項目管理器,其開發(fā)流程步驟如下:</p><p> 1·開啟u Vision
84、2,建立工程文件并且從器件數(shù)據(jù)庫里挑選出項目實際使用的器件。</p><p> 2·建立一個新的源文件,并且把這個源文件添加到工程中去。為單片機添加并且設(shè)置啟動代碼。</p><p> 3·設(shè)置硬件相關(guān)的選項。</p><p> 4·編譯整個工程并且生成下載到存儲器用的HEX文件。</p><p> 5.
85、2 PROTEUS軟件介紹</p><p> Proteus與其它單片機仿真軟件不同的是,它不僅能仿真單片機CPU 的工作情況,也能仿真單片機外圍電路或沒有單片機參與的其它電路的工作情況。因此在仿真和程序調(diào)試時,關(guān)心的不再是某些語句執(zhí)行時單片機寄存器和存儲器內(nèi)容的改變,而是從工程的角度直接看程序運行和電路工作的過程和結(jié)果。對于這樣的仿真實驗,從某種意義上講,是彌補了實驗和工程應(yīng)用間脫節(jié)的矛盾和現(xiàn)象。
86、</p><p> Proteus提供了比較豐富的測試信號用于電路的測試。這些測試信號包括模擬信號和數(shù)字信號。對于單片機硬件電路和軟件的調(diào)試,Proteus提供了兩種方法:一種是系統(tǒng)總體執(zhí)行效果,一種是對軟件的分步調(diào)試以看具體的執(zhí)行情況。 對于總體執(zhí)行效果的調(diào)試方法,只需要執(zhí)行debug菜單下的execute菜單項或F12 快捷鍵啟動執(zhí)行,用debug菜單下的pause animation菜單項或pa
87、use鍵暫停系統(tǒng)的運行;或用debug菜單下的stop animation菜單項或shift-break組合鍵停止系統(tǒng)的運行。其運行方式也可以選擇工具欄中的相應(yīng)工具進(jìn)行。對于軟件的分步調(diào)試,應(yīng)先執(zhí)行debug菜單下的start/restart debugging菜單項命令,此時可以選擇stepover、step into和step out命令執(zhí)行程序(可以用快捷鍵F10、F11和ctrl+F11),執(zhí)行的效果是單句執(zhí)行、進(jìn)入子程序執(zhí)行和
88、跳出子程序執(zhí)行。在執(zhí)行了start / restart debuging命令后,在debug菜單的下面要出現(xiàn)仿真中所涉及到的軟件列表和單片機的系統(tǒng)資源等,可供調(diào)試時分析和查看。</p><p> 運行proteus的ISIS程序后,進(jìn)入該仿真軟件的主界面。在工作前,要設(shè)置view菜單下的捕捉對齊和system下的顏色、圖形界面大小等項目。通過工具欄中的p(從庫中選</p><p> 擇
89、元件命令)命令,在pick devices窗口中選擇電路所需的元件,放置元件并調(diào)整其相對位置,元件參數(shù)設(shè)置,元器件間連線,編寫程序;在source菜單的Definecode generation tools菜單命令下,選擇程序編譯的工具、路徑、擴(kuò)展名等項目;在source菜單的Add/removesource files命令下,加入單片機硬件電路的對應(yīng)程序;通過debug菜單的相應(yīng)命令仿真程序和電路的運行情況。</p>&
90、lt;p><b> 結(jié)論</b></p><p> 本次畢業(yè)設(shè)計在自己的努力,同學(xué)的幫助,老師的指點下已全部完成,結(jié)果重要,過程也很珍貴,在做畢業(yè)設(shè)計的過程中我學(xué)到了好多知識和經(jīng)驗,仔細(xì)認(rèn)真的想想總結(jié)一下將對自己是個質(zhì)的提升?,F(xiàn)先將此次畢業(yè)設(shè)計的成果簡要匯報如下:</p><p> ?完整的數(shù)字氣壓計設(shè)計方案</p><p> ?
91、如何選擇合適的氣壓傳感器</p><p> ?利用V/F轉(zhuǎn)換來實現(xiàn)模數(shù)的轉(zhuǎn)換</p><p> ?所需使用的電壓轉(zhuǎn)換電路提供+5V電源</p><p><b> ?低成本</b></p><p> 本設(shè)計中的氣壓計核心是單片機的使用。通過單片機接收該脈沖信號,得到單位時間內(nèi)獲得的脈沖數(shù),依據(jù)電壓與頻率的線性關(guān)系式
92、計算出所對應(yīng)的實際氣壓值,最后在單片機的控制下有液晶顯示電路顯示出實際氣壓值。本設(shè)計的特點是利用單片機和氣壓傳感器制作氣壓計。這樣不僅避免了傳統(tǒng)氣壓表精度低、顯示單一,又能使本系統(tǒng)設(shè)計的數(shù)字氣壓計在單片機控制下,具有使用方便、精度高、顯示簡單和靈活性等優(yōu)點,而且可以大幅提高被控氣壓的技術(shù)指標(biāo),從而能夠大大提高產(chǎn)品的質(zhì)量。經(jīng)過幾個月的設(shè)計工作終于完成了設(shè)計要求。</p><p><b> 參考文獻(xiàn)<
93、;/b></p><p> [1] 金篆芷,王明時.現(xiàn)代傳感器技術(shù)[M].北京:電子工業(yè)出版社,1995:3-4</p><p> [2]高曉蓉,傳感器技術(shù)[M].成都:西南交通大學(xué)出版社,2003:4-5</p><p> [3] 胡漢才.單片機原理及其接口技術(shù)[M]. 北京:清華大學(xué)出版社,8-9</p><p> [4]
94、譚浩強. C語言程序設(shè)計[M].北京:清華大學(xué)出版社,2000:18-19</p><p> [5] 徐愛鈞. Keil Cx51V7.0單片機高級語言編程與uVision2應(yīng)用實踐[M]. 電子工業(yè)出版社,2005:20-21</p><p><b> 致 謝</b></p><p> 感謝大學(xué)四年來所有的老師,為我們打下專業(yè)知識
95、的基礎(chǔ),他們教會我的不僅僅是專業(yè)知識,更多的是對待學(xué)習(xí)、對待生活的態(tài)度;同時還要感謝我的同學(xué)們,正是因為有了你們的支持和鼓勵,此次畢業(yè)設(shè)計才會順利完成。這四個月的設(shè)計是對過去所學(xué)知識的系統(tǒng)提高和擴(kuò)充的過程,為今后的發(fā)展打下了良好的基礎(chǔ)。</p><p> 畢業(yè)在即,回首這段時間,感慨萬千。最后衷心的感謝所有關(guān)心我,支持我的老師們、朋友們。</p><p><b> 程序代碼&
96、lt;/b></p><p><b> 相關(guān)源程序如下:</b></p><p> #include <AT89X52.H></p><p> #define uchar unsigned char</p><p> #define uint unsigned int</p>&l
97、t;p><b> uint Pa;</b></p><p> unsigned char T0count;</p><p> unsigned char timecount;</p><p><b> bit flag;</b></p><p> unsigned long x;&l
98、t;/p><p> sbit LCD_RS = P2^0;</p><p> sbit LCD_E = P2^2;</p><p> sbit LCD_RW = P2^1;</p><p> sbit key=P3^7;</p><p> #define LCD_DATA P0</p>
99、<p> //LCD顯示內(nèi)容,定義到代碼段</p><p> unsigned char code LcdBuf1[]= {" welcom! LM331"};</p><p> unsigned char code LcdBuf2[]= {" Voltage test!"};</p><p> un
100、signed char temp[8];</p><p> unsigned char dispbuf[8]={0,0,0,0,0,0,10,10};</p><p><b> //函數(shù)聲明</b></p><p> void lcd_init(void);</p><p> void display_str
101、ing(unsigned char x,unsigned char y,unsigned char *s);</p><p> void disp_selec(unsigned char bit_selec,unsigned char seg);</p><p> void delay(uint z)//延時1ms</p><p><b>
102、; {</b></p><p><b> uint x,y;</b></p><p> for(x=z;x>0;x--)</p><p> for(y=110;y>0;y--);</p><p><b> }</b></p><p> /*
103、*************************************************</p><p> ** 函數(shù)名稱: dellay</p><p> ** 入口參數(shù):h(unsigned int型)</p><p><b> ** 出口參數(shù):無</b></p><p> ** 功能描述: 短暫延
104、時,使用11.0592晶體,約0.01MS</p><p> ****************************************************/</p><p> void delay(unsigned int h)</p><p><b> {</b></p><p> while(h
105、--); //0.01MS</p><p><b> }</b></p><p> /**************************************************</p><p> ** 函數(shù)名稱: WriteDataLcd</p><p> ** 入口參數(shù):wdata(unsign
106、ed char型)</p><p><b> ** 出口參數(shù):無</b></p><p> ** 功能描述: 寫數(shù)據(jù)到LCD</p><p> ****************************************************/</p><p> void WriteDataLcd(un
107、signed char wdata)</p><p><b> {</b></p><p><b> LCD_RS=1;</b></p><p><b> LCD_RW=0;</b></p><p> LCD_DATA=wdata;</p><p&
108、gt; dellay(100); //短暫延時,代替檢測忙狀態(tài)</p><p><b> LCD_E=1;</b></p><p> dellay(100); //短暫延時,代替檢測忙狀態(tài)</p><p><b> LCD_E=0;</b></p><p><b>
109、 }</b></p><p> /**************************************************</p><p> ** 函數(shù)名稱: WriteCommandLcd</p><p> ** 入口參數(shù):wdata(unsigned char型)</p><p><b> *
110、* 出口參數(shù):無</b></p><p> ** 功能描述: 寫命令到LCD</p><p> ****************************************************/</p><p> void WriteCommandLcd(unsigned char wdata)</p><p>
111、<b> {</b></p><p><b> LCD_RS=0;</b></p><p><b> LCD_RW=0;</b></p><p> LCD_DATA=wdata;</p><p> dellay(100); //短暫延時,代替檢測忙狀態(tài)<
112、;/p><p><b> LCD_E=1;</b></p><p> dellay(100); //短暫延時,代替檢測忙狀態(tài)</p><p><b> LCD_E=0;</b></p><p><b> }</b></p><p><
113、b> //LCD初始化</b></p><p> void lcd_init(void)</p><p><b> {</b></p><p><b> LCD_E=0;</b></p><p> WriteCommandLcd(0x38);</p>&l
114、t;p> WriteCommandLcd(0x38); //顯示模式設(shè)置 WriteCommandLcd(0x08); //關(guān)閉顯示</p><p> WriteCommandLcd(0x0c);</p><p> WriteCommandLcd(0x06); //顯示光標(biāo)移動設(shè)置</p><p> WriteCommandLcd(0x01);
115、//顯示清屏</p><p> WriteCommandLcd(0x90); //顯示開及光標(biāo)移動設(shè)置</p><p><b> }</b></p><p> /**************************************************</p><p> ** 函數(shù)名稱: display
116、_xy</p><p> ** 入口參數(shù):x(unsigned char型),y(unsigned char型)</p><p><b> ** 出口參數(shù):無</b></p><p> ** 功能描述: 設(shè)置光標(biāo)位置, x是列號,y是行號</p><p> **************************
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機的數(shù)字氣壓計設(shè)計-畢業(yè)設(shè)計
- 畢業(yè)設(shè)計——基于單片機的數(shù)字氣壓計設(shè)計
- 基于單片機的數(shù)字氣壓計設(shè)計畢業(yè)論文
- 單片機氣壓計課程設(shè)計
- 基于單片機控制的數(shù)字氣壓計的設(shè)計與實現(xiàn)畢業(yè)設(shè)計
- 單片機控制的數(shù)字氣壓計的設(shè)計與實現(xiàn)畢業(yè)設(shè)計
- 基于單片機的數(shù)字式大氣壓計的設(shè)計--畢業(yè)設(shè)計
- 單片機氣壓計課程設(shè)計報告
- 基于單片機的數(shù)字氣壓計的設(shè)計與實現(xiàn)
- 基于單片機的頻率計設(shè)計-畢業(yè)設(shè)計(論文)
- 畢業(yè)設(shè)計(論文)基于單片機的頻率計設(shè)計
- 畢業(yè)設(shè)計論文基于單片機的溫度計的設(shè)計
- 畢業(yè)設(shè)計---基于mpx4105數(shù)字氣壓計的設(shè)計
- 畢業(yè)設(shè)計(論文)-基于單片機的數(shù)字溫度計設(shè)計
- 畢業(yè)設(shè)計(論文)基于單片機的數(shù)字溫度計設(shè)計
- 基于單片機的數(shù)字溫度計畢業(yè)設(shè)計論文
- 基于單片機的頻率計設(shè)計畢業(yè)設(shè)計
- 畢業(yè)設(shè)計----基于單片機的頻率計設(shè)計
- 畢業(yè)設(shè)計-----基于單片機的數(shù)字溫控計
- 畢業(yè)設(shè)計----基于單片機的數(shù)字溫控計
評論
0/150
提交評論