【電氣工程及其自動化】基于單片機的多通道自動溫度檢測系統_第1頁
【電氣工程及其自動化】基于單片機的多通道自動溫度檢測系統_第2頁
【電氣工程及其自動化】基于單片機的多通道自動溫度檢測系統_第3頁
【電氣工程及其自動化】基于單片機的多通道自動溫度檢測系統_第4頁
【電氣工程及其自動化】基于單片機的多通道自動溫度檢測系統_第5頁
已閱讀5頁,還剩25頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、 A 基礎理論 B 應用研究 C 調查報告 D 其他本科生畢業設計(論文)基于單片機的多通道自動溫度檢測系統二級學院:信息科學與技術學院專 業:電氣工程及其自動化完成日期:2015年5月24日 目錄1 緒論11.1 本課題研究意義及國內發展狀況11.2 本課題的任務和系統設計目標11.3 本課題研究內容12 方案論證比較與選擇22.1 引言22.2 方案設計22.2.1 設計方案一22.2.2 設計方案二22.2.3 設計方案三22.3 方案的比較與選擇33 設計過程及工藝要求33.1 基本功能33.2 主要技術參數33.3 系統設計44 硬件設計44.1 硬件部分模塊組成44.2 單片機最小

2、系統44.3 溫度傳感器DS18B2054.3.1 DS18B20與單片機的典型接口設計64.3.2 DS18B20的測溫原理85 軟件設計95.1 主程序方案95.2 流程圖106 調試仿真14參考文獻16附錄A17附錄B18致謝基于單片機的多通道自動溫度檢測系統摘要:隨著社會的進步和工業技術的發展,人們越來越重視溫度因素。許多產品對溫度測量范圍要求嚴格,而目前市場上的溫度測試儀器都是單點測量,且溫度信息傳輸是不及時的、不夠精確的,從而不利于工業控制來及時做出決定。在這種形式下,制定出可以多點測量、實時性高、高精度的同步測量方案是很有必要的。 關鍵詞:溫度測量;溫度傳感器;DS18B20;單

3、片機Based on single chip microcompute Multi-channel temperature detection system Abstract:With social progress and development of industrial technology, People pay more and more attention to the factor of temperature.Many of the products have strict requirements in the range of temperature measurement

4、,currently temperature test instrument is a single point measurement on the market,and the temperature information is not timely,not accurate enough,which is disadvantageous to the industrial control to make timely decisions.In this form,it is necessary to work out program that can be multi-point me

5、asurement,real-time synchronization precision measurement.Key words:Temperature measure; Thermometer ; DS18B20; Single chip processor 1 緒論1.1 本課題研究意義及國內發展狀況 溫度是單片機應用系統中一個常見的測量參數,生活中常會遇到一些需要同時獲知多個位置溫度的情況。比如一臺電腦工作時,其主板、硬盤、顯示器等的工作溫度就需要同時都保持在正常溫度范圍內,否則電腦的整體工作就會受到影響。自18世紀工業革命以來,工業的發展與溫度有著密切的聯系。不管是在鋼鐵、水泥、

6、冶金、石化、玻璃、醫藥等行業,基本上70%的工業生產部門都必須考慮著溫度的影響因素。溫度對于工業如此重要,由此推進了溫度傳感器的迅速發展。隨著社會的進步和工業技術的發展,人們越來越重視溫度因素。許多產品對溫度測量范圍要求嚴格,而目前市場上的溫度測試儀器都是單點測量,且溫度信息傳輸是不及時的、不夠精確的,從而不利于工業控制來及時做出決定。在這種形式下,制定出可以多點測量、實時性高、高精度的同步測量方案是很有必要的。1.2 本課題的任務和系統設計目標課題的主要任務是利用80C51設計一個多通道溫度檢測系統,整個系統由單片機控制,要能夠接收傳感器的數據并顯示出來,可以從軟件設計命令,系統自動選擇對應

7、的傳感器,并由LCD液晶顯示器對溫度顯示。根據該課題首先要解決的問題是對相關軟硬件的熟悉和了解,并學習相關知識。然后對該檢測系統需要的模塊(包括單片機主控制器,兩點溫度檢測,LCD顯示電路等)進行分析,最后用PROTEUS與KEIL連接并仿真,最終進行調試運行。開發工具:PROTEUS仿真軟件,KEIL編程軟件1。系統總體上的設計思路是以單片機為系統的控制核心,系統硬件的部分包含控制部分、兩個點的溫度檢測部分、LCD顯示部分和系統的基本電路。然后再進行PROTEUS仿真。1.3 本課題研究內容(1) 利用單片機確定系統的總體設計方案,包括其功能設計、設計原則、組成與工作原理。(2) 對單片機的

8、應用作進一步的了解,對于溫度檢測要有更進一步的認識。(3) 進行智能傳感器的硬件電路設計,包括硬件電路構成及測量原理、溫度傳感器的選擇、單片機的選擇、輸入輸出通道設計。(4) 該系統采用層次化、模塊化設計,整個系統由數據采集系統、單片機控制系統。進行了調試和仿真,完成數據的采集和處理。2 方案論證比較與選擇2.1 引言溫度測量的方案有很多種,可以采用傳統的分立式傳感器、模擬集成傳感器以及新興的智能型傳感器。對于控制系統可以采用單片機等。2.2 方案設計2.2.1 設計方案一使用模擬式分立元件如電容,電感或晶體管的非線性元件,進行A / D轉換,數據處理,可以使用單片機。實現多點溫度測量和顯示,

9、該方案電路設計簡單,容易理解,操作簡單,價格便宜,但使用分立元件分散,不容易數字化,存在較大的測量誤差。2.2.2 設計方案二本方案采用80C51單片機為核心,通過溫度傳感器AD590采集溫度信號,經信號放大器放大后,送到A/D轉換芯片,最終經單片機檢測處理溫度信號。 采用該方案技術已經成熟,A/D轉換電路設計較煩瑣,而且使用AD590進行溫度檢測必須對端口進行補償,以減小誤差。系統框圖如圖1所示。溫度傳感器A/D轉換變送器單片機LED顯示 圖1 方案二的框圖2.2.3 設計方案三本方案采用 80C51作為該系統的單片機。系統整體硬件電路包括:電源電路、復位電路、晶振電路、傳感器電路、溫度顯示

10、電路等。當DSl8B20 采集到多個溫度信號后,進行電信號轉換送至80C51 中處理,同時將溫度送到LCD液晶顯示器顯示。DS18B20利用單總線的特點可以方便的實現多點溫度的測量,輕松的組建傳感器網絡,系統的抗干擾性好、設計靈活、方便,而且適合于在惡劣的環境下進行現場溫度測量。系統框圖如圖2所示:單片機DS18B20-1溫度LCD顯示器DS18B20-2溫度圖2 方案三的系統框圖2.3 方案的比較與選擇基于數字溫度計DS18B20的溫度測量儀的硬件和軟件開發過程中,將溫度信號轉換成數字信號,并實現與單片機相連,從而消除了信號調理電路的需要。該儀器具有電路簡單,性能可靠,測量效率高的優點,彌補

11、了傳統的溫度測量的短缺。與方案1相比,功能、性能、可操作性和其他方面的增幅較大。與方案2相比,硬件電路簡單、操作方便、效益高,具有更大的市場需求。所以采用方案3完成設計方案。3 設計過程及工藝要求3.1 基本功能u 檢測兩點溫度u 兩秒間隔循環顯示溫度3.2 主要技術參數u 測溫范圍:-30到+99u 測量精度:0.0625u 顯示精度:0.1u 顯示方法:LCD循環顯示3.3系統設計 系統使用AT89C51單片機對兩個DS18B20進行數據采集,并通過LCD1602液晶顯示器顯示所采集的溫度。 DS18B20以單總線協議工作,51單片機首先分別發送復位脈沖,使信號上所有的DS18B20芯片都

12、被復位,程序先跳過ROM,啟動DS18B20進行溫度變換,再讀取存儲器的第一位和第二位讀取溫度,通過I/O口傳到LCD1602顯示。引腳定義如圖3所示:DS18B20 1 2 3 圖3 DS18B20引腳圖 4 硬件設計4.1 硬件部分模塊組成u 單片機最小系統:12M晶振、復位電路、AT89C51單片機u 2個DS18B20溫度傳感器u 一個LCD顯示屏(配合排阻)4.2 單片機最小系統 復位電路:無論哪種方式,單片機都將擁有相關的復位電路。如果復位電路是不可靠的,那么在進行工作時是非常不利。因此,單片機復位電路的好壞,直接影響到整個系統可靠性。復位操作完成初始化該芯片的單片機電路,可以使單

13、片機從確定的開始狀態運行。時鐘電路:80C51單片機時鐘信號通常是內部振蕩器和外部振蕩器模式。XTAL1和XTAL2引腳連接外部晶體振蕩器,可以構成內部振蕩器方式。單片機有高增益反相放大器,當連接外部晶體振蕩器后,它構成自激振蕩器和產生振蕩時鐘脈沖。晶體通常用6MHZ、12MHz或24MHZ。內部振蕩器如下圖3-7所示,電容C1、C2穩定振蕩頻率,快速振動的作用,電容值通常是530pf。內部振蕩器模式獲得的時鐘信號比較穩定。外部振蕩器的時鐘信號送入單片機,這種方法適合用于單片機的時鐘與外部信號保持統一。復位電路和時鐘電路如下圖: 圖4 復位電路和時鐘電路4.3 溫度傳感器DS18B20DS18

14、B20型單線智能溫度傳感器7,屬于新一代適配微處理器的智能溫度傳感器。全部傳感元件及轉換電路集成在形如一只三極管的集成電路內。與傳統的熱敏電阻相比,它能夠直接讀出被測溫度,并且可根據實際要求通過簡單的編程實現912位的數字值讀數方式。其可以75ms750ms內完成9位和12位的數字量,最大分辨率為0.0625 ,而且從DS18B20讀出或寫入DS18B20的信息僅需要一根口線(單線接口)讀寫。其外形和管腳如下圖5所示:DALLASDS18B20 1 2 3 GNDDQVcc 1 2 3 DS18B20 TQ-92封裝低試圖 DS18B20 8腳SQIC封裝 圖5 DS18B20外部形狀及管腳圖

15、1) GND為電源地;2) DQ為數字信號輸入/輸出端;3) Vcc為外接供電電源輸入端(在寄生電源接線方式時接地)4.3.1 DS18B20與單片機的典型接口設計DS18B20溫度測量系統有一個簡單的測溫系統,測溫精度高,方便連接等。DS18B20與單片機的硬件連接方式有:第一:VCC連接到一個外部電源,GND接地,輸入/輸出接口和單片機的輸入/輸出接口相連;第二:利用寄生供電,UDD和GND接地。輸入/輸出接單片機的輸入/輸出接口。不管是何種電源方式,輸入/輸出端口引腳必須連接大約4.7k上拉電阻。圖3-2顯示了DS18B20一個典型的連接。1) DS18B20寄生電源供電方式:如下圖6,

16、寄生供電模式,DS18B20從單總線上吸收能量:當信號線DQ為高電平時把能量儲存在內部電容里,當處于低電平時消耗它而工作。寄生電源方式有三個優點:a) 當測溫距離較遠時,不需要本地供電。b) 可以讀取ROM,在沒有傳統電源條件下。c) 電路簡單,只有一個輸入/輸出端口,實現溫度的測量。為了使DS18B20溫度的精確轉換,輸入/輸出線必須保證提供足夠的能量,在溫度轉換的過程中,因每一個DS18B20在溫度轉換時電流達到一定數值,當一些溫度傳感器掛在同一個輸入/輸出線上多點溫度的測量,依靠4.7k上拉電阻將無法提供足夠的能量,會造成很大的錯誤或不能被轉換為溫度。因此,該電路只適應于一個單一的溫度傳

17、感器的溫度測溫情況,不適合電池供電系統。且VCC必須確保在工作時是5V,該電源電壓降低時,獲得的能量在寄生電源方式下也減少了,使溫度誤差較大。2) DS18B20寄生電源強上拉供電方式:改進的寄生供電方式如圖7所示,以使在動態轉換周期得到足夠的電流,在溫度轉換或內存儲器復制操作時,使用MOSFET將輸入/輸出線直接拉到連接電源就可以提供足夠的電流,當有復制到內存儲器或啟動溫度轉換命令之后,必須在10S內將輸入/輸出線轉換為強上拉的方式。可以解決電流供應不強拉模式這個問題,因此也適合應用在多點溫度,缺點是要占用一個以上的輸入/輸出端口線的強上拉的變換。3) DS18B20的外部電源供電方式:如下

18、面圖8所示,在外部電源供電方式下,DS18B20工作電源由VDD引腳接入,其VDD端用35.5V電源供電,此時I/O線不需要強上拉,不存在電源電流不足的問題,可以保證轉換精度,同時在總線上理論可以掛接任意多個DS18B20傳感器,組成多點測溫系統。注意:在外部供電的方式下,DS18B20的GND引腳不能懸空,否則不能轉換溫度,讀取的溫度總是85。4.7Kvcc 圖6 DS18B20外部電源供電方式 圖7 DS18B20寄生電源供電方式UP I/O I/OGNDDQVDDVCC4.7KVCC圖8 DS18B20溫度轉換期間的強上拉供電(寄生電源方式)4.3.2 DS18B20的測溫原理DS182

19、0測溫原理如下圖9所示。圖中低溫度系數晶振的振蕩頻率在很大程度上受到溫度因素影響的幾率很小,它的功能是產生特定頻率的脈沖信號傳輸給計數器1。斜率累加器低溫度系數晶振計數器1比較溫度寄存器預置預置=0計數器2高溫度系數晶振=0加1停止圖9 DS18B20測溫原理DS18B20的測溫電路如下圖所示: 圖10 DS18B20的測溫電路5 軟件設計5.1 主程序方案 主程序調用了4個子程序和一個歡迎開機畫面的程序,4個子程序分別是液晶初始化、DS18B201的初始化、液晶顯示的子程序和液晶顯示數據的程序。u 液晶初始化程序:8位數據端口、2行顯示、5*7點陣、開啟顯示、無光標、清屏、AC遞增、畫面不動

20、。u 分別對兩個DS18B20溫度傳感器初始化程序:初始化,讀寫一個字節。u 液晶顯示的子程序:確定液晶字符的輸入位置,將字符輸出到液晶顯示。u 液晶顯示溫度程序:先讀DS18B20當前溫度,將溫度轉化成字符顯示。 將各個功能程序以子程序的形式寫好,當寫主程序的時候,只需要調用子程序調用指令使得程序結構清晰,無論是修改還是維護都比較方便。將功能程序段寫成子程序的形式,除了方便調用之外,還有一個好處那就是以后寫程序的時候如果要用到,就可以直接調用這個單元功能模塊。5.2 流程圖 主程序流程圖: 開始 液晶初始化 兩個DS18B20初始化顯示開機畫面 延時2秒顯示第一個溫度 延時2秒顯示第二個溫度

21、延時2秒 圖11 主程序流程圖液晶初始化流程圖: 開始功能設置(0x38)16*2顯示8位數據、5*7點陣不忙檢測,執行三次 延時5ms開顯示,無光標(0xc0) 延時5ms 設置輸入模式(0x01) 延時5ms清除顯示器(0x01) 延時5ms 返回退出 圖12 液晶初始化流程圖DS18B20的讀取數據流程圖: 開始 DS18B20初始化 發跳過ROM命令發溫度讀取指令清DQ準備發送延時1us以上 讀一位數據 延時15us 釋放總線延時1545us 二位是否讀完Y 結束讀取 圖13 DS18B20的讀取數據流程圖液晶顯示流程圖: 開始 取得18B20測得 溫度數值 將數值轉化為 字符型 獲取

22、首行坐標顯示首行字符 獲取第二行 顯示坐標 顯示溫度值延時400ms 圖14 液晶顯示流程圖 6 調試仿真開機畫面,如下圖: 圖15 開機畫面保持兩秒后顯示第一個溫度,如下圖所示: 圖16 顯示第一個溫度保持兩秒后顯示第二個傳感器測量的溫度,如下圖: 圖17 顯示第二個溫度 如此循環顯示兩個溫度。通過DS18B20里的按鍵“+”、“-”模擬改變環境溫度,顯示屏上顯示的溫度隨即相應改變,仿真成功。參考文獻1 肖婧.基于Proteus單片機系統設計與仿真.北京航空航天大學出版社,2010.8.2 陶治,袁永超,羅平.基于DS18B20單片機溫度測量系統.農機化研究,2007.10.3 張靖武,周靈

23、彬.單片機系統的PROTEUS設計與仿真.北京:電子工業出版社,2007.4.4 周潤景,張麗娜.PROTEUS入門實用教程.北京:機械工業出版社,2007.9.5 王宇飛.基于單片機的溫度測量及顯示系統設計與實現.中國科技縱橫,2012.1.6 樓然苗,李光飛.單片機課程設計指導.北京:北京航空航天大學出版社,2007.7.7劉玉潔.DS18B20溫度測量電路的設計與仿真.數字技術及應用,2011,4:156-157.8 張新榮.單片機的多路溫度監測系統設計J.工業控制計算機,2010:95-98.9 晁陽,張爭剛,熊剛.基于單片機的溫度控制系統的設計.楊凌職業技術學院學報, 2011,3,

24、10(1). 附錄A溫度檢測系統總電路圖 附錄B系統程序#include #include #include #define uint unsigned int#define uchar unsigned charuchar temp_value; /溫度值uchar TempBuffer7;void show_time(); /液晶顯示程序uchar temp_value1; /溫度值uchar TempBuffer17;char xiaoshu=0;char xiaoshu1=0;void show_time1();/*1602液晶顯示部分子程序*/char done,count,temp

25、,flag,up_flag,down_flag;/Port Definitions*sbit LcdRs= P20;sbit LcdRw= P21;sbit LcdEn = P22;sfr DBPort = 0x80;/P0=0x80,P1=0x90,P2=0xA0,P3=0xB0.數據端口sbit DQ = P17; /溫度傳送數據IO口sbit DQ1=P16;/內部等待函數*unsigned char LCD_Wait(void)LcdRs=0;LcdRw=1;_nop_();LcdEn=1;_nop_(); LcdEn=0;return DBPort;/向LCD寫入命令或數據*#def

26、ine LCD_COMMAND0 / Command#define LCD_DATA1 / Data#define LCD_CLEAR_SCREEN0x01 / 清屏#define LCD_HOMING 0x02 / 光標返回原點void LCD_Write(bit style, unsigned char input)LcdEn=0;LcdRs=style;LcdRw=0;_nop_();DBPort=input;_nop_();/注意順序LcdEn=1;_nop_();/注意順序LcdEn=0;_nop_();LCD_Wait();/設置顯示模式*#define LCD_SHOW0x04

27、/顯示開#define LCD_HIDE0x00 /顯示關 #define LCD_CURSOR0x02 /顯示光標#define LCD_NO_CURSOR0x00 /無光標 #define LCD_FLASH0x01 /光標閃動#define LCD_NO_FLASH0x00 /光標不閃動void LCD_SetDisplay(unsigned char DisplayMode)LCD_Write(LCD_COMMAND, 0x08|DisplayMode);/設置輸入模式*#define LCD_AC_UP0x02#define LCD_AC_DOWN0x00 / default#def

28、ine LCD_MOVE0x01 / 畫面可平移#define LCD_NO_MOVE0x00 /defaultvoid LCD_SetInput(unsigned char InputMode)LCD_Write(LCD_COMMAND, 0x04|InputMode);/初始化LCD*void LCD_Initial()LcdEn=0;LCD_Write(LCD_COMMAND,0x38); /8位數據端口,2行顯示,5*7點陣LCD_Write(LCD_COMMAND,0x38);LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR); /開啟顯示, 無光標LCD_

29、Write(LCD_COMMAND,LCD_CLEAR_SCREEN); /清屏LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE); /AC遞增, 畫面不動/液晶字符輸入的位置*void GotoXY(unsigned char x, unsigned char y)if(y=0)LCD_Write(LCD_COMMAND,0x80|x);if(y=1)LCD_Write(LCD_COMMAND,0x80|(x-0x40);/將字符輸出到液晶顯示void Print(unsigned char *str)while(*str!=0)LCD_Write(LCD_DATA,*s

30、tr);str+;/*ds18b20子程序*/*ds18b20延遲子函數(晶振12MHz )*/ void delay_18B20(unsigned int i)while(i-);/*ds18b20初始化函數*/void Init_DS18B20(void) unsigned char x=0; DQ = 1; /DQ復位 delay_18B20(8); /稍做延時 DQ = 0; /單片機將DQ拉低 delay_18B20(80); /精確延時 大于 480us DQ = 1; /拉高總線 delay_18B20(14); x=DQ; /稍做延時后 如果x=0則初始化成功 x=1則初始化失

31、敗 delay_18B20(20);/*ds18b20讀一個字節*/ unsigned char ReadOneChar(void)uchar i=0;uchar dat = 0;for (i=8;i0;i-) DQ = 0; / 給脈沖信號 dat=1; DQ = 1; / 給脈沖信號 if(DQ) dat|=0x80; delay_18B20(4); return(dat);/*ds18b20寫一個字節*/ void WriteOneChar(uchar dat) unsigned char i=0; for (i=8; i0; i-) DQ = 0; DQ = dat&0x01; del

32、ay_18B20(5); DQ = 1; dat=1; /*讀取ds18b20當前溫度*/void ReadTemp(void)unsigned char a=0;unsigned char b=0; char t; long tt;Init_DS18B20();WriteOneChar(0xCC); / 跳過讀序號列號的操作WriteOneChar(0x44); / 啟動溫度轉換delay_18B20(100); / this message is wery importantInit_DS18B20();WriteOneChar(0xCC); /跳過讀序號列號的操作WriteOneChar

33、(0xBE); /讀取溫度寄存器等(共可讀9個寄存器) 前兩個就是溫度delay_18B20(100);a=ReadOneChar(); /讀取溫度值低位b=ReadOneChar(); /讀取溫度值高位temp_value=b4; t=a&0x0f; tt=t*625;xiaoshu=tt/1000;void temp_to_str() /溫度數據轉換成液晶字符顯示 TempBuffer0=temp_value/10+0; /十位 TempBuffer1=temp_value%10+0; /個位 TempBuffer2=.; TempBuffer3=xiaoshu+0; TempBuffer

34、4=0xdf; TempBuffer5=C; TempBuffer16=0;void Delay1ms(unsigned int count)unsigned int i,j;for(i=0;icount;i+)for(j=0;j0;i-) DQ1 = 0; / 給脈沖信號 dat=1; DQ1 = 1; / 給脈沖信號 if(DQ1) dat|=0x80; delay_18B20(4); return(dat);/*ds18b201寫一個字節*/ void WriteOneChar1(uchar dat) unsigned char i=0; for (i=8; i0; i-) DQ1 =

35、0; DQ1 = dat&0x01; delay_18B20(5); DQ1 = 1; dat=1; /*讀取ds18b201當前溫度*/void ReadTemp1(void)unsigned char a=0;unsigned char b=0;unsigned char t=0; long tt;Init_DS18B201();WriteOneChar1(0xCC); / 跳過讀序號列號的操作WriteOneChar1(0x44); / 啟動溫度轉換delay_18B20(100); / this message is wery importantInit_DS18B201();WriteOneChar1(0xCC); /跳過讀序號列號的操作WriteOneChar1(0xBE); /讀取溫度寄存器等(共可讀9個寄存器) 前兩

溫馨提示

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

評論

0/150

提交評論