基于虛擬儀器的汽車儀表設(shè)計_第1頁
基于虛擬儀器的汽車儀表設(shè)計_第2頁
基于虛擬儀器的汽車儀表設(shè)計_第3頁
基于虛擬儀器的汽車儀表設(shè)計_第4頁
基于虛擬儀器的汽車儀表設(shè)計_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、目 錄摘 要IAbstractII第1章 引 言11.1 本課題的目的和意義11.2 汽車儀表的發(fā)展現(xiàn)狀21.3 本課題的主要內(nèi)容3第2章 功能分析42.1 汽車儀表盤系統(tǒng)功能分析42.2 車輛虛擬儀表系統(tǒng)42.2.1 虛擬儀表系統(tǒng)的優(yōu)勢42.2.2 虛擬儀表系統(tǒng)的實現(xiàn)步驟5第3章 總體設(shè)計方案63.1 總體設(shè)計思路63.1.1 汽車儀表及其顯示裝置的作用和組成63.1.2 汽車儀表的使用條件63.1.3 界面模塊73.2 總體設(shè)計框圖8第4章 系統(tǒng)的硬件設(shè)計94.1 傳感器簡介94.1.1 DS18B20溫度傳感器94.1.2 CR-6061-1數(shù)字油位傳感器94.1.3 OHG-01霍爾效

2、應(yīng)齒輪傳感器104.2 數(shù)據(jù)采集卡114.3 單片機主控模塊114.3.1 AT89S52概述114.3.2 AT89S52的主要性能114.3.3 AT89S52的引腳排列及功能124.3.4 AT89S52的最小系統(tǒng)144.3.5 3 位數(shù)碼管模塊介紹154.4 系統(tǒng)原理圖164.4.1 MAX232芯片簡介174.5 本章小結(jié)18第5章 系統(tǒng)的軟件設(shè)195.1 LabVIEW軟件簡介195.2 LabVIEW串口通信195.2.1 VISA串行通信基本功能模塊介紹205.2.2 VISA設(shè)計方法225.3 單片機程序設(shè)計235.3.1 系統(tǒng)工作流程235.3.2 按鍵子程序流程圖245.

3、3.3 顯示子程序流程圖255.4 數(shù)據(jù)采集程序的實現(xiàn)255.5 LabVIEW各功能模塊程序275.5.1 功能測試模塊275.6 本章小結(jié)32結(jié)束語33參考文獻34致 謝36附 錄37第1章 引 言1.1 本課題的目的和意義汽車儀表是汽車與駕駛員進行信息交流的窗口,也是汽車高尖技術(shù)的主要部分,各國一直在努力開發(fā)汽車儀表技術(shù),并不斷取得新的進展。汽車儀表正逐步向數(shù)字化和智能化方向發(fā)展,用數(shù)字化的虛擬儀表取代我國現(xiàn)階段普遍采用的電器式或電子式儀表已成為實現(xiàn)車輛自動化的一個重要課題。利用虛擬儀器技術(shù)模擬汽車儀表盤,設(shè)計綜合數(shù)據(jù)采集、信號分析、儀器面板等多項內(nèi)容的虛擬汽車儀表盤。利用單片機自身產(chǎn)生

4、轉(zhuǎn)速、耗油、速度等模擬和數(shù)字信號源,然后再進行模擬和數(shù)字信號的采集和分析,通過建立轉(zhuǎn)換函數(shù)模型在虛擬儀表盤上顯示發(fā)動機轉(zhuǎn)速、汽車車速、油耗、溫度及轉(zhuǎn)向燈等信息1。利用虛擬儀器技術(shù)模擬汽車儀表盤,不僅可以完成先進汽車儀表盤的功能,而且免去汽車機械及電子器件,降低成本,提高可研性,在計算機測控技術(shù)、汽車電子技術(shù)等課程的教學及開放實驗中具有廣泛的實用價值。我國汽車儀表行業(yè)自1 9 5 1 年創(chuàng)業(yè)、1956年生產(chǎn)出第一套儀表總成至今,雖然已實現(xiàn)了成套儀表生產(chǎn)和產(chǎn)品開發(fā),卻仍然滯后于整車的發(fā)展,且與世界發(fā)達國家相比,在產(chǎn)品質(zhì)量、技術(shù)裝備、科技含量、經(jīng)濟規(guī)模、成本價格、產(chǎn)品開發(fā)和競爭實力等方面,都存在相當

5、大的差距。而且,在微電子技術(shù)飛速發(fā)展、現(xiàn)代車用儀表新材料日新月異以及車用儀表精細加工技術(shù)日趨成熟的今天,傳統(tǒng)汽車儀表的概念受到了新的、越來越強烈的沖擊,汽車儀表無論是其內(nèi)涵還是外延都在悄悄地發(fā)生著質(zhì)的變化,大大拓展了人、車界面系統(tǒng)。同時,伴隨汽車工業(yè)規(guī)模生產(chǎn)和規(guī)模經(jīng)營的形成,以及對環(huán)保、安全保障、人機一體化等方面提出的更高要求和世界各國廣泛開展智能車輛公路系統(tǒng)(I V H S )的研究及應(yīng)用,越來越需要汽車儀表具有集感覺、識別、情況分析、信息庫、適應(yīng)和控制六個方面為一體的智能化系統(tǒng)功能。因此,汽車儀表正不斷融入當今各學科、各領(lǐng)域的新技術(shù)、新材料成果,向功能多元化、機電一體化、系統(tǒng)工程化、高度集

6、成化方向發(fā)展1,2。0隨著虛擬技術(shù)(VT)在汽車業(yè)應(yīng)用的日益廣泛3,特別是日臻成熟的智能車輛公路系統(tǒng)(IVHS)在應(yīng)用中所必需的車載微機系統(tǒng),必將促進虛擬儀器(VI )技術(shù)在汽車儀表中的應(yīng)用。這不但能改善汽車儀表工業(yè)的現(xiàn)狀,同時提高了硬件的利用率,從而降低了成本。虛擬儀器是隨著計算機技術(shù)、現(xiàn)代測量技術(shù)、電子儀器技術(shù)的發(fā)展產(chǎn)生的一種新型儀器。虛擬儀器將計算機資源與儀器硬件、DSP 技術(shù)結(jié)合,在系統(tǒng)內(nèi)共享軟硬件資源,既有普通儀器的功能,又有一般儀器所沒有的特殊功能。利用虛擬儀器思想建立的測試系統(tǒng)提高了測量精度、測量速度,減少了開關(guān)、電纜,系統(tǒng)易擴充、易修改,使得測試系統(tǒng)體積小、靈活方便、成本低、效

7、率高,成為現(xiàn)代測試系統(tǒng)發(fā)展的主流。虛擬儀器沒有常規(guī)儀器的控制面板,而是利用計算機強大的圖形環(huán)境,在計算機屏幕上建立圖形化的軟面板來替代常規(guī)的儀器控制面板。軟面板上具有與實際儀器相似的旋鈕、開關(guān)、指示燈及其它控制部件。在系統(tǒng)集成后,對被測對象進行數(shù)據(jù)采集、分析、存儲、顯示,組建自己所需要的儀器。用戶不用編寫測試程序,即可進行測試、測量,實現(xiàn)了測試的自動化、智能化4,5。1.2 汽車儀表的發(fā)展現(xiàn)狀我國汽車儀表也經(jīng)歷了第一代機械式儀表,第二代電氣式儀表,第三代模擬電路電子式儀表,現(xiàn)在正在向第四代全數(shù)字汽車儀表邁進2。然而隨著電子控制系統(tǒng)單元(ECU)在汽車上廣泛應(yīng)用,汽車電子化程度越來越高。電控系統(tǒng)

8、的增加雖然提高了汽車的動力性、經(jīng)濟性和舒適性,但隨之增加的復雜電路,必然導致車身布線龐大而且復雜,安裝空間短缺。為了提高電控單元信息利用率,要求大量的數(shù)據(jù)信息能在不同的電子單元間共享,汽車綜合控制系統(tǒng)中大量的控制信號也需要實時交換,不同功能電子控制系統(tǒng)單元間的數(shù)據(jù)通信變得越來越重要。因此對電子控制系統(tǒng)單元的設(shè)計提出了越來越高的要求,不僅要求通信網(wǎng)絡(luò)應(yīng)具有通信速率高、準確、可靠性高,在控制模塊上也應(yīng)具有控制實效性高、空間小等優(yōu)點2。目前國內(nèi)汽車儀表行業(yè)在整體上仍滯后于整車的發(fā)展,“散、亂、差”的狀況尚未改變,與國外相比有很大的差距,表現(xiàn)在產(chǎn)品技術(shù)水平低,造型單調(diào),產(chǎn)品質(zhì)量可靠性和耐久性差,制造工

9、藝落后,產(chǎn)品檢測不完善,數(shù)字化程度低等方面3。 當今世界由于汽車排放、節(jié)能、安全和舒適性等使用性能不斷提高,使得汽車電子控制程度也越來越高。汽車電子控制裝置必須迅速、準確地處理各種信息,并通過電子儀表顯示出來,使駕駛員及時了解并掌握汽車的運行狀態(tài),妥善處理各種情況?,F(xiàn)在,汽車的故障診斷、全球?qū)Ш胶投ㄎ幌到y(tǒng)等大量復雜的信息服務(wù)系統(tǒng)已開始大量裝備到汽車上,汽車電子儀表作為信息顯示終端能夠完成這些任務(wù)。汽車電子儀表顯示裝置不僅能提供大量復雜的信息服務(wù),而且還有精度高和高可靠性、一表多用、外形設(shè)計美觀、自由度大、滿足小型輕量化要求等特點,因此電子儀表顯示裝置已成為現(xiàn)代汽車的發(fā)展新潮流,具有非常廣闊的發(fā)

10、展空間。1.3 本課題的主要內(nèi)容本設(shè)計為基于虛擬儀器的汽車儀表設(shè)計,主要分為四章進行全面闡述。第一章主要介紹了本設(shè)計的課題目的及意義和本設(shè)計的主要內(nèi)容。 第二章主要介紹本設(shè)計的功能分析。第三章主要介紹了本設(shè)計的設(shè)計要求以及方案論證,并對各個模塊的方案論證進行了詳細介紹。第四章詳細介紹了本設(shè)計的硬件電路設(shè)計。其硬件電路的設(shè)計包括單片機主控模塊設(shè)計、按鍵模塊設(shè)計、顯示模塊設(shè)計以及電源模塊設(shè)計等。本章給出了單片機程序流程圖、按鍵子程序流程圖、顯示子程序流程圖,并對每個流程圖進行了簡單的介紹。第五章介紹了本設(shè)計的軟件程序設(shè)計。本章給出了LabvIEW界面及串口等進行了比較具體的設(shè)計和說明,使得軟件設(shè)計

11、部分易于理解。 第2章 功能分析2.1 汽車儀表盤系統(tǒng)功能分析汽車儀表是用以監(jiān)測汽車各系統(tǒng)工作狀況的裝置,如當前車速、里程顯示、油量消耗、油耗警告等。駕駛員能通過汽車儀表隨時掌握汽車各部件的工作狀態(tài),為正確使用和維修發(fā)動機提供依據(jù)和指南。汽車儀表盤主要有以下幾大功能:1. 車速表車速表是用來指示汽車車速的裝置。其單位是公里小時(表面上標kmh)。表上的刻度線表示速度,指針指到不同的刻度線表示不同的速度。2. 里程表總里程表是記錄汽車累計行駛里程數(shù)的裝置,最小單位為米。3. 燃油表用來指示燃油箱內(nèi)的存油量,其單位是升(L),表上的刻度線表示存油量,指針指到不同的刻度線表示不同的存油量并在表盤上顯

12、示相應(yīng)的數(shù)據(jù)。若啟動引擎后,指針指向與庫存油量相對應(yīng)的位置,否則指針復零。4. 轉(zhuǎn)速表轉(zhuǎn)速表是用來指示發(fā)動機轉(zhuǎn)速的裝置,轉(zhuǎn)速表單位是r/min,即顯示發(fā)動機每分鐘轉(zhuǎn)多少轉(zhuǎn)。為選擇正確的換擋時機提供參考,使發(fā)動機保持額定轉(zhuǎn)速,以減少發(fā)動機的磨損并減少油耗。5. 溫度表汽車冷卻系統(tǒng)的功能是使發(fā)動機在所有工況下都保持在適當?shù)臏囟确秶鷥?nèi)。冷卻系統(tǒng)既要防止發(fā)動機過熱,也要防止冬季發(fā)動機過冷,溫度表的作用就是為駕駛員及時的提供冷卻液溫度指標,反映發(fā)動機的工況信息。6. 左右轉(zhuǎn)向燈它有前、后、側(cè)轉(zhuǎn)向信號燈之分,一般位于車輛的四角。汽車轉(zhuǎn)彎時,發(fā)出明暗交替的閃光信號,以表示汽車向左或向右轉(zhuǎn)向行駛。7. 時間

13、用來顯示當前時間。2.2 車輛虛擬儀表系統(tǒng)2.2.1 虛擬儀表系統(tǒng)的優(yōu)勢隨著汽車需要顯示的信息的增加,用傳統(tǒng)儀表的顯示方法顯示,車載的儀表數(shù)目將會不斷增多,使車輛儀表板顯得很擁擠,也會加大駕駛員的操作難度,分散駕駛員的注意力。 用虛擬儀器技術(shù)構(gòu)建的車載虛擬數(shù)字式儀表,將這些問題迎刃而解。它將所有的信息顯示集合在一個屏幕上,并以分界面的方法顯示,這樣將使駕駛員查看信息非常便利,取消眾多的儀表,也使車內(nèi)空間變得更加寬敞、舒適和美觀4。2.2.2 虛擬儀表系統(tǒng)的實現(xiàn)步驟在汽車智能數(shù)字儀表的開發(fā)過程中,數(shù)字儀表所需要采集的信息量比較多,各種車型的信息參數(shù)又差別較大,這些問題的存在給儀表的實車測試和參數(shù)

14、標定帶來了困難。為了在開發(fā)過程中能夠快速有效的測試系統(tǒng)的各項功能,提高系統(tǒng)開發(fā)效率,我們設(shè)計利用單片機采集產(chǎn)生汽車上的各種參數(shù)信息,快速的對設(shè)計儀表進行全面的測試,節(jié)約時間和成本4。對此設(shè)計了兩個步驟,包括信號采集與處理、儀表盤輸出。1. 信號采集與處理將單片機實際采集到的數(shù)據(jù)用不同通道經(jīng)過A/ D轉(zhuǎn)換進入計算機,作為實驗的源參量,并計算得汽車儀表盤上顯示的相關(guān)參數(shù)52. 儀表盤輸出將計算后的轉(zhuǎn)速、速度、油耗、溫度、里程等參數(shù)通過虛擬儀表盤輸出。第3章 總體設(shè)計方案3.1 總體設(shè)計思路3.1.1 汽車儀表及其顯示裝置的作用和組成在駕駛員前方臺板上都裝有儀表報警燈及電子顯示裝置,用來指示汽車運行

15、以及發(fā)動機運轉(zhuǎn)的狀況,以便駕駛員隨時了解和掌握汽車各系統(tǒng)、各部件的工作狀態(tài),保證汽車可靠而安全地行駛。汽車上較常用的一般有5種儀表和3種相應(yīng)的傳感器,即電流表、機油壓力表、水溫表、燃油表及車速里程表,機油壓力傳感器、水溫傳感器、油量傳感器。儀表板總成分垂直安裝式和傾斜安裝式兩類,二者又各有組合式和分裝式#種。分裝式儀表板總成,它是由薄鋼板先沖壓成一塊儀表板,然后將每只單個儀表用夾板及螺栓固裝在儀表板上。3.1.2 汽車儀表的使用條件1.溫度汽車是被廣泛使用的交通運輸工具,要在各種環(huán)境溫度下都能正常運行,因此要求汽車儀表在-40+55范圍內(nèi)都能正常工作。溫度傳感器用于監(jiān)測冷卻液(水箱)溫度。2.

16、濕度由于汽車儀表工作的環(huán)境條件所限,因此它還將受到濕度的影響。潮濕的空氣將使儀表零件(特別是黑色金屬零件)表面生銹,電氣絕緣件的絕緣性能降低甚至漏電。還由于潮濕空氣的變冷,使毛細管內(nèi)的水分凝聚,引起指示誤差以致堵塞。因此,金屬零件尤其是黑色金屬零件要進行表面處理,如電鍍、化學處理、噴漆等工藝。要求儀表應(yīng)能在相對濕度為90%的環(huán)境下工作,并通過耐潮試驗及絕緣介電強度試驗3.振動汽車行駛引起的車身振動,發(fā)動機高速運轉(zhuǎn)引起的汽車各部件振動,都會影響儀表指示的準確性,縮短儀表的使用壽命,因此必須在儀表板外面加放橡皮減震墊圈等,以保證儀表零件的足夠強度和緊固件的牢固性。4.其他汽車儀表的工作環(huán)境還可能遇

17、到其他氣候條件(如暴雨、灰塵的侵蝕,陽光輻射,油膩的沾污, 霉菌的腐蝕, 海洋鹽霧的浸蝕以及冰凍等)的影響,因此儀表零件的各種金屬材料,非金屬材料以及各種油類、保護層等都要根據(jù)不同的氣候條件加以選用。裝有電子鐘的儀表板總成,要防止汽車電氣設(shè)備產(chǎn)生的高頻振蕩對電子鐘走時性能的干擾。3.1.3 界面模塊通過該界面實現(xiàn)車速表、轉(zhuǎn)速表、水溫表、燃油表、里程指示以及各種報警信號等信息顯示。經(jīng)過初步設(shè)想之后,設(shè)計出以下三種界面(圖3-1、3-2、3-3所示)。圖3-1圖3-2圖3-3圖3-1所示方案界面過于簡單,并且各種顯示模塊過于集中,整體感覺單調(diào),缺少美感。圖3-2所示方案布局又過于散亂,排列各種顯示

18、模塊所需的空間較大,在實踐中會大大增加成本。經(jīng)過綜合考慮,只有圖3-3所示的方案既兼顧到美觀、易讀的使用方便性又滿足了降低實際生產(chǎn)成本的要求。所以最終決定采用如圖4-3所示的界面設(shè)計。3.2 總體設(shè)計框圖本設(shè)計內(nèi)容是基于單片機、傳感器及數(shù)據(jù)采集卡構(gòu)成的汽車儀表采集裝置,能實現(xiàn)汽車儀表各個傳感器數(shù)據(jù)的采集。整個系統(tǒng)由傳感器,數(shù)據(jù)采集卡和虛擬儀器PC相連,再由PSI通信反饋回單片機,通過按鍵開關(guān)調(diào)節(jié)其顯示。其總體設(shè)計框圖如圖3-4所示。圖3-4 總體設(shè)計框圖第4章 系統(tǒng)的硬件設(shè)計4.1 傳感器簡介4.1.1 DS18B20溫度傳感器DS18B20數(shù)字溫度傳感器接線方便,封裝成后可應(yīng)用于多種場合,如

19、管道式,螺紋式,磁鐵吸附式,不銹鋼封裝式,型號多種多樣,有LTM8877,LTM8874等等。主要根據(jù)應(yīng)用場合的不同而改變其外觀。封裝后的DS18B20可用于電纜溝測溫,高爐水循環(huán)測溫,鍋爐測溫,機房測溫,農(nóng)業(yè)大棚測溫,潔凈室測溫,彈藥庫測溫等各種非極限溫度場合。耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設(shè)備數(shù)字測溫和控制領(lǐng)域。技術(shù)性能描述(1) 獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊。(2) 測溫范圍 55+125,固有測溫分辨率0.5。(3) 支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,

20、最多只能并聯(lián)8個,實現(xiàn)多點測溫,如果數(shù)量過多,會使供電電源電壓過低,從而造成信號傳輸?shù)牟环€(wěn)定。(4) 工作電源: 35V/DC(5) 在使用中不需要任何外圍元件(6) 測量結(jié)果以912位數(shù)字量方式串行傳送(7) 不銹鋼保護管直徑 6(8) 適用于DN1525, DN40DN250各種介質(zhì)工業(yè)管道和狹小空間設(shè)備測溫(9) 標準安裝螺紋 M10X1, M12X1.5, G1/2”任選(10) PVC電纜直接出線或德式球型接線盒出線,便于與其它電器設(shè)備連接。4.1.2 CR-6061-1數(shù)字油位傳感器CR-606系列電容式油位變送器,是為鐵路機車、汽車油箱、油罐車、油庫等油位的精確測量而量身定做的專

21、門儀表,整機無任何可動或彈性部件,耐沖擊、安裝方便、可靠性高、精度高、性能價格比好??砂惭b在各種場合對汽油、柴油、液壓油等油位進行準確的測控。也適用于各種非導電液體的測量。性能指標:(1) 檢測范圍:0.011m(2) 精 度:0.2、0.5級(3) 承壓范圍:-0.1MPa0.1MPa(4) 探極耐溫:-100150(5) 環(huán)境溫度:-4070(6) 儲存溫度:-55+125(7) 輸出信號:420mA、0-5V、RS485通訊、RS232通訊(8) 供電電壓:1228VDC(需經(jīng)安全柵供電)(9) 固定方式:螺紋安裝M201.5、M272,M181.5、M161 法蘭安裝DN25、DN40

22、、DN50。特殊規(guī)格可按要求定制(10) 探極直徑:12、16、25(11) 接濕材質(zhì):316不銹鋼、1Gr18Ni19Ti或聚四氟乙烯(12) 長期穩(wěn)定性:0.2%FS/年,(13) 溫度漂移:0.02%FS/(在070范圍內(nèi))(14) 溫度漂移:0.02%FS/(在070范圍內(nèi))(15) 防爆等級:本安ExiaC T6 隔爆ExdC T5(16) 防護等級:IP65(17) 本安參數(shù):Ui:28VDC,Ii:93mA,Pi:0.65W,Ci:0.042uf, Li:0mH4.1.3 OHG-01霍爾效應(yīng)齒輪傳感器霍爾效應(yīng)齒輪齒傳感器(GTS)是一種重要的自動化檢測元件,尤其是在汽車上的應(yīng)用

23、日益增加,主要實現(xiàn)位置、速度和方向的檢測。近年來,國外關(guān)于環(huán)保和安全保障的一些立法已對GTS技術(shù)提出了新的更高要求。為適應(yīng)這些要求,技術(shù)人員正集中精力開發(fā)研制GTS自校準技術(shù)。1.產(chǎn)品特點感應(yīng)類鐵金屬目標物。數(shù)字電流沉輸出 ( 集電極開路 ) 。比電磁感應(yīng)傳感器有更好的信躁比,優(yōu)異的低速性能,輸出幅度與轉(zhuǎn)速無關(guān)。測量范圍的頻率響應(yīng): 2HZ 20KHZ (與目標物有關(guān))??闺姶鸥蓴_。反向電壓和浪涌電壓保護。堅固封裝,連接器輸出端口。2.典型應(yīng)用齒輪箱 RPM 測量鏈輪齒速度檢測鏈輸送帶的速度和距離檢測曲軸 / 凸輪軸 RPM 及位置測量脈沖計數(shù)速度計 電參數(shù) 供電電壓: 4.5 24V 負載電

24、流: 40mA 輸出電壓 ( 輸出低電平 ) : 0.4V 輸出漏電流 ( 輸出高電平 ) : 10 s 開關(guān)時間 ( 與外部電路有關(guān) ) 上升 (10 到 90%) 15 s 下降 (90 到 10%) 1 s 測量頻率范圍(與目標物有關(guān)) 最小值 2HZ 4.2 數(shù)據(jù)采集卡數(shù)據(jù)采集(DAQ),是指從傳感器和其它待測設(shè)備等模擬和數(shù)字被測單元中自動采非電量或者電量信號,送到上位機中進行分析,處理。數(shù)據(jù)采集系統(tǒng)是結(jié)合基于計算機或者其他專用測試平臺的測量軟硬件產(chǎn)品來實現(xiàn)靈活的、用戶自定義的測量系統(tǒng)。 數(shù)據(jù)采集卡,即實現(xiàn)數(shù)據(jù)采集(DAQ)功能的計算機擴展卡,可以通過USB、PXI、PCI、PCI E

25、xpress、火線(1394)、PCMCIA、ISA、Compact Flash、485、232、以太網(wǎng)、各種無線網(wǎng)絡(luò)等總線接入個人計算機。4.3 單片機主控模塊4.3.1 AT89S52概述AT89S52是一款低功耗、高性能的8位微控制器,內(nèi)部具有8K在系統(tǒng)可編程Flash存儲器。使用Atmel公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片內(nèi)Flash存儲器可在線重新編程,亦適于通用的編程器。通用的8位CPU與在系統(tǒng)可編程Flash集成在一塊芯片上,從而使AT89S52功能更加完善,應(yīng)用更加靈活;具有較高的性價比,使其在嵌入式控制系統(tǒng)中有著廣泛的應(yīng)用前景。4.3

26、.2 AT89S52的主要性能(1) 與MCS-51單片機產(chǎn)品完全兼容;(2) 8K字節(jié)在系統(tǒng)可編程Flash存儲器,可在線編程,擦寫次數(shù)不少于1000次;(3) 具有256字節(jié)的片內(nèi)RAM;(4) 全靜態(tài)工作模式:0Hz3MHz;(5) 具有三級程序鎖定位;(6) 32根可編程I/O口線(P0,P1,P2和P3口);(7) 3個16位定時器/計數(shù)器T0,T1和T2,一個看門狗定時器;(8) 8個中斷源、6個中斷矢量、2級優(yōu)先權(quán)的中斷結(jié)構(gòu);(9) 1個全雙工UART串行通道;(10) 2種低功耗節(jié)電工作方式:空閑模式和掉電模式;(11) 雙數(shù)據(jù)指針TPTR0和TPTR1;(12) 具有掉電標識

27、符POF;(13) 工作電源電壓:4.05.5V。4.3.3 AT89S52的引腳排列及功能AT89S52具有PDIP,PLCC和TQFP三種封裝形式,其中PDIP封裝的引腳排列如圖3.7所示。1. P0口P0口是一組8位漏極開路型雙向I/O口,即地址/數(shù)據(jù)總線復用口。作為輸出口用時,每位能以吸收電流的方式驅(qū)動8個TTL邏輯門電路,對端口P0口寫“1”時,可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,此組口線分時轉(zhuǎn)換地址和數(shù)據(jù)總線復用,在訪問期間激活內(nèi)部上拉電阻。在FLASH編程時P0口接收指令字節(jié),而在程序校驗時輸出指令字節(jié),校驗時要求外接上拉電阻。2. P1口P1口是一組帶內(nèi)部

28、上拉電阻的8位雙向I/O口。圖3.2 AT89S52的封裝引腳圖P1口的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸出口。作輸入口使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。與AT89S51不同之處是,P1.0和P1.1還可分別作為定時器/計數(shù)器2的外部計數(shù)輸入(P1.0/T2)和觸發(fā)器輸入(P1.1/T2EX)。在flash編程和校驗時,P1口接收低8位地址字節(jié)。P1口除了作為一般的I/O口線外,部分引腳還具有第二功能,如表3.3所列。表3.1 P1口的第二功能管腳第二功能P1.0定時器/計數(shù)器T

29、2的外部計數(shù)輸入,時鐘輸出P1.1定時器/計數(shù)器T2的捕捉/重載觸發(fā)信號和方向控制P1.5MOSI(在系統(tǒng)編程用)P1.6MISO(在系統(tǒng)編程用)P1.7SCK(在系統(tǒng)編程用)3. P2口P2口是一組具有內(nèi)部上拉電阻的8位雙向I/O口。P2口輸出緩沖器能驅(qū)動4個TTL邏輯電平。對P2端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳經(jīng)由內(nèi)部上拉向外輸出電流(IIL)。在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行MOVXDPTR)時,P2口送出高8位地址數(shù)據(jù)。在這種應(yīng)用中,P2口使用很強的內(nèi)部上拉發(fā)送1。在使用8位地址(如MOVXR

30、I)訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內(nèi)容。FLASH編程或校驗時,P2亦接收高位地址和一些控制信號。4. P3口P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對P3口寫入1時,內(nèi)部上拉電阻把端口拉高,此時可作為輸入端口使用。若外部負載將P3口拉低,則經(jīng)過內(nèi)部上拉電阻而向外輸出電流(IIL)。P3口可接收一些用于FLASH閃存編程和程序校驗的控制信號。P3口除了作為一般的I/O口線外,還具有第二功能,如表3.4所列。表3.2 P3口的第二功能管腳第二功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2IN

31、T0(外部中斷0)P3.3INT1(外部中斷1)P3.4T0(計數(shù)器0外部計數(shù)輸入)P3.5T1(計數(shù)器1外部計數(shù)輸入)P3.6WR(外部數(shù)據(jù)存儲器寫選通)P3.7RD(外部數(shù)據(jù)存儲器讀選通)5. 其它(1) RST為復位信號輸入端。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將使單片機復位。特殊寄存器AUXR(輔助寄存器)(地址8EH)上的DISRTO位可以使此功能無效。DISRTO默認狀態(tài)下,復位高電平有效。(2) ALE/PROG:ALE為地址鎖存允許信號,當單片機上電正常工作后,ALE引腳不斷輸出正脈沖信號。在訪問單片機外部程序存儲器或數(shù)據(jù)存儲器時,ALE輸出脈沖用于鎖存地址的

32、低8位字節(jié)。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置1,可禁止ALE操作。該位置1后,ALE僅在執(zhí)行MOVX或MOVC指令時有效。否則,ALE將被微弱拉高。此ALE使能標志位的設(shè)置在微控制器執(zhí)行外部程序時無效。PROG為本引腳的第二功能,對FLASH存儲器編程期間,該引腳還用于輸入編程脈沖。(3) PSEN為程序儲存允許輸出控制端,是外部程序存儲器的讀選通信號,當AT89S52從外部程序存儲器執(zhí)行外部代碼時,PSEN在每個機器周期被激活兩次,而在訪問外部程序存儲器時,PSEN將不被激活。(4) EA/VPP:EA為內(nèi)外程序存儲器選擇控制端。欲使CPU僅訪問外部程序存

33、儲器(地址為0000HFFFFH),EA端必須保持低電平(接地)。(5) XTAL1:振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。XTAL2:振蕩器反相放大器的輸出端。4.3.4 AT89S52的最小系統(tǒng)在引腳18-XTAL2和引腳19-XTAL1兩端跨接晶體振蕩器(簡稱晶振),就構(gòu)成了穩(wěn)定的自激振蕩器,發(fā)出脈沖直接進入內(nèi)部時鐘電路,這里選用晶體振蕩器的頻率為11.0592MHz;引腳為9復位輸入端,接上電容,電阻及開關(guān)后構(gòu)成復位電路;引腳20為接地端,引腳40為電源端。AT89S52的最小系統(tǒng)如圖3.8所示。圖3.3 AT89S52最小系統(tǒng)4.3.5 3 位數(shù)碼管模塊介紹8字高8字位數(shù)極性亮

34、度/顏色總點數(shù)表面顏色膠體顏色注備0.28英寸/7.00mm3位A- 共陰B- 共陽高亮/紅21黑乳白圖 3.4 數(shù)碼管規(guī)格圖 3.5 數(shù)碼管管腳順序圖4.4 系統(tǒng)原理圖系統(tǒng)原理圖大致可分為如下幾部分:1.電源電路汽車儀表板卡上的工作電壓是 5V,而汽車蓄電池一般提供 12V 電壓,所以系統(tǒng)設(shè)計了一個 12V 轉(zhuǎn) 5V 的電源電路。12V 的汽車電源經(jīng)過整流、濾波和穩(wěn)壓,最終輸出穩(wěn)定的 5V 電路板供電電壓。3.6 電源電路2.晶振電路P87C581 的晶振引腳為:XTAL1、XTAL2.本系統(tǒng)選用的是 12MHZ 晶振電路。3.7 晶振電路3.復位電路鑒于本系統(tǒng)板卡對瞬態(tài)響應(yīng)性能、時鐘源的穩(wěn)

35、定性及電源監(jiān)控可靠性等諸多方面因素,本系統(tǒng)采用了比較通用的復位電路,提高了系統(tǒng)的可靠性。在振蕩器工作時,將RST腳保持至少兩個機器周期低電平(12個振蕩器周期)可實現(xiàn)復位。為了保證上電復位的可靠,RST保持低電平的時間至少為振蕩器啟動時間(通常為幾個毫秒)再加上兩個機器周期。3.8 復位電路4.掉電保護電路本汽車儀表系統(tǒng)對數(shù)據(jù)的記錄要求較高,實時數(shù)據(jù)必須及時保存并顯示。如果出現(xiàn)無法預(yù)料到的突然斷電事件,儀表系統(tǒng)應(yīng)采取相應(yīng)的措施對數(shù)據(jù)進行及時保存,這就需要設(shè)計一個掉電保護電路,一旦電源低于某個預(yù)設(shè)的電壓值,儀表系統(tǒng)檢測到后立刻對當前數(shù)據(jù)進行保存。本系統(tǒng)將掉電保護電路連至處理器的中斷引腳,通過采用

36、中斷的方式來觸發(fā)掉電事件以通知處理器執(zhí)行相應(yīng)的動作。3.9 掉電保護電路5.串口電路AT89C52芯片的串口為 TTL 電平,而要連接的外部 PC 的串口為 RS232 電平,故需要采用一塊芯片來實現(xiàn) TTL/RS232 電平轉(zhuǎn)換。本系統(tǒng)采用常用的 MAX232 轉(zhuǎn)換芯片。4.4.1 MAX232芯片簡介MAX232芯片是專門為電腦的RS-232標準串口設(shè)計的接口電路,使用+5v單電源供電。其主要特點如下:1、符合所有的RS-232C技術(shù)標準; 2、只需要單一 +5V電源供電; 3、片載電荷泵具有升壓、電壓極性反轉(zhuǎn)能力,能夠產(chǎn)生+10V和-10V電壓V+、V-; 4、功耗低,典型供電電流5mA

37、; 5、內(nèi)部集成2個RS-232C驅(qū)動器; 6、高集成度,片外最低只需4個電容即可工作。MAX232的引腳圖如圖3.2所示:圖3.2 MAX232引腳圖MAX232引腳介紹:第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩個電源,提供給RS-232串口電平的需要。 第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構(gòu)成兩個數(shù)據(jù)通道。 其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道。 8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。 T

38、TL/CMOS數(shù)據(jù)從T1IN、T2IN輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從T1OUT、T2OUT送到電腦DB9插頭;DB9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。 第三部分是供電。15腳GND、16腳VCC(+5v)。4.5 本章小結(jié)本章主要完成了基于虛擬儀器的汽車儀表數(shù)據(jù)采集的設(shè)計。本章主要介紹了傳感器、數(shù)據(jù)采集卡、AT89S52單片機的主要性能和功能以及它的應(yīng)用。并詳細介紹出各部分硬件電路的設(shè)計。本設(shè)計以芯片AT89S52為核心構(gòu)成了單片機的基本工作電路,單片機讀取傳感器的數(shù)據(jù)并通過LED數(shù)碼管加以顯示。第5章 系統(tǒng)的軟件設(shè)5.1 L

39、abVIEW軟件簡介本設(shè)計采用LabVIEW軟件進行開發(fā)設(shè)計。LabVIEW是美國NI公司的一種基于G語言的虛擬儀器軟件開發(fā)工具。它的顯著特點是:采用簡單易學的圖形化編程,提供眾多的設(shè)備驅(qū)動程序和可供用戶直接調(diào)用且功能強大的函數(shù)庫和Windows動態(tài)鏈接庫函數(shù),實現(xiàn)多線程編程等高級功能。并提供靈活的程序調(diào)試手段,既可以設(shè)置斷點又可以設(shè)置探針,在程序運行中觀察數(shù)據(jù)流的變化6。LabvIEW 編寫的程序叫虛擬儀器程序,包括軟面板設(shè)計和流程圖設(shè)計2部分。軟面板代替常規(guī)儀器的控制面板,一般由開關(guān)、旋鈕、表頭、顯示器和其他部件組成。儀器流程圖的設(shè)計,是根據(jù)儀器功能的要求,利用虛擬儀器開發(fā)平臺提供的子模板

40、,確定程序的流程圖、主要處理算法和所實現(xiàn)的技術(shù)方法5-6。流程圖與每個儀器的前面板對應(yīng),用戶能夠通過前面板,用鼠標或控件操作儀器。LabVIEW具有功能強大的函數(shù)模塊庫,特別適用于測試和控制系統(tǒng)的開發(fā)。結(jié)合NI的硬件模塊,能夠方便的進行采集和分析相關(guān)測試數(shù)據(jù)??紤]到儀表整體功能測試和模塊功能測試的需要,整個系統(tǒng)主要包括界面模塊和各個功能測試模塊7。根據(jù)信號類型將儀表功能測試分為:車速表測試模塊、發(fā)動機轉(zhuǎn)速表測試模塊、燃油表測試模塊、水溫表測試模塊等主要功能模塊。5.2 LabVIEW串口通信程序設(shè)計主要由兩部分組成:上位機程序設(shè)計和下位機程序設(shè)計,而在編寫雙方通信程序之前,必須先定義好雙方的通

41、信協(xié)議,采用相應(yīng)的數(shù)據(jù)傳輸方法,這樣才能保證數(shù)據(jù)的可靠性。串行通信是一種常用的數(shù)據(jù)傳輸方法,雖然它的傳輸速度慢,但由于它占用的通信線路少、成本低、容易實現(xiàn)等優(yōu)點,在數(shù)據(jù)通信方式上仍占有重要地位。目前,串口通信程序的開發(fā),在Windows操作系統(tǒng)下一般用VB、VC、VF Delphi等許多高級語言編寫。當用VB、VC、VF,開發(fā)串行通信程序時,開發(fā)人員不得不面對非常煩瑣的API函數(shù)編程;用文本語言編串口通信程序較為復雜,花費的時間較長11。所以在主機通信程序設(shè)計中,我們采用LabVIEW圖形化語言作為編程語言,它把高級語言中的函數(shù)封裝為圖形功能模塊,圖標間的連線表示各個功能模塊之間的數(shù)據(jù)傳遞12

42、。編程方式簡單、直觀、便于使用。串口通信功能模塊包括串口初始化模塊、串口讀模塊以及串口寫模塊,通過這些模塊就可以實現(xiàn)對單片機的控制。5.2.1 VISA串行通信基本功能模塊介紹VISA的調(diào)用流程如圖5-1所示。通過對VISA節(jié)點的調(diào)用,可以方便、快速地實現(xiàn)系統(tǒng)上位機對下位機的實時監(jiān)控。打開儀器資源對儀器進行寫操作對儀器緩存讀操作關(guān)閉儀器資源圖5-1 VISA儀器控制簡單流程在LabVIEW功能模板的FunctionInstrumentI/OVISA程序庫中包含進行串行通信操作的一些功能模塊:(1)VISA Configure Serial Port節(jié)點該節(jié)點主要用于串口的初始化,在利用計算機控

43、制串口儀器設(shè)備時,會經(jīng)常用到這個節(jié)點在進行串行通信前,首先要配置好串口,即先初始化串口,使計算串口的各種參數(shù)設(shè)計與儀器設(shè)備的串口保持一致,這樣才能正確的通信。它的主要參數(shù)意義如下:VISA resource name:VISA資源名稱,本文指串口號。baud rate:波特率,默認為9600。data bits:一幀信息中的位數(shù),LabVIEW中允許5-8位數(shù)據(jù),默認值為8位。stop bits:一幀信息中的停止位的位數(shù),可為1位、1位半或2位。Parity:奇偶校驗設(shè)置??蔀闊o校驗、奇校驗或偶校驗。flow control:該參數(shù)數(shù)據(jù)類型為簇,用于串行通訊中的握手方式。 (2)VISA Re

44、ad節(jié)點(圖5-2所示)圖5-2 VISA Read節(jié)點V該節(jié)點為串口讀子VI,為本文中的主要節(jié)點,將串口中的數(shù)據(jù)讀出,然后利用LabVIEW 的強大數(shù)據(jù)處理功能對其進行分析處理。主要參數(shù)意義如下:ISA resource name:VISA資源名稱,本文指串口號。byte count:用于設(shè)置所要讀的字符數(shù)。由于LabVIEW的串行通訊子V1只允許對字符串的讀寫,因此本文中在進行數(shù)據(jù)處理時,必須要實現(xiàn)字符串與數(shù)字之間的正確轉(zhuǎn)換13。此外,若要讀入當前串口中的所有字符,則要執(zhí)行“VISA Sytes at Serial Port”子VI,用以確定將要讀入的確切的字節(jié)數(shù),然后將其輸出作為VISA

45、Read節(jié)點的輸入即可。 (3)VISA Write節(jié)點(圖5-3所示)圖5-3VISA Write節(jié)點VISA Write節(jié)點的功能是向VISA resource name所代表的儀器或接口寫入信息。輸入?yún)?shù)VISA resource name是VISA Open函數(shù)所返回的,或者“流過”其他VISA函數(shù)的,包含了會話信息的VISA資源名;write buffer為字符串類型的寫入數(shù)據(jù),輸出參數(shù)dup VISA resource name為輸入?yún)?shù)VISA resource name的一個備份,可用于后繼的VISA函數(shù)調(diào)用。整型輸出參數(shù)return count返回實際寫入數(shù)據(jù)的字節(jié)數(shù)13。

46、(4)VISA Close節(jié)點(圖5-4所示)圖5-4VISA Close節(jié)點主要參數(shù):VISA resource name:VISA資源名稱,本文指串口號。本文所用LabVIEW 串口通訊程序的波特率為96O0,無奇偶校驗,8位數(shù)據(jù)位,1位停止位,禁止軟、硬件握手。該節(jié)點用于將打開的VISA資源關(guān)閉,VISA resource name輸入?yún)?shù)為包含會話信息的資源名。該函數(shù)關(guān)閉VISA會話,并釋放與之關(guān)聯(lián)的所有資源14。(5) VISA Open節(jié)點(圖5-5所示)圖5-5 VISA Open節(jié)點該函數(shù)功能為打開一個與VISA resource name所代表儀器資源的會話。會話是VISA

47、resource name參數(shù)本身隱含攜帶的儀器訪問邏輯標識,可以同時存在對一個VISA資源的多個訪問會話。在調(diào)用VISA Open之前VISA resource name參數(shù)僅僅是一個資源描述字符串,在函數(shù)調(diào)用之后,輸出參數(shù)VISA resource name已經(jīng)攜帶了會話信息,可以用于后繼的VISA操作。輸入?yún)?shù)為包含會話信息的資源名15-16。當完成VISA資源的搜索后,對于搜索到的VISA資源,可以通過VISA Open節(jié)點打開,建立計算機與這些VISA資源之間的通信管道。5.2.2 VISA設(shè)計方法 (1) LabVIEW串口開發(fā)過程在LabVIEW環(huán)境中使用串口與在其它開發(fā)環(huán)境中開

48、發(fā)過程類似,基本的流程框圖如下:圖5-6首先需要調(diào)用VISA Configure Serial Port完成串口參數(shù)的設(shè)置,包括所用串口號、比特率、一幀信息中有效數(shù)據(jù)的位數(shù)、停止位、奇偶校驗、數(shù)據(jù)流量控制等,如下圖所示。圖5-7如果初始化沒有問題,就可以使用這個串口進行數(shù)據(jù)收發(fā)。發(fā)送數(shù)據(jù)使用VISA Write,接收數(shù)據(jù)使用VISARead。如果VISA Read要讀取的字節(jié)數(shù)大于緩沖區(qū)中的數(shù)據(jù)字節(jié)數(shù),VISA Read操作將一直等待,直至Timeout或者緩沖區(qū)中的數(shù)據(jù)字節(jié)數(shù)達到要求的字節(jié)數(shù)16。圖5-8圖5-9在某些特殊情況下,需要設(shè)置串口接收/發(fā)送緩沖區(qū)的大小,此時可以使用VISA Se

49、t I/O BufferSize;而使用VISA Flush I/O Buffer則可以清空接收與發(fā)送緩沖區(qū)。在串口使用結(jié)束后,使用VISA Close結(jié)束與VISAResource Name指定的串口之間的會話。 (2) VISA屬性設(shè)置及串口實現(xiàn)首先完成串口的初始化,在此設(shè)置波特率為9600b/s,8 位數(shù)據(jù)位, 1 位停止位,無奇偶校驗;其次設(shè)置Write/ Read 等相應(yīng)模塊的功能。由于硬件在整個工作期間,以9600bit/s的速率連續(xù)向外發(fā)送數(shù)據(jù),為了數(shù)據(jù)處理方便,可以采用LabVIEW8.6中的Serial Read With Time-out.vi模塊,以保證每次從串口緩存中讀

50、出等量偶數(shù)個數(shù)據(jù)。5.3 單片機程序設(shè)計本文中所做的研究需要將實際采集到的汽車各種儀表信息存儲到單片機中,由單片機提供數(shù)據(jù)給上位機進而實現(xiàn)數(shù)據(jù)的顯示,再通過PC機的RS-232串行接口與外部設(shè)備進行通信,因此需要實現(xiàn)PC機和單片機之間的通信17。本文將論述在LabVIEW環(huán)境下PC機與AT89S52單片機之間實現(xiàn)串行通信的方案。5.3.1 系統(tǒng)工作流程下位機的程序包括數(shù)據(jù)采集模塊和串口通信的數(shù)據(jù)傳輸模塊,數(shù)據(jù)采集模塊首先進行初始化,通過單片機控制A/D 轉(zhuǎn)換模塊數(shù)據(jù)采集功能,A/D 模塊將模擬信號轉(zhuǎn)換成數(shù)字信號后發(fā)出中斷,單片機將傳輸AD 模塊采集的信號到緩沖區(qū)。串口數(shù)據(jù)傳輸模塊在串口通信之前

51、,對串口進行初始化,主要包括串口波特率,數(shù)據(jù)格式,接收中斷的設(shè)置18。當上位機發(fā)送數(shù)據(jù)給下位機,會引起單片機接收中斷,此時進入中斷服務(wù)程序,單片機接收數(shù)據(jù),比較校驗和,如果相同,發(fā)指令給PC 機確認,最后將采集到的數(shù)據(jù)通過RS-232串行接口傳送到PC 機19。系統(tǒng)工作流程圖如下:圖5-10 系統(tǒng)工作流程5.3.2 按鍵子程序流程圖鍵盤掃描查詢子程序,是提供人機信息交換的接口。由于采用掃描法,是利用CPU在完成其他工作之余,反復掃描查詢鍵盤接口,根據(jù)端口的輸入情況,調(diào)用不同的按鍵處理子程序。當按鍵按下時,利用軟件延時去抖動,然后掃描按鍵位置,讀取準確數(shù)值,最后完成一次按鍵處理。按鍵子程序流程圖

52、如圖5-11所示。圖5-11 按鍵子程序流程圖5.3.3 顯示子程序流程圖當單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位選通COM端電路的控制,所以只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。在輪流顯示過程中,每位數(shù)碼管的點亮時間為15ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感。顯示子程序流程圖如圖5-12所示。圖5-12 顯示子程序流程圖5.4 數(shù)據(jù)采集程序的實現(xiàn)單片機程序用A/D模塊進行采集傳感器的值,然后用SCI口將采集

53、的值發(fā)給PC機。 (1) A/D轉(zhuǎn)換簡介在過程控制和儀器儀表中,多由計算機進行實時控制及實時數(shù)據(jù)處理,計算機所加工的信息總是數(shù)字量,而被檢測的對象卻往往是一些連續(xù)變化的模擬量(如溫度、壓力、速度和流量等),因此需要將模擬量轉(zhuǎn)化成為數(shù)字量,以便在計算機中進行運算處理,此過程稱為模數(shù)(A/D)轉(zhuǎn)換20。進行A/D轉(zhuǎn)換,需要了解以下的基本問題: 采樣精度采樣精度就是指數(shù)字量變化一個最小量是模擬信號的變化量,即通常所說的采樣位數(shù)。設(shè)采樣位數(shù)為N,則最小的能檢測到的模擬量變化值為1/2N。 采樣速率采樣速率是指完成一次A/D采樣所要花費的時間。速率和所選器件的工作頻率有很大關(guān)系。 濾波為了使采樣的數(shù)據(jù)更

54、準確,必須對采樣的數(shù)據(jù)進行篩選去掉誤差較大的數(shù)據(jù)。通常采用中值濾波和均值濾波來提高采樣精度。中值濾波是取3次采樣的中間值,均值濾波是取多次采樣的算術(shù)平均值。 物理量回歸在實際應(yīng)用中,得到穩(wěn)定的A/D采樣值后,還需要把A/D采樣值與實際物理量對應(yīng)起來。A/D轉(zhuǎn)換的目的是把模擬信號轉(zhuǎn)化為數(shù)字信號,供計算機進行處理,但必須知道A/D轉(zhuǎn)換后的數(shù)值所代表的實際物理量的值,這樣才有實際意義21。 (2) A/D轉(zhuǎn)換模塊的基本編程方法A/D轉(zhuǎn)換編程主要涉及輸入時鐘寄存器ADCLK($003E)、狀態(tài)和控制寄存器ADSCR($003C)、數(shù)據(jù)寄存器ADR($003D)。 A/D轉(zhuǎn)換初始化在程序初始化時就對A/

55、D轉(zhuǎn)換輸入時鐘寄存器寫入控制字節(jié),決定時鐘輸入源,決定分頻示數(shù),是ADC時鐘頻率達1MHz,使用內(nèi)部總線時鐘,且fbus=2.4576MHz,則初始化程序為:LDA # %00110000 STA ADCLK 啟動A/D轉(zhuǎn)換 對A/D轉(zhuǎn)換狀態(tài)和控制寄存器寫入控制字節(jié),選取要轉(zhuǎn)換的通道、決定轉(zhuǎn)換結(jié)束數(shù)據(jù)獲取的方式、設(shè)置是連續(xù)轉(zhuǎn)換還是一次轉(zhuǎn)換:LDA # %00000000STA ADSCR 獲A/D轉(zhuǎn)換結(jié)果若是中斷程序,在A/D中斷程序中取得,若是查詢方式,通過A/D狀態(tài)和控制寄存器的第7位取得,本文用到的是查詢程序,所以程序如下:BRCLR 7,ADSCRLDA ADR (3) 單片機SCI初始化以下討論對單片機SCI初始化的具體步驟。 串口波特率的設(shè)定通常使用單片機的串口時,選用的晶振比較固定,常用于何微機通信的波特率也相對固

溫馨提示

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

評論

0/150

提交評論