畢業(yè)設計----多路數(shù)據(jù)采集系統(tǒng)設計_第1頁
已閱讀1頁,還剩50頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  多路數(shù)據(jù)采集系統(tǒng)設計</p><p><b>  序言</b></p><p>  隨著計算機技術(shù)、電磁兼容技術(shù)、傳感器技術(shù)和信息技術(shù)的飛速發(fā)展和普及,數(shù)據(jù)采集與處理系統(tǒng)得到了廣泛的應用。例如:在生產(chǎn)過程中,應用這一系統(tǒng)可對生產(chǎn)現(xiàn)場的工藝參數(shù)進行采集、監(jiān)視和記錄,為提高產(chǎn)品質(zhì)量、降低生產(chǎn)成本提供信息和手段;在科學研究中,應用這一系統(tǒng)可獲得大量的動

2、態(tài)信號,是研究瞬間物理過程的有力工具,也是獲得科學奧秘的重要手段之一??傊?,不論在哪個應用領域,數(shù)據(jù)采集與處理越及時,工作效率、性能價格比就越高,取得的經(jīng)濟效益就越好??傊?,數(shù)據(jù)采集是工、農(nóng)業(yè)控制系統(tǒng)中至關(guān)重要的一環(huán)[1]。</p><p>  數(shù)據(jù)采集是工、農(nóng)業(yè)控制系統(tǒng)中至關(guān)重要的一環(huán),在醫(yī)藥、化工、食品、等領域的生產(chǎn)過程中,往往需要隨時檢測各生產(chǎn)環(huán)節(jié)的溫度、濕度、流量及壓力等參數(shù)。同時,還要對某一檢測點任意參

3、數(shù)能夠進行隨機查尋,將其在某一時間段內(nèi)檢測得到的數(shù)據(jù)經(jīng)過轉(zhuǎn)換提取出來,以便進行比較,做出決策,調(diào)整控制方案,提高產(chǎn)品的合格率,產(chǎn)生良好的經(jīng)濟效益。</p><p>  本畢業(yè)設計對一種多路數(shù)據(jù)采集系統(tǒng)進行了初步的研究,該多路數(shù)據(jù)采集系統(tǒng)能對多路模擬信號進行采集和處理。系統(tǒng)以89C51為控制單元核心,利用模數(shù)轉(zhuǎn)換器AD0809完成模數(shù)轉(zhuǎn)換功能,結(jié)合單片機RS232串口功能,實現(xiàn)八路信號的采集、存儲、顯示及與PC機通

4、信等功能,形成了良好的人機界面。</p><p><b>  第1章 緒 論</b></p><p>  1.1 多路數(shù)據(jù)采集系統(tǒng)介紹</p><p>  隨著工、農(nóng)業(yè)的發(fā)展,多路數(shù)據(jù)采集勢必將得到越來越多的應用,為適應這一趨勢,作這方面的研究就顯得十分重要。在科學研究中,運用數(shù)據(jù)采集系統(tǒng)可獲得大量的動態(tài)信息,也是獲取科學數(shù)據(jù)和生成知識的重要手

5、段之一。總之,不論在哪個應用領域中,數(shù)據(jù)采集與處理將直接影響工作效率和所取得的經(jīng)濟效益。    此外,計算機的發(fā)展對通信起了巨大的推動作用。算機和通信緊密結(jié)合構(gòu)成了靈活多樣的通信控制系統(tǒng),也可以構(gòu)成強有力的信息處理系統(tǒng),這樣對社會的發(fā)展產(chǎn)生了深遠的影響。數(shù)據(jù)通信是計算機廣泛應用的必然產(chǎn)物[2]。 數(shù)據(jù)采集系統(tǒng),從嚴格的意義上來說,應該是用計算機控制的多路數(shù)據(jù)自動檢測或巡回檢測,并且能夠?qū)?shù)據(jù)實行存

6、儲、處理、分析計算以及從檢測的數(shù)據(jù)中提取可用的信息,供顯示、記錄、打印或描繪的系統(tǒng)。    數(shù)據(jù)采集系統(tǒng)一般由數(shù)據(jù)輸入通道,數(shù)據(jù)存儲與管理,數(shù)據(jù)處理,數(shù)據(jù)輸出及顯示這五個部分組成。輸入通道要實現(xiàn)對被測對象的檢測,采樣和信號轉(zhuǎn)換等工作。數(shù)據(jù)存儲與管理要用存儲器把采集到的數(shù)據(jù)存儲起來,建立相應的數(shù)據(jù)庫,并進行管理和調(diào)用。數(shù)據(jù)處理就是從采集到的原始數(shù)據(jù)中,刪除有關(guān)干擾噪聲,無關(guān)信息和必要的信息,提取出</

7、p><p><b>  1.2 設計思路</b></p><p>  多路數(shù)據(jù)采集系統(tǒng)采用ADC0809模數(shù)轉(zhuǎn)換器作為數(shù)據(jù)采集單元和AT89C51單片機來對它們進行控制,不僅具有控制方便、簡單和靈活性大等優(yōu)點,而且可以大幅度提高采集數(shù)據(jù)的靈敏度及指標。通過MAX232電平轉(zhuǎn)換芯片實現(xiàn)單片機與PC機的異步串行通信,設計中的HD7279實現(xiàn)了鍵盤控制與LED顯示顯示功能。本文

8、設計了一種以AT89C51和ADC0809及RS232為核心的多路數(shù)據(jù)采集系統(tǒng)。</p><p>  多路數(shù)據(jù)采集系統(tǒng)就是通過鍵盤控制選擇通路,將采集到的電壓模擬兩轉(zhuǎn)換成數(shù)字量實時的送到單片機里處理從而顯示出采集電壓和地址值,最終控制執(zhí)行單片機與PC機的異步串行通信。</p><p>  連接好硬件后,給ADC0809的三條輸入通路通入直流電壓。4-F鍵為功能鍵,4-E鍵為復位鍵,F(xiàn)鍵為確

9、認鍵。1-3鍵為通道選擇鍵,分別采集三個通道的數(shù)據(jù)值并實時顯示出數(shù)值和地址值。結(jié)合單片機RS232串口功能還實現(xiàn)了與PC機的異步串行通信功能。</p><p>  1.2.1電路的基本構(gòu)成</p><p>  多路數(shù)據(jù)采集系統(tǒng)硬件電路由AT89C51單片機最小系統(tǒng)、ADC0809模數(shù)轉(zhuǎn)換電路、HD7279鍵盤控制與LED顯示電路、RS232串行通信電路四部分組成。</p>&

10、lt;p>  該電路采用AT89C51單片機最小化應用設計,ADC0809接成的是總線方式電路,P0口是作為系統(tǒng)擴展的地址總線口,其端口總線地址為7FFFH。</p><p>  圖1-1 系統(tǒng)硬件方框圖</p><p>  1.2.2 各硬件模塊的功能</p><p>  1.單片機:把ADC0809采集過來的數(shù)據(jù)進行處理實現(xiàn)實時的顯示并能實現(xiàn)與PC機的

11、串行通信</p><p>  2. A/D采集:將采集到得模擬電壓值轉(zhuǎn)換成數(shù)字量</p><p>  3.鍵盤控制:選擇數(shù)據(jù)采集的通路及控制功能</p><p>  4.地址/數(shù)據(jù)顯示:顯示通路地址值、電壓值</p><p>  5.PC機通信:結(jié)合單片機RS232串口功能,實現(xiàn)八路信號的采集、存儲、顯示功能</p><p

12、>  1.3 系統(tǒng)設計方案</p><p>  1.3.1具體設計要求</p><p>  1.設計89C51最小開發(fā)系統(tǒng)板作為本設計的主控模塊;</p><p>  2.實現(xiàn)8路的數(shù)據(jù)采集并實時顯示的功能;</p><p>  3.能夠?qū)崿F(xiàn)用鍵盤控制采集通道的選擇;</p><p>  4.實現(xiàn)PC機與數(shù)據(jù)采集

13、系統(tǒng)通過串口進行通信,并實時顯示測量數(shù)據(jù)。</p><p>  1.3.2 方案論證</p><p>  針對上述設計要求,有兩種方案可供考慮:</p><p><b>  方案一:</b></p><p>  采用鍵盤/顯示芯片HD7279A,在一塊印制板上能夠同時實現(xiàn)按鍵和顯示功能。獨立的單片機最小系統(tǒng),采集模塊采用

14、ADC0809及外圍電路構(gòu)成。串行通信采用RS-232標準,芯片MAX232實現(xiàn)了接口轉(zhuǎn)換[3]。</p><p><b>  方案二:</b></p><p>  采用單片機最小系統(tǒng)、4*4矩陣鍵盤電路、單獨顯示電路、采集模塊采用ADC0832及外圍電路構(gòu)成。串行通信采用RS-458標準,芯片MAX487實現(xiàn)了接口轉(zhuǎn)換。</p><p>  

15、經(jīng)過以上兩種方案的比較,方案一具備了以下優(yōu)點:</p><p> ?。?) 硬件資源使用方便,便于調(diào)試,減少了出錯的概率;</p><p> ?。?) 程序比較簡單,模塊化,方便檢查;</p><p> ?。?)RS-232是常用的的一種物理接口標準且適合短距離(大概十幾米)。</p><p>  (4)ADC0809是八通道輸入的模數(shù)轉(zhuǎn)換器

16、件,轉(zhuǎn)換精度和速度在本設計中是完全達到要求的。</p><p>  綜上所述,本設計中采用方案一來實現(xiàn)其功能。</p><p>  第2章 系統(tǒng)硬件設計</p><p><b>  2.1硬件電路概述</b></p><p>  本系統(tǒng)硬件設計電路包括:鍵盤/顯示芯片HD7279A,在一塊印制板上能夠同時實現(xiàn)按鍵和顯示功

17、能;獨立的單片機最小系統(tǒng)、采集模塊采用ADC0809及外圍電路構(gòu)成、串行通信采用RS-232標準、芯片MAX232實現(xiàn)了接口轉(zhuǎn)換。</p><p>  2.2各單元模塊功能介紹及電路設計</p><p>  2.2.1 單片機最小系統(tǒng)設計</p><p>  圖2-1 單片機最小系統(tǒng)電路圖</p><p>  單片機最小系統(tǒng)的設計是本設計的核

18、心,通過其外圍電路實現(xiàn)了數(shù)據(jù)的處理及各種控制功能。它要正常工作必須具備3個條件:首先供電要正常,其次是復位電路和晶振電路要工作正常[4]。</p><p><b>  1、電源與接地端</b></p><p>  AT89C51單片機的40腳為電源端,接+5V的電源;20腳為接地端。由于只需訪問AT89C51的內(nèi)部程序存儲器,故/EA接+5V。</p>

19、<p><b>  2、復位電路</b></p><p>  復位電路使單片機初始化操作,作用是使CPU和系統(tǒng)中其它部件在通電的瞬間都處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。本系統(tǒng)采用人工復位電路,在RESET端接一個按鈕與電容并聯(lián)至Vcc(+5V)和一個電阻至接地端。這樣按一下開關(guān)就會在RESET端出現(xiàn)一段時間的高電平,至使器件復位。</p><p>

20、;<b>  3、晶振就電路</b></p><p>  圖中Y1為12MHz晶振,C1、C2為20pf瓷片電容。晶振主要是決定所產(chǎn)生的時鐘頻率,電容C1、C2的作用有兩個:其一是使振蕩器起振,其二是對振蕩器的頻率f起微調(diào)作用。</p><p>  2.2.2 鍵盤/顯示電路設計</p><p>  圖2-2 HD7279鍵盤、顯示電路圖<

21、;/p><p>  按鍵是控制數(shù)據(jù)采集通道的選擇,數(shù)碼管能顯示出采集通道和數(shù)據(jù)值。HD7279的4個使能端、clk、dat、接單片機的4個口,用來控制芯片接受及發(fā)送鍵盤值。Dig0—dig7 為位選端,數(shù)碼管的哪一位點亮需由寫控制字來判斷。Dip、a—g為字型碼端,它與數(shù)碼管的字型碼端相連[5]。</p><p>  ADC0809模數(shù)轉(zhuǎn)換電路設計</p><p>  

22、圖2-3 ADC0809模數(shù)轉(zhuǎn)換電路圖</p><p>  圖所示為ADC0809與單片機80C51的一種接口電路。采用線選法規(guī)定其端口地址,用單片機的P2.7引腳作為片選信號,因此端口地址為7FFFH.。片選信號和WR信號一起經(jīng)“或非”門產(chǎn)生ADC0809的啟動信號START和地址所存信號ALE,片選信號和RD信號一起經(jīng)“或非”門產(chǎn)生ADC0809的輸出允許信號OE。OE=1時選通三態(tài)門使輸出所存器的轉(zhuǎn)換結(jié)果送

23、入數(shù)據(jù)總線。ADC0809的 EOC 信號經(jīng)反相后接到80C51的INT1引腳用于產(chǎn)生轉(zhuǎn)換完成的中斷請求信號。ADC0809芯片的3位模擬量輸入地址碼輸入端A 、B 、C分別用矩陣鍵盤控制[5]。</p><p>  2.2.4 RS-232串口通信電路設計</p><p>  圖2-4 RS-232串口通信電路設計</p><p>  單片機與PC機之間不能直接

24、進行通信,收、發(fā)端的數(shù)據(jù)信號是相對于信號地,由于RS-232信號在正負電平之間擺動,在發(fā)送數(shù)據(jù)時,發(fā)送端驅(qū)動器輸出正電平在+5~+15V,負電平在-5~-15V電平。發(fā)送電平與接收電平的差為2V至3V左右,MAX232實現(xiàn)了其串口電平轉(zhuǎn)換功能[7]。</p><p>  2.3 電路元器件說明與選用</p><p>  2.3.1 AT89C51單片機</p><p&g

25、t;  AT89C51單片機結(jié)構(gòu)框圖如下圖2-5所示:</p><p>  圖2-5 MCS-51單片機結(jié)構(gòu)框圖</p><p>  AT89C51是一種低功耗、高性能的片內(nèi)含有4KB快閃可編程可擦除只讀存儲器(FPEROM-Flash Programmable and Eraseable Read Only Memory)的8位CMOS微控制器,使用高密度、非易失存儲技術(shù)制造,并且與8

26、0C51引腳和指令系統(tǒng)完全兼容[8]。</p><p>  單片機內(nèi)部包括有中央處理器CPU、時鐘電路和中斷控制電路、程序存儲器、數(shù)據(jù)存儲器、并行口、定時器以及特殊I/O部件,CPU通過內(nèi)部部件總線和其余的模塊相連。中央處理器(CPU)是單片機的核心部件,它由運算器、控制器、中斷部件、時鐘和定時控制邏輯等組成。CPU控制數(shù)據(jù)的處理和整個系統(tǒng)的各種操作。</p><p>  不同系列的單片機

27、具有不同功能特性的CPU和指令系統(tǒng),在運算速度、中斷、實時控制功能等方面差別很大,CPU及其指令系統(tǒng)的功能決定了單片機主要的功能技術(shù)指標。從編程的角度看,AT89C51的CPU對用戶開放的寄存器主要有以下幾個:累加器ACC、寄存器B、程序計數(shù)器PC、數(shù)據(jù)指針DPTR(由DPH和DPL兩個8位寄存器組成),程序狀態(tài)寄存器PSW、堆棧指針SP。</p><p>  2.3.2 模數(shù)轉(zhuǎn)換芯片ADC0809 </p

28、><p>  圖2-6 ADC0809內(nèi)部結(jié)構(gòu)圖、原理圖</p><p>  1. 基本結(jié)構(gòu)、接口技術(shù)</p><p>  ADC0809是CMOS單片型逐次逼近式A/D轉(zhuǎn)換器,它由8路模擬開關(guān)、地址鎖存與譯碼器、比較器、8位開關(guān)樹型D/A轉(zhuǎn)換器、逐次逼近 寄存器、三態(tài)輸出鎖存器等其它一些電路組成。因此,ADC0809可處理8路模擬量輸入,且有三態(tài)輸出能力,既可與各種微

29、處理器相連,也可單獨工作。輸入輸出與TTL兼容。 </p><p>  ADC的功能是將輸入模擬量轉(zhuǎn)換位與其成比例的數(shù)字量,它是智能化測量控制儀表的一種重要組成器件。按其工作原理,有比較式、積分式以及電荷平衡(電壓—頻率轉(zhuǎn)換)式等。在實際使用中,應根據(jù)具體情況選用合適的ADC芯片。</p><p>  不同的芯片具有不同的聯(lián)結(jié)方式,其中最主要的輸入、以及控制信號的聯(lián)結(jié)方式。從輸入端來看,有

30、單端輸入的,也有差動輸入的。差動輸入有利于克服共模干擾。</p><p>  ADC芯片的啟動轉(zhuǎn)換信號有電平和脈沖兩種型式。設計時應特別注意,對要求用電平啟動轉(zhuǎn)換的芯片,如果在轉(zhuǎn)換過程中撤去電平信號,芯片將停止轉(zhuǎn)換而得到錯誤的結(jié)果[9]。</p><p>  ADC轉(zhuǎn)換完成后,將發(fā)出結(jié)束信號,以示主機可以從轉(zhuǎn)換器讀取數(shù)據(jù)。結(jié)束信號也用來向CPU發(fā)出申請。CPU響應中斷后,在中斷服務子程序中

31、讀取數(shù)據(jù)。也可用延時等待和查詢轉(zhuǎn)換是否結(jié)束的方法來讀取數(shù)據(jù)。</p><p><b>  2 . 主要特性</b></p><p>  ADC0809對輸入模擬量要求:信號單極性,電壓范圍是0-5V,若信號太小,必須進行放大;輸入的模擬量在轉(zhuǎn)換過程中應該保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路。</p><p>  地址輸入和

32、控制線:4條ALE 為地址鎖存允許輸入線,高電平有效。當ALE線為高電平時,地址鎖存與譯碼器將ABC 三條地址線的地址信號進行鎖存,經(jīng)譯碼后被選中的通道的模擬量進轉(zhuǎn)換器進行轉(zhuǎn)換。A,B 和C 為地址輸入線,用于選通IN0-IN7 上的一路模擬量輸入通路。</p><p>  ADC0809的工作過程是:首先輸入3位地址,并使ALE=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通8路模擬輸入之一到比較器。START上

33、升沿將逐次逼近寄存器復位。下降沿啟動 A/D轉(zhuǎn)換,之后EOC輸出信號變低,指示轉(zhuǎn)換正在進行。直到A/D轉(zhuǎn)換完成,EOC變?yōu)楦唠娖?,指示A/D轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個信號可用作中斷申請。當OE輸入高電平 時,輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。</p><p>  2.3.3 鍵盤/顯示芯片HD7279A </p><p>  圖2-7 HD7279芯片實物、原理圖

34、</p><p><b>  1. 基本特性</b></p><p>  HD7279是一片具有串行接口,可同時驅(qū)動8位共陰數(shù)碼管(或64只獨立LED)的智能顯示驅(qū)動芯片。該芯片同時還可以連接多達64鍵的鍵盤矩陣,單片即可完成LED顯示、鍵盤接口的全部功能。它的主要特點是串行接口,各位獨立控制譯碼、不譯碼且有消隱和閃爍屬性;通過左移、右移指令能方便地實現(xiàn)顯示數(shù)碼的左、

35、右移動及循環(huán)移動。內(nèi)含64鍵鍵盤控制接口及去抖動電路。IHD7279的工作性能和控制指令HD7279采用串行方式與微處理器通訊。串行數(shù)據(jù)從DATA引腳送入芯片,并由CLK端同步,當片選信號變?yōu)榈碗娖胶螅珼ATA引腳上的數(shù)據(jù)在CLK引腳的上升沿被寫入HD7279的緩沖器。 </p><p>  HD7279內(nèi)部含有譯碼器,可直接接收BCD碼獲16進制碼,并同時具有2種譯碼方式,此外,還具有多種控制指令,消隱、閃爍、

36、左移、右移、段尋址等。 HD7279具有片懸信號,可方便地實現(xiàn)多于8位的顯示。</p><p><b>  2. 典型應用</b></p><p>  HD7279A典型應用:儀器儀表,工業(yè)控制器,條形顯示器,控制面板</p><p>  采用串行方式與微處理器通訊,串行數(shù)據(jù)從DATA引腳送入芯片,并由CLK端同步。當片選信號變?yōu)榈碗娖胶?,DA

37、TA引腳上的數(shù)據(jù)在CLK引腳的上升沿被寫入HD7279A的緩沖寄存器。典型應用圖見2-8</p><p>  HD7279A應連接共陰式數(shù)碼管。應用中,無需用到的鍵盤和數(shù)碼管可以不連接,省去數(shù)碼管或?qū)?shù)碼管設置消隱屬性均不會影響鍵盤的使用。</p><p>  如果不用鍵盤,則典型電路圖中連接到鍵盤的8只10K下拉電阻均可以省去。如果使用了鍵盤,則電路中的8只10K下拉電阻均不得省去。除非

38、不接入數(shù)碼管,否則串入DP及SA-SG連線的8只200Ω電阻均不能省去。</p><p>  HD7279A需要一外接的RC振蕩電路以供系統(tǒng)工作,其典型值為R=1.5KΩ,C=15pF。如果芯片無法正常工作,首先檢查振蕩電路。在印制電路板布線時,所有元件,尤其是振蕩電路的元件應盡量靠近HD7279A,并盡量使電路連線最短。</p><p>  HD7279A的RESET復位端在一般應用情況

39、下,可以直接與正電源連接,在需要較高可靠性的情況下,可以連接一外部的復位電路,或直接由MCU控制。在上電或RESET端有低電平變?yōu)楦唠娖胶?,HD7279A大約需要經(jīng)過18-25MS的時間才會進入正常工作狀態(tài)。</p><p>  上電后,所有的顯示均為空,所以顯示位的顯示屬性均為‘顯示’及‘不閃爍’。當有鍵按下時,KEY引腳輸出變?yōu)榈碗娖?,此時如果接收到‘讀鍵盤’指令,HD7279A將輸出所按下鍵的代碼。程序中,

40、盡可能地減少CPU對HD7279A的訪問次數(shù),可以使得程序更有效率。</p><p>  因為芯片直接驅(qū)動LED顯示,電流較大,且為動態(tài)掃描方式,故如果該部分電路電源連線較細較長,可能會引入較大的電源噪聲干擾,將HD7279A的正負電源端上并入去耦電容可以提高電路的抗干擾能力。</p><p>  注意:如果有2個按鍵同時按下,HD7279A將只能給出其中一個鍵的代碼,因此HD7279A不

41、適于應用在需要2個或2個以上鍵同時按下的場合。</p><p>  圖2-8 HD7279A應用圖 </p><p>  2.2.4 RS-232C串口通信</p><p>  圖2-9 RS-232接口圖、MAX232電平轉(zhuǎn)換芯片</p><p>  目前RS-232是PC機與通信工業(yè)中應用最廣泛的一種串行接口。RS-232被定義為一種在

42、低速率串行通訊中增加通訊距離的單端標準。RS-232采取不平衡傳輸方式,即所謂單端通訊。    收、發(fā)端的數(shù)據(jù)信號是相對于信號地。典型的RS-232信號在正負電平之間擺動,在發(fā)送數(shù)據(jù)時,發(fā)送端驅(qū)動器輸出正電平在+5~+15V,負電平在-5~-15V電平。當無數(shù)據(jù)傳輸時,線上為TTL,從開始傳送數(shù)據(jù)到結(jié)束,線上電平從TTL電平到RS-232電平再返回TTL電平。接收器典型的工作電平在+3~+12V與-3~

43、-12V。由于發(fā)送電平與接收電平的差僅為2V至3V左右,所以其共模抑制能力差,再加上雙絞線上的分布電容,其傳送距離最大為約15米,最高速率為20kb/s。RS-232是為點對點(即只用一對收、發(fā)設備)通訊而設計的,其驅(qū)動器負載為3~7kΩ。所以RS-232適合本地設備之間的通信[10]。</p><p>  在串行通訊時,要 求 通 訊 雙 方 都

44、采 用 一 個 標 準 接 口,使 不 同 的設備可以方便地連接起來進行通訊。 RS-232-C接口(又稱 EIA RS-232-C)是目前最常用的一種串行通訊接口。它的全名是"數(shù)據(jù)終端設備(DTE)和數(shù)據(jù)通訊設備(DCE)之間串行二進制數(shù)據(jù)交換接口技術(shù)標準"該標準規(guī)定采用一個 25個腳的 DB-25連接 器,對連接器的每個引腳的信號內(nèi)容加以規(guī)定,

45、還對各種信 號的電平加以規(guī)定。后來 IBM的 PC機將 RS-232簡化成了DB-9連接器,從而成為事實標準。而工業(yè)控制的RS-232口一般 只使用 RXD、TXD、GND。</p><p>  第3章 系統(tǒng)軟件設計</p><p><b>  3.1 軟件功能</b></p><p>  多路數(shù)據(jù)采集系統(tǒng)具有采集、存儲、顯示及與PC機通信等功

46、能,開機時在最高位顯示P,按下對應鍵號實現(xiàn)相應的功能。本設計使用ADC0809作為采集器,并把采集到的電壓模擬量轉(zhuǎn)換為數(shù)字量,送到單片機AT89C51進行處理??赏瓿蒐ED顯示、鍵盤接口的全部功能的HD7279實現(xiàn)數(shù)據(jù)顯示和鍵盤控制。</p><p>  用鍵盤進行控制采集通道的選擇,4-F鍵為功能鍵,4-E鍵為復位鍵,F(xiàn)鍵為確認鍵。當按下“1” 鍵選通ADC0809的1通路將實時采集到電壓值通過模數(shù)轉(zhuǎn)換并送到單

47、片機AT89C51進行處理處理,顯示出此時的數(shù)據(jù)和地址值。當按下“2” 鍵選通ADC0809的2通路將實時采集到電壓值通過模數(shù)轉(zhuǎn)換并送到單片AT89C51進行處理處理,顯示出此時的數(shù)據(jù)和地址值。當按下“3” 鍵選通ADC0809的3通路將實時采集到電壓值通過模數(shù)轉(zhuǎn)換并送到單片機AT89C51進行處理處理,顯示出此時的數(shù)據(jù)和地址值。在顯示出各通路采集到的電壓值和地址值的同時還實現(xiàn)了與PC機的串行通信。</p><p&g

48、t;  RS-232是PC機與通信工業(yè)中應用最廣泛的一種串行接口,在單片機與PC機通信之間用MAX232芯片實現(xiàn)了串口電平轉(zhuǎn)換。通過數(shù)值的發(fā)送,能在串口調(diào)試助手中顯示出相應的數(shù)據(jù)和地址值。</p><p>  3.2各部分程序設計</p><p><b>  3.2.1 主程序</b></p><p>  主程序是對單片機的初始化及各種子程序的

49、調(diào)用,其中初始化包括鍵盤/顯示HD7279及串行口的初始化,子程序的調(diào)用包括鍵盤、數(shù)據(jù)采集、串口發(fā)送等程序的調(diào)用[11]。</p><p>  圖4-1主程序流程圖</p><p>  3.2.2 鍵盤掃描程序</p><p>  對鍵盤進行掃描,掃描到相應按鍵按下則執(zhí)行相應操作,只有在按下確認鍵后采集通道才被選通。</p><p>  圖4

50、-2鍵盤掃描程序流流程圖</p><p>  3.2.3 ADC0809采集程序</p><p>  ADC0809與單片機是總線連接方式,端口地址為0x7fff。在通路選定后,轉(zhuǎn)換開始時變低,只有在EOC變?yōu)楦唠娖绞寝D(zhuǎn)換才結(jié)束,繼而從端口讀出相應的值。</p><p>  圖4-3 A/D采集程序流程圖</p><p><b>

51、;  發(fā)送程序</b></p><p>  中央處理器CPU和外界的信息交換稱為通信。串行通信通過串行口來實現(xiàn)。串行通信有兩種基本方式:異步通信方式和同步通信方式。本設計采用的是異步通信方式,是按字符傳送的。</p><p>  串行通信是本次設計的重要組組成部分, 采用串行RS-232標準,實現(xiàn)了PC機與單片機間的通信并將數(shù)據(jù)顯示出來,就是通過串行發(fā)送程序的編寫而實現(xiàn)的 。&

52、lt;/p><p>  圖4-4 發(fā)送程序流程圖</p><p>  3.2.5 數(shù)據(jù)處理及顯示程序設計</p><p>  對讀出的數(shù)據(jù)值進行一定的處理,拆字后通過HD7279顯示芯片,顯示出數(shù)據(jù)及地址值。</p><p>  void work_num(void) //數(shù)據(jù)處理程序</p>&l

53、t;p>  { uchar ii=0;</p><p>  num=num0*100;</p><p>  num=num*5/256;</p><p>  for(ii=0;ii<3;ii++)</p><p>  {buf[ii]=num%10;</p><p>  num=num/10;<

54、/p><p><b>  } </b></p><p>  } </p><p>  void disp_num(void) //HD7279顯示程序 </p><p>  { uchar ii;</p><p>  for(ii=0;ii<

55、;3;ii++)</p><p><b>  { cs=1;</b></p><p>  if(ii==2){send(0x80+ii);send(128+buf[ii]);}</p><p><b>  else</b></p><p>  {send(0x80+ii);</p>&

56、lt;p>  send(buf[ii]);</p><p><b>  }</b></p><p><b>  cs=1; </b></p><p><b>  }</b></p><p><b>  }</b></p><p&g

57、t;  延時子程序設計 </p><p>  根據(jù)設計的實際需要延時適當?shù)臅r間,延時子程序如下所示:</p><p>  void del_ms(uchar d) //ms延時程序</p><p>  { uchar ii;</p><p><b>  while(d)</b></p>

58、<p>  { for(ii=0;ii<=1;ii++);</p><p><b>  d--;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  第4章 系統(tǒng)的調(diào)試與故障分析</p>&l

59、t;p><b>  4.1 硬件調(diào)試</b></p><p>  硬件調(diào)試主要是針對主控板中單片機模塊和外部輸入、輸出模塊進行調(diào)試。這一部分硬件調(diào)試主要分成兩大塊:上電前的調(diào)試和上電后的調(diào)試。</p><p>  4.1.1 上電前的調(diào)試</p><p>  在上電前,必須確保電路中不存在斷路或短路情況,這一工作是整個調(diào)試工作的第一步,也

60、是非常重要的一個步驟。在這部分調(diào)試中主要使用的工具是萬用表,用來完成檢測電路中是否存在斷路或者短路情況等。</p><p>  在買好所需元器件后,我把每一個不管大小元器件都認真的檢測了一下,在確保好的的情況下,開始焊接電路。完成焊接后 ,通過萬用表的檢測,沒有發(fā)現(xiàn)短路和斷路的地方了,電路基本正常。</p><p>  4.1.2 上電后的調(diào)試</p><p>  

61、在確保硬件電路正常,無異常情況(斷路或短路)方可上電調(diào)試,上電調(diào)試的目的是檢驗電路是否接錯,同時還要檢驗原理是否正確。在本次畢業(yè)設計中,上電調(diào)試主要是檢測單片機部分與外部輸入、輸出電路是否接對。本次調(diào)試需要通過軟硬件聯(lián)調(diào)來實現(xiàn)。</p><p><b>  顯示電路的調(diào)試</b></p><p>  通過編寫按鍵/顯示程序來對此部分硬件電路進行測試,其程序見附錄4。&

62、lt;/p><p>  ADC0809數(shù)據(jù)采集的調(diào)試</p><p>  在確保按鍵/顯示軟件及硬件的前提下,通過ADC0809數(shù)據(jù)采集程序的編寫來對此部分硬件電路進行測試。其程序見附錄4。</p><p>  RS-232串口通信的調(diào)試</p><p>  在確保ADC0809各通道采集數(shù)據(jù)基本正確的前提下,通過通信發(fā)送程序的編寫來對此部分硬件

63、電路進行測試。其程序見附錄4。</p><p><b>  4.2 故障分析</b></p><p>  本項畢業(yè)設計是由我一人完成的,一個真正的系統(tǒng)都是由個部分小的系統(tǒng)模塊合并起來的,只有確保了各子模塊無誤的情況下才能進行整個系統(tǒng)的聯(lián)體調(diào)試。</p><p><b>  故障與分析:</b></p><

64、;p>  1.HD7279A鍵盤/顯示模塊一開始數(shù)碼管并沒有顯示,而且HD7279A芯片沒有燒,我就把與單片機相接的P2.0- P2.3端改接成了P1.0- P1.3端,得到了正確的結(jié)果。分析可能是仿真頭的原因,P0口是作為系統(tǒng)擴展的地址總線口。但把程序燒到片子里,再改接P2.0- P2.3得到了正確了結(jié)果,進一步證明了仿真頭的原因。</p><p>  2.在進行數(shù)據(jù)采集時由于接法的錯誤,開始沒有采集到數(shù)

65、據(jù)。檢查了電路時電路發(fā)現(xiàn)有兩根線接反了,改正后顯示出了轉(zhuǎn)換結(jié)果。</p><p>  3.RS-232串口通信時,由于晶振的使用不當使得波特率錯誤,出現(xiàn)了一連串的亂碼。改掉晶振后,得到了正確的通信結(jié)果。</p><p>  焊接好的電路板并不能直接使用,可能存在很多的問題,比如說在焊接過程中出現(xiàn)虛焊、引腳的焊錫碰到了導線引起的短路等等。這些都需要細心的檢測和調(diào)試以后才能使用,所以在調(diào)試之前

66、要對板子上所有的元器件進行檢查,導線與焊點的檢測:將元器件焊上插槽后要檢查導線是否導通以及是否有虛焊,這可以借助萬用表來測量,元器件的引腳上已經(jīng)焊好了焊錫,但是如果你用萬用表測量他的引腳和旁邊的導線,有時你會發(fā)現(xiàn)本來該導通的,卻不導通,這有可能是虛焊,這是我們新手經(jīng)常出現(xiàn)的問題。</p><p><b>  結(jié)束語</b></p><p>  短暫的畢業(yè)設計已經(jīng)結(jié)束了

67、,這是對我四年來學習情況的一次綜合性考核。歷經(jīng)兩個多月的畢業(yè)設計,在最大程度上鍛煉了我發(fā)現(xiàn)問題、分析問題、解決問題的能力,為我在即將到來的社會實踐工作中有一個良好的開端奠定了堅實的基礎。</p><p>  在指導老師的幫助下,我進行了“多路數(shù)據(jù)采集系統(tǒng)”的設計、調(diào)試以及最后的驗收工作。在這次畢業(yè)設計中,我綜合運用了前段時間所學的編程知識完成了此次設計。同時,通過這次畢業(yè)設計,我在各方面的能力都有了很大的提高,尤

68、其在理論聯(lián)系實際方面得到了一次鍛煉。</p><p>  對于用LCA51仿真軟件進行軟硬件聯(lián)調(diào),則先根據(jù)現(xiàn)有的資料和老師的指導,提出了分塊子程序調(diào)試方案,先用簡單子程序?qū)τ布娐愤M行調(diào)試,確保硬件電路正確后,再對本系統(tǒng)軟件進行調(diào)試。證實了設計方案的可行性,同時也說明了設計的正確性。當然,由于各方面水平有限,電路設計中可能還有一些有待優(yōu)化的地方。</p><p>  畢業(yè)設計任務的圓滿完成

69、,讓我感受到了設計課題之外的累累碩果,研究過程不僅鍛煉了我的自學能力、分析和解決問題的能力以及創(chuàng)新能力,而且與其他組員間的共同探討與研究,使我在各方面都上升了一個新臺階。更是意識到了自己很多的不足,比如知識面的狹隘,以前所學知識的遺忘。但這些都會激勵我在以后的工作和學習中更加努力的充實自己,拓展自己的知識面,更好的掌握所需要的各種知識。</p><p><b>  參考文獻</b></

70、p><p>  [1] 馬明建,周長城編.數(shù)據(jù)采集與處理技術(shù)[M]. 西安: 西安交通大學出版社, 1998.</p><p>  [2] 王建業(yè),王和明. 用89C51實現(xiàn)的異步無線數(shù)據(jù)通信接口[J]. 電子技術(shù)應用,1998, 2(16) : 40-41.</p><p>  [3] 張培任主編.MCS-51單片機原理與應用[M] . 北京:清華

71、大學出版社, 2003.</p><p>  [4] 高吉祥等編.電子技術(shù)基礎實驗與課程設計[M] . 北京:電子工業(yè)出版社, 2005.</p><p>  [5] 李朝青編.單片機原理 [M] . 北京:北京航天大學出版社, 2005.</p><p>  [6] 楚萍,趙維琴. 串行A/D、D/A轉(zhuǎn)換器與89C51單片機的接口設計[J].

72、儀表技術(shù), 2002, 2(01) : 6-8.</p><p>  [7] 李玲等編.單片機串行數(shù)據(jù)采集/傳輸模塊的設計[M]. 西安:西安電子科技大學出版社, 2004. </p><p>  [8] 張洪潤,易濤編.單片機應用技術(shù)教程[M] . 北京: 清華大學出版社, 2003. </p><p>  [9] A. J. And

73、rews, S. Pieyns and E. Servat. The Design of an International Real Time Data Collection System: SADC-HYCOS[J]. Journal of Network and Systems Management , 1999,8: 253-268.</p><p>  [10]S.P. Marlow.

74、 PC/VAX or standalone PC-based general purpose biological data collection system[J]. Personal and Ubiquitous Computing , 1993,7:22-30.</p><p>  [11] 孫洪明,駱雷飛,王雨,王逸軍. 89C51數(shù)據(jù)采集的C編程[J]. 現(xiàn)代電子技術(shù), 1999, 1 (08) : 1

75、4-16.</p><p><b>  致 謝</b></p><p>  在為期兩個月的畢業(yè)設計過程中,我得到指導老師的悉心指導。指導老師多次詢問研究進程,并為我指點迷津,幫助我開拓研究思路,精心點撥、熱忱鼓勵。他一絲不茍的作風,嚴謹求實的態(tài)度,踏踏實實的精神,讓我受益菲淺。身邊的朋友也不時地幫助我,解決我在做課題時遇到的問題。實驗室的其他同學共同營造了良好的學習

76、和討論環(huán)境及融洽的氛圍,使我在完成課題的過程中受益不少。</p><p>  在課題完成寫論文時,指導老師對我的論文不厭其煩的細心指點,他首先細致地為我確定提綱,梳理脈絡,使我確立了本文地框架。論文寫作中,每周都得到指點。從框架地完善,到內(nèi)容的擴充;從行文的用語,到格式的規(guī)范都嚴格要求,力求完美。我再次為指導老師的付出表示感謝。</p><p>  四年的本科學習,使我學到了很多,無論是理

77、論知識還是實驗能力,在此我要感謝各位老師四年來對我的悉心教導以及各位同學好友的熱忱幫助,謝謝你們!</p><p><b>  附錄一 </b></p><p><b>  元器件明細表</b></p><p><b>  設備明細表</b></p><p><b>

78、  工具明細表</b></p><p><b>  附錄二</b></p><p>  HD7279A譯碼明細表</p><p><b>  附錄三</b></p><p><b>  畢業(yè)設計實物圖</b></p><p><b>

79、;  附錄四</b></p><p><b>  系統(tǒng)設計源程序</b></p><p>  //**********************變量定義*************************</p><p>  #include <reg52.h></p><p>  #include

80、<absacc.h></p><p>  #include <intrins.h> //-nop-;延時函數(shù)用</p><p>  #define uchar unsigned char</p><p>  #define uint unsigned int </p><p>  #define AD_ad

81、dress 0x7fff//總線方式,并送選擇的通道</p><p>  sbit EOC=P3^2;//1:轉(zhuǎn)換好,0:高阻</p><p>  sbit A=P1^0;</p><p>  sbit C=P1^1;</p><p>  sbit cs=P2^3;</p><p>  sbit clk=P2^2;&l

82、t;/p><p>  sbit dat=P2^1;</p><p>  sbit key=P2^0;</p><p>  uchar bdata d_out;</p><p>  uchar bdata d_in=0x00;</p><p>  sbit d_out_7=d_out^7;</p><p

83、>  sbit d_in_0=d_in^0;</p><p>  extern uchar data buf[8]={0};</p><p>  extern uchar data buffer[4]={0};</p><p>  unsigned long int num,num0,num1;</p><p>  uchar h,d

84、ate;</p><p>  //**********************函數(shù)聲明*************************</p><p>  void send(uchar dout );</p><p>  void rec(void);</p><p>  void work_num(void);</p>&

85、lt;p>  void disp_num(void);</p><p>  void del_ms(uchar d);</p><p>  void key_disp(void);</p><p>  void work_temp(uchar num );</p><p>  void test(void);</p>&l

86、t;p>  //****************串行初始化**************************</p><p>  void Init_Com(void)</p><p><b>  {</b></p><p>  TMOD = 0x20;</p><p>  PCON = 0x00;</p&

87、gt;<p>  SCON = 0x50;</p><p>  TH1 = 0xFd;</p><p>  TL1 = 0xFd;</p><p><b>  IE=0x92;</b></p><p><b>  TR1 = 1;</b></p><p><

88、;b>  }</b></p><p>  //********************發(fā)送子程序*************************</p><p>  void TxData(uchar dat)</p><p><b>  {</b></p><p><b>  SBUF=d

89、at;</b></p><p>  while(TI!=1);</p><p><b>  TI=0;</b></p><p><b>  }</b></p><p>  //**********************發(fā)送數(shù)據(jù)轉(zhuǎn)換**********************</p

90、><p>  void send_Data(void)</p><p>  { TxData(num1+48);</p><p>  TxData(0x0a);</p><p>  TxData(buf[2]+48);</p><p>  TxData(0x2e);</p><p> 

91、 TxData(buf[1]+48);</p><p>  TxData(buf[0]+48);</p><p>  TxData(0x0a);</p><p><b>  }</b></p><p>  //************************鍵盤子程序***************************

92、*</p><p>  void key_disp(void)</p><p><b>  { </b></p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  del_ms(10);</p

93、><p>  if(key==0)</p><p><b>  { </b></p><p>  send(0x15);</p><p><b>  rec();</b></p><p><b>  cs=1;</b></p><p>

94、;  if(d_in<=3)</p><p><b>  { </b></p><p>  send(0xa4);</p><p>  num1=d_in;</p><p>  send(0x85); send( num1 );</p><p>  for(;key==0;);</p&

95、gt;<p><b>  }</b></p><p>  else if((d_in>=3)&&(d_in<=0x0e))</p><p>  {send(0xa4);</p><p>  for(;key==0;); </p><p><b>  } </b

96、></p><p>  else if( d_in==0x0f) { break;for(;key==0;); }</p><p><b>  cs=1; </b></p><p><b>  }</b></p><p>  for(;key==0;); </p><p

97、><b>  }</b></p><p>  if(num1==1){A=1;C=0;}</p><p>  else if(num1==2){A=0;C=1;}</p><p>  else if(num1==3){A=1;C=1;}</p><p><b>  }</b></p>

98、;<p>  //**********************主函數(shù)***************************</p><p><b>  main()</b></p><p><b>  { </b></p><p><b>  P2=0xf9;</b></p&g

99、t;<p>  del_ms(50); </p><p>  send(0xa4);</p><p>  send(0x87);</p><p>  send(0x0e);</p><p>  cs=1;//顯示初始化</p><p>  Init_Com();</p><p&

100、gt;<b>  while(1)</b></p><p><b>  {</b></p><p>  key_disp();</p><p><b>  test();</b></p><p>  send_Data();</p><p><b&

101、gt;  }</b></p><p><b>  } </b></p><p>  //************************A/D數(shù)據(jù)采集子程序*********************</p><p>  void test(void)</p><p>  {XBYTE[AD_address]=

102、0;//初始化</p><p>  while(EOC);//等待轉(zhuǎn)換結(jié)束</p><p>  num0=XBYTE[AD_address];//讀采樣值</p><p>  for(h=0;h<20;h++)</p><p>  {work_num();//數(shù)據(jù)處理,數(shù)據(jù)拆成8位,存在buf[8]中;</p><p

103、><b>  } </b></p><p>  disp_num();//顯示buf[];</p><p><b>  } </b></p><p>  //***********************數(shù)據(jù)處理子程序*************************</p><p&g

104、t;  void work_num(void)</p><p><b>  { </b></p><p>  uchar ii=0;</p><p>  num=num0*100;</p><p>  num=num*5/256;</p><p>  for(ii=0;ii<3;ii++

105、)</p><p>  {buf[ii]=num%10;</p><p>  num=num/10;</p><p><b>  } </b></p><p>  } </p><p>  //*********************顯示子程序********

106、***************</p><p>  void disp_num(void)</p><p>  { uchar ii;</p><p>  for(ii=0;ii<3;ii++)</p><p><b>  { cs=1;</b></p><p>  if(ii==2)

107、{send(0x80+ii);send(128+buf[ii]);}</p><p><b>  else</b></p><p><b>  {</b></p><p>  send(0x80+ii);</p><p>  send(buf[ii]);</p><p>&l

108、t;b>  }</b></p><p><b>  cs=1; </b></p><p><b>  }</b></p><p><b>  }</b></p><p>  //********************HD7279發(fā)送子程序**********

109、*************</p><p>  void send(uchar dout)</p><p><b>  { </b></p><p>  uchar i; </p><p>  d_out=dout;</p><p><b>  cs=0;</b>&l

110、t;/p><p>  for(i=0;i<8;i++)</p><p>  { del_ms(1);</p><p>  dat=d_out_7;</p><p><b>  clk=1;</b></p><p>  d_out=d_out<<1;</p><p

111、>  del_ms(1);</p><p><b>  clk=0;</b></p><p><b>  }</b></p><p><b>  dat=0;</b></p><p>  del_ms(1);</p><p><b>  

112、} </b></p><p>  //******************* HD7279接收子程序*********************** </p><p>  void rec(void)</p><p>  { uchar i;</p><p><b>  dat=1;</b>

113、;</p><p>  for(i=0;i<8;i++)</p><p>  { del_ms(1);</p><p><b>  clk=1;</b></p><p>  del_ms(1);</p><p>  d_in=d_in<<1;</p><p&

114、gt;  d_in_0=dat;</p><p><b>  clk=0;</b></p><p><b>  }</b></p><p>  del_ms(1);</p><p><b>  dat=0;</b></p><p><b>  

115、}</b></p><p>  //*************************延時子程序************************</p><p>  void del_ms(uchar d)</p><p>  { uchar ii;</p><p><b>  while(d)</b

116、></p><p><b>  {</b></p><p>  for(ii=0;ii<=1;ii++);</p><p><b>  d--;</b></p><p><b>  }</b></p><p><b>  }<

117、/b></p><p><b>  附錄五</b></p><p><b>  中英文資料</b></p><p>  Multi-channel data collection and analysis </p><p>  of the design and application<

118、/p><p>  Abstract:The Paper mainly introduces a multichannel data acquisition and analysis system composed of one PC and one measuring instrument. The system can test eight products parallelly. It reduces the t

119、est cost and improves work efficiency. The paper also gives the hardware structure and software flow diagr am of the system. The application in the gyro test is also introduced briefly.</p><p>  Key words:co

120、mmunication prot;data acquisition; gyro; test</p><p>  With the development of computer technology and the digital measuring instrument, usually by computer and measuring instruments to communicate with each

121、 other in real-time data collection and use of computer powerful computing capability to conduct the analysis of the data processing. Particularly in the large volume of data, measuring the length of time occasions, such

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論